![](https://habrastorage.org/webt/nk/mi/1k/nkmi1kfnwwrdkiw-d7_ply0xhza.jpeg)
Общий ответ на данный вопрос еще готовится, но про частный зато реальный и свежий пример могу привести прямо сейчас. Оказался тут у меня в руках, как всегда случайно, текст от ведущего специалиста нашей страны по электроприводу Калачева Юрия Николаевича, автора книги Моделирование в электроприводе. Инструкция по пониманию. вместе с его любезным согласием на публикацию. Данный текст еще готовится к публикации в специализированных издания, но читатели хабра увидят его первые.
Далее под катом
Калачев Ю. Н., Ланцев В.Ю., Окулов Е.В.
Электропривод с бесколлекторным двигателем постоянного тока
(практика применения моделирования и кодогенерации в АО «Аэроэлектромаш»)
Ура, товарищи!!! Свершилось!!!
Наконец мы увидели плоды прогрессивных тенденций произросшие в отечественном приводостроении.
В статье рассматривается технология проектирования электропривода с использованием моделирования и кодогенерации. (Правильное модельно ориентированное проектирование)
Что касается моделирования – это вопрос для наших приводщиков не новый. А вот автоматическую кодогенерацию программы контроллера электропривода из его модели, и в мировом масштабе, мало кто пробовал.…
Мы смеем утверждать, что эта полезная тенденция (автоматического написания программы другой программой) будет активно развиваться в будущем цифровом мире …. Выиграет тот — кто начнет раньше.
Хотим оговориться, что кодогенерация, на наш взгляд не отменяет и не заменяет программиста, а только помогает ему. При этом, естественно, считаем, что СИ-код сгенерированной программы должен быть для него открыт.
Так и поступаем, результат автоматической генерации кода — код Си, открытый для просмотра и анализа.
В нашем случае, объектом управления являлся некий электропривод с бесколлекторным двигателем постоянного тока (БДПТ), вал которого соединен с редуктором, превращающим вращение в поступательное движение штока.
Задача электропривода достаточно стандартная – позиционировать вал штока, желательно побыстрее и поточнее … Часто такие привода используются для управления рулями беспилотных летательных аппаратов.
Блок управления устройством был спроектирован и изготовлен в отделе электропривода АО «Аэроэлектромаш» на базе микроконтроллера 1986ВЕ1Т (АО «ПКК Миландр»). Необходимо было создать алгоритмику и программу управления контроллера с целью дальнейшего ее использо-вания в практических задачах.
Работа была выполнена совместно специалистами компании «3В-сервис» и сотрудниками отдела электропривода АО «Аэроэлектромаш».
Первая задача, которая стояла перед нашим коллективом – идентификация объекта управления. Для этого были проведены некоторые измерения характеристик двигателя, которые оказались достаточно специфичными.
Например, измеренная ЭДС двигателя имела весьма причудливую форму, представленную на Рис.1.<br?
Рисунок 1. Измеренная ЭДС двигателя.
Если читатель знаком с программой Simulink, то ему известно, что там, в модели двигателя с постоянным и магнитами, имеется возможность выбора синусоидальной или трапецеидальной ЭДС.
Ну, и куда бедному крестьянину податься? Где здесь синус, и где трапеция? (Правильные средства моделирования должны быть открытыми!). В среде SimInTech можно учесть даже такие неидеальности двигателя. Нами была задана форма ЭДС представленная на Рис.2
Рисунок 2. ЭДС двигателя созданная в SimInTech
Найдите два отличия в Рис.1 и Рис.2. Мы нашли одно – цвет.
Следующей особенностью двигателя оказался его существенный зубцовый момент, обусловленный геометрией магнитопровода статора и отсутствием скоса пазов у магнитов ротора. Момент был измерен экспериментально и введен в модель. График зубцового момента показан на Рис.3.
Рисунок 3. Зубцовый момент.
Кроме того в модели двигателя были учтены потери на намагничивание, что отсутствует в математических моделях у других разработчиков моделирующих программ.
Далее работа электропривода сравнивалась с результатами моделирования в тестовых режимах. Ниже на Рис. 4 и 5 приведены результаты опыта холостого хода (максимальная частота без нагрузки).
Рисунок 4. Холостой ход. Реальный двигатель.
Рисунок 5. Tок фазы холостой ход. Результат моделирования.
Вывод:
Осциллограммы реального и модельного холостого хода совпадают. Визуально разницы не видно.
После успешного опыта холостого хода был проведен опыт динамического воздействия на двигатель с присоединенным редуктором. В этом опыте на обмотки двигателя подавалось постоянное напряжение с реверсом на частоте 30 Гц. При этом выходное звено совершало колебания с той же частотой. На Рис.6 приведены результаты этого опыта:
Рисунок 6. Реальный двигатель под нагрузкой
(Сигналы снимались с помехами. Высокочастотное дрожание и размытие – это помехи в сигналах датчиков положения и тока).
Полученные данные сравнивались с моделью привода, работающей в аналогичном режиме (Рис.7).
Рисунок 7. Работа модели под нагрузкой
Выводы:
Вид верифицированной модели силовой и механической части электропривода построенной на стандартных элементах библиотек программы SimInTech представлен на Рис.8.
![](https://habrastorage.org/webt/wt/uu/nt/wtuuntxstzmozt-9syw98trzol8.png)
Рисунок 8. Схема комплексной модели электроопривода, включая механическую часть.
Она и состоит из моделей:
- силового инвертора
- двигателя с датчиком положения ротора (ДПР)
- механической передачи
- датчика тока
- нагружателя
Убедившись, что поведение модели соответствует поведению реального изделия, по результатам моделирования можно выбрать необходимую структуру системы регулирования (СУ) и произвести ее настройку для разных типов, перечисленных в техническом задании, входных воздействий.
В нашем случае хорошие результаты показала двухконтурная система регулирования положения с демпфирующей связью по скорости. Вид модели этой структуры представлен на Рис.9.
Рисунок 9. Расчетная схема программы управления электроприводом.
При дальнейшем использовании кодогенерации нет необходимости в ручном кодировании алгоритмов системы регулирования — готовый проект в среде разработке Keil uVision создается автоматически. После сборки бинарного образа программы ее можно транслировать в наш процессор (1986ВЕ1Т).
Заметим, что блоки модели «Выбор Ключей», «Инициализация периферии», «АЦП», «АЦП SSP2» в режиме моделирования реализуют соответствующие математические модели, а при кодогенерации заменяются библиотеками работы с периферией используемого процессора.
После выбора структуры СУ и ее настройки нам оставалось:
- осуществить автоматическую кодогенерацию программы
- записать полученную программу в контроллер
- зафиксировать великолепный результат
По Рис.10 можно сравнить работу модели и реального привода. В качестве задания по положению использовалась синусоида частотой 3 Гц и амплитудой 3мм.
Для получения данных с контроллера в его программе была предусмотрена специальная часть, обеспечивающая считывание внутренних сигналов по последовательному интерфейсу. Пользователь во время работы привода в окне SimInTech видит результаты работы встроенного ПО.
Рисунок 10. Сравнение работы модели и реального привода.
Ну, здесь даже цвет одинаковый ….
Ура, товарищи!!! Свершилось!!!
Всем кому интересна тема электропривода рекомендуем скачать бесплатно книгу Калачев Ю.Н Моделирование в электроприводе.