Это третья статья из цикла о самосвале (первая, вторая). Теперь мы едем на карьер, устанавливать электрооборудование на машину и выезжать в первый рейс! Но, конечно же, так просто, с наскоку, ничего не ездит, и я расскажу про множество проблем с которыми мы столкнулись во время командировки. Хоть мы и испытали в прошлой статье все оборудование на лабораторном стенде, реальность бьет совсем с другой стороны. В этой статье будет много видео и фотографий!
Сборка машины
Самосвал, на который ставилось наше оборудование, эксплуатируется на карьере в Кемеровской области. Добывают там уголь, поэтому правильнее называть это место разрез (угольные карьеры принято называть разрезами). Панорама в разрезе самая обычная для таких мест:
Но, конечно, машина собиралась не посреди дороги. При эксплуатации такой техники должно быть место, где её обслуживать. Таким местом в нашем случае являлся большой ангар, своеобразный «гараж» для самосвалов. Там им меняют резину, чинят и всячески ухаживают. Собственно, там и проходила работа по замене одной электротрансмиссии, старой, на нашу новую на одном из самосвалов.
Погода по приезду была что надо (смотреть показания термометра на светодиодной панели):
В самом цехе было теплее, но так как двери все время открывались/закрывались для прохода машин, без теплой куртки работать там было нельзя.
Вот здесь с машины краном демонтируют старый шкаф управления:
Далее снимают тяговые двигатели:
Двигатели вставляются в своеобразную «бочку» заднего моста. У движка вал выходит с двух сторон – на одной стороне, внутри бочки, на нем располагается механический тормоз, а с другой стороны привинчивается колесный редуктор. Поверх редуктора на болты крепится диск с шиной.
Вот на этом фото рабочие монтируют на наш тяговый двигатель тормозные суппорта.
Механический тормоз на таких машинах используется в качестве аварийного и стояночного. В движении им штатно не тормозят, так как тогда внутри бочки все раскалится и загорится – механическую энергию торможения там отводить некуда. Также на фото видно, как в эту же сторону выходят все провода, которые затем подключаются к клеммнику внутри бочки.
Далее на палубу (да, у БелАЗа есть палуба) устанавливается шкаф управления.
Заметьте, что новый шкаф значительно ниже, чем предыдущий (сравните с фото выше, где кран поднимал старый шкаф). Это дает водителю больший обзор в правое окно.
А помните анекдот: «В аптечке БелАЗа на амбулаторном лечении могут находиться до шести человек»? Так вот, на самом деле кабина очень маленькая, узкая и места там ровно два. Дизайн внутри не назвать изысканным, но функционально всё что нужно есть, даже кондиционер. На фото передняя панель немного подразобрана, идет монтаж:
При этом панель управления с приборами – вполне современная, с большим цветным дисплеем и красивая (почти как у Теслы). Стоит она под рулем:
Эта панель отображает всю информацию по автомобилю, и для каждой подсистемы там есть своя страница. Своя страница про гидравлику, про ДВС, про трансмиссию и т.п. Но панель в основном информационная и ничем жизненно-важным не управляет – т.е. на функционирование трансмиссии её отсутствие не влияет. К сожалению, заранее цифровой протокол обмена с этой панелью никто не согласовал, под нас страницу с нашим приводом не сделал. Поэтому мы сначала решили, что наш привод будет «без окон, без дверей» – две лампочки для индикации аварий и хватит.
Однако местным наладчиком (за что ему отдельное спасибо) был предоставлен протокол обмена с панелью в виде таблички CAN посылок, полученный им прямо на месте методом пристального анализа логов (или по-народному сниффингом). Недолго думая, мы подстроились под этот протокол и стали отправлять своим контроллером нужные посылки, после чего телеметрия от нашего привода на панели ожила и стала отображаться на схожих полях от другой электротрансмиссии:
Не сказать, что там сильно много всего, но, по крайне мере, токи, напряжения и температуры водитель посмотреть может. Также отображаются статусы включенности круиз-контроля, ошибки на преобразователях, состояние селектора направления движения и т.п. Вся остальная диагностика выполняется с ноутбука наладчика сервисной программой от производителя трансмиссии (то есть помимо самого электропривода нужно было разрабатывать сервисный софт).
Первое включение
После проверки подачи приборного питания, проверки наличия всех узлов в сети CAN и прозвонки силовых кабелей настает время первого включения. Задние колеса самосвала вывешены, ДВС работает на холостых оборотах. Все уставки защит снижаются до «бреющего полета». Т.е. если хоть что-то куда-то прыгнет, хоть ток, хоть напряжение – любая телеметрия, то сразу все отключается.
В ручном режиме с ноутбука задаем небольшой ток возбуждения генератора и нажимаем заветную кнопку «Пуск». Напряжение на шине постоянного тока неспешно поднимается до 100В. Ничего не бахнуло? Защиты не чиркнуло? Контроль изоляции силовых шин не сработал? Ничем не пахнет? Никто не кричит «вырубай»? В логах всё гладко? Хорошо. Можно поднять чуть выше, до 400. Вот так это выглядит в нашей «рисовалке логов» телеметрии (в онлайн режиме графики выползают справа в реальном времени):
Теперь проверяем каждый тяговый двигатель. Задаем небольшую частоту вращения, опять же в ручном режиме, также снижаем все защиты в самый низ, нажимаем «Пуск». Вот так это выглядит снаружи:
Видео вращающегося колеса
Вот так это выглядит в логах:
На момент разгона колеса чуть приспустилось напряжение на звене постоянного тока всех устройств (белым), подрос ток статора всех триад первого двигателя (фиолетовым), ток возбуждения (оранжевым), генератор показал ток по шине постоянного тока (красным), небольшую мощность в 43кВт (голубым), и частота вращения (желтая) поднялась до задания, 200 об/мин, после чего всё остальное упало в ноль. На вращение на холостом ходе энергии почти не тратится, на уровне погрешности измерений.
Повторяем все со вторым двигателем – работает. Потом проверяем все тоже самое от органов управления – от педали газа, тормоза. Разгоняем и тормозим двигатели уже быстрее, поднимаем выше уставки срабатывания защиты.
На самом деле наша программа просмотра логов рассчитана на интерактивную работу, а в статике, в виде скриншота, абсолютно неинформативна. При пользовании ей предполагается, что пользователь водит мышкой, ставя курсоры трассировки на интересующие места графика, и значения всех линий, попавших в вертикальное перекрестие курсора (стрелочки), отображаются в легенде. Если бы мы вывели значения всех тысяч графиков телеметрии сразу одной простыней, там никогда было бы не найти нужного. Поэтому не пытайтесь особо понять, что тут происходит – просто много красивых разноцветных линий, по которым ездит самосвал!
К сожалению, в цехе слабая вытяжка, а дизель сильно коптит – за время пробных включений он уже закоптил всё так, что в цехе появилась явно видимая дымка и начала болеть голова. Срочно глушим и открываем все двери – перекур. Впрочем, всё основное проверено и можно ставить самосвал на колеса, авось доедет до улицы уже сам, и продолжать пусконаладку можно будет там, на свежем воздухе. В случае чего, закатить обратно самосвал всегда есть чем – у эксплуатирующей организации всегда в наличии вот такие машинки, которые могут довезти домой до ремонта:
«Покатушки» и первые проблемы
Итак, самосвал на колесах, и вот он, долгожданный первый выезд из цеха своим ходом:
Но с первой же попыткой нажать на газ посильнее сработала защита по превышению тока на шине постоянного тока генератора. Ток превысил защиту 1500А (номинальный ток для полной мощности – 1100А). При этом машина даже не ехала, водитель только резко нажал на газ и всё выключилось. Что видно в логах? А ничего:
Напряжение было, потом небольшой «тычок» в токах двигателей и генератора (всего 30А по логу), и потом все по нулям. А где же 1500А? Дело в том, что штатно посылки логов в CAN сети идут с периодом порядка 50-100мс, а выводимые в них данные – усредненные, со временем усреднения примерно те же 50мс. Поэтому да, там что-то произошло, в очень короткий промежуток времени, но что – по этим логам не видно. Для выяснения такой проблемы нужно снимать осциллограмму средствами самого преобразователя. Заряжаем в программный осциллограф контроллера генератора напряжение и ток на шине, ток возбуждения генератора. Повторяем опыт… и опа:
Здесь красный – это выпрямленный ток генератора, и он достиг 2000А, предела измерения контроллера, и, судя по форме кривой, где-то там явно был выше этой полки! Два с лишним килоампера, Карл! А напряжение на шине проседает в это время с 250В почти до нуля! И всё это происходит за 5мс и затем всё восстанавливается. При этом еще и ток возбуждения выстреливает вверх… Хотя контроллер должен его ограничивать на 30А максимум, а тут 60А. Что происходит?!
Давайте посмотрим другие величины, на этот раз задание тока возбуждения и частоту вращения генератора. Может быть, задание тока возбуждения из-за глюка улетает вверх или частота вращения как-то прыгает? Но нет, все стабильно:
Задание тока возбуждения, красным, едва равно 17А, и обнуляется, как только срабатывает защита в 1500А. Также себя ведет и частота вращения (синим), она стабильна как полка до момента аварии, и затем её измерение при отключении преобразователя прекращается. Однако токи все равно растут сами по себе, контроллер ничего не может сделать! Ладно. Давайте посмотрим, что делают тем временем тяговые двигатели. Может быть, это какое-то замыкание в блоке генератора, а на двигателях все в порядке? Ага, вот оно что:
В момент резкого трогания двигатели пытаются скачком отработать задание 300А фазного тока (фиолетовым). Синий ток статора (усредненный по всем триадам машины) честно выстреливает вверх на задание за 4мс, и это же сопровождается синхронной просадкой напряжения в звене постоянного тока (бирюзовым). Ну, теперь все понятно.
Двигатели резко потребляют много энергии за короткое время со звена постоянного тока. Эта энергия, несмотря на то, что двигатель не крутится, уходит на «накачку» током индуктивностей статора двигателя. Т.е. энергия из конденсатора шины постоянного тока уходит в индуктивность двигателя – из одного накопителя электроэнергии в другой.
Пиковая мощность, как показывают расчеты на салфетке, составляет при этом порядка 400кВт! Так как напряжение на звене постоянного тока при трогании маленькое, энергия в нем тоже маленькая (). Этой энергии не хватает, чтобы «зарядить» индуктивности обмоток двигателя (), поэтому напряжение с ростом тока начинает резко падать. Из-за этого энергия начинает потребляться с генератора, а у него всё просто – чем ниже напряжение на шине, тем больший он дает ток через выпрямитель. Только вот ток в силу инерционности синхронной машины он дает с задержкой, он не может так быстро начать выдавать мощность 400кВт, как это нужно двигателям. Ему нужно большее время, чтобы ток нарос в его индуктивностях. А тяговые двигатели быстро съедают напряжение в шине почти до нуля, и в ответ на это негодяйство через пару миллисекунд генератор отвечает килоамперными токами!
Что делать? Всё просто, никому не нужно за 4мс реагировать на нажатие педали газа. Нужно в ПО контроллера преобразователей двигателей ввести задатчик интенсивности, т.е. плавно наращивать задание тока, в течение, скажем, 50мс. На отзывчивости машины это никак не скажется, зато исключит резкий наброс мощности на генератор, чтобы он успевал вовремя поддать тока. Сделали, прошили, работает!
Поехали! Но уехали недалеко. При повышении динамики разгона снова стала срабатывать защита. Теперь уже не при трогании, а на 15 км/ч. Теперь осциллограмма токов и напряжений на генераторе выглядела вот так:
Явная колебательная раскачка! Ток и напряжение шины постоянного тока начинают раскачиваться в противофазе, увеличивая и увеличивая амплитуду. Синусы частотой 70Гц в шине постоянного тока, резонанс, однако! Только чего с чем?
Я бы с удовольствием рассказал, что было на этот раз и прошивкой чего и где мы устранили эту раскачку, но статья не про это. Вернее, не только лишь про это, а ещё и про много что другое. Приведены лишь типичные примеры проблем, потому что они вылезали и вылезали, и мы правили и правили софт, коэффициенты и логику работы оборудования, пока в итоге всё не поехало как надо – всего не описать! Такая пусконаладка с игрушечными режимами работы самосвала шла днями, выявляя такие проблемы, которые априори, до реального объекта, ни помыслить, ни промоделировать было нельзя.
Всё это время, пока программистами велась ожесточенная охота на неведомые колебания и прочую чертовщину, внешне машина уныло ездила кругами перед воротами цеха, как-то вот так:
We need to go deeper
Когда все проблемы первого бастиона более-менее отладили, и защиты перестали сыпаться через каждые 100 метров, пришло время первой ходки в разрез. Это тоже отдельная процедура, надо выписывать заявки на выезд машины, еще зачем-то обязательно ехать надо с легковой машиной сопровождения, согласовать время и т.п. Но, тем не менее, мы в карьере. То есть в разрезе. Ждем загрузки в очереди на экскаватор:
Сначала мы попросили нагрузить нас не до верху, а половину, на пробу. Просили половину, но нам навалили по ощущениям явно больше! Ну что делать, поехали, первый раз с полезным грузом! Видео изнутри (осторожно, эмоциональные выражения, смотреть в наушниках!):
В логе езда выглядит еще более интересно (конечно, для тех, кто умеет видеть матрицу):
На картинке как раз то место с преодолением горки из видео. Сначала видны колебания, это машина прыгает на своих шинах по неровной дороге, нога водителя задает такой же «прыгающий» газ, трансмиссия его отрабатывает. Потом начинается горка. Желтый график частоты вращения тяговых двигателей проседает до 600 об/мин, что соответствует 10 км/ч. При этом, судя по фиолетовому графику тока, в фазах протекает лишь половина от максимума, т.е. у двигателей есть еще двоекратный запас по моменту. Быстрее машина не едет просто потому, что на большее не хватает мощности дизеля – голубой график на второй оси вышел на «полку» 770кВт и держится постоянным (вместе с оборотами дизеля) независимо от изменяющейся скорости машины. Т.е. здесь электротрансмиссия целиком трансформирует полную мощность дизеля (за вычетом КПД) в подъем массы вверх по уклону, не упираясь ни в какие свои ограничения. Работает как будто всегда правильно подобранная и всегда оптимальная механическая передача.
Но, мы отвлеклись. Мы же едем! И вот уже пора высыпать полезный груз. Вот так выглядит отвал, и опять ждем в очереди:
Таким способом формируют карьер, вываливая в нужные места пустую породу.
Потом мы опять спустились вниз, теперь нас нагрузили полностью, съездили еще, и еще, и еще… Машина начала постепенно втягиваться в работу. По пути, конечно же, происходили срабатывания защит, приходилось опять охотиться с осциллограммами на причины, но с течением времени защиты срабатывали всё реже, а машина без отключений проезжала все больше. Потом мы стали отдавать машину на ночную смену (без программиста в кабине). По утру скачивали логи с промышленной SD-карты в контроллере верхнего уровня, изучая интересные места и опрашивая жалобы водителей.
Хотелки
А дальше… Дальше начались всякие внеплановые улучшения софта, скажем так. То, что не влияет на основной функционал, то, чего не было в ТЗ, но, как оказалось, что «у всех других самосвалов есть и это очень удобно». Например, выяснилось, что у всех новых машин реализована противооткатная система. Примерно как на легковушках, но с некоторыми «карьерными» нюансами. В общем, надо было сделать так, что если селектор направления стоит вперед, то машина могла катиться только вперед, а назад ехать упиралась что есть силы. Т.е. чтобы можно было при подъеме на уклон полностью отпустить газ, машина плавно бы остановилась и не покатилась назад. А если надо поехать вперед, водитель жал бы газ и машина без отката назад и рывков шла вверх. И все тоже самое при селекторе назад – вперед катиться нельзя. А в нейтрали противооткат должен отключаться.
Но никто же заранее не говорил, что это надо делать! Да, своими глазами на карьере становится видно, что без этого режима реально неудобно эксплуатировать машины. Но вот в чем проблема – с механическим тормозом так сделать просто, в легковушках при нулевой скорости он зажимается клапанами блока АБС (или чем там?) и всё. И не надо ни энергии тратить, ни эквилибристикой заниматься. На БелАЗе же все системы разделены, и там есть три педали – газ, тормоз механический и тормоз электрический (там, где обычно сцепление). Так вот: механические тормоза управляется только напрямую от своей педали без всякой электроники. Поэтому если делать противооткат на этой конструкции самосвалов, то только средствами торможения тяговым двигателем.
А держать в одном положении электродвигатель с нагрузкой в виде самосвала, стоящего на уклоне – не так-то просто! Как бы это объяснить… это как держать обычную машину с механической коробкой передач на уклоне, играя газом и сцеплением. В зависимости от положения машины нужно поддавать тягу или её сбрасывать. Датчиком положения машины у нас в этом случае служит датчик положения ротора двигателя. Но датчик этот у нас очень грубый, с малым числом меток на оборот. Т.е. если сделать по-простому, «чем быстрее едем назад, тем сильнее поддавай момент вперед», то машина или предательски ползла с уклона понемногу, или раскачивалась вперед-назад. Представляете себе, встали вы на светофоре, а машина елозит вперед-назад на два метра, поддавая то газ, то тормоз, и кивая подвеской туда-сюда… Задача сводится в итоге к задаче сервопривода, который держит положение (как я показывал в статье про сервопривод), но только в размерах БелАЗа и на датчике положения с очень низким разрешением.
В общем, наигрались мы тогда вдоволь с алгоритмами противоотката, пришлось применить самые хитрые ПИД-регуляторы с фильтрами, что только мы сумели придумать. А ведь характер поведения самосвала еще меняется разительно с грузом/без груза! Но настроить «как у всех» вроде бы получилось, водители остались довольны. Вот одно из видео, как мы отлаживали противооткат с грузом:
Тоже самое, но изнутри:
Еще одной интересной системой является круиз-контроль. Местные его называют стабилизация скорости. И если на легковушках он нужен при поездках «на дальняк», чтобы нога не устала газ держать, то здесь – совсем по другой причине. Даже летом на карьерах обычно достаточно скользко, дороги земляные, после дождя их размывает, получается жижа. Ну а зимой в гололед и подавно. И все эти многотонные самосвалы на этих дорогах вполне успешно буксуют (у нас видео нет, но на ютубе полно примеров: раз, два ).
По отзывам водителей самый безопасный способ езды – чтобы колеса вращались с заданной фиксированной скоростью, хоть там спуск, хоть подъем. Это как раз и обеспечивает функция стабилизации скорости. Её задача – очень жестко держать задание, не реагируя на локальные перепады высот. При этом держать скорость она должна играя сразу и газом, и тормозом, смотря куда и как машина едет.
На словах звучит круто, но по факту там обычный ПИД регулятор скорости машины и всё. Хотя поотлаживать и понастраивать тоже пришлось. Да, и еще одно отличие от обычных машин – если нажать на газ или на тормоз, то режим круиз-контроля здесь не отключается, а просто повышает или снижает задание скорости. Т.е. водитель может ехать в таком режиме постоянно, но педали меняют роль и вместо уровня тяги теперь регулируют задание скорости.
Кроме стабилизации скорости машины целиком, еще нужно выравнивание частот вращения по колесам (по задним, конечно, от передних информации нет). Но здесь уже выравнивание не жесткое, так как колеса могут (и должны) крутиться с разной скоростью в повороте. Поэтому до определенной дельты частот вращения привод ничего не предпринимает, а при большей разнице начинает перераспределять момент на колесах так, чтобы подкручивать отстающее и приостанавливать убегающее. Но, в общем, тут тоже никакой рокет-саенс нету, и справляется пропорциональный регулятор с мертвой зоной. При этом сразу одним регулятором можно убить двух зайцев: в зависимости от того, тянем мы или толкаем, получается как бы и противобуксовочная и антиблокировочная система сразу. Не совсем честные системы, конечно, потому что сразу два задних колеса могут и буксовать, и заблокироваться вместе, но по отдельности каждое – нет. Хотя на будущих машинах нам обещали поставить датчики скоростей передних колес, тогда можно с ними будет сделать по-настоящему, без блокировки.
Наша команда
Сколько народу всё это делало? А сколько пусконалаживало? А как строилось взаимодействие? Это тоже интересные вопросы. Если посчитать по пальцам, то конструированием силового шкафа занималось человека три, написанием софта еще три, пара разводила контроллеры, электрические машины еще конструировали в среднем трое и один суперкомпьютер. Еще нужно посчитать нескольких работников, которые занимались комплектацией, документацией и организационными вещами. И это только непосредственно вовлеченные в проект люди, которые занимались только этим и больше ничем. А еще есть рабочие на заводах, которые это оборудование точили, резали, наматывали, собирали, проверяли, перевозили и так далее. В общем, кооперация была большая, многих фирм и заводов в разных частях страны.
На пусконаладке на объекте было сначала пятеро, когда производилась активная сборка и монтаж оборудования, прокладка кабелей и т.п., но потом на покатушки и отладку осталось двое: один конструктор силового шкафа и один программист. Ну это без учета местных – водителей, наладчиков и рабочих, которые помогали в случае чего.
Однако, хоть там и было два человека, виртуально с ними была вся команда. У нас такая практика – под каждый проект создается отдельный чат (в неком опальном мессенджере), и там освещается всё, что происходит. За день там публикуются десятки осциллограмм, фотографий отвалившихся проводов, файлов логов и воззваний к помощи. Все всегда на связи и решают возникающие вопросы. Под это дело мы даже купили и отправили «туда» GSM антенну с модемом, чтобы связь была даже на самом дне ямы (разреза).
Также часто практикуется удаленное подключение (удаленный рабочий стол), когда конкретному программисту нужно что-то поосцать (термин у нас такой для сессии снятия осциллограмм) или пошить контроллеры в своей части ответственности. А еще бывает, что в машине сильно трясет, тогда тот, кто подключается по удаленке ведет саму работу, а тот кто сидит в кабине просто визуально контролирует обстановку, следит за связью и командует куда ехать.
Также есть миссия ответственного просмотрщика логов. Скажем, машина сделала очередную ходку с грузом, визуально всё было хорошо, в чатик сваливается CAN лог поездки. Его обязательно нужно открыть и просмотреть, и обычно в нем находится много очень интересных нюансов, хотя на ходу никто ничего не заметил. Тут же в офисе идет правка софта, пушится, на той стороне интернета пуллится и шьется в машину.
Вы, может быть, удивитесь, но автор этой статьи – ни разу не видел вживую БелАЗа. Да, в этом проекте я тот самый оператор матрицы и удаленный смотритель логов. И эта статья написана без единой консультации с теми, кто «был там». Просто потому, что мы все, кто в чате, обо всём уже знаем. Вот такая плотность передачи информации у нас при работе с проектом.
Более того, все испытания электродвигателей на заводе (прошлая статья) шли вообще без присутствия программистов. Но велись ими. По удаленке. Из командированных на месте на испытаниях сидел только несчастный конструктор силовых шкафов (не считая работников завода), которому нужно было снимать осциллограммы физическим осциллографом, контролировать температуры и подключать провода. Такая наглость со стороны программистов стала возможной только благодаря многолетним инвестициям в свой отладочный софт и методологию, которая была подробно рассмотрена здесь.
К слову, по этой причине еще на стадии обсуждения нового проекта с заказчиком мы сразу выясняем, есть ли на объекте в месте установки оборудования интернет, мобильная связь и возможно ли их обеспечить в случае отсутвия. Если выясняется, что ничего нет, говорим, что тогда пусконаладка будет идти в три раза дольше. Обычно это очень хорошо стимулирует на поиск и подключение нам завалявшейся вайфай точки доступа или организации разрешения на пронос «запрещенного для обычных смертных» 3G-модема на объект на время пусконаладки. Но, безусловно, бывают и такие места, где не то что интернет, а и розетку бытовую найти сложно. Кстати, о розетках — на время пусконаладки в самосвал мы ставили инвертор 24-220В (из обычного автомагазина) для зарядки ноутбуков и телефонов, чтобы спокойно бесперерывно работать.
Заключение
Хоть сейчас машинка уже стала взрослая и ходит в разрез самостоятельно, мы про нее не забываем – местным наладчикам оставили GSM антенну, и, если что – подключаемся удаленно и диагностируем, что не так. На место выезжать нужно только если сломается что-то непоправимое. Поломки типа отвалившегося провода или отказавшего насоса чинятся местным персоналом, а наше дело подключиться и сказать, в каком именно месте проблема и где это увидеть.
Предположительно, это финальная статья по этому проекту. Если в комментариях будут предложения о чем рассказать ещё, что не уложится в формат ответного комментария, то подумаем о написании продолжения.
Серия статей получилась, конечно, однобокая – эдакий взгляд на проект со стороны программистов. Я уверен, что всем другим участниками проекта, конструкторам машин и шкафов, монтажникам и рабочим тоже было бы много чего рассказать со своей точки зрения. Может быть, когда-то они напишут что-то похожее.
Также в статье даже близко не рассмотрены все алгоритмы управления самим самосвалом, потому что для этого не статью надо писать, а диссертацию. Как обеспечивается баланс мощности между всеми устройствами, по какому закону управляется генератор, как задается частота вращения дизеля, как обрабатываются педали оператора и преобразуются в задание момента, и многое, многое другое. То есть алгоритмы, конечно, гораздо сложнее, чем
if (газ>0)
задание_момента = газ;
if (тормоз>0)
задание_момента = -тормоз;
И в них, конечно же, тоже куча разных инженерных решений: какие-то решения элегантные, какие-то топорные, какие-то неочевидные, какие-то самые тривиальные. Но до всех этих алгоритмов со временем и опытом дошел бы так или иначе каждый инженер, когда нужно выполнить поставленную задачу. Поэтому я решил не погружаться в занудные технические детали реализации, а показать, как шел этот проект эпизодически, с картинками, ютубами и лирическими отступлениями. Надеюсь, было интересно.
Как обычно, реклама родного института
Этот проект выполнялся по большей части выпускниками НИУ МЭИ. Если Вы стоите перед вопросом «где дальше учиться» и Вам интересно крутить электродвигатели, пусконалаживать БелАЗы, а также хочется научиться программировать векторную систему управления, то добро пожаловать под
В магистратуру по данной специальности можно поступать на конкурсной основе на бюджетную форму обучения или на платной основе. Срок окончания приема документов в магистратуру на бюджетную форму обучения – 17 августа 2018г.
Вступительные экзамены будут проводиться 11 августа и 20 августа (консультации 10 и 17 августа, соответственно). Подробности на сайте приёмной комиссии. Примеры экзаменационных заданий можно так же найти в специальном разделе сайта приёмной комиссии. Поступающим, нуждающимся в общежитии, предоставляет общежитие в пределах выделенного числа мест при поступлении на места в рамках контрольных цифр приёма очной формы обучения и на договорные места очной формы обучения.
Также приглашаем выпускников школ поступать в бакалавриат по направлению 13.03.02 «Электроэнергетика и электротехника» факультета ИЭТ МЭИ. Срок окончания приема документов в бакалавриат на бюджетную форму обучения – 26 июля 2018г.
Документы подаются по адресу г. Москва, ул. Красноказарменная, д.17.
Кафедра автоматизированного электропривода НИУ «МЭИ» является ведущей кафедрой по данной специальности в России, имеет более 20 млн. руб. ежегодного объема научно-исследовательских работ, публикует более 20 статей в год в изданиях, индексируемых наукометрическими базами данных Web of Science и Scopus, на кафедре преподают сотрудники ООО «НПФ «ВЕКТОР» и ООО «НПП «ЦИКЛ+» — ведущих предприятий в области разработки электроприводов и электрических трансмиссий в России.
А вот напоследок загадка:
Найдите на этом фото GSM-антенну и фары.
Комментарии (76)
lingvo
23.07.2018 12:09+1Если подходить к вашему проекту с точки зрения методологии разработки, то можно было бы многое усовершенствовать: и управление требованиями, чтобы не получалось "ой, а на всех машинах есть противооткат, а у вас нет", и вместо чата ввести баг-трекер, чтобы те данные, которые вы соберете, потом вошли в базу знаний, ну и естественно тестирование — чтобы не получилось, что на машину ставится необкатанный софт.
Кстати, по поводу первого пуска инверторов аналогичной мощности — очень советую при этом держать под рукой железную кнопку "Стоп", чтобы не надо было кричать "вырубай" и судорожно нажимать мышкой кнопки на ноутбуке, но аппаратные защиты на минимум, это конечно святое.BelerafonL Автор
23.07.2018 12:20У нас были требования, но так вышло, что минимально-необходимые для эксплуатации машины. А все сервисные функции, что предоставляют более именитые производители, нам в первоначальном ТЗ не спустили, потому что это как бы ноу-хау и только появляется у всех. Поэтому пришлось доделывать по месту и ориентироваться на отзывы и удобство водителей.
Баг-трекер удобен с точки зрения написания софта, и подобными механизмами мы пользуемся, но в чате обсуждается гораздо больше всех вещей: аппаратные вопросы, итоги дня, проблемы организационного плана, идет мозговой штурм проблем и обсуждение осциллограмм. В туду-лист попадают уже обсужденные и выверенные вещи.
Кнопку стоп мы тоже любим и всегда делаем, аппаратную, большую и надежную. Но что удобно в самосвале, там есть штатный тумблер остановки дизеля, который отрубит главный источник энергии и является таким штатным аварийным выключателем. Но если такой кнопки аварийного останова нет, то её всегда делаем.
Gromin
23.07.2018 12:33Как человек, работающий в этой сфере, отвечу вам что не все так однозначно. Как бы ни писались ТЗ, все равно в процессе разработки систем и после их ввода в эксплуатацию появляются новые «хочучки» от водителей и наладчиков. И все это, в основном, бесплатно (т.е. в рамках изначально заключенного договора). Отказ от такой работы влечет за собой потерю конкурентного преимущества, репутации и заказов от завода. Очень не многие компании могут позволить себе такое ведение дел, увы.
Софт всегда тестируется, ведь, если все плохо, новая трансмиссия стоит мно-о-ого денег. Но тестирование на стенде и на машине — совсем разные этапы тестирования со своими особенностями. Как автор уже описал, на стенде «все норм», а на машине…lingvo
23.07.2018 13:33Как человек, работающий в этой сфере, отвечу вам что не все так однозначно. Как бы ни писались ТЗ, все равно в процессе разработки систем и после их ввода в эксплуатацию появляются новые «хочучки» от водителей и наладчиков. И все это, в основном, бесплатно (т.е. в рамках изначально заключенного договора). Отказ от такой работы влечет за собой потерю конкурентного преимущества, репутации и заказов от завода. Очень не многие компании могут позволить себе такое ведение дел, увы.
То ж все понятно, никто не спорит. Но проблема в том, что мы все разрабатываем еще и железо, а не один только софт. И если данная хотелка не реализуется чисто программными методами — все, приехали. Либо сравнительно огромные костыли, либо ругательства с заказчиком, либо переделка железа со всеми вытекающими. А последний вариант, как написано в предыдущих статьях автора, в проектах данного уровня очень и очень затратный. Причем затратен не столько по разработке, сколько по тестированию.
Все специалисты уже давно сошлись на одном и том же мнении: менеджмент требований — это самая первая причина срыва сроков, превышения бюджета или невыполнения R&D проекта вообще. А только потом идет уже компетенция команды или методология разработки или тестирования. За требованиями нужно следить в первую очередь, какие бы проблемы с их сбором и анализом не вываливались. И да, за ТЗ вам обычно тоже никто не заплатит.
Gromin
23.07.2018 20:27То ж все понятно, никто не спорит. Но проблема в том, что мы все разрабатываем еще и железо, а не один только софт. И если данная хотелка не реализуется чисто программными методами — все, приехали. Либо сравнительно огромные костыли, либо ругательства с заказчиком, либо переделка железа со всеми вытекающими. А последний вариант, как написано в предыдущих статьях автора, в проектах данного уровня очень и очень затратный. Причем затратен не столько по разработке, сколько по тестированию.
Ругаемся, костылим и переделываем. С переделкой железа все не так мрачно, на самом деле. Если при разработке устройства не выбрали контроллер «впритык» по возможностям/входам/выходам, то самые частые хотелки типа «а надо еще контролировать этот сигнал» решаются программно + подключением свободных входов-выходов. А чаще что-то новое нужное читается из CAN. Тотальные переделки «с нуля» из-за дополнительных функций не делаются, это уже совсем другие системы получаются и лучше делать новый блок.
После начала испытаний нового модуля плата переделывается (исправляется и заказывается на производстве) всегда. Ну или в 99% случаев. Но на этом этапе стоимость производства настолько низкая, что на фоне общих затрат на R&D — ни о чем.
Все специалисты уже давно сошлись на одном и том же мнении: менеджмент требований — это самая первая причина срыва сроков, превышения бюджета или невыполнения R&D проекта вообще. А только потом идет уже компетенция команды или методология разработки или тестирования. За требованиями нужно следить в первую очередь, какие бы проблемы с их сбором и анализом не вываливались. И да, за ТЗ вам обычно тоже никто не заплатит.
Согласен. Как минимум без требований нельзя назначить сроки т.к. нет критериев готовности проекта. Но, повторюсь, практически все модули машины постоянно дорабатываются даже при серийной поставке на конвейер. Без доплат и новых договоров. И причин тому хватает:
— удешевление производства. Производителю тоже хочется снизить себестоимость при фиксированной цене продажи изделия. Такие изменения, само собой, всегда согласовываются с заинтересованными лицами и дополнительно тестируются на машинах;
— индивидуальность серии машин. Я не сильно ошибусь если скажу что каждый БелАЗ уникален. Даже если их выпустили партией, все равно не будет двух полностью одинаковых машин. Как минимум ПО в настройках будет отличаться. Для каждой партии машин, 10шт, например, производится доработка ПО как по функциям, так и по настройкам. Все это тестируется на машине на заводе, записывается в акты и отправляется в карьер. После сборки машин в карьере опять производится доработка ПО и тестирование до момента «о, так отлично». Потом в течение гарантийного срока еще пару раз, потому что «как-то стало не так»;
— конкуренция. Есть много как больших контор, так и мелких фирмочек, которые готовы сделать и делают аналогичные модули с новыми функциями, улучшающими показатели машин. Нужно как минимум не отставать что бы остаться на конвейере;
— надежность. Некоторые проблемы получается выявить только спустя годы работы в конкретном карьере. При любом тестировании.
Естественно все доделки и функции применяются на новых машинах, где это возможно. Таким образом доработки как бы оплачиваются будущими заказами.
Еще стоит упомянуть что в срывы сроков происходят не только из-за изменений требований. Согласование схем, документации и т.п. порой происходит весьма не быстро.
И да, за ТЗ не платят)
kababok
23.07.2018 23:06Вот на эту табличку гляньте. ;)
https://www.elobau.com/downloadcenter-files/Allgemeines/D_elobau_Musterteile.pdf
denkle
24.07.2018 09:07И все это, в основном, бесплатно
Тут же выгодно на самом деле обоим сторонам эти улучшения. Поставщик получает опыт, а покупатель машину с полным функционалам за меньшие деньги. Единственный минус это простой оборудования.
В моей сфере деятельности то же подобные случаи были. Купили мы простенькую производственную линию у молодой конторы. В ТЗ прописали базовый функционал. Те приехали, увидели у нас линию именитого производителя с кучей всяких плюшек и у них тут же глаза загорелись, наверное пару недель они настраивали всю автоматику. В итоге мы получили линию с полным функционалам который только возможно найти на рынке, которая обошлась процентов на 30% дешевле чем стоят конкуренты. А производитель «прокачал» свой продукт до мирового уровняю.lingvo
24.07.2018 13:45Если у поставщика есть свободные ресурсы и деньги, то пожалуйста — всегда приятней экспериментировать на чужом оборудовании, чем на своем, особенно, если заказчик согласен.
severovma
23.07.2018 12:24А какое разрешение энкодера? И интересно узнать у программистов каким способом анализировать низкую скорость при плохом разрешении?
BelerafonL Автор
23.07.2018 12:31Там не энкодер, там датчики Холла, для синхронной машины (коей является ВИД НВ) нужно абсолютное знание положения ротора. Если пересчитать в метки на оборот, это получается 36 меток. Для получения гладкого сигнала с такого датчика применяются наблюдатели — т.е. по сути «модель» ротора машины, которая имеет свою скорость вращения и инерцию, и выходной угол и скорость которой мягко подстраиваются под дискретный сигнал датчика положения. Можно назвать это ФАПЧ или PLL, принцип похож.
Таким образом с наблюдателя положения ротора получается сигнал угла гладкий, но «нечестный», потому что это лишь модель. Но он совпадает с настоящим положением ротора при равномерном вращении, а при неравномерном его фильтр настраивается так, чтобы было, с одной стороны, «мягко», а с другой стороны, чтобы не сильно отставать от реального сигнала с датчика. Это исключает резкое измерение угла или скорости в обратной связи регулятора, тем самым исключая броски задания момента и прочий высокочастотный «звон».severovma
23.07.2018 12:41В смысле в наблюдатель заводится момент инерции, сухое трение итд?
BelerafonL Автор
23.07.2018 12:48У него есть параметры — момент инерции и все что там еще он моделирует, а заводится в него дискретное положение ротора с датчика, а на выходе он выдает свое моделируемое гладкое положение и скорость. Еще может на него заводиться момент двигателя, это тоже хорошо помогает.
severovma
23.07.2018 13:23А если не затруднит сможете описать структуру? Что-то типа этого?http://www.freepatent.ru/patents/2532673
BelerafonL Автор
23.07.2018 14:57Подобные системы строятся однотипно, примерно так, как показано в патенте. Вот есть хорошая старая обзорная статья, сравнивающая классические методы обработки импульсных датчиков и с применением наблюдаталей: www.researchgate.net/publication/4331350_Speed_measurement_algorithms_for_low-resolution_incremental_encoder_equipped_drives_a_comparative_analysis
Насколько я сумел разобраться в формулах этого патента, там что-то типа наблюдателя Люенбергера из этой статьи, мы же пользуемся чем-то типа упрощенного фильтра Калмана (тоже структура показана в этой статье), также мы не пытаемся учитывать и предсказывать момент нагрузки на привод, так как и без этого усложения результат получился приемлемый.severovma
23.07.2018 15:13Спасибо! после выхода статей неделю изучаю инфу по ВИДам и наткнулся на диссертацию Жаркова(стр.24), у него описан фильтр Калмана, как в ссылке на статью. Но Вы пишите про момент инерции, не могу понять, смотря на структуру фильтра Калмана куда его можно впихнуть
severovma
23.07.2018 15:16Вернее страница104
http://motorcontrol.ru/wp-content/uploads/2015/11/Zharckov_final.pdfBelerafonL Автор
23.07.2018 16:14Здесь смотря что подразумевать под моментом инерции. В формулах 4.15 момента инерции нет, т.е. он подразумевается бесконечным. А именно, если на вход фильтра подать свой же синусно-косинусный сигнал с выхода, то он сам будет «крутиться» бесконечно с постоянной скоростью. По этой же причине здесь нет момента двигателя, потому что нет смысла вводить момент инерции без самого воздействующего на него момента.
С другой стороны, можно рассматривать реализацию цифрового фильтра Калмана, который фильтрует датчик положения, как двухмассовую систему. Датчик положения меняет свой выход, возможно, резко и импульсно, а фильтр Калмана за ним «подтягивается», крутится «как по инерции» вслед за входным сигналом, сглаживая его. В этом случае фильтр можно рассматривать как виртуальный маховик, на который действует «вращающий момент» датчика, который тем больше, чем больше рассогласование между сигналом датчика и выходом фильтра Калмана. В этом случае момент инерции, а именно то, как быстро фильтр Калмана будет реагировать на ошибку между входом и выходом (как бы «момент»), сидит в его матрицах и является адаптивной величиной, подстраиваемой фильтром. Чем точнее выход фильтра следует за входом, тем больше повышается у фильтра Калмана степень доверия к входному сигналу (меньше шум), тем быстрее он будет реагировать на изменение входного сигнала, и тем меньше этот «виртуальный момент инерции». Ну и скорость такой подстройки регулируется гиперпараметрами фильтра.severovma
23.07.2018 16:47Смысл в том, что напрямую момент инерции как таковой не заводится, он косвенно подразумевается внутри матричных уравнений? И Вы пользуетесь структурой, как в диссертации, но более упрощенной, чтоб не занимать программного времени? Те когда останавливается мпшина, Вы переходите на стабилизацию положения, следовательно с одноконтурной системы(момента) Вы переходите на трехконтурную?
BelerafonL Автор
23.07.2018 16:49Да, примерно всё так.
severovma
23.07.2018 17:09Еще поизучал описание на К19, достаточно интересный процессор, там есть удобная фишка которая позволяет на ходу менять предделители. На стр 95 описано три метода обработки квадратурного сигнала: 1) На низкой скорости(время между метками)
2)На высокой скорости(Считаем импульсы)
3)Смешанный алгоритм(заданное значение счетчика позиции)
Хотел узнать каким способом Вы пользуетесь, и меняете ли на ходу предделители?BelerafonL Автор
23.07.2018 17:12У нас датчик Холла, для его обработки мы пользуемся модулем CAP (захвата). Но в открытом ПО motorcontroldemo в QEP предлелители меняются.
severovma
23.07.2018 17:28Спасибо! Как я понял предделитель меняется дважды upps=5 или upps=0, в зависимости от скорости, и неужели хватило такого диапазона
BelerafonL Автор
23.07.2018 17:30Это демо, как это делать. Предполагается, что каждый под свое железо должен понаписать как ему надо.
ProLimit
24.07.2018 08:49По ходу чтения статьи хотел задать этот очевидный вопрос: а почему бы не поставить энкодер и не мучаться с наблюдателями (с заведением кучи параметров и отладкой) и с хитрыми алгоритмами PID? Есть же энкодеры на любой вкус, от 8 до 24! бит, можете получить высококачественную обратную связь для PID.
artoym
24.07.2018 09:43Видно решили, что лучше программно решить вопрос в тот момент, а не лезть в уже инсталлированное решение.
BelerafonL Автор
24.07.2018 11:12Да там просто некуда ставить. Посмотрите на фото установки движков. Внутри движка в самой удачной точке температуры от -50 до +120, снаружи с одной стороны тормоза (еще горячее и грязь), с другой вообще редуктор с маслом. Редкая считывающая головка такому обрадуется. Кроме того, есть сложности с механикой — готовый корпусированный с выходным валом энкодер вообще не приделать к валу двигателя (который с ногу толщиной), нужно выполнять энкодер с отдельным зубчатым колесом и считывающей головкой, а там возникает проблема с допусками подшипников и попаданием грязи. Текущий датчик на дискретных элементах Холла выполнен на высокотемпературном текстолите и высокотемпературных элементах, да и то с ним есть проблемы как с кабелем, так и с самими элементами. Поэтому даже от такого датчика собираемся отказываться и переходить на бездатчиковое управление, не то что еще датчиков приделывать.
lingvo
24.07.2018 13:52Я думаю причина также в том, что исходя из начального ТЗ такая разрешающая способность — в 36 меток, считалась достаточной для всех режимов управления мотором. Это уже потом обнаружилось, что ее не хватает для противоотката и пришлось придумывать сложные ПИД алгоритмы.
Как я уже писал выше — это типичная проблема — отсутствуют требования -> принимаются неоптимальные решения -> потом теряется время на переделку или доработку.
Loxmatiymamont
23.07.2018 12:39А новые прошивки заливаются локальным техником или благодаря GSM можно «хакнуть» белаз через интернетики?
BelerafonL Автор
23.07.2018 12:49Все локально, GSM только как модем для компьютера, с которого работают, просто как выход в интернет.
braineater
23.07.2018 13:11Как шла работа при срабатывании защиты в разрезе?
По пути, конечно же, происходили срабатывания защит, приходилось опять охотиться с осциллограммами на причины
В данном случае после срабатывания защиты вы отъезжали куда-то или отлаживались на месте? Если на месте то не создавало ли это проблем для движения?BelerafonL Автор
23.07.2018 13:17Мы старались предусмотреть первые маршруты так, чтобы за нами сзади никто не ехал. И, конечно же, проверяли перед этим механические тормоза, что держат и можно на них рассчитывать. Обычно после срабатывания защиты можно перезапуститься за несколько секунд и отъехать куда надо в случае чего. Ну и когда мы добивались воспроизводимости проблемы, мы просили водителя отъехать на неиспользуемый участок серпантина разреза и откатать проблему там. После устранения возвращались на маршрут возить груз. Например, отладка противооткатной системы как раз и велась на неиспользуемом участке дороги, что видно на видео.
Lerk
23.07.2018 13:35Классные всё таки у вас статьи, любо дорого читать. Какие у шкафа получаются температурные режимы? Не холодно ему при старте? Или такая техника 24/7 работает?
BelerafonL Автор
23.07.2018 14:38Работает постоянно, да. Но в шкафу еще предусмотрен подогрев на случай низких температур.
DeggerZed
23.07.2018 15:29И как итог: какие преимущества вашего комплекта перед конкурентами?
BelerafonL Автор
23.07.2018 16:19Дольше держим максимальный момент, меньше габариты, надеемся, что будет выше надежность. Есть резервирование по отказу триад тягового двигателя, если в одной что-то отказало, можно ехать на остальных двух.
DeggerZed
23.07.2018 16:37я наверное не правильно выразился, в чем преимущества в экономике?
выше надежность — меньше эксплуатационные расходы.BelerafonL Автор
23.07.2018 16:40Меньшие габариты дают меньшую массу и лучший обзор водителю — больше производительность машины, дольшая работа с максимальным моментом позволит не застрять там, где другие могут застрять.
s60
23.07.2018 17:14какой контроллер используете: промышленный ПЛК или нечто свое а-ля ARM на «зелёнке»?
darkfire77
23.07.2018 17:34Спасибо за статьи, очень интересно. А можете рассказать, аварийные тормоза смогут остановить гружёный белаз во всём разрешенном диапазоне скоростей\уклонов? И бывают ли случае сгорания тормозов, при аварийном торможении? А если и аварийный тормоз откажет, водителю остаётся только покидать машину?
BelerafonL Автор
23.07.2018 18:02По требованиям и по конструкции должны останавливать, по факту состояние механических тормозов бывает не всегда хорошее и они бывают «слабыми». Мне рассказывали байки про катящиеся с горы под 100км/ч самосвалы. Не хочется верить, но, судя по всему, это правда. А еще для большей безопасности сама трасса на разрезе делается серпантином с эдакими… не знаю, как у них называется, с выкатами что ли, где после наклонного участка есть развилка, где можно выбрать траекторию так, что дальше дорога идет вверх или полого, чтобы можно было затормозить там накатом. Ну вот на этом фото, скажем, такая архитектура просматривается. Вообще аварии на карьерах не редкость.
Gutt
23.07.2018 23:07Мне рассказывали байки про катящиеся с горы под 100км/ч самосвалы.
А вариант «на ходу сбросить груз» не применяется? Должно здорово помочь, если механический тормоз ещё не расплавился.Gromin
24.07.2018 00:08Кузов не поднимется, система не позволит такие фокусы. К тому же паспортная максимальная скорость у БелАЗов до 60 км/ч, выше даже электрический тормоз не спасет, только горка.
BelerafonL Автор
24.07.2018 13:31Я знаю что когда застряли груз сбрасывают, но чтобы при отказе тормозов спешно опорожняться, такого не слышал. Да и кузов долго поднимается. И блокировки всякие есть.
vlivyur
25.07.2018 16:09Смотря что перевозят. Иногда его с грузом и водителем тащат на разгрузку, а потом уже в гараж.
Gromin
23.07.2018 19:15Как мне объясняли, механического тормоза хватает метров на 50-100, потом всё. Если при спуске у машины отказывает электродинамический тормоз и скорость меньше 30 км/ч то остановиться еще можно, если больше — все очень плохо.
Водители БелАЗов как капитаны кораблей, остаются на борту до конца) Лестницы с палубы расположены по ходу движения, аккурат под колеса. Сама палуба на высоте 4+ метров, с ограждениями, с нее даже на стоянке прыгать как-то не хочется. К тому же дороги в карьере укатаны до состояния бетона и обильно усыпаны камнями различных форм и размеров, так что можно спрыгнуть «с гарантией».darkfire77
23.07.2018 21:53Спасибо за ответ, если механические тормоза постоянно не используются, то и износа у них особого быть не должно. Может надо ставить карбон-керамические тормозные диски и колодки? В цене белаза, они врятли будут сильно заметны.
Gromin
24.07.2018 00:38Цена не важна, важна эффективность. Есть особенности, из-за которых на механику рассчитывают только как на страховку.
Во-первых масса. Пустой БелАз с грузоподъемностью 90т весит 73т. При максимальной скорости спуска 60км/ч — это 10МДж кинетической энергии, которую надо рассеять при торможении.
Во-вторых нагрев. Тормозные диски задних колес установлены внутри моста. При торможении они вместе с колодками адски греются. Это тепло отвести абсолютно некуда. Вентилятор не поставить — пыль. Жидкостное охлаждение диска и колодок — очень сложно и не надежно в таких условиях: вращающиеся уплотнения, надо где-то ставить насос, большой радиатор, вентиляторы (опять пыль), за всем этим следить. Еще примите во внимание что цикл работы машины в зависимости от карьера 20-100 минут. Круглосуточно. И на спуске тормоза работают постоянно.
Электродинамический тормоз позволяет решить эти проблемы сбрасывая энергию на резисторы, которые обдуваются мощным вентилятором в трубе и греют воздух (вся конструкция установлена на палубе). «Квадратиш, практиш, гуд» ©
lingvo
25.07.2018 16:53Не знаю, как в этой сфере, но во многих других сферах, где применяются электрические привода, электрические тормозные системы имеют более изощренные решения для аварийных ситуаций. Например в лифтах встречал, что при определенных условиях тормозной резистор закорачивается тиристором на шину постоянного тока намертво — оно все равно едет, но уже медленно-медленно. Аналогичные вещи встречаются в ветряных генераторах. И работает это все независимо от контроллера.
Но в этом случае есть проблема с обеспечением возбуждения — именно за это двигатели с внешним возбуждением в таких вещах не очень любят — чтобы в случае чего, даже при пропадании питания оно могло само тормозить.
NordicEnergy
23.07.2018 19:00А какой датчик тока используется для реализации защиты в цепи с килоампером? На эффекте Холла?
BelerafonL Автор
23.07.2018 19:07Да, леммовские, на эффекте Холла компенсационного типа. Например, вот.
NordicEnergy
23.07.2018 19:11Понял, спасибо за ответ. Статья как всегда супер! Вектор и Ко видимо иначе не умеют)
AnatolPe
23.07.2018 21:44Спасибо большое за статью! Подписался, жду дальнейшие статьи… И еще понравилось применение отечественного контроллера, да видел выпадки других- зачем применяете… Правильно, я тоже сейчас делаю-стараюсь делать на отечественном… Не из за того что Импортозамещение- а из за того что хочется поддержать свое производство, да есть глюки, есть проблемы, но не ошибается тот кто нечего не делает… Звонок, разговор по душам по телефону- многие вещи предсказываются и исправляются на ходу…
BelerafonL Автор
24.07.2018 11:48Когда дело касается структур системы управления электроприводом, то там обычная методология юнит-тестов плохо ложится. Все функции — библиотечные и уже отлаженные, а из них, как из кубиков, собирается некая структура, которая берет значения токов с АЦП и датчика положения, как-то их обрабатывает, и выдает задания на ШИМ. Юнит-тест здесь такую структуру не проверит, так как там всякие регуляторы, интеграторы, фильтры — даже стейт конкретный воссоздать очень сложно, а уж что является нормой для структуры, а что нет — тоже формально не описать.
Мы пользуемся другим путем. У нас в ПО контроллера для отладки есть симулятор объекта управления. Математическая модель двигателя, которая рассчитывается прямо в реальном времени на том же микроконтроллере. Мы компилим софт с такой отладочной моделью, после чего эта модель симулирует значения на АЦП и сигналы датчиков, принимает задания ШИМ и «крутит» виртуальный двигатель. На нём можно отладить и проверить работу структуры управления и отработать новые фичи. Но пока это не автоматически, в том плане, что программист руками после добавления новых фич проверяет как их работу, так и проверяет, что остальное не сломалось на этой модели.
Sabubu
24.07.2018 06:49Интересная статья. Там у вас наверно много софта (как минимум для контроллеров). Хотел узнать, применяется ли автоматизированное тестирование для него, хотя бы юнит-тесты? Это очень полезная штука, позволяет, например, «защитить» какой-то функционал от поломки при добавлении новых фич, и если вдруг это не применяется, советую подумать над этим.
DMGarikk
24.07.2018 10:11Ой какой знакомый косяк с кратковременным всплеском токов.
Помню, я был представителем эксплуатации, и нам делали пусконаладку испытательного стенда генераторов, токи там конечно не как у вас, но я помню мы долго боролись с представителями изготовителя доказывая что несмотря на то что в генераторе по паспорту не бывает токов больше 200А и возбуждении чтото около 15-20А (цифры примерные, давно это было), крупные всплески МОГУТ возникать в переходных режимах при резких изменения нагрузки… у нас это еще заканчивалось взрывом ключей управления возбуждением которые стояли «строго по паспорту генератора, написано 20А… стоит на 20А»
Executicus
24.07.2018 11:30Спасибо за статьи почитал все 3 статьи про Белазов, и способы разработки пуско наладочные работы интересные (я сам в железе больше занят, и тоже так пуск проекта делаем) и ребята в ко ментах добавляют инфы, но хотелось еще узнать про кабину водителя, про кондишин я понял есть а что еще дополнительное есть, я бывал на каменоломне гранита пылище плюс радиоактивность (постоянно чувак бегал со счётчиком Гейгера «радиоактивность высока» кричал он) и удобства какие есть, и понимаю что прогер написал статью
BelerafonL Автор
24.07.2018 11:33В нашем случае ничего эдакого в кабине не было, всё обычно. Есть там система приближения к высоковольтным проводам, монитор для камер обзора (ехать к краю отвала без задней камеры страшно), рация.
stanislavskijvlad
24.07.2018 17:08Посмотрел передачу на Науке. Там ведущий говорит «а третья педаль – не сцепление. Коробка тут автоматическая». А я только утром первые две статьи прочитал. Там что-то было про обратную связь и контроль оборотила ДВС. Но я так и не понял, ведущий оговорился, или между двигателем и генератором есть трансмиссия?
BelerafonL Автор
24.07.2018 17:59Ничего нет, прямое сочленение. Под автоматической, наверное, имелось ввиду обывательское название электротрансмиссии, которая работает в пользовательском плане как гидроавтомат.
gessor
24.07.2018 17:59Спасибо большое за отличные статьи. Приятно, что где-то так грамотно организован процесс разработки сложных систем. Удивило, что вы ввязались в такой проект на чистом энтузиазме и согласились на: «Сделайте все за свой счет, если получится — может будем покупать». В моем заведении так не делают и не могу их за это судить. Ваш подход более романтический :) Но главный вопрос: что сказало руководство БелАЗа на новую систему? Пойдет в серию?
BelerafonL Автор
24.07.2018 18:00Эта машина еще проходит тестовую эксплуатацию, но уже есть планы о сборке новых машин.
severovma
25.07.2018 02:43Добрый день! А какие датчики стоят в каналах измерения напряжения(я читал, что рекомендуют lv25 p)? И как измерить напряжение, через фильтр, сдвиг на оу и на ацп или Вы делаете хитрые интеграторы и только потом заводите в ацп?
BelerafonL Автор
25.07.2018 08:01Датчики типа таких, вроде бы. А в чем проблема измерить? Ничего эдакого нет, также, как и все другие каналы измеряются, как токи… Зачем сдвиг и интеграторы?
severovma
25.07.2018 10:15Ну я имел ввиду проводить измерение на периоде шим, те интегрировать напряжение в течение коммутации, чтоб учесть мертвое время…
severovma
25.07.2018 10:16Напряжение каждой фазы, относительно нейтрали
BelerafonL Автор
25.07.2018 10:34Нейтрали вообще нет и взять неоткуда, измеряется два линейных напряжения, пульсации ШИМ могут быть сглажены аналоговыми фильтрами на контроллере и оверсемплингом АЦП.
severovma
26.07.2018 20:32Спасибо огромное!!! Ваши статьи нереально прививают интерес к электроприводу!!!!
mblp
Спасибо, читать интересно, пишите еще