Программирование отдельных элементов САР скорости в Arduino
Емельянов Александр Александрович, доцент;
Бесклеткин Виктор Викторович, ассистент;
Прокопьев Константин Васильевич, студент;
Мальцев Никита Васильевич, студент;
Бурхацкий Владимир Владимирович, студент;
Ситенков Александр Александрович, студент;
Авдеев Александр Сергеевич, студент;
Габзалилов Эльвир Фиргатович, студент;
Российский государственный профессионально-педагогический университет
Эта работа необходима для методических указаний к выполнению студентами лабораторных и практических работ по дисциплине «Системы управления электроприводов» в разделе «Векторное управление асинхронными двигателями». В основе этой статьи лежит работа [1]. Целью данной работы является загрузка математической модели, собранной в Matlab-Simulink, в микроконтроллер ATmega2560 (Arduino).
Развернутая схема отдельных элементов САР скорости [1] дана на рис. 1.
Под каждым элементом развернутой схемы САР скорости указаны его номер и название.
Рис. 1. Развернутая математическая модель части САР скорости при программировании в Matlab-Simulink – Arduino
Задание на скорость формируется в Signal Builder (рис. 2).
Рис. 2. Задание на скорость
Математическая модель регулятора скорости (номер 1) дана на рис. 3.
Рис. 3. Регулятор скорости
Регуляторы тока по проекциям x и y даны на рис. 4 и 5.
Рис. 4. Регулятор статорного тока по проекции х: ПИ-РТх
Рис. 5. Регулятор тока по проекции y: ПИ-РТy
Преобразователи координат на развернутой схеме САР скорости даны под номерами 4 и 5 и и приведены на рис. 6 и 7.
Рис. 6. Преобразователь координат: x, y → α, β
Рис. 7. Преобразователь координат: α, β → a, b, c
Математическая модель нуль-органа (номер 7) вместе с генератором пилообразного напряжения GPN (номер 6) даны на рис. 8 и 9.
Рис. 8. Математическая модель нуль-органа
Рис. 9. Генератор пилообразного напряжения (GPN)
Блок Analog Input (рис. 10) измеряет напряжение аналогового входа относительно опорного напряжения на Arduino. Включение данного блока в схему позволяет регулировать частоту задающих сигналов напряжения внешним резистором, расположенным на монтажной плате.
Pin number в параметрах блока обозначает номер аналогового входного контакта.
Sample time – указывает, как часто будут происходить измерения аналогово входа, в секундах. По умолчанию это значение принимает 0. В данной модели установлено минимальное значение 0.000001 секунды.
Рис. 10. Блок Analog Input
Блоки PWM (ШИМ) подают сигналы с нуль-органов на соответствующие выходы Arduino. Вид блока в библиотеке представлен на рис. 11.
Рис. 11. Блок PWM
Для того чтобы были доступны блоки PWM, необходимо иметь Matlab версий R2012, R2013 или R2014.
Процесс установки библиотеки Arduino в Matlab-Simulink требует активного подключения к интернету. Для установки нужно выполнить следующие шаги:
- Скачать пакет Simulink Support Package for Arduino Hardware с официального сайта MathWorks (требуется регистрация) [7].
- Запустить файл arduino.mlpkginstall в Matlab (перетащить файл в Command Window) и выбрать путь для установки. Желательно, чтобы имя пути было без пробелов.
- Ввести данные своей учетной записи MathWorks. Нажать Log In, после чего ввести адрес своей электронной почты и пароль.
- Принять лицензионное соглашение и нажимать Next пока не начнется установка.
После окончания установки библиотек необходимо установить драйверы Arduino:
- Подключить плату Arduino к компьютеру.
- В папке drivers установленного пакета Support Package (например, C:\MATLAB\SupportPackages\R2012b\arduino-1.0.5\drivers) запустить файл dpinst-amd64, либо dpinst-x86, в зависимости от разрядности операционной системы (64- или 32-бит).
Загрузка модели на плату Arduino:
- В окне Simulink с собранной моделью открыть меню Tools → Run on Target Hardware → Options.
- В опциях выбрать Target Hardware, т.е. тип Arduino: Mega 2560.
- Установить COM-порт вручную (Set host COM port: Manually) и вписать номер порта (COM port number). Номер порта можно узнать в диспетчере устройств Windows.
- Значение опорного напряжения (Analog input reference voltage: Default) и все остальные параметры оставляем без изменений. Нажать ОК.
- В Run on Target Hardware нажать Run (в Matlab R2012), либо в окне Simulink нажать кнопку Deploy to Hardware (в R2013, R2014). После этого начнется загрузка модели в Arduino.
Примечание:
Для того чтобы избежать ошибок во время загрузки модели, потребуется среда разработки Arduino IDE 1.0.5. Если в установленном Support Package находится папка с другой версией IDE (например, arduino-1.0 или arduino-1.6), то необходимо очистить её и скопировать туда все файлы из версии 1.0.5, которую можно скачать с сайта Arduino [6].
Если возникает ошибка, показанная на рис. 12, то необходимо в окне Current Folder выбрать любую другую папку, кроме той, в которую установлен Matlab, и заново загрузить модель.
Рис. 12. Ошибка при загрузке модели
Внешнее проявление правильности загрузки выражается в мигании светодиодов. Их мигание говорит о начале загрузки, а затухание о завершении загрузки программы с компьютера в Arduino.
Результаты загрузки нуль-органа на выходы каналов 8, 11 и 12 при Kc=200, Tm=0.005, Ki=1, Ti=0.24 приведены в виде осциллограмм на рис. 13, 14 и 15.
Рис. 13. Сравнение сигналов с нуль-органов двух фаз A и В при низкой частоте сигналов задания
Рис. 14. Сравнение выходных сигналов драйверов с двух фаз A и В при средней частоте сигналов задания
Рис. 15. Сравнение выходных сигналов драйверов с двух фаз A и В при высокой частоте сигналов задания
Литература:
- Емельянов А. А., Бесклеткин В. В., Авдеев А. С., Чернов М. В., Киряков Г. А., Габзалилов Э. Ф., Прокопьев К. В. Математическое моделирование САР скорости системы «АИН ШИМ – АД» с переменными на основе интегрирующих звеньев // Молодой ученый. — 2015. — № 24. — С. 12-31.
- Петин В. А. Проекты с использованием контроллера Arduino. – СПб.: БХВ-Петербург, 2015. – 464 с.
- Монк С. Программируем Arduino: Основы работы со скетчами. – СПб.: Питер, 2016. – 176 с.
- Евстифеев А.В. Микроконтроллеры AVR семейств Tiny и Mega фирмы ATMEL, 5-е изд. — М.: ДМК Пресс, 2015. — 558 с.
- МакРобертс М. Начала Arduino / М. МакРобертс – London: CUP, 2010. – 459 с.
- Официальный русскоязычный сайт платформы Arduino [электронный ресурс]. – Режим доступа: http://arduino.ru/
- Официальный сайт среды разработки Arduino IDE [электронный ресурс]. – Режим доступа: http://www.arduino.cc/
- Официальный сайт компании MathWorks [электронный ресурс]. – Режим доступа: http://www.mathworks.com/