Altinkaya: турецкие корпуса для РЭА

Плата расширения Arduino для создания роботов. Часть 1 - Общие элементы аппаратной части.

Идея этой статьи заключается в объединении некоторых конструкций роботов и преобразовании их в устройство с новой аппаратной и стандартной программной частью (Arduino, конечно), и, таким образом, в упрощении разработки и использования подобных устройств. Представленные в статье конструкции роботов имеют три общих момента: механическая структура, аппаратное и программное обеспечение. В то время, как механика роботов обязательно отличается друг от друга, мы хотели понять, есть ли аппаратная процессорная плата, которая может стать общей для них, имея при этом свою среду разработки. При выборе, что вполне очевидно, остановились на платформе Arduino, которая со своей средой разработки идеально подходит для создания подобных проектов (Рисунок 1).

Выбираем схему BMS для заряда литий-железофосфатных (LiFePO4) аккумуляторов

Роботы на базе платформы Arduino
Рисунок 1. Внешний вид роботов под управлением Arduino.

В статье рассматриваются три различных робота, которые получили условные имена Filippo, Bipe и Spider.

Первое, что было нами проанализировано, это возможность управлять с помощью платы Arduino несколькими сервоприводами, в случае с роботом Spider восемью. Питание для платы Arduino может быть в пределах 6 – 12 В, на самой плате установлен регулятор напряжения 5 В, необходимого для работы микроконтроллера, периферии и наших плат расширения. Мы могли питать наших роботов от аккумуляторов. Для стандартного сервопривода требуется питание 4.8 - 6 В, которое легко получить с помощью четырех аккумуляторов, включенных последовательно. При полном заряде аккумуляторов напряжение питания составит 1.5 В × 4 = 6 В, но при полном разряде напряжение питания составит лишь 4 В. Такие условия не являются оптимальными для нашего проекта. Поэтому было решено создать специальную плату расширения (Рисунок 2), которая проста в установке и использовании, и отвечает следующим требованиям функции:

  • имеет широкий диапазон напряжения питания;
  • обеспечивает стабилизированное выходное напряжение для питания сервоприводов;
  • обеспечивает питанием плату Arduino;
  • оборудована датчиком препятствий;
  • оборудована приемником команд с ИК пульта дистанционного управления;
  • поддерживает слежение за напряжением питания и напряжением батареи.

Для питания платы можно использовать один аккумулятор с напряжением 6 – 12 В или несколько LiPo, NiMh или NiCd аккумуляторов. Для сервоприводов требуется напряжение 5 В, поэтому нам необходимо получить его непосредственно от входного напряжения. Оптимальным решением для этого является использование импульсного понижающего преобразователя, который обеспечивает эффективность свыше 80% в любой ситуации.

Внешний вид платы расширения, которая позволяет использовать платформу Arduino для управления роботом.
Рисунок 2. Внешний вид платы расширения, которая позволяет использовать платформу Arduino для управления роботом.

Простая микросхема серии LM2576-5 содержит в себе все необходимые элементы для создания импульсного источника питания. Требуется лишь добавить катушку индуктивности, диод и конденсатор. Микросхема обеспечивает максимальный выходной ток до 3 А и работает при входном напряжении 4 – 40 В.

Принципиальная схема платы расширения Arduino для создания робота.
Рисунок 3. Принципиальная схема платы расширения Arduino для создания робота.

На принципиальной схеме (Рисунок 3) вы видите коннектор BAT, к которому подключается батарея (аккумулятор), выключатель питания SW1, регулятор напряжения U1 LM2576. Резистор R5 и светодиод LD1 предназначены для индикации наличия питания. Стабилизированное выходное напряжение микросхемы U1 используется для питания всех сервоприводов, плата Arduino Uno питается непосредственно от батареи (вывод Vin) сразу после выключателя питания.

Для мониторинга напряжения батареи используется аналоговый вход платы Arduini A0. Делитель напряжения на резисторах R1 и R2 предназначен для снижения диапазона входного напряжения 0 – 20 В до диапазона 0 – 5 В. Мы выбрали эти конкретные значения сопротивлений, потому что при преобразовании аналоговой величины напряжения с помощью Arduino потребуется лишь разделить полученные данные на 50, чтобы получить значение напряжения батареи в вольтах.

В качестве датчика препятствий мы выбрали ультразвуковой сенсор SRF05, который, благодаря своей конструкции и форме, напоминает два глаза и улучшает эстетический вид наших роботов. Данные с датчика передаются в цифровой форме, поэтому подключается он к выводу D11 платы Arduino.

Для дистанционного управления была выбрана система управления на ИК лучах. Это самый простое и экономически выгодное решение, достаточно установить приемник команд, совместимый с пультом ДУ от телевизора или DVD плеера, например интегрированный фотодатчик PNA4602.

Также на плате установлена кнопка сброса, пользовательская кнопка и пользовательский светодиод, подключенный к выводу D13 платы Arduino.

Список использованных компонентов

Обозначение
на схеме
Номинал, описание
R1
56 кОм
R2
18 кОм
R3, R5
470 Ом
R4
100 Ом
C1, C6
10 мкФ 63 В
C2
470 мкФ 25 В
C3
1000 мкФ 16 В
C4, C5
100 нФ
LD1
Светодиод 3 мм, красный
LD2
Светодиод 3 мм, зеленый
U1
LM2576-5
SW1
Выключатель питания
P1, RST
Микропереключатель
IR
ИК фотоприемник IR38DM
L1
100 мкГн 2А
D1
SRF05
Ультразвуковой модуль SRF05

В следующей части статьи мы рассмотрим конструкции роботов, алгоритмы работы и настройки.

Загрузки

Gerber-файлы платы расширения - скачать

open-electronics.org

Перевод: Vadim по заказу РадиоЛоцман

На английском языке: Robot shield for Arduino. Part 1 - Hardware and Schematic

Электронные компоненты. Бесплатная доставка по России
Для комментирования материалов с сайта и получения полного доступа к нашему форуму Вам необходимо зарегистрироваться.
Имя
Фрагменты обсуждения:Полный вариант обсуждения »
  • Добрый день. При попытке открыть приложенные gerber-файлы столкнулся с проблемой, что файл сверловки (.drl) при открытии в программе gerv (версия 2.6.0) отображается некорректно (сдвинут относительно слоя меди и представляет собой слитое пятно). Где я что делаю не так? Спасибо