Коммуникация отладочной платы arduino mega 2560 c программным обеспечением matlab

Аннотация

В статье описаны этапы коммуникации отладочной платы 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. 1. http://arduino.ru/Hardware/ArduinoBoardMega2560
  2. 2. Джереми Блум. Изучаем Arduino: инструменты и методы технического волшебства: Пер. с англ. - СПб.: БХВ-Петербург, 2016. - 336 с.: ил.
Теги: Модель
Год: 2016