Технические науки/ 12. Автоматизированные системы управления на производстве.
д.т.н.
Ивель В.П., докторант Петров П.А.
Северо-Казахстанский
государственный университет им. М. Козыбаева, Казахстан
Использование пакета Simulink/MatLab и отладочной платы Arduino Uno для управления двухдвигательным
асинхронным электроприводом
Программное
обеспечения MatLab, в частности пакет Simulink, поддерживает коммуникацию и обмен данными с
отладочными платами Arduino, подробно описанных в [1].
Для
осуществление такого обмена данными, необходимо произвести предварительную
прошивку 8-разрядного микроконтроллера ATmega328p,
расположенного на плате Arduino Uno (рисунок 1).
Рисунок 1. Отладочная плата Arduino
Uno
В своём составе плата имеет: 14 цифровых входов/выходов
(8 из которых поддерживают функцию широтно-импульсного регулятора), 6
аналоговых входов, 2 последовательных порта UART (Rx и Тх, обеспечивающих
передачу данных в обе стороны), кварцевый генератор 16 МГц (подключенного к
выводам осцилляции микроконтроллера), мини USB коннектор, разъем питания на 9
вольт, разъем ICSP для внешнего программирования платы и кнопка перезагрузки Reset.
Осуществляем соединение платы Arduino
Uno и персонального компьютера при помощи USB-шнура.
При этом на плате загорится индикатор питания и заморгает контрольный светодиод
(рисунок 2).
Рисунок 2. Подключение платы Arduino
Uno к персональному компьютеру при помощи USB-шнура
Чтобы плата имела возможность обмениваться
данными с программной средой MatLab, микроконтроллер ATmega328р
нужно прошить любой программой-ретранслятором. В данном случае выбрана
программа adioes.pde, размещенная в сети Интернет в свободном
доступе. С помощью программного обеспечения Arduino, открываем файл
прошивки и функциональной кнопкой «Загрузить», прошиваем микроконтроллер на
плате Arduino Uno (рисунок 3).
Рисунок 3. Прошивка платы Arduino Uno программным
кодом для коммуникации с программным обеспечением MatLab
В
программную среду Matlab2012b дополнительно нужно инсталлировать пакеты,
поддерживающие аппаратную платформу Arduino Uno. Как правило,
для этого используется библиотека ArduinoIO,
осуществляющую работу с входами-выходами отладочной платы.
Как
только библиотека установлена, среда MatLab
готова принимать данные от отладочной платы. Осуществляем их соединение через
командную строку (рисунок 4).
Рисунок 4. Коммуникация среды MatLab и
отладочной платы Arduino Uno через командную строку
Последним
шагом коммуникации среды MatLab и Arduino Uno является
установка пакета Simulink Support Package for Arduino. Запускаем пакет Simulink и видим установленные приложения для работы с
отладочными платами Arduino (рисунок 5).
Рисунок 5. Окно установленного пакета
Simulink Support Package for Arduino
Теперь
пакет Simulink поддерживает аппаратную часть платы. В частности,
имеется возможность генерировать ШИМ-сигнал прямо через среду MatLab.
Для
программирования необходимо собрать блок-схему, представленную подсистемами Subsystem1
÷ Subsystem6, как это показано на рисунке 9. Эти подсистемы
включают блоки умножения Product, которые обеспечивают
коррекцию скорости вращения электродвигателей АД, широтно-импульсные модуляторы ШИМ [4], блоки Digital
Output (цифровые выходы) пакета Simulink Support Package for Hardware, которые обеспечивают связь микроконтроллера ATmega328p и
АД. Каждая фаза электродвигателей связана со своим блоком Digital Output
через фильтр нижних частот, который одновременно служит усилителем мощности.
Выходы датчиков оборотов (ДО) валов
электродвигателей подключены к блокам Analog Input
(аналоговый вход) из того же пакета Simulink Support Package for Hardware.
Рисунок 6. Программно-аппаратный
интерфейс
ATmega328p – асинхронные
машины
После этого необходимо
произвести запуск модели из меню Tools/…/Run.
В результате этих действий программа управления будет записана в память
микроконтроллера ATmega328p.
В дальнейшем, плату Arduino
Uno можно отключить от персонального компьютера. Плата имеет
9-вольтовый разъем для подключения питания от аккумуляторной батареи типа
«Крона». Благодаря стабилизатору напряжения на 5 вольт, расположенного на
плате, все элементы Arduino Uno,
будут получать необходимый ток потребления.
Таким образом, с помощью
пакета Simulink программной среды Matlab2012b и
платформы Arduino Uno, имеется
возможность спроектировать систему управления двухдвигательного асинхронного
электропривода механизма вращения крупногобаритных агрегатов. Такие системы
должны найти свое применение на предприятиях, занимающихся ремонтом
железнодорожного транспорта, в частности вагонов-зерновозов. При ремонте такие
крупные объекты должны проворачиваться вокруг горизонтальной оси на заданный
угол и высоту.
На следующем этапе исследования планируется
использовать в качестве центрального блока управления аппаратную платформу Arduino Due, имеющую в
наличие два вывода ЦАП (цифро-аналоговых преобразователя), что повысит на
несколько порядков точность управления системой.
Литература:
2.
Потапенко
Е. Е., Потапенко, Е. М. Синтез и анализ компенсаторов контуров тока
асинхронных электродвигателей
//Материалы 11-й международной конф. по автоматическому управлению
«Автоматика-2004». – Киев, 2004.
–Т.2.– С. 49-53.