Научная статья на тему 'РЕАЛИЗАЦИЯ ДИСТАНЦИОННОГО УПРАВЛЕНИЯ ПО РАДИОКАНАЛУ BLUETOOTH ПЛАТФОРМОЙ, МОДЕЛИРУЮЩЕЙ РАБОТУ РОБОТИЗИРОВАННЫХ СРЕДСТВ'

РЕАЛИЗАЦИЯ ДИСТАНЦИОННОГО УПРАВЛЕНИЯ ПО РАДИОКАНАЛУ BLUETOOTH ПЛАТФОРМОЙ, МОДЕЛИРУЮЩЕЙ РАБОТУ РОБОТИЗИРОВАННЫХ СРЕДСТВ Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
253
31
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
BLUETOOTH / МОДУЛЬ HC-05 / ПЕРЕДАЧА ДАННЫХ / ДИСТАНЦИОННОЕ УПРАВЛЕНИЕ / РАДИОКАНАЛ / РОБОТОТЕХНИКА / МИКРОКОНТРОЛЛЕР / ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ / STM32

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Жмудь Вадим Аркадьевич, Трубин Виталий Геннадьевич, Ескин Алексей Викторович

Рассматриваются основные моменты построения программно-аппаратного модуля к платформе, описанной в статье «Построение платформы моделирующей работу роботизированных средств на базе конструктора Lego Mindstorms NXT 2.0 в части управления электродвигателями» для дистанционного управления этой платформой через радиоканал Bluetooth.

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Жмудь Вадим Аркадьевич, Трубин Виталий Геннадьевич, Ескин Алексей Викторович

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «РЕАЛИЗАЦИЯ ДИСТАНЦИОННОГО УПРАВЛЕНИЯ ПО РАДИОКАНАЛУ BLUETOOTH ПЛАТФОРМОЙ, МОДЕЛИРУЮЩЕЙ РАБОТУ РОБОТИЗИРОВАННЫХ СРЕДСТВ»

Реализация дистанционного управления по радиоканалу Bluetooth платформой, моделирующей работу роботизированных

средств

А.В. Ескин, В.А. Жмудь, В.Г. Трубин ФГБОУ ВПО НГТУ, Новосибирск, Россия

Аннотация: Рассматриваются основные моменты построения программно-аппаратного модуля к платформе, описанной в статье «Построение платформы моделирующей работу роботизированных средств на базе конструктора Lego Mindstorms NXT 2.0 в части управления электродвигателями» для дистанционного управления этой платформой через радиоканал Bluetooth. 5

Ключевые слова: Bluetooth, модуль HC-05, передача данных, дистанционное управление, радиоканал, робототехника, микроконтроллер, программное обеспечение, STM32.

ВВЕДЕНИЕ

Каким бы «разумным» не была роботизированная система, всегда существует непредвиденные обстоятельства, которые могут возникнуть в любой момент и ввести устройство в неработоспособное состояние. По этой причине человеческое вмешательство в ход управления роботом становиться практически единственным выходом в спасении ситуации. Вот тогда на помощь приходит дистанционное управление, которое позволяет корректировать выполняемые роботом действия, выбирать стратегию поведения или полностью взять управление роботом на себя.

Из всех возможных способов дистанционного управления (механического, проводного, ультразвукового, инфракрасного и радио-передающего) для управления подвижными мобильными роботами больше всего подходит именно радиоканал, по причине способности работать на довольно больших расстояниях и отсутствию необходимости прямой видимости объекта управления.

В настоящее время производители электроники предлагают множество способов передачи данных с использованием радиоэфира. В основном это микросхемы работающие на

радиочастоте или готовые электронные модули. Программно эти элементы поддерживают, в основном, специализированные или стандартные протоколы передачи данных. Одним из стандартных протоколов передачи данных по радиоканалу, получившим широкое распространение, является Bluetooth. Он позволяет обмениваться данными на расстоянии до 100 метров (I класс устройств), имеет поддержку в современных операционных системах персональных компьютеров и весьма распространён. Bluetooth также обладает довольно полезным профилем Serial Port Profile (SPP), который позволяет эмулировать работу последовательного порта.

На рынке существует множество электронных модулей поддерживающих Bluetooth, которые варьируются как по цене, так и по набору предоставляемых функций. Особый интерес для решения задачи дистанционного управления платформой для изучения роботизированных систем представляют модули Bluetooth серии HC от китайских производителей. Одним из представителей этой серии является модуль HC-05 [2], внешний вид которого представлен на рисунке 1.

Работа выполнена по заданию Министерства образования и науки РФ, проект №7.599.2011, Темплан, НИР № 01201255056.

Рисунок 1. Внешний вид модуля HC-05

HC--05 представляет собой электронный модуль построенный на базе микросхемы BC417 от компании Cambridge Silicon Radio [3]. Данный модуль позволяет достаточно просто реализовать передачу данных между персональным компьютером и соединённым с HC-05 микропроцессорным устройством (в данном случае микроконтроллером STM32).

Наряду с обычным обменом данных,

модуль позволяет производить свою настройку по последовательному каналу при помощи простых текстовых команд, а также существует возможность смены управляющей программы HC-05 через встроенный в модуль интерфейс SPI. Кроме того, модуль имеет выводы для подключения индикаторов текущего состояния

устройства и имеет 12 настраиваемых портов ввода / вывода. Кроме этого, немаловажной особенностью является наличие миниатюрной печатной антенны прямо на плате модуля. Все эти возможности делают процесс обучения и работы с модулем более насыщенным простым и разнообразным.

Рисунок 2. Схема программно-аппаратного

В интернете существуют достаточное количество отзывов об использовании этого модуля и изложение личного опыта построения устройств на его основе [4, 5].

Рисунок 3. Внешний вид аппаратной части собранного модуля

Данная статья является продолжением статьи [1] по построению учебно -демонстрационной роботизированной

платформы и преследует основной целью изложение опыты построения создаваемого на базе HC-05 программно-аппаратного модуля для данной платформы.

Аппаратная часть программно-аппаратного модуля представляет собой монтажную плату с выведенными на штыревую линейку выводами TX, RX, GND, +3,3V, RESET и PIO11 модуля HC-05, для подключения к соответствующим выводам микроконтроллера STM32 платформы. Схема этой платы изображена на рисунке 2, а результат сборки по этой схеме на рисунке 3.

Как видно на рисунке 3, для подключения к

модуля дистанционного управления

платформе используется тот же принцип, который описан в [1] - штыревые линейки. Это общий подход при построении модулей для данного устройства.

Имеющийся на плате STM32VLDISCOVERY вывод напряжения питания, помеченный как «3V3» на деле имеет напряжение в диапазоне 2,7 ... 3,0 В, чего не достаточно для стабильного питания модуля, которое должно быть в диапазоне 3,0 ... 4,2 В, согласно [6]. Поэтому в схему введён стабилизатор напряжения на 3,3 В питающийся от другого выхода напряжения источника питания, помеченного как «5V» (на самом деле 4,6 ... 4,7 В). Такое отличие в величинах напряжений обусловлено наличием диодов Шоттки в схеме STM32VLDISCOVERY и поэтому при работе с этой плате требуется учитывать это.

Вывод модуля PIO11 служит для управления режимами работы модуля таков: если на выводе присутствует логический нуль, то модуль HC-05 переходит в режим обмена данными по радиоканалу Bluetooth, а если на выводе присутствует логическая единица, то в режим передачи команд АТ, для настройки модуля.

АТ-команды передаются в текстовой форме. Перечень команд АТ достаточно обширный, и их назначение изложено в [7]. Для того чтобы начать обмен данными по Bluetooth можно не производить настройку АТ-командами. Если сначала модуль сбросить подачей на вход модуля RESET логического нуля, а на вывод PIO11, в это время, подать логическую единицу, то после запуска работы модуля (подача на вывод RESET логической единицы) скорость обмена данными в режиме команд АТ будет установлена на уровне 38400 бод / с, а длина

посылки будет составлять 8 бит без контроля чётности с 1 стоп-битом. В случае если логическая единица на выводе PIO11 появится после сброса, то скорость передачи изменится на 9600 бод / с с теми же параметрами передачи данных, что и при скорости 38400 бод / с. Таким образом, в режиме передачи команд АТ существуют только два варианта скорости передачи данных.

По причине низкого напряжения на выходе TX модуля HC-05 необходимо наличие на этой линии подтягивающего к логической единице резистора, в противном случае передача команд и данных будет не устойчивой. К счастью, этого легко добиться, изменив настройки порта в микроконтроллере.

Из-за низкого качества документации в ней допущена ошибка, которая выявилась при работе с модулем: скорость передачи, по умолчанию, в режиме передачи данных по радиоканалу составляет 9600 бод / с, а не 38400 бод / с как заявлено в документации [6]. Но эту

величину всегда можно изменить в режиме АТ-команд.

Для соединения с Bluetooth устройствами персональный компьютер должен быть оборудован Bluetooth радио-модулем

(встроенным либо внешним). Внешние модули обычно называются Bluetooth Dongle. Как правило, любой вариант подходит для решния этих задач. Перед тем как соединиться с HC-05, радио-модуль должен быть установлен в системе как обычное устройство.

Со стороны персонального компьютера обмен данными с HC-05 происходит через виртуальный последовательный COM-порт. Для того чтобы начать обмен данными с модулем Bluetooth необходимо, чтобы в системе появился такой порт. Для этого в Панели управления операционной системы Windows нужно выполнить пункт «Устройства Bluetooth» (для примера, на рисунке 4 выделен этот значок) и добавить устройство Bluetooth c набором таких портов.

Рисунок 4. Значок "Устройства Bluetooth"

Далее необходимо подать питание на модуль HC-05 и нажать на кнопку «Добавить...» в появившемся диалоге. В следующем окне мастера следует установить галочку «Устройство установлено и готово к обнаружению» как показано на рисунке 5 и нажать клавишу «Далее >».

На следующем шаге система проведёт сканирование устройств Bluetooth и предложит на выбор имеющиеся поблизости устройства. Здесь

следует выбрать HC-05 и нажать «Далее >». Затем появится следующее окно мастера, в котором будет предложено на выбор 4 варианта подключения. Нас будет интересовать «Использовать ключ доступа из документации». Выбираем его и в ставшем активном поле ввода вводим ключ 1234 из документации [6] как показано на рисунке 6 и жмём клавишу «Далее >».

Мастер добавления устройства Bluetooth

*

®

Мастер подключения Bluetooth

Прежде чем продолжить, обратитесь к разделу "Bluetooth" документации по устройству. Затем настройте устройство таким образом, что компьютер может его обнаружить: - включите его

■ сделайте его видимым для компьютера

■ назовите его (необязательно)

■ Нажмите кнопку снизу устройства (только для клавиатуры и мыши]

Устройство установлено и готово к обнаружению

ф Добавлять только надежные устройства Bluetooth.

I Далее > | Отмена

Рисунок 5. Шаг 1. Добавление устройсва Bluetooth

Мастер добавления устройства Bluetooth

Вам нужен ключ доступа для добавления устройства?

0

Чтобы получить ответ, обратитесь к разделу "Bluetooth" документации по устройству. Если в документации приводится ключ доступа, используйте его.

С В ыбрать ключ доступа автоматически

Г* Использовать ключ доступа из документации: |1234

С В ыбрать ключ доступа самостоятельно: С" Не использовать ключ доступа

У Необходимо использовать ключ достчпа во все« случаях, кроме того, когда устройство не поддерживает ключ. Рекомендуется использовать ключ доступа длиной от 8 до 16 знаков. Чем длиннее ключ доступа, тем он надежнее.

< Назад | Далее > | Отмена |

Рисунок 6. Выбор способа ввода ключа Bluetooth устройства

Дальше система сама осуществит подключение к модулю HC-05, выполнив все необходимые пункты, и создаст в системе набор вирту альных CÖM-портов как показано на рисунке 7 здесь нужно обратить внимание на номер исходящего CÖM-порта (на рисунке это COM3), именно через него будет происходить обмен данными.

Мастер добавления устройства Bluetooth

*

®

Завершение мастера добавления устройства Bluetooth

Устройство Bluetooth успешно подключено к компьютеру. Компьютер и устройство могут связываться друг с другом, когда они накшягся рядом.

Устройству назначены последовательные СОМ-поргы.

Исходящий CÜM-порт COM3 Входящий СОМ-порт: COM4 Подробнее о Cü M-портах Bluetooth.

Для закрытия мастера нажмите кнопку "Готово".

Рисунок 7. Результат добавления устройсва Bluetooth

Не все программы-терминалы поддерживают эмуляцию COM-порта Bluetooth (в том числе и HyperTerminal, входящий в поставку ОС Windows XP). В интернете можно найти множество бесплатных программ - терминалов, в том числе с поддержкой COM-порта Bluetooth. К таким, например, можно отнести бесплатную программу терминал Termite [8]. Внешний вид данной программ показан на рисунке 8.

Рисунок 8.Внешний вид программы-терминал Termite

К недостаткам данной программы можно отнести отсутствие интерактивного режима передачи команд (необходимо каждый раз при передаче строки или символа необходимо нажимать клавишу «Enter», что не всегда удобно).

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

Работа тестовой программы заключается в получении символа по радиоканалу; в зависимости от него, формируется управляющий сигнал на сервомоторы платформы, для её движения вперёд, назад, влево, вправо или остановки на месте. Также предусмотрен вывод справочной информации (при отправке символа «h») по основным управляющим командам в окно программы — терминала. Так при отправке символа «a» платформа должна начать поворачиваться влево, при отправке символа «d» -вправо, при отправке «w» должно начаться движение вперёд, а для того, чтобы начать движение назад необходимо отправить символ «s». Если необходимо остановить движение платформы следует ввести пробел.

Программный код драйвера реализован в виде связки заголовочного файла с файлом реализации, и применён объектно-ориентированный подход. Драйвер настраивает и работает с USART1 периферией микроконтроллера. Работа с ней построена на прерываниях. Драйвером используется два прерывания USART1: прерывание по приёму символа и по опустошению буфера передатчика. Драйвер в своём составе имеет два метода: void Init() и void SendHelpStringQ. Первый настраивает USART1 на обмен данными со

скоростью 9600 бод / с: 8 бит данных и 1 стоп-бит без контроля чётности, а второй инициирует отправку строки-подсказки по управляющим символам.

Оба прерывания (по приёму и опустошению буфера) вызывают один и тот же обработчик, поэтому в его теле происходит проверка появления того или иного прерывания и происходит либо отправка следующего символа или запись принятого байта. Драйвером предусмотрено два режима работы: обмен АТ-командами и обмен данными (в зависимости от состояния вывода PIO11). Внутри обработчика происходит проверка текущего режима работы и в зависимости от этого изменяется поведение по отправке или приёму.

В ближайшее время планируется расширить функционал платформы путём добавления ещё одного программно-аппаратного модуля - ультразвукового измерителя расстояния HC-SR04.

ВЫВОДЫ

1. Реализация тестовой программы для управления модулем HC-05 показала работоспособность созданного программного драйвера.

2. Команды в текстовой форме позволяет управлять платформой из различных программ-терминалов.

3. Структура созданной роботизированной платформы не разрушается при добавлении программно-аппаратно модуля, что подтверждает правильность начального этапа построения.

ЛИТЕРАТУРА

[1] В.А. Жмудь, E. Halbah., А.Л. Печников, В.Г. Трубин. К вопросу об алгоритме управления снегоуборочными машинами. Автоматика и программная инженерия. 2012.

№ 2 (2). С. 65-71. ФГБОУ ВПО НГТУ (Новосибирск, Россия), Университет Аалто (Хельсинки, Финляндия). URL: http://www.nips.ru/images/stories/zhournal-AIPI/2/Paper-2012-2-9.pdf

[2] 1pcs Wireless Bluetooth Transceiver Module RS232 / TTL HC-05 - Ebay URL: http : //www. ebay.c om/itm/ 1pcs-Wireless-Bluetooth-Transceiver-Module-RS232-TTL-HC-05-/251066012059 (дата обращения 2.04.2013).

[3] BlueCoreTM4-External Product Data Sheet URL: http://www.google.ru/url?sa=t&rct=j&q=&esrc=s&source=web&c d=1&ved=0CC4QFiAA&url=http%3A%2F%2Fentropia.kapsi.fi% 2Fblog%2Fwp-

content%2Fuploads%2F2011%2F10%2FCSR BC417.pdf&ei=s0h aUYWEAaKN4ATkioG4DA&usg=AFQiCNF-liaT9vPUdMB17bimBY2 yyY6SQ&bvm=bv.44442042,d.bGE&c ad=rit (дата обращения: 2.04.2013).

[4] Bluetooth - модуль HC-05 URL: http://robocraft.ru/blog/electronics/587.html (дата обращения 2.04.2013).

[5] Работа с Bluetooth модулем HC05 URL: http://we.easyelectronics.ru/part/rabota-s-bluetooth-modulem-hc05.html (дата обращения: 2.04.2013).

[6] HC Serial Bluetooth Products User Instructional Manual URL:

http://www.google.ru/url?sa=t&rct=i&q=&esrc=s&source=web&c d= 1 &ved=0CC4QFiAA&url=http%3A%2F%2Fwww.mcu-turkey.com%2Fwp-content%2Fuploads%2F2013%2F01 %2FHC-Serial-Bluetooth-Products-201104.pdf&ei=CE5aUcreFuX24QST-IHQCw&usg=AFQiCNHYYZdra0vE7pbYm0N0 DuJfRahBg&b vm=bv.44442042,d.bGE&cad=rit (дата обращения 2.04.2013).

[7] HC-03/05 Embedded Bluetooth Serial Communication Module AT command set URL:

http://www.google.ru/url?sa=t&rct=i&q=&esrc=s&source=web&c

d=5&ved=0CEsQFjAE&url=http%3A%2F%2Fwww.instructa bles.com%2Ffiles%2Forig%2FF3 O%2FK70G%2FH 1LWQ0P O%2FF3OK70GH1LWQ0PO.pdf&ei=MlJaUYTHFOqq4AS5 g4HQCA&usg=AFQjCNGC 1 T5GuA-xIbI_1tc6Zm3AR3GnBw&bvm=bv.44442042,d.bGE&cad=rit (дата обращения 2.04.2013).

[8] Termite: a simple RS232 terminal URL: http://www.compuphase.com/software_termite.htm (дата обращения 2.04.2013).

Алексей Викторович Ескин -

ведущий инженер ООО «КБ Автоматика», e-mail: kba-elma@bk.ru Вадим Аркадьевич Жмудь -заведующий кафедрой Автоматики НГТУ, профессор, доктор технических наук, автор более 200 научных статей, включая 10 патентов и 6 учебных пособий. Область научных интересов и компетенций - теория

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

автоматического управления,

электроника, лазерные системы, оптимизация, измерительная

техника.

E-mail: oao_nips@bk.ru Виталий Геннадьевич Трубин,

зав. лаб. кафедры Автоматики НГТУ, директор ООО «КБ Автоматика».

http ://www. sibindustry.ru/firm.asp?t=0 &prm=9607&moid=0&tabindex=0 Автор 18 научных статей. Область интересов - разработка специализированной электроники. E-mail: trubin@ngs.ru

ГУ

KV*

i Надоели баннеры? Вы всегда можете отключить рекламу.