Технические науки/ 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, имеющую в наличие два вывода ЦАП (цифро-аналоговых преобразователя), что повысит на несколько порядков точность управления системой.

 

Литература:

1.                 Jeremy Blum. Exploring Arduino: Tools and Techniques for Engineering Wizardry. 1st Edition, 2015. – 336 p.

2.                 Потапенко Е. Е., Потапенко, Е. М. Синтез и анализ компенсаторов контуров тока асинхронных    электродвигателей //Материалы 11-й международной конф. по автоматическому управлению «Автоматика-2004». – Киев,  2004. –Т.2.–  С. 49-53.