Комментарии 117
Если подходить к вашему проекту с точки зрения методологии разработки, то можно было бы многое усовершенствовать: и управление требованиями, чтобы не получалось "ой, а на всех машинах есть противооткат, а у вас нет", и вместо чата ввести баг-трекер, чтобы те данные, которые вы соберете, потом вошли в базу знаний, ну и естественно тестирование — чтобы не получилось, что на машину ставится необкатанный софт.
Кстати, по поводу первого пуска инверторов аналогичной мощности — очень советую при этом держать под рукой железную кнопку "Стоп", чтобы не надо было кричать "вырубай" и судорожно нажимать мышкой кнопки на ноутбуке, но аппаратные защиты на минимум, это конечно святое.
Баг-трекер удобен с точки зрения написания софта, и подобными механизмами мы пользуемся, но в чате обсуждается гораздо больше всех вещей: аппаратные вопросы, итоги дня, проблемы организационного плана, идет мозговой штурм проблем и обсуждение осциллограмм. В туду-лист попадают уже обсужденные и выверенные вещи.
Кнопку стоп мы тоже любим и всегда делаем, аппаратную, большую и надежную. Но что удобно в самосвале, там есть штатный тумблер остановки дизеля, который отрубит главный источник энергии и является таким штатным аварийным выключателем. Но если такой кнопки аварийного останова нет, то её всегда делаем.
Софт всегда тестируется, ведь, если все плохо, новая трансмиссия стоит мно-о-ого денег. Но тестирование на стенде и на машине — совсем разные этапы тестирования со своими особенностями. Как автор уже описал, на стенде «все норм», а на машине…
Как человек, работающий в этой сфере, отвечу вам что не все так однозначно. Как бы ни писались ТЗ, все равно в процессе разработки систем и после их ввода в эксплуатацию появляются новые «хочучки» от водителей и наладчиков. И все это, в основном, бесплатно (т.е. в рамках изначально заключенного договора). Отказ от такой работы влечет за собой потерю конкурентного преимущества, репутации и заказов от завода. Очень не многие компании могут позволить себе такое ведение дел, увы.
То ж все понятно, никто не спорит. Но проблема в том, что мы все разрабатываем еще и железо, а не один только софт. И если данная хотелка не реализуется чисто программными методами — все, приехали. Либо сравнительно огромные костыли, либо ругательства с заказчиком, либо переделка железа со всеми вытекающими. А последний вариант, как написано в предыдущих статьях автора, в проектах данного уровня очень и очень затратный. Причем затратен не столько по разработке, сколько по тестированию.
Все специалисты уже давно сошлись на одном и том же мнении: менеджмент требований — это самая первая причина срыва сроков, превышения бюджета или невыполнения R&D проекта вообще. А только потом идет уже компетенция команды или методология разработки или тестирования. За требованиями нужно следить в первую очередь, какие бы проблемы с их сбором и анализом не вываливались. И да, за ТЗ вам обычно тоже никто не заплатит.
То ж все понятно, никто не спорит. Но проблема в том, что мы все разрабатываем еще и железо, а не один только софт. И если данная хотелка не реализуется чисто программными методами — все, приехали. Либо сравнительно огромные костыли, либо ругательства с заказчиком, либо переделка железа со всеми вытекающими. А последний вариант, как написано в предыдущих статьях автора, в проектах данного уровня очень и очень затратный. Причем затратен не столько по разработке, сколько по тестированию.
Ругаемся, костылим и переделываем. С переделкой железа все не так мрачно, на самом деле. Если при разработке устройства не выбрали контроллер «впритык» по возможностям/входам/выходам, то самые частые хотелки типа «а надо еще контролировать этот сигнал» решаются программно + подключением свободных входов-выходов. А чаще что-то новое нужное читается из CAN. Тотальные переделки «с нуля» из-за дополнительных функций не делаются, это уже совсем другие системы получаются и лучше делать новый блок.
После начала испытаний нового модуля плата переделывается (исправляется и заказывается на производстве) всегда. Ну или в 99% случаев. Но на этом этапе стоимость производства настолько низкая, что на фоне общих затрат на R&D — ни о чем.
Все специалисты уже давно сошлись на одном и том же мнении: менеджмент требований — это самая первая причина срыва сроков, превышения бюджета или невыполнения R&D проекта вообще. А только потом идет уже компетенция команды или методология разработки или тестирования. За требованиями нужно следить в первую очередь, какие бы проблемы с их сбором и анализом не вываливались. И да, за ТЗ вам обычно тоже никто не заплатит.
Согласен. Как минимум без требований нельзя назначить сроки т.к. нет критериев готовности проекта. Но, повторюсь, практически все модули машины постоянно дорабатываются даже при серийной поставке на конвейер. Без доплат и новых договоров. И причин тому хватает:
— удешевление производства. Производителю тоже хочется снизить себестоимость при фиксированной цене продажи изделия. Такие изменения, само собой, всегда согласовываются с заинтересованными лицами и дополнительно тестируются на машинах;
— индивидуальность серии машин. Я не сильно ошибусь если скажу что каждый БелАЗ уникален. Даже если их выпустили партией, все равно не будет двух полностью одинаковых машин. Как минимум ПО в настройках будет отличаться. Для каждой партии машин, 10шт, например, производится доработка ПО как по функциям, так и по настройкам. Все это тестируется на машине на заводе, записывается в акты и отправляется в карьер. После сборки машин в карьере опять производится доработка ПО и тестирование до момента «о, так отлично». Потом в течение гарантийного срока еще пару раз, потому что «как-то стало не так»;
— конкуренция. Есть много как больших контор, так и мелких фирмочек, которые готовы сделать и делают аналогичные модули с новыми функциями, улучшающими показатели машин. Нужно как минимум не отставать что бы остаться на конвейере;
— надежность. Некоторые проблемы получается выявить только спустя годы работы в конкретном карьере. При любом тестировании.
Естественно все доделки и функции применяются на новых машинах, где это возможно. Таким образом доработки как бы оплачиваются будущими заказами.
Еще стоит упомянуть что в срывы сроков происходят не только из-за изменений требований. Согласование схем, документации и т.п. порой происходит весьма не быстро.
И да, за ТЗ не платят)
Вот на эту табличку гляньте. ;)
https://www.elobau.com/downloadcenter-files/Allgemeines/D_elobau_Musterteile.pdf
И все это, в основном, бесплатноТут же выгодно на самом деле обоим сторонам эти улучшения. Поставщик получает опыт, а покупатель машину с полным функционалам за меньшие деньги. Единственный минус это простой оборудования.
В моей сфере деятельности то же подобные случаи были. Купили мы простенькую производственную линию у молодой конторы. В ТЗ прописали базовый функционал. Те приехали, увидели у нас линию именитого производителя с кучей всяких плюшек и у них тут же глаза загорелись, наверное пару недель они настраивали всю автоматику. В итоге мы получили линию с полным функционалам который только возможно найти на рынке, которая обошлась процентов на 30% дешевле чем стоят конкуренты. А производитель «прокачал» свой продукт до мирового уровняю.
А какое разрешение энкодера? И интересно узнать у программистов каким способом анализировать низкую скорость при плохом разрешении?
Таким образом с наблюдателя положения ротора получается сигнал угла гладкий, но «нечестный», потому что это лишь модель. Но он совпадает с настоящим положением ротора при равномерном вращении, а при неравномерном его фильтр настраивается так, чтобы было, с одной стороны, «мягко», а с другой стороны, чтобы не сильно отставать от реального сигнала с датчика. Это исключает резкое измерение угла или скорости в обратной связи регулятора, тем самым исключая броски задания момента и прочий высокочастотный «звон».
В смысле в наблюдатель заводится момент инерции, сухое трение итд?
А если не затруднит сможете описать структуру? Что-то типа этого?http://www.freepatent.ru/patents/2532673
Насколько я сумел разобраться в формулах этого патента, там что-то типа наблюдателя Люенбергера из этой статьи, мы же пользуемся чем-то типа упрощенного фильтра Калмана (тоже структура показана в этой статье), также мы не пытаемся учитывать и предсказывать момент нагрузки на привод, так как и без этого усложения результат получился приемлемый.
Спасибо! после выхода статей неделю изучаю инфу по ВИДам и наткнулся на диссертацию Жаркова(стр.24), у него описан фильтр Калмана, как в ссылке на статью. Но Вы пишите про момент инерции, не могу понять, смотря на структуру фильтра Калмана куда его можно впихнуть
Вернее страница104
http://motorcontrol.ru/wp-content/uploads/2015/11/Zharckov_final.pdf
С другой стороны, можно рассматривать реализацию цифрового фильтра Калмана, который фильтрует датчик положения, как двухмассовую систему. Датчик положения меняет свой выход, возможно, резко и импульсно, а фильтр Калмана за ним «подтягивается», крутится «как по инерции» вслед за входным сигналом, сглаживая его. В этом случае фильтр можно рассматривать как виртуальный маховик, на который действует «вращающий момент» датчика, который тем больше, чем больше рассогласование между сигналом датчика и выходом фильтра Калмана. В этом случае момент инерции, а именно то, как быстро фильтр Калмана будет реагировать на ошибку между входом и выходом (как бы «момент»), сидит в его матрицах и является адаптивной величиной, подстраиваемой фильтром. Чем точнее выход фильтра следует за входом, тем больше повышается у фильтра Калмана степень доверия к входному сигналу (меньше шум), тем быстрее он будет реагировать на изменение входного сигнала, и тем меньше этот «виртуальный момент инерции». Ну и скорость такой подстройки регулируется гиперпараметрами фильтра.
Смысл в том, что напрямую момент инерции как таковой не заводится, он косвенно подразумевается внутри матричных уравнений? И Вы пользуетесь структурой, как в диссертации, но более упрощенной, чтоб не занимать программного времени? Те когда останавливается мпшина, Вы переходите на стабилизацию положения, следовательно с одноконтурной системы(момента) Вы переходите на трехконтурную?
Еще поизучал описание на К19, достаточно интересный процессор, там есть удобная фишка которая позволяет на ходу менять предделители. На стр 95 описано три метода обработки квадратурного сигнала: 1) На низкой скорости(время между метками)
2)На высокой скорости(Считаем импульсы)
3)Смешанный алгоритм(заданное значение счетчика позиции)
Хотел узнать каким способом Вы пользуетесь, и меняете ли на ходу предделители?
Я думаю причина также в том, что исходя из начального ТЗ такая разрешающая способность — в 36 меток, считалась достаточной для всех режимов управления мотором. Это уже потом обнаружилось, что ее не хватает для противоотката и пришлось придумывать сложные ПИД алгоритмы.
Как я уже писал выше — это типичная проблема — отсутствуют требования -> принимаются неоптимальные решения -> потом теряется время на переделку или доработку.
По пути, конечно же, происходили срабатывания защит, приходилось опять охотиться с осциллограммами на причиныВ данном случае после срабатывания защиты вы отъезжали куда-то или отлаживались на месте? Если на месте то не создавало ли это проблем для движения?
выше надежность — меньше эксплуатационные расходы.
Мне рассказывали байки про катящиеся с горы под 100км/ч самосвалы.
А вариант «на ходу сбросить груз» не применяется? Должно здорово помочь, если механический тормоз ещё не расплавился.
Водители БелАЗов как капитаны кораблей, остаются на борту до конца) Лестницы с палубы расположены по ходу движения, аккурат под колеса. Сама палуба на высоте 4+ метров, с ограждениями, с нее даже на стоянке прыгать как-то не хочется. К тому же дороги в карьере укатаны до состояния бетона и обильно усыпаны камнями различных форм и размеров, так что можно спрыгнуть «с гарантией».
Во-первых масса. Пустой БелАз с грузоподъемностью 90т весит 73т. При максимальной скорости спуска 60км/ч — это 10МДж кинетической энергии, которую надо рассеять при торможении.
Во-вторых нагрев. Тормозные диски задних колес установлены внутри моста. При торможении они вместе с колодками адски греются. Это тепло отвести абсолютно некуда. Вентилятор не поставить — пыль. Жидкостное охлаждение диска и колодок — очень сложно и не надежно в таких условиях: вращающиеся уплотнения, надо где-то ставить насос, большой радиатор, вентиляторы (опять пыль), за всем этим следить. Еще примите во внимание что цикл работы машины в зависимости от карьера 20-100 минут. Круглосуточно. И на спуске тормоза работают постоянно.
Электродинамический тормоз позволяет решить эти проблемы сбрасывая энергию на резисторы, которые обдуваются мощным вентилятором в трубе и греют воздух (вся конструкция установлена на палубе). «Квадратиш, практиш, гуд» ©
![image](https://habrastorage.org/webt/in/fy/lo/infylo0bvicleneqadkwvgh_ghm.jpeg)
Не знаю, как в этой сфере, но во многих других сферах, где применяются электрические привода, электрические тормозные системы имеют более изощренные решения для аварийных ситуаций. Например в лифтах встречал, что при определенных условиях тормозной резистор закорачивается тиристором на шину постоянного тока намертво — оно все равно едет, но уже медленно-медленно. Аналогичные вещи встречаются в ветряных генераторах. И работает это все независимо от контроллера.
Но в этом случае есть проблема с обеспечением возбуждения — именно за это двигатели с внешним возбуждением в таких вещах не очень любят — чтобы в случае чего, даже при пропадании питания оно могло само тормозить.
Мы пользуемся другим путем. У нас в ПО контроллера для отладки есть симулятор объекта управления. Математическая модель двигателя, которая рассчитывается прямо в реальном времени на том же микроконтроллере. Мы компилим софт с такой отладочной моделью, после чего эта модель симулирует значения на АЦП и сигналы датчиков, принимает задания ШИМ и «крутит» виртуальный двигатель. На нём можно отладить и проверить работу структуры управления и отработать новые фичи. Но пока это не автоматически, в том плане, что программист руками после добавления новых фич проверяет как их работу, так и проверяет, что остальное не сломалось на этой модели.
Помню, я был представителем эксплуатации, и нам делали пусконаладку испытательного стенда генераторов, токи там конечно не как у вас, но я помню мы долго боролись с представителями изготовителя доказывая что несмотря на то что в генераторе по паспорту не бывает токов больше 200А и возбуждении чтото около 15-20А (цифры примерные, давно это было), крупные всплески МОГУТ возникать в переходных режимах при резких изменения нагрузки… у нас это еще заканчивалось взрывом ключей управления возбуждением которые стояли «строго по паспорту генератора, написано 20А… стоит на 20А»
Добрый день! А какие датчики стоят в каналах измерения напряжения(я читал, что рекомендуют lv25 p)? И как измерить напряжение, через фильтр, сдвиг на оу и на ацп или Вы делаете хитрые интеграторы и только потом заводите в ацп?
Ну я имел ввиду проводить измерение на периоде шим, те интегрировать напряжение в течение коммутации, чтоб учесть мертвое время…
Вот только могли бы Вы побольше рассказать про принцип торможения резисторами? На уровне «превратим кинетическую энергию в тепло» или «рассеять мегаватт мощности на резисторах» все понятно. Но вот принцип действия совершенно неясен. Т.е. если я возьму детский моторчик и прицеплю к его контактам резистор, я что не смогу пальцами вал мотора провернуть?
только детский моторчик очень слабый чтобы создать достаточное сопротивление чтобы вы «не смогли вал провернуть»
==
по этому принципу например поезда метро тормозят и электрички
Я так подозреваю, что у такого тормоза нет задачи деражть вал на месте. В смысле сбросили скорость, а дальше уже обычными колодками.
Ну или постоянно прикладывать напряжение против вращения.
Прочитал все три части — весьма впечатлен. Весьма! Ну молодцы, что тут скажешь. Не перевелись ещё богатыри на Руси-матушке…
Вот я только одного не понял (а может просто пропустил) — а как эти БелАЗы ездили до ваших разработок? Ведь ездили же как-то… И почему возникла необходимость придумывать что-то своё? Я имею в виду, почему возникла необходимость у БелаЗА?
По воводу вопроса — в первой части же подробно это рассказано в самом начале под заголовком «Всё уже изобретено до нас и давно работает. Зачем делать ещё?».
Добрый день! Когда выйдет статья по высокочастотной инжекции? Очень дем)
Здравствуйте! А как определяете начальное положение? Получилось определить где северный, а где южный полюса
А для обычного pmsm получилось получить номинальный ток на околонулевых скоростях, и не было проблем с большим током у ВИД в режиме ?
Какой максимальный момент удалось снять от номинального(в процентах)? Напишите, пожалуйста, название статьи по которой сделали демодуляцию
Я имел ввиду западную статью по которой делали проект. А такой вопрос, какая была разница по индуктианостям, где удалось снять 100%?
Интересно просто взглянуть на структурную схему наблюдателя( lpf, hpf, умножение на несущий синус, косинус), приложите картинку, если получится)
Спасибо, буду ждать статью) Получается Ваш ВиДНВ не хуже ipmsm… И хочу спросить у профессионала, почему пч с инжекцией я не встречал, есть ли такие преобразователи?
Потому что все это сильно и зависит от конкретного электродвигателя, я думаю, если и есть промышленные решения с инжекцией, то только для конкретного комплектного электропривода для конкретной электрической машины.
Спасибо, надеюсь к концу моего обучения ВидНВ поступят в продажу, и можно будет диссертацию начать писать… Но вакансий даже в Москва очень мало по программированию привода, надеюсь через пару лет их будет больше
Да, в этом главная беда… Нужно знать и электронику и программирование, понимать работу двигателя, уметь работать в программах моделирования. Без знаний физики и математики делать нечего в данной сфере…
А даже вакансий нет… Про зп молчу, тк нет конкуренции, судя по всему… И фирм единицы, где этим занимаются…
Поэтому я надеюсь, что в будущем на фоне, хотя бы, импортозамещения произойдет развитие отрасли…
Интересует демодуляция высокочастотного сигнала)
Добрый вечер! А какие наблюдатели используете на высокой скорости, я изучил диссертации и там пишите Вы про smo, но импортные статьи пишут про наблюдатели, где угол выбирается в зависимости от потока и тока
http://motorcontrol.ru/wp-content/uploads/2015/11/SRD_2phase.pdf
А такие наблюдатели используете практически? Или в основном только smo?)
Smo же гораздо проще получается
Ого, спасибо большое! Я подумал они тоже относятся к Вид....
Расскажите, что сейчас с Белазом, он в эксплуатации… И все таки интересно, как Вы победили колебания на шине dc, регуляторами?
Как мы делали БелАЗ. Часть 3 – Пусконаладка на разрезе