Робот-трассер V4 на Arduino Nano: продвинутая линия с PID и кастомным PCB
Компоненты и материалы
- Кастомный PCB (JLCPCB) — служит шасси — 1 шт.
- Arduino Nano R3 — 1 шт.
- Драйвер моторов MX1508 (mini L298N) — 1 шт.
- Микромотор-редуктор 6V — 2 шт.
- Оптические сенсоры CNY70 — 8 шт. (аналоговые входы A0–A7)
- Стабилизатор 7805 — 1 шт.
- Конденсаторы, резисторы, светодиоды SMD 1206, DIP-переключатель, тактовая кнопка, шарикоподшипник, колёса RD-34, держатель 2×14500 (3.7V Li-ion)
Инструменты
Паяльник, припой, третья рука с лупой, мультитул.
О проекте
Вторая версия робота-трассера. PCB спроектирован в EasyEDA, изготовлен JLCPCB — качество и скорость доставки впечатлили. PCB одновременно является шасси.
Алгоритм
- Калибровка: 8 сенсоров CNY70 считываются аналогово. Диапазон нормализуется 0 (белый) – 1000 (чёрная линия).
- Позиция: взвешенное среднее даёт позицию 0 (крайний левый) – 7000 (крайний правый). Центр = 3500.
- Ошибка P:
error = position - 3500(диапазон -3500…+3500). - PID (полный): Пропорционально-интегрально-дифференцирующий регулятор сглаживает коррекцию и возвращает на трассу.
- Память последнего сенсора: запоминается, какой крайний сенсор видел линию — используется для восстановления при потере.
Результаты
- Потребление: максимум ~200 мА.
- Робот уверенно проходит трассу, код продолжает улучшаться.
- Дополнительно: симуляция в Webots для виртуального тестирования механики и логики.
Код
Полный скетч и история коммитов на GitHub:
github.com/DrakerDG/Speed-Line-Follower-Robot
Схема
Схема интегрирована в PCB (файлы проекта в репозитории). Основные узлы: питание 7805 → 5V для логики, Li-ion → моторы через MX1508, CNY70 → A0–A7, индикация на SMD LED.
Производственный процесс
- DIY робот в стиле Wall‑E на Raspberry Pi из коробки от CD
- Робот-будильник на колесах: умная мобильная система пробуждения на Raspberry Pi и Google Calendar
- EMAR Mini: Компактный открытый робот экстренной помощи для борьбы с COVID-19
- Создание робота с компьютерным зрением и голосовым управлением на Windows 10 IoT Core
- ROS-робот: Управление навигацией из терминала на Raspberry Pi
- Sepro ускоряет литьё под давлением с Speed S5‑25 и коллаборативным Seprobot
- Wittmann Battenfeld запускает линейку WX153: передовые роботы для литья с высокой зажимной силой
- FANUC расширяет линейку SCARA: шесть моделей, нагрузка 3–20 кг, захват 400–1100 мм
- Ключевые особенности премиального ПО симуляции роботов для успешной автоматизации
- Высокоточные высокоскоростные резельные линии: принцип работы и значение