Использование аппаратной платформы arduino в образовательном процессе студентов инженерных специальностей

Аннотация

В этой статье приведена необходимость применения платформы Arduino Uno при изучении микроконтроллеров студентами инженерных специальностей.

Аппаратная платформа Arduino имеет огромную практическую ценность для студентов, обучающихся на инженерных специальностях. На кафедре «Энергетика и радиоэлектроника» СКГУ им. М. Козыбаева нашла свое применение одна из таких платформ как Arduino Uno, славящаяся своей простотой и практичностью. В частности, она активно используется на лабораторных и практических работах по дисциплинам «Мехатроника и робототехника», «Микроконтроллеры и микропроцессоры в электроэнергетике», «Микроконтроллеры и специальные микропроцессоры» у специальностей 5В071600 - «Приборостроение», 5В071800 - «Электроэнергетика» и 5В071900 - «Радиотехника, электроника и телекоммуникации». Плата Arduino Uno имеет довольно компактную форму, что позволяет ей свободно умещаться в ладони. На рисунке 1 изображена плата Arduino Uno в сравнении габаритов со спичечным коробком.

Теперь стоит разобраться, что собой представляет архитектура таких плат. Arduino Uno контроллер построен на ATmega328. Платформа имеет 14 цифровых вход/выходов (6 из которых могут использоваться как выходы ШИМ), 6 аналоговых входов, кварцевый генератор 16 МГц, разъем USB, силовой разъем, разъем ICSP и кнопку перезагрузки. Для работы необходимо подключить платформу к компьютеру посредством кабеля USB, либо подать питание при помощи адаптера AC/DC или батареи. В отличие от всех предыдущих плат, использовавших FTDI USB микроконтроллер для связи по USB, новый Arduino Uno использует микроконтроллер ATmega8U2. "Uno" переводится как один с итальянского и разработчики тем самым намекают на грядущий выход Arduino 1.0. Новая плата стала флагманом линейки плат Arduino. Для сравнения с предыдущими версиями можно обратиться к полному списку плат Arduino. Основные характеристики платы вынесены в таблицу 1.

Микроконтроллер

ATmegaS 2 8

Рабочее напряжение

5 В

Входное рекомендуемое напряжение

7-12 В

Входное предельное напряжение

6-20 В

Таблица 1. Основные характеристики платы Arduino Uno

Использование аппаратной платформы Arduino

в образовательном процессе студентов инженерных специальностей

203

Цифровые входы/выходы

14 (6-ШИМ)

Аналоговые входы

6

Постоянный ток через вход/выход

40 мА

Флеш-память

32 Кб

ОЗУ

2 Кб

EEPROM

1 Кб

Тактовая частота

16 МГц

Каждый из 14 цифровых выводов Uno может настроен как вход или выход, используя функции pinMode(), digitalWriteQ, и digitalReadQ. Выводы работают при напряжении 5 В. Каждый вывод имеет нагрузочный резистор (по умолчанию отключен) 20-50 кОм и может пропускать до 40 мА. Некоторые выводы имеют особые функции:

  • последовательная шина: О (RX) и 1 (TX). Выводы используются для получения (RX) и передачи (TX) данных TTL. Данные выводы подключены к соответствующим выводам микросхемы последовательной шины ATmega8U2 USB- to-TTL.
  • внешнее прерывание: 2 и 3. Данные выводы могут быть сконфигурированы на вызов прерывания либо на младшем значении, либо на переднем или заднем фронте, или при изменении значения. Подробная информация находится в описании функции attachlnterruptQ.
  • ТПИМ 3, 5, 6, 9, 10, и 11. Любой из выводов обеспечивает ШИМ с разрешением 8 бит при помощи функции analogWriteQ.
  • SPI: 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK). Посредством данных выводов осуществляется связь SPI, для чего используется библиотека SPI.
  • LED: 13. Встроенный светодиод, подключенный к цифровому выводу 13. Если значение на выводе имеет высокий потенциал, то светодиод горит.

Платформа программируется посредством программного обеспечения Arduino. Из меню Tools > Board выбирается «Arduino Uno» (согласно установленному микроконтроллеру).

Микроконтроллер ATmega328 поставляется с записанным загрузчиком, облегчающим запись новых программ без использования внешних программаторов. Связь осуществляется оригинальным протоколом STK500 [1].

Таким образом, Arduino Uno - это, в первую очередь, перепрограммируемый микроконтроллер ATmega328 с вынесенной на плату периферией.

Программное обеспечение Arduino имеет довольно простой и понятный интерфейс и, что важно, имеет русифицированную версию (рисунок 2).

На лабораторных и практических занятиях, студенты, как правило, работают входами-выходами платы, которые имеют как аналоговый и цифровой характер. Для начала, проведем эксперимент с цифровыми выводами.

Напишем программу для работы с 9 выводом Arduino, который поддерживает генерацию широтно-импульсного сигнала [2, с. 49-52]. Подключим к выводу светодиода, чья яркость будет меняться с помощью ШИМ, программно генерируемого с микроконтроллера. ШИМ - это сигнал, характеризующийся изменением коэффициента заполнения:

По сути, ШИМ - это эмуляция аналогового сигнала, что делает его неоценимым при изучении микронтроллеров. Ведь ШИМ используется со многими электромеханическими нагрузками, в частности с двигателями постоянного тока.

Язык Arduino основывается на платформе C++, что позволит с легкостью перейти на изучение этого языка программирования.

Прошивка платы осуществляется через последовательный порт персонального компьютера, взаимодействующего с USB-портом Arduino Uno.

Программа для изменяющего яркость светодиода представлена на рисунке 4:

Цифровые контакты Arduino Uno имеют 8-разрядную систему, т.е. могут генерировать значения от О до 255. Таким образом, напряжение в О вольт соответствует десятичному значению 0, а значение напряжения около 5 вольт - десятичному значению 255.

Плату Arduino Uno очень удобно коммутировать с макетными платами, что демонстрирует рисунок 5, где изображен макет для вышеописанной программы.

Теперь проведем эксперимент с аналоговыми входами Arduino Uno. По сути, это подразумевает работу с 6-канальным 10-разрядным аналого-цифровым преобразователем. То есть, он принимает 1024 градации от О до десятичного значения 1023[2, с.64-66]. Соединим аналоговый вход О со средним выводом потенциометра и будем крутить его ручку, что будет соответствовать изменению напряжения на входе О Arduino Uno О до 5 вольт. Рисунок 5 иллюстрирует макет устройства.

Программа для устройства подразумевает считывание аналогового значения с потенциометра и отправку его каждые 0,5 секунд в встроенный в Arduino интерфейс последовательного порта компьютера (рисунок 7) [2, с. 67-71]:

В интерфейсе COM-порта можно увидеть значения напряжения в десятичной форме, т.е. значению в 2,5 вольт соответствует число 512, значению в 5 вольт-число 1023 и т.д. (рисунок 8).

Показания мультиметра при крайне правом положении ручки потенциометра равны 4,95 вольт вместо 5, что обусловлено некоторыми погрешностями АЦП и самим элементом (рисунок 9):

Использование аппаратной платформы Arduino

в образовательном процессе студентов инженерных специальностей

207

Таким образом, описанная плата имеет ряд отличительных достоинств для того, чтобы использовать её в образовательном процессе у студентов инженерных специальностей. Это компактность, удобство программирования, простота коммуникации с макетными платами, наличие 14 цифровых и 6 аналоговых выводов. Это позволяет проводить различные выводы по изучению микроконтроллеров и собирать макеты различной сложности.

На основе изученной платы Arduino Uno, автор перешел к изучению более сложных плат - Arduino Mega 2560 и Arduino Due. Такие многофункциональные платы, подразумевающие даже генерацию аналогового сигнала, могут использоваться в сложных системах автоматизации. В частности, на основе работы таких плат, готовится диссертационное исследование по разработке высокоточной автоматизированной системы управления двухдвигательным асинхронным электроприводом механизма вращения крупногабаритных агрегатов.

Литература:

1. http://arduino.ru/Hardware/ArduinoBoardUno

2. Джереми Блум. Изучаем Arduino: инструменты и методы технического волшебства: Пер. с англ. - СПб.: БХВ-Петербург. 2016. - 336 с.: ил.

Год: 2016
Категория: Педагогика