УДК 621.313
МОДЕЛИРОВАНИЕ И ОТЛАДКА МИКРОКОНТРОЛЛЕРНОЙ СИСТЕМЫ УПРАВЛЕНИЯ С ИСПОЛЬЗОВАНИЕМ ПРОГРАММНОГО КОМПЛЕКСА SIMULINK
БУРКОВ А.П., канд. техн. наук, СМИРНОВ А.А., студ.
Рассматриваются вопросы создания системы отладки и моделирования различных систем управления посредством сопряжения контроллера с программным комплексом Simulink. Приводится моделирование подчиненной системы управления для двигателя постоянного тока. Приведен сравнительный анализ результатов моделирования.
Ключевые слова: система управления, программный комплекс, моделирование, математическая модель.
SIMULATION AND DEBUGGING OF MICROCONTROLLER CONTROL SYSTEM BY MEANS OF SIMULINK PROGRAM COMPLEX
BURKOV A.P., Ph.D., SMIRNOV A.A., student
This paper is devoted to the problems of debugging system design and different control systems simulation by means of controller adjunction to Simulink program complex. The authors give and example of slave control system simulation for DC motor. There is also the comparative analysis of simulation results.
Key words: control system, program complex, simulation, mathematical model.
Создание любой системы управления технологическим объектом можно разделить на несколько этапов: анализ объекта управления и построение его математической модели; синтез структуры системы управления и выбор типовых регуляторов; оценка качества работы выбранной системы управления; программная реализация полученного алгоритма на одном из существующих языков программирования; отладка программы на контроллере при замыкании прямых и обратных связей на реальный объект. При этом, как правило, наибольшие трудности возникают у разработчиков на двух последних этапах работы, и это можно объяснить рядом причин. Как правило, большинство объектов управления существенно нелинейны, поэтому при построении их математической модели лианеризация либо невозможна, либо нежелательна, так как при этом снижается степень соответствия модели и оригинала. Такое упрощение может приводить к тому, что синтезированная система управления окажется неспособной управлять технологическим объектом. Даже если модель достаточно хорошо описывает объект, трудности могут возникнуть и при программной реализации системы управления. Например, время, необходимое на расчет синтезированного алгоритма, может оказаться больше времени цикла прерывания таймера, предназначенного для привязки к реальному времени. Отладка программы управления при работе на объекте нежелательна, а иногда и невозможна по нескольким причинам: многообразие обратных связей и сложность настройки самой системы; необходимость эффективных средств мониторинга и сбора данных; вероятность повреждения объекта вследствие логических ошибок в программном обеспечении и т.д. Как следствие, весь процесс создания системы можно разде-
лить на два этапа: теоретический - анализ, синтез, моделирование, и практический - реализация системы управления и ее отладка.
На сегодняшний день на рынке существует довольно много средств, позволяющих разработчику решать проблемы первого этапа, такие как программные комплексы Matlab и LabVIEW. Набор программных средств для решения задач второго этапа более ограничен. Например, в среде Simulink разработчик имеет возможность генерировать код на языке Си для синтезированного регулятора. После чего этот код можно оттранслировать с помощью программных средств типа Keil или Code Warrior для последующей загрузки в контроллер. Имеется набор драйверов для взаимодействия с широким спектром плат цифрового и аналогового ввода-вывода, демонстрационных плат для различных микроконтроллеров известных производителей и т.д. Фирма National Instruments выпускает большой ассортимент модулей для работы с пакетом LabVIEW, которые позволяют производить сбор, обработку и анализ данных самого разного рода, разрабатывать системы управления различными объектами. Однако данный подход имеет ряд недостатков. Первый из них - это высокая стоимость программного обеспечения и аппаратных средств, в особенности на пакеты для промышленного применения, которые, в отличие от пакетов, предназначенных для обучения, обладают достаточной функциональностью и более широкими возможностями. Вторым недостатком является то, что зачастую программная поддержка осуществляется для плат и модулей конкретных производителей, что не дает разработчику возможности выбора. Третий недостаток заключается в том, что описанный выше механизм генерации кода на языке Си удобен, но абсолютно непрозрачен, поэто-
му говорить о его оптимальности по быстродействию или объему кода для конкретного контроллера нельзя. В результате была поставлена задача - создать механизм отладки и моделирования микроконтроллерных систем, свободный от указанных недостатков.
В качестве среды моделирования и визуализации был выбран пакет Matlab со средой моделирования Simulink™, простой в использовании и обладающий необходимой функциональностью. Одним из важных качеств пакета является наличие в нем средств связи посредством программного интерфейса DDE, который позволяет осуществлять обмен данными с другими приложениями. Согласно подходу, приведенному в [1], в программном комплексе Simulink, синтезируется модель объекта управления, а модель регулятора находится в отдельном приложении, связанном со средой Simulink через сервер DDE. Замена модели регулятора реальной программой на микроконтроллере дает возможность получить отладочный комплекс системы управления без выхода на объект управления.
В качестве аппаратного интерфейса был выбран интерфейс CAN, имеющийся в подавляющем большинстве существующих контроллеров и способный работать на скоростях до 1 Мбит/с. Применение промышленного интерфейса позволяет сделать программную часть независимой от типа контроллера. Сопряжение персонального компьютера с интерфейсом CAN возможно посредством любого преобразователя интерфейса. Исходя из вышесказанного, была разработана программа сервера DDE для преобразователя USB-to-CAN фирмы IXXAT.
1 I
MATLAB DDE DDE CONTROLLER
ПК USB
CONTROLLER CAN USB-to-CAN
Рис. 1. Структурная схема системы сопряжения
Программное обеспечение сервера позволяет наблюдать за состоянием любых переменных и ячеек памяти контроллера во времени и представлять их в удобном для понимания графическом виде. Имеется возможность устанавливать прямые и обратные связи между объектом, построенным в среде МаИаЬ и регулятором, написанным на ассемблере для конкретного контроллера. Последнее обстоятельство является удобным средством для оптимизации кода как по объему, так и по быстродействию, для устранения различных ло-
гических и прочих ошибок, возникших на стадии написания программы управления. Стоит отметить, что в силу особенностей работы ОС Windows, которая не позволяет реализовать режим работы в реальном времени в чистом виде, канал связи работает в асинхронном режиме. Matlab, посылая данные в контроллер, приостанавливает вычисления, что в принципе не позволяет напрямую проверить скорость выполнения кода, находящегося в контроллере, однако косвенно его можно определить, запуская имеющийся в любом контроллере таймер в момент начала просчета алгоритма и останавливая его после окончания расчетов. Данные с таймера по каналу связи могут быть выведены в Matlab.
Данная система наблюдения и отладки была опробована в работе с контроллером на базе микропроцессора LPC2294 от фирмы Philips с ядром ARM7TDMI [2]. Процессоры семейства LPC2ХХХ имеют разрядность 32 бит, 128/256 кбайт встроенной flash-памяти, 16 кбайт встроенной памяти SRAM, 2/4 канала CAN, два 32-битных таймера с 4 каналами сравнения и захвата, часы реального времени. Имеется также 6-ти выходной модуль ШИМ, 4/8 10-битных АЦП со временем преобразования 2,44 мкс, блок ФАПЧ, позволяющий получить частоту работы процессора до 60 МГц. Кроме того, имеется аппаратная поддержка неразрушаю-щей пошаговой отладки через интерфейс Em-beddedICE-RT, стандартный для микроконтроллеров набор интерфейсов, режимы пониженного энергопотребления и т.д.
В качестве тестовой системы автоматического управления для отладки программного обеспечения был выбран двигатель постоянного тока (ДПТ) с подчиненным регулированием тока (рис. 2). Внешним контуром был выбран контур управления скоростью, питание двигателя от тиристорного преобразователя, моделируемого в виде апериодического звена. Частота работы как токового контура модели, так и контура скорости была выбрана на уровне 1 кГц. Параметры двигателя и преобразователя были взяты из сквозной лабораторной работы по курсу «Теория автоматического управления. Часть 2» (рис. 3).
-КЮ
Рис. 2. Математическая модель ДПТ
Рис. 3. Параметры модели ДПТ
В системе МаИаЬ проводилось моделирование поведения системы при использовании цифровых регуляторов, коэффициенты которых были получены методом цифрового перепроектирования. После этого была написана программа управления двигателем постоянного тока для процессора на АРМ7. Измерителями сигналов являлись датчики тока и скорости. При расчетах применялась арифметика с фиксированной точкой - 16 бит целая часть и
16 бит дробная. Структура регулятора, реализованного на процессоре, в точности повторяла синтезированную в МаНаЬ (рис. 4, пунктирная линия). Блок ОРЕ_ОАМ осуществляет взаимодействие контроллера с системой МаНаЬ. В основе модели системы управления ДПТ - объединенная схема параллельного моделирования работы двух регуляторов: регулятора, синтезированного в МаНаЬ, и регулятора, работающего на контроллере в асинхронном режиме (рис. 4).
Из всех величин, за которыми ведется наблюдение, особый интерес представляют сравнения токов якорей, скоростей роторов и напряжений управления тиристорными преобразователями для обеих схем, а также время, затрачиваемое контроллером на расчет регуляторов (графопостроители 1, 2, 3 и 4).
Для большей наглядности между моделями было введено временное расхождение в 1 такт. На рис. 5 представлено сравнительное построение скоростей роторов при отработке ступенчатого задания по скорости.
Рис. 4. Модель системы управления ДПТ
Рис. 5. Сравнение скоростей роторов моделей
Сравнение сигналов на выходе системы управления (рис. 6) позволяет определить основные особенности цифрового сигнала, а именно - дискретизацию сигнала по уровню и по времени.
На рис. 7 представлено сравнительное построение токов якорей обеих моделей при отработке ступенчатого задания по скорости на
Рис. 6. Сравнение сигналов на выходе системы управления
линейном участке работы, то есть без выхода регуляторов в насыщение (токовая отсечка).
Время, затрачиваемое контроллером на расчет обоих контуров управления в переходном процессе (рис. 8), не является постоянным, так как в реализованном варианте программы имелись ветвления.
Рис. 7. Сравнение токов якорей двигателей
Cities 400 ■
350
I IIIII
1-1 |—1 П
1
L................... ....................1.................... ....................i..................... .....................-i
0.05
0.1
0.15
0.2
0.25
0.3
Рис. 8. Время расчета в тактах частоты генератора
Фактическое время зависит от частоты тактового генератора контроллера и настроек делителя таймера. На выбранном контроллере ЬР02294 на частоте 60 МГц это время приблизительно равно 6,3 мкс.
В процессе отладки программы для контроллера применялись возможности диагностики состояния различных переменных контроллера. В частности, контроль состояния одного из таймеров микроконтроллера позволил существенно сократить время выполнения кода программы.
Таким образом, в результате проведенной работы были достигнуты все поставленные задачи. В частности, система сопряжения универсальна и позволяет работать практически с любым контроллером без каких-либо доработок в программном обеспечении ПК. Промежуток
времени между двумя следующими друг за другом блоками данных, каждый из которых представляет последовательность из N-пакетов протокола CAN, может достигать 20 мс, в зависимости от сложности модели и размера передаваемых массивов. Система не ограничивает разработчика в языке написания программы (Си, ассемблер или др.) и позволяет производить диагностику работы программы практически для неограниченного числа переменных.
Список литературы
1. Тарарыкин С.В., Бурков А.П.,Волков А.В. Последовательное проектирование и отладка микропроцессорных средств управления // Приводная техника. - 2002. -№ 1. - С. 23.
2. LPC2119/2129/2194/2292/2294 User Manual, 2004 May 03.
Бурков Александр Павлович,
гОуВПО «Ивановский государственный энергетический университет имени В.И. Ленина», кандидат технических наук, ведущий инженер учебно-исследовательского центра электронных систем ЭиМС, телефон (4932) 26-97-03, e-mail: terehov@eims.ispu.ru
Смирнов Александр Андреевич,
ГОУВПО «Ивановский государственный энергетический университет имени В.И. Ленина», студент,
телефон (4932) 26-97-03, e-mail: terehov@eims.ispu.ru