«РАЗРАБОТКА МОБИЛЬНОГО РОБОТА С ОПТИМАЛЬНОЙ СХЕМОЙ ПИТАНИЯ»
Источник: Электронный архив Донецкого национального технического университета
Бровкина Д.Ю., Приходько Т.А.
ТТИ ЮФУ, ДонНТУ, г. Таганрог, г. Донецк, Россия, Украина
Abstract: Options for creating a simple mobile robot using Arduino platform was analyzed. Robot supplied with electric motor and can be equipped with various sensors. The management system created using Raspberry Pi platform and basic actions programmed through C++-like language. The optimal scheme for the supply of all the constituent elements of the device is discussed in this article and design of principle schema is presented.
Key words: mobile robot, sensor, electric power, platform, principle schema.
Актуальность
При создании роботов чаще всего основной задачей является замена человека в опасных и экстремальных условиях работы, чем можно не только облегчить работу человеку, но также добиться максимального качества и точности результатов работы, а также не подвергать человека риску. Именно поэтому робототехника активно развивается, разработка роботов остается актуальной [1].
Постановка задачи
Целью данной работы является создание робота, установка и исследование датчиков и механизмов управления, программирование робота и исследование его поведения, а также разработка оптимальной схемы питания для обеспечения работы всех составляющих компонентов.
Мобильные роботы способны не только выполнять рутинные работы, но и передвигаться, обследовать территории, собирая необходимые данные. Для этого планируется снабдить робота соответствующими сенсорами и датчиками, а также беспроводной системой связи, что позволит выполнять работы в местах и условиях, при которых для человека выполнение тех же действий было бы невозможным или опасным [3].
Разработка проекта
После предварительного анализа из множества существующих вариантов для реализации такой платформы выбраны аппаратная вычислительная платформа Arduino и одноплатный компьютер Raspberry Pi. Arduino, который представляет собой плату, состоящую из микроконтроллера Atmel AVR (ATmega328 и ATmega168 в новых версиях и ATmega8 в старых), а также портов и разъемов для программирования и интеграции с другими схемами. Существует множество ее модификаций [2]. В работе используется плата Arduino Mega 2560 (рис. 1). Достоинством данной платы по сравнению с другими модификациями является большое количество портов ввода-вывода, что позволит в дальнейшем наращивать ее дополнительными сенсорами и вспомогательными платами.
Плата Arduino Mega 2560 содержит 54 цифровых входа/выхода (14 из которых могут использоваться как выходы ШИМ), 16 аналоговых входов, 4 последовательных порта UART, кварцевый генератор 16 МГц, USB-порт, разъем питания, разъем ICSP и кнопку перезагрузки.
Рисунок 1. Аппаратная платформа Arduino Mega 2560
Arduino Mega может получать питание как через USB-порт, так и от внешнего источника питания. В данной работе для автономного передвижения платформы питание обеспечивается с помощью блока литиевых батарей.
Программирование Arduino выполнено с помощью специального C/C++-подобного языка.
Для плат Arduino существует огромное количество сенсоров и плат расширения. В этой работе для управления двигателями и передвижения платформы использованы вспомогательная плата L293D Motor Drive Shield (рис.2) [5,6].
Рисунок 2. Плата L293D Motor Drive Shield
Плата (рис.2) позволяет подключить к Arduino 4 электродвигателя постоянного тока, 2 шаговых либо 2 серводвигателя. В данной работе для обеспечения точности выполнения поворотных движений платформы и дальнейшей возможности расширения к двум из четырех возможных портов были подключены попарно соединенные (левая пара и правая пара) электродвигатели. Сама конструкция, на которую крепятся платы и двигатели представляет собой небольшой металлический блок с четырьмя колесами (рис. 3).
Рисунок 3. Конструкция платформы
Из-за относительно слабых функциональных возможностей Arduino для управления всей конструкцией и удаленного управления было решено в качестве платы управления использовать одноплатный компьютер Raspberry Pi (рис. 4) [6].
Рисунок 4. Плата Raspberry Pi
Raspberry Pi распространяется полностью собранным на четырёхслойной печатной плате размером с банковскую карту. Данная плата имеет следующие технические характеристики:
- SoC: медиапроцессор Broadcom BCM2835, включающий в себя: Процессор: ARM1176JZF-S ARM11, тактовая частота 700MHz; Видеопроцессор: Broadcom VideoCore GPU с поддержкой OpenGL ES 1.1, OpenGL ES 2.0, аппаратного ускорения OpenVG 1.1, Open EGL, OpenMAX и видеодекодера H.264; Цифровой сигнальный процессор; Оперативная память: 512MB;
- Питание: micro-USB jack (5v)
- Слот для карт памяти SD/MMC/SDIO
- Разъём HDMI
- Аудио выход 3.5мм stereo jack
- Композитный видеовыход RCA
- USB 2.0
- 10/100Mb RJ45 Ethernet
- Порты ввода/вывода (GPIO): 26 пинов 2.54мм:
8 GPIO-выводов, напряжение 3.3В, 2 вывода для UART (линии TX и RX), 3v3 TTL, 2 вывода для I2C (линии SDA, SDL), 5 выводов для SPI (линии MOSI, MISO, SCLK, CE0 N, CE1 N), 3 вывода :3.3В, 5В, GND, 6 выводов зарезервировано для использования в будущем.
Raspberry Рi работает под управлением Unix-подобной операционной системы, загружаемой с SD-карты (а данной работе использовался дистрибутив Debian), что дает огромные возможности в программировании всей системы. Имеющиеся разъемы HDMI, аудио выход stereo jack, USB 2.0 позволяют подключать соответственно монитор, динамики и внешние устройства, в том числе и Wi-Fi-адаптер, с помощью которого в дальнейшем можно реализовать беспроводное управление роботом.
В единый модуль платы объединяются через выводы для UART. Однако на Arduino для UART используется напряжение 5В, а на Raspberry Pi – 3,3В, поэтому прямое подключение приведет к выводу из строя Raspberry Pi. Подключение плат реализуется через вспомогательную плату (рис.5), на которой располагается два разъема (для Arduino и Raspberry Pi соответственно) и преобразователь напряжения CD74HC4050.
Рисунок 5. Вспомогательная плата с преобразователем напряжения
На схеме (рис.5.) Р1 и Р2 – разъемы для Arduino и Raspberry Pi соответственно, а R1 – преобразователь напряжения
Разработка платы питания
Для обеспечения мобильности устройства разработана система питания, которая подает на плату Arduino 5В, а на плату Raspberry Pi – 3,3В, а также снабжает электродвигатели питанием 6-8 В. При отладке соединения между составляющими электродвигатели работали от блока «пальчиковых» батареек, который занимает все свободное пространство между электродвигателями в конструкции платформы, плата Arduino подключалась к компьютеру через USB-разъем, таким образом получая необходимое питание, а плата Raspberry Pi - от сети. Но для обеспечения мобильности робота необходима схема, которая позволит компактно и удобно обеспечивать питанием все устройства без подключения к внешним источникам питания (сети, компьютеру и т.п.).
Рисунок 6. Фрагмент 1 принципиальной схемы питания
Разработанная схема обеспечивает необходимым питанием все устройства от одной литиевой батарейки. Для этого используются преобразователи напряжения TPS61030 и LM3478. Первые используются для преобразования напряжения 4,2В в уровни 5 и 3,3В, необходимые для работы Arduino и Raspberry Pi. LM3478 преобразует 4,2В в уровень 8В для обеспечения питанием электродвигателей. Фрагменты принципиальной схемы питания приведены на рисунках 6 и 7.
Рисунок 7. Фрагмент 2 принципиальной схемы питания
Разработанная схема удобна и экономична. Она обеспечивает мобильность разрабатываемого робота.
Перспективы дальнейших исследований
Результатом выполненной работы является мобильная платформа, которая уже способна перемещаться от независимого источника питания, однако пока только по записанной программе. В дальнейшем планируется оснастить эту платформу сенсорами для расширения ее функционала и обеспечения удаленного управления. Для данной платформы планируется реализовать как управление по сети Wi-Fi с помощью специального адаптера. Также планируется оснастить платформу ультразвуковым сенсором для определения расстояния до ближайших объектов и нахождения препятствий на пути. Возможности данной платформы довольно широки и имеется еще множество сенсоров и датчиков, которые в дальнейшем смогут дополнить эту простую платформу до многофункционального робота.
Список литературы
- Юревич Е.И. «Основы робототехники». - 2-е изд., перераб. и доп. - Спб.: БХВ-Петербург, 2005. - 416 с.: ил.
- Аппаратная платформа Arduino. Электронный ресурс. Режим доступа: http://arduino.ru
- Конструирование роботов: Пер. с франц./ Андре П., Кофман Ж.-М., Лот Ф., Тайар Ж.-П – М.: Мир, 1986. – 360 с., ил
- Michael McRoberts «Beginning Arduino». – 2010. – 459 с., ил
- Motor Shield - Arduino motor. Электронный ресурс. Режим доступа: http://www.ladyada.net/make/mshield/index.html
- Raspberry Pi. Электронный ресурс. Режим доступа: http://www.raspberrypi.org/