Программирование отдельных элементов САР скорости в Arduino | Статья в журнале «Молодой ученый»

Отправьте статью сегодня! Журнал выйдет 30 ноября, печатный экземпляр отправим 4 декабря.

Опубликовать статью в журнале

Библиографическое описание:

Программирование отдельных элементов САР скорости в Arduino / А. А. Емельянов, В. В. Бесклеткин, К. В. Прокопьев [и др.]. — Текст : непосредственный // Молодой ученый. — 2016. — № 9 (113). — С. 32-38. — URL: https://moluch.ru/archive/113/29430/ (дата обращения: 16.11.2024).



Программирование отдельных элементов САР скорости в 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 требует активного подключения к интернету. Для установки нужно выполнить следующие шаги:

  1. Скачать пакет Simulink Support Package for Arduino Hardware с официального сайта MathWorks (требуется регистрация) [7].
  2. Запустить файл arduino.mlpkginstall в Matlab (перетащить файл в Command Window) и выбрать путь для установки. Желательно, чтобы имя пути было без пробелов.
  3. Ввести данные своей учетной записи MathWorks. Нажать Log In, после чего ввести адрес своей электронной почты и пароль.
  4. Принять лицензионное соглашение и нажимать Next пока не начнется установка.

После окончания установки библиотек необходимо установить драйверы Arduino:

  1. Подключить плату Arduino к компьютеру.
  2. В папке drivers установленного пакета Support Package (например, C:\MATLAB\SupportPackages\R2012b\arduino-1.0.5\drivers) запустить файл dpinst-amd64, либо dpinst-x86, в зависимости от разрядности операционной системы (64- или 32-бит).

Загрузка модели на плату Arduino:

  1. В окне Simulink с собранной моделью открыть меню Tools → Run on Target Hardware → Options.
  2. В опциях выбрать Target Hardware, т.е. тип Arduino: Mega 2560.
  3. Установить COM-порт вручную (Set host COM port: Manually) и вписать номер порта (COM port number). Номер порта можно узнать в диспетчере устройств Windows.
  4. Значение опорного напряжения (Analog input reference voltage: Default) и все остальные параметры оставляем без изменений. Нажать ОК.
  5. В 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.

C:\Users\administrator\Desktop\0_Мальцев\ДП Мальцев Н\понятые нами\нуль орган двух фаз\DS0094.BMP

Рис. 13. Сравнение сигналов с нуль-органов двух фаз A и В при низкой частоте сигналов задания

C:\Users\administrator\Desktop\0_Мальцев\ДП Мальцев Н\понятые нами\драйверы\DS0144.BMP

Рис. 14. Сравнение выходных сигналов драйверов с двух фаз A и В при средней частоте сигналов задания

C:\Users\administrator\Desktop\0_Мальцев\ДП Мальцев Н\понятые нами\драйверы\DS0163.BMP

Рис. 15. Сравнение выходных сигналов драйверов с двух фаз A и В при высокой частоте сигналов задания

Литература:

  1. Емельянов А. А., Бесклеткин В. В., Авдеев А. С., Чернов М. В., Киряков Г. А., Габзалилов Э. Ф., Прокопьев К. В. Математическое моделирование САР скорости системы «АИН ШИМ – АД» с переменными на основе интегрирующих звеньев // Молодой ученый. — 2015. — № 24. — С. 12-31.
  2. Петин В. А. Проекты с использованием контроллера Arduino. – СПб.: БХВ-Петербург, 2015. – 464 с.
  3. Монк С. Программируем Arduino: Основы работы со скетчами. – СПб.: Питер, 2016. – 176 с.
  4. Евстифеев А.В. Микроконтроллеры AVR семейств Tiny и Mega фирмы ATMEL, 5-е изд. — М.: ДМК Пресс, 2015. — 558 с.
  5. МакРобертс М. Начала Arduino / М. МакРобертс – London: CUP, 2010. – 459 с.
  6. Официальный русскоязычный сайт платформы Arduino [электронный ресурс]. – Режим доступа: http://arduino.ru/
  7. Официальный сайт среды разработки Arduino IDE [электронный ресурс]. – Режим доступа: http://www.arduino.cc/
  8. Официальный сайт компании MathWorks [электронный ресурс]. – Режим доступа: http://www.mathworks.com/
Основные термины (генерируются автоматически): PWM, COM, GPN, IDE, загрузка модели, преобразователь координат, выходной сигнал драйверов, математическая модель нуль-органа, опорное напряжение, пилообразное напряжение.


Задать вопрос