Аннотация
В статье описаны этапы коммуникации отладочной платы Arduino Mega 2560 с программным обеспечением MatLab 2012.
Отладочная плата Arduino Mega 2560 часто является центральным звеном в робототехнических или некоторых автоматизированных производственных системах. Плата обладает развитой периферией, что позволяет коммутировать её одновременно с несколькими внешними устройствами. По сути, главным устройством платы является микроконтроллер семейства AVR ATmega2560. Внешний вид платы приведен на рисунке 1.
Коммуникация отладочной платы arduino mega 2560 с программным обеспечением MATLAB
Плата имеет 54 цифровых входа/выходов (14 из которых могут использоваться как выходы широтно-импульсного регулятора), 16 аналоговых входов, 4 последовательных порта UART, кварцевый генератор 16 МГц, USB коннектор, разъем питания, разъем ICSP и кнопка перезагрузки. Для работы необходимо подключить платформу к компьютеру посредством кабеля USB или подать питание при помощи адаптера AC/DC, или аккумуляторной батареей. Основные характеристики платы вынесены в таблицу 1.
Микроконтроллер |
ATmega2560 |
Рабочее напряжение |
5 В |
Входное рекомендуемое напряжение |
7-12 В |
Входное предельное напряжение |
6-20 В |
Цифровые входы/выходы |
54(14-ШИМ) |
Аналоговые входы |
16 |
Постоянный ток через вход/выход |
40 мА |
Флеш-память |
256 Кб |
ОЗУ |
8 Кб |
EEPROM |
4 Кб |
Тактовая частота |
16 МГц |
Таблица 1. Основные характеристики платы Arduino Mega 2560
На платформе Mega 2560 имеется 16 аналоговых входов, каждый разрешением 10 бит (т.е. может принимать 1024 различных значения) [1].
Таким образом, Arduino Mega 2560 - это, в первую очередь, перепрограммируемый микроконтроллер ATmega 2560, с вынесенной на плату периферией.
Важной особенностью такой платы является то, что она поддерживается программным обеспечением MatLab, начиная с версии 2008 года и пакетом Simulink, начиная с версии 2010 года. Это даёт огромные возможности по созданию компьютерных моделей систем и устройств, поддерживаемых аппаратно. Существует несколько этапов по коммуникации платы Arduino Mega 2560 с программным обеспечением MatLab и пакетом Simulink, в частности.
Для начала, нужно запрограммировать микроконтроллер ATmega 2560 программным кодом для начала обмена данными с последовательным портом персонального компьютера. C помощью USB-кабеля соединяем плату с персональным компьютером или ноутбуком (рисунок 2).
Далее необходимо найти прошивочный код. В сети Интернет есть достаточно много подобных прошивочных файлов, написанных непосредственно в среде Arduino. В данном случае выбран файл adioes.pde. Запускаем его, указываем COM-порт, на котором расположилась плата и с помощью функциональной клавиши «Загрузить» прошиваем микроконтроллер ATmega 2560 (рисунок 3).
После прошивки платы, можно запустить программное обеспечение MatLab. В данном случае, выбрана версия 2012 года, так как она полностью поддерживает плату, как в режиме командной строки, так и в пакете Similink. Запустив MatLab, указываем COM-порт командой a=arduino(‘COM X’), на котором установлена плата и ждём момента соединения (рисунок 4).
Запускаем пакет Simulink и в окне предоставляемых различных блоков для построения компьютерных моделей выбираем заранее инсталлированный пакет поддержки Arduino «Target for Use with Arduino Hardware» (рисунок 5).
Соберем простую модель для тестирования светодиода на 13-м выводе при помощи ШИМ-сигнала [2, с. 49-52]. По сути, ШИМ - это эмуляция аналогового сигнала, что делает его неоценимым при использовании микроконтроллеров. Ведь в ШИМ-сигнале нуждаются многие электромеханические нагрузки, в частности двигателя постоянного тока.
Для построения модели нам понадобятся блок импульсного генератора, цифровой вывод Arduino и виртуальный осциллограф. На рисунке 6 приведена итоговая модель.
Далее нужно задать некоторые параметры генерируемых импульсов. Для этого дважды щелкаем на блоке генератора и указываем: амплитуда 1 Вольт, полный период мигания 1 секунда (рисунок 8).
Теперь установим некоторые предварительные настройки для коммуникации платы с пакетом Simulink. Для этого переходим по пути Tools - Prepare to Run (рисунок 9).
Здесь нужно указать целевую плату - Arduino Mega 2560 и COM-порт, на котором установилась аппаратная платформа (рисунок 10).
После того, как все действия будут выполнены, переходим по пути Tools - Run и нажимаем функциональную клавишу «Р1ау». Всплывает сообщение, что компьютерная модель успешно загружена в отладочную плату (рисунок 11).
Светодиод, подключенный к 13-му выводу Arduino, начинает мигать с периодичностью в одну секунду, что говорит о правильности выполнения всех действий, в т.ч. процесс коммуникации между платой и MatLab. Дважды нажав на блок виртуального осциллографа, можно посмотреть эпюры импульсов, подаваемых на 13-й вывод платы (рисунок 12).
Таким образом, плата Arduino Mega 2560 поддерживается программным обеспечением MatLab и пакетом Simulink, в частности. Это позволяет строить компьютерные модели блоков управления для робототехнических или автоматизированных производственных систем. Графическая модель, построенная в Simulink будет управляться прямо с клавиатуры или других устройств ввода, а плата Arduino Mega 2560 будет являться непосредственным исполнительным устройством. Положительная сторона такого метода заключается в том, что нет необходимости писать громоздкие программные коды для платы, весь прошивочный код имеет графический характер.
Литература:
- 1. http://arduino.ru/Hardware/ArduinoBoardMega2560
- 2. Джереми Блум. Изучаем Arduino: инструменты и методы технического волшебства: Пер. с англ. - СПб.: БХВ-Петербург, 2016. - 336 с.: ил.