M1 Rover: автономный робот для бездорожья на базе Arduino
Компоненты и материалы
- Драйвер двигателей SparkFun Dual H-Bridge L298 — 1 шт.
- DC-моторы (универсальные) — 4 шт.
- Arduino UNO — 1 шт.
- Светодиоды (универсальные) — 8 шт.
- Резисторы 221 Ом — 8 шт.
- Сервопривод Tower Pro MG996R — 1 шт.
- Ультразвуковой датчик HC-SR04 — 1 шт.
Программное обеспечение и сервисы
- Arduino IDE
- Microsoft Visual Studio 2015
- Microsoft Windows 10 IoT Core
О проекте
После создания нескольких домашних роботов я решил построить уличный робот, способный передвигаться по неровной местности. Так родился «M1-Robot» — четырёхколёсный полноприводной ровер.
Этап 1: Проектирование
Корпус разработан в Google SketchUp 2017. Это позволило экспортировать чертежи для лазерной резки и 3D-печати. На проектирование и изготовление корпуса ушло три недели. Материал — фанера толщиной 3 мм. Конструкция выполнена в виде набора: все детали собираются на винтах.
Этап 2: Компоненты и особенности
- Автономная работа до 3 часов
- Совместимость с Arduino Uno, Mega, Nano
- Рабочее напряжение 5–9 В
- Деревянный шасси 3 мм
- Колёса диаметром 68 мм
- Драйвер L298N Dual H-Bridge
- Питание двигателей и Arduino от крон (9 В)
- 7 светодиодов (4 передние белых, 2 задние красных, 1 дополнительный)
- Bluetooth-модуль HC-06
- Sensor Shield v5.0
- Ультразвуковой датчик HC-SR04
Этап 3: Контроллер двигателей
H-мост L298N управляет скоростью и направлением вращения четырёх двигателей. Важно: все земли (Arduino, источник питания, драйвер) должны быть соединены. PWM-выводы опциональны — нужны только для регулировки скорости.
Этап 4: Сборка шасси
Детали вырезаны лазером. Передние фары — 4 белых светодиода с резисторами 220 Ом, задние — 2 красных. Управление светом осуществляется из того же приложения.
Этап 5: Схемотехника
Центральный узел — Arduino Sensor Shield 5.0, на который наносятся: Arduino Uno, L298N, Bluetooth HC-06, ультразвуковой датчик, сервопривод, зуммер, 4 DC-мотора и светодиоды. Питание двигателей — отдельная крона.
Этап 6: Программное обеспечение
Базовый скетч позволяет управлять роботом через Bluetooth с телефона или ПК. Реализованы команды: вперёд (F), назад (B), стоп (S), вправо (R), влево (L), диагонали (I, G). Ультразвуковой датчик останавливает робот при препятствии ближе 10 см и включает звуковой сигнал. Также разработано C#-приложение для Windows с графическим интерфейсом.
Этап 7: Комплектации
STARTER — базовая платформа с верхней панелью для установки дополнительного оборудования.
EXPLORER — автономная навигация в помещении и на улице, видеопоток с телефона по IP.
MAPPING — GPS-трекинг в реальном времени.
MANIPULATION — роботизированная рука с захватом 50 мм.
Совет по сервоприводам: не все сервы имеют полный диапазон 180°. Определяйте пределы экспериментально через servo.writeMicroseconds() (диапазон 600–2400). Используйте servo.attach(pin, min, max) и constrain() для защиты от перегрева.
Файлы проекта
- Чертежи для лазерной резки:
m1rover_dxf_hackaday_4o7WTGHUGE.dxf - Принципиальная схема (изображение)
Производственный процесс
- Двигатели переменного магнитного сопротивления: типы, работа и применение
- Raspoulette: Прототип солнечной автономной системы двери курятника
- Построение ровера на Windows IoT Core с Raspberry Pi 2 — Руководство от новичка к профи
- Simple Pi Robot — Сборка 2WD автономного ровера на Raspberry Pi
- Игра «UFO Attack» на Arduino UNO и матрице MAX7219 — Собираем аркаду с джойстиком Atari
- 3D RGB Arduclock — Bluetooth-часы на адресных LED с RTC
- Полнофункциональная библиотека для управления биполярным шаговым двигателем на Arduino
- DIY Guitar Speed Pick & Stomp Pedal — моторизированный медиатор на Arduino
- Понимание линейных моторов: от электрической энергии к точному линейному движению
- Серводвигатели: принцип работы и значение