www.sibac.info
СЕКЦИЯ
«ИНФОРМАТИКА, ВЫЧИСЛИТЕЛЬНАЯ ТЕХНИКА И УПРАВЛЕНИЕ»
МЕТОДИКА СИНТЕЗА ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ MATLAB/SIMULINK И ОТЛАДОЧНОЙ ПЛАТЫ ARDUINO MEGA 2560
Петров Павел Анатольевич
докторант специальности «Радиотехника, электроника и телекоммуникации» Северо-Казахстанского государственного университета им. М. Козыбаева, Республика Казахстан, г. Петропавловск E-mail: paolo1988@mail.ru
THE METHOD OF SYNTHESIS OF MATLAB/SIMULINK SOFTWARE WITH ARDUINO MEGA 2560 DEBUG BOARD
Pavel Petrov
phd student
of «Radioengineering, electronics and telecommunications» speciality, M. Kozybayev North Kazakhstan State University, Kazakhstan, Petropavlovsk
АННОТАЦИЯ
В статье описана методика коммуникации программного обеспечения MatLab/Simulink c отладочной платой Arduino Mega 2560. Приведена экспериментальная модель этого синтеза.
ABSTRACT
This paper presents the method of communication of MatLab/Simulink software with Arduino Mega 2560 debug board. Shows an experimental model of this synthesis.
Ключевые слова: Simulink-модель; плата Arduino Mega 2560. Keywords: Simulink-model; Arduino Mega 2560 board.
В сети Интернет очень мало методических указаний о синтезе программного обеспечения (ПО) MatLab/Simulink и отладочных плат Arduino. Между тем, этот процесс является достаточно объемным и требует соответствующего анализа. Аппаратные платформы Arduino обладают огромным потенциалом в области автоматизации производственных процессов, а программное обеспечение MatLab/Simulink совершенствует процесс программирования и управления самой платой. Пример использования такой синтезированной модели приводится в [2].
В качестве целевой платы выбрана Arduino Mega 2560, подробно описанная в [1]. Она обладает широким спектром возможностей, в первую очередь, обусловленных самим микроконтроллером ATmega2560. Также большим достоинством платы является большое количество цифровых входов-выходов (54) и 16-и аналоговых входов. Плата подсоединяется к персональному компьютеру с помощью USB-шнура. Сама плата Arduino Mega 2560 и процесс коммуникации с ноутбуком изображены на рисунке 1.
а) б)
Рисунок 1. а) Внешний вид платы Arduino Mega 2560 б) Процесс коммуникации с ноутбуком посредством USB-кабеля
Прежде чем непосредственно начать работать с MatLab, плату предварительно необходимо прошить программой для обмена данными с последовательным портом персонального компьютера. Варианты загрузочных файлов достаточно обширны, можно выбрать любой из них. В данном случае, выбран файл загрузки adioеs.pde, написанному непосредственно в среде Arduino. Среда Arduino -специальная программная оболочка для работы с отладочными платами Arduino. При открытии программной среды необходимо выбрать COM-порт, на котором установилась плата и целевую плату
www.sibac.mfo
(вкладка «Инструменты»). Далее открывается необходимый файл прошивки и функциональной клавишей «Загрузить» осуществляется прошивка микроконтроллера ATmega2560 платы. Внешний вид интерфейса среды Л^тго с загруженным файлом adioеs.pde изображен на рисунке 2.
© adioes | Arduino 1.6.4
Файл Правка Эскиз Инструменты | Помощь
QO АвтоФормзтировзние Архивировать эскиз CtrkT
к—:—i
■ adioes ■ Исправить кодировку и перезагрузить. Монитор последовательного порта L_ 1
/* Analog and Dig Ctrl+Shrft+M
/* Giajnpieto Camp Плата: "Arduino Mega от.." ►
Thls £ile ±s n Процессор: "ATmega2560(Mega..." ►
package, hovev Порт; "СОМ6" >! Serial ports
(or any other OeO ¡ assigna Программатор: "AVRISP mkll" '! Записать Загрузчик COM3 COM4 C0M5 COM6
Ofl : assigna digital pin 15 (£) as output 1 Onl : assigna digital pin 113 (n) as output 3
le ! ceads digital pin (с)
le ; teads digital pin 14 <e>
2n0 : sets digital pin 113 (n) lew
2nl : sets digital pin #13 (n) high
2fl i sets digital pin ffS (£) high
2fo ; sets digital pin 05 (f) lov
4j2 ; sets digital pin ¡*S jj) to 50=ascii(2> ovet 255
i sets digital pin *S O) to I22=ascii(z) ovet 255
3a : reacia analog pin 10 (a)
3f : reads analog pin #5 (f)
5j : ceads 3tat\i3 (attached/detached) oC servo on pin #S
5k ! teads status (attached/detached) oC servo on pin 110
£jl : attaches servo on pin #9
8js : noves servo on pin #S ot 122 degrees (122*ascii(z))
7j : reads angle o£ servo on pin §S
Рисунок 2. Внешний вид интерфейса среды Arduino
Теперь плата готова к синтезу с MatLab. В качестве ПО выбрана версия 2012Ь, поддерживающая программирование платы как через командную строку, так и через пакет Simulink.
Необходимо скачать набор файлов ArduinoЮ, для того, чтобы иметь возможность программировать плату через командную строку MatLab. Для этого необходимо прописать команду «тБМ^вМшт» и указать папку, где установлено ПО MatLab2012b. Вскоре выйдет сообщение о том, что файлы добавлены к установленным (рисунок 3).
С'
СибАК
www.sibac.info
Рисунок 3. Добавление файлов АгйитоЮ к файлам МаЛаЪ2012Ъ
Теперь непосредственно можно установить пакеты для работы с Arduino в Simulink. Для этого в командной строке прописывается «targetinstaИer». ПО предлагает перезагрузить MatLab, необходимо нажать «нет». Начинается процесс инициализации загружаемых файлов и MatLab предлагает выбрать способ загрузки (рекомендовано сделать это через Интернет). Окончательно ПО предлагает выбрать аппаратную платформу, для которой загружается пакет (выбирается ЛМшш). Процесс установки пакета Arduino/Simulink представлен на рисунке 4.
а)
www.sibac.info
б)
г)
Рисунок 4. Процесс установки пакета Агйито/БШиНпк: а) операция в командной строке б) инициализация загружаемого пакета в) способ загрузки г) выбор целевой платы
Технические науки — от теории к практике _№ 2 (62), 2017г.
Теперь необходимые пакеты установлены, можно непосредственно синтезировать плату и ПО MatLab/Simulink. Переходим в режим командной строки, выбираем папку, где будем сохранять модели Simulink (по умолчанию это папка, где установлен MatLab, поэтому обязательно её нужно поменять на другую, с латинским названием). Прописываем команду «a=arduino ('COM X')», где X -номер последовательного порта, где расположилась плата. Начинается процесс коммуникации, занимающий несколько секунд. Когда MatLab выдаст сообщение «Arduino successfully connected!», можно запускать пакет Simulink. Теперь можно наблюдать в доступных объектах для моделирования папки «Arduino IO Library» и «Target for use with Arduino hardware».
В качестве экспериментальной модели соберем схему, для мигания контрольного светодиода, расположенного на 13-м пине платы. Для этого собирается модель в новом файле, состоящая из генератора меандров, 13-го пина платы и осциллографа. Во вкладке Tools указывается необходимый COM-порт и плата Arduino Mega 2560, редактируются настройки генератора. После запуска симуляции, микроконтроллер ATmega2560 прошивается графическим кодом и контрольный светодиод на плате начинает загораться и тушиться с указанной задержкой. Экспериментальная модель в Simulink и эпюры, снимаемые с генератора импульсов, представлены на рисунке 5.
www.sibac.info
а)
Р, СибАК
www.sibac.info
Рисунок 5. а) Модель Simulink для тестирования платы б) Эпюры импульсов, подаваемых на 13-й пин платы
Таким образом, процесс коммуникации отладочной платы Arduino Mega 2560 и ПО Matlab/Simulink полностью завершен. Такие синтезируемые модели дают огромный потенциал для автоматизации производственных процессов и упрощают процесс управления и коррекции.
Список литературы:
1. Общие сведения о плате Arduino Mega 2560 [Электронный ресурс]. URL: http://arduino.ru/Hardware/ArduinoBoardMega2560 (Дата обращения 25.02.16 г.)
2. Петров П.А., Ивель В.П. Синтез адаптивной системы управления вращением-подъемом железнодорожных вагонов // Технические науки -от теории к практике: сб. ст. по матер. LXV междунар. науч.-практ. конф. № 12(60). - Новосибирск: СибАК, 2016. - С. 21-27.