Оглавление:

Классная доска для последователей линии Arduino Wallrides: 8 шагов (с изображениями)
Классная доска для последователей линии Arduino Wallrides: 8 шагов (с изображениями)

Видео: Классная доска для последователей линии Arduino Wallrides: 8 шагов (с изображениями)

Видео: Классная доска для последователей линии Arduino Wallrides: 8 шагов (с изображениями)
Видео: Использование виртуальной доски Bitpaper 2024, Июль
Anonim
Image
Image

Следить за линией на земле слишком скучно!

Мы постарались под другим углом взглянуть на последователей линии и перенести их в другую плоскость - на школьную доску.

Посмотри, что из этого вышло!

Шаг 1. Что вам нужно?

Как собрать? Соберите шасси
Как собрать? Соберите шасси

Для одного гоночного робота:

Механика:

1 x 2WD шасси робота miniQ; Это многофункциональная платформа для создания простых двухколесных роботов

2 x 6V Micro мотор-редуктор с передаточным числом 1: 150; Мотор-редукторы, входящие в состав роботизированной платформы miniQ, имеют передаточное число 1:50 и работают слишком быстро. Их следует заменить на более мощные двигатели, например, с передаточным числом 1: 150 или выше. Чем выше передаточное число, тем медленнее робот движется по доске, но тем меньше вероятность скольжения колес

4 неодимовых магнита; Вам понадобятся небольшие магниты толщиной 3 мм с диаметром 12 мм (для тех, у кого круглая форма) или со стороной 12 мм (для тех, у кого квадратная форма). Также магниты должны иметь отверстие для крепежного винта с потайной головкой, как правило, для M3. Иногда производители указывают прочность магнитной муфты. Он должен быть в диапазоне от 2 кг до 2,4 кг

Электроника:

1 х Arduino UNO; Бортовой компьютер. Самая популярная платформа для прототипирования

1 модуль октолинера; Глаза и фары вашего гоночного бота. Octoliner - это датчик холодного трубопровода, состоящий из 8 отдельных инфракрасных датчиков, управляемых через интерфейс I2C

1 х моторный щит; Вам подходит практически любой модуль. Я использовал этот аналог на микросхеме L298p

1 х 2-элементный литий-полимерный аккумулятор 7,4 В; Он может давать большой ток, необходимый двигателям для преодоления притяжения магнитов. Двухэлементный аккумулятор имеет напряжение в диапазоне от 7,4 до 8,4 В. Этого достаточно для моторов на 6В и встроенного регулятора напряжения на плате Arduino. Можно выбрать любую емкость. Чем емнее аккумулятор, тем дольше робот ездит, но учтите, что слишком емкий аккумулятор может быть тяжелым. Емкость в диапазоне от 800 мАч до 1300 мАч является оптимальной

Разное:

4 x мужской-женский провод;

Распорка 4 x M3 или стойка «папа-мама» длиной 10 мм;

3 распорки M3 или распорка «папа-мама» длиной 25 мм или более;

4 винта M3x8 с потайной головкой и потайной головкой;

1 х нейлоновый винт M3;

1 х нейлоновая шестигранная гайка M3;

Любые винты М3 и шестигранные гайки

Для класса:

Магнитная доска, висящая на стене;

Толстые черные магнитные маркеры Board;

Специальное зарядное устройство для LiPo аккумуляторов или несколько зарядных устройств, если вы хотите сделать много роботов и заряжать их по отдельности

Шаг 2: как собрать? Соберите шасси

Вначале необходимо собрать платформу шасси miniQ, предварительно заменив двигатели из комплекта на более мощные с передаточным числом 1: 150. Не забудьте припаять провода к контактам мотора!

Шаг 3: как собрать? Установите магниты

Как собрать? Установите магниты
Как собрать? Установите магниты

Установите магниты на платформу miniQ. Используйте стойки M3x10, винты с потайной головкой M3x8 или M3x6 и гайки M3. Необходимые установочные отверстия показаны на рисунке.

Это важно!

Длина стоек должна быть ровно 10 мм. После установки магнитов проверьте платформу на доске. Все четыре магнита должны быть рядом с магнитной доской, а резиновые шины на колесах платформы miniQ должны быть предварительно нагружены и обеспечивать некоторое трение с поверхностью доски.

Перемещайте робота по доске вручную. Во время езды магниты не должны отрываться от доски. Если какой-либо магнит оторвался, значит, резиновые шины на колесах максимально нагружают. В этом случае увеличьте расстояние 10 мм между стойками на 1 или 2 мм, добавив пару шайб M3, и повторите попытку.

Шаг 4: Как собрать? Добавьте электронику

Как собрать? Добавьте электронику
Как собрать? Добавьте электронику

Установите плату Arduino UNO на платформу, используя стойки M3x25, винты M3 и гайки M3. Не используйте короткие стойки, оставьте немного места под платой Arduino для проводов и аккумулятора.

Установите моторный щит на плату Arduino UNO.

Установите модуль Octoliner. Прижмите его к платформе с помощью нейлонового винта M3 и гайки.

Это важно!

Не используйте металлические крепления для крепления Octoliner. Некоторые монтажные отверстия на коммутационной плате припаяны и используются в качестве контактов ввода-вывода. Во избежание коротких замыканий используйте пластиковую застежку, например, нейлоновую.

Шаг 5: Как собрать? Электропроводка

Как собрать? Электропроводка
Как собрать? Электропроводка

Свяжите все электронные компоненты, как показано на схеме. Модуль Octoliner подключается через 4 провода (GND, 5V, SDA, SCL) к Arduino UNO. Подключите двигатели к экрану двигателя. Батарея LiPo связана с контактными площадками внешнего источника питания на щите двигателя, а также с контактом VIN на плате Arduino. Вместо вывода VIN можно использовать разъем питания 5,5 x 2,1 мм на плате.

Это важно!

При использовании экрана двигателя провода не нужны. Два моторных канала управляются 4-мя контактами. 2 контакта PWM отвечают за скорость вращения, а 2 контакта DIR - за направление вращения. Обычно они уже связаны с определенными контактами платы Arduino, и их порядковые номера могут отличаться в зависимости от производителя щита. Например, для моего Motor Shield номера: D4 D5 (DIR и PWM для первого канала) и D7 D6 (DIR и PWM для второго канала). Для оригинального щитка двигателя Arduino номера контактов соответствуют D12 D3 (DIR и PWM для первого канала) и D13 D11 (DIR и PWM для второго канала).

Это важно!

Батареи Hobby LiPo не имеют платы защиты от обратной полярности! Случайное замыкание положительного и отрицательного контактов приведет к необратимому выходу из строя аккумулятора или возгоранию.

Шаг 6: Как программировать? XOD

Составить программу для такого гоночного робота даже проще, чем собрать его.

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

Чтобы запрограммировать этого робота, вам нужно добавить всего одну библиотеку амперка / октолинера в ваше рабочее пространство XOD. Это необходимо для работы с восьмиканальным линейным датчиком.

Шаг 7: Как программировать? Пластырь

Как программировать? Пластырь
Как программировать? Пластырь

Программа основана на принципе работы ПИД-регулятора. Если вы хотите узнать, что такое ПИД-регулятор и как он работает, вы можете прочитать другую статью на эту тему.

Взгляните на патч с программой-роботом. Посмотрим, какие узлы на нем присутствуют и как все это работает.

октолин

Это узел быстрого запуска из библиотеки XOD amperka / octoliner, который представляет модуль Octoliner, отслеживающий линию. Он выводит «значение отслеживания линии», которое находится в диапазоне от -1 до 1. Значение 0 показывает, что линия находится в центральном положении относительно инфракрасных датчиков на плате Octoliner (между CH3 и CH4). Значение -1 соответствует крайнему левому положению (CH0), а 1 - крайнему правому положению (CH1). На загрузочном узле инициализирует датчики оптопары и устанавливает их параметры яркости и чувствительности по умолчанию. Входы для этого узла - это I2C-адрес устройства (ADDR для платы Octoliner это 0x1A) и частота обновления значения отслеживания линии (UPD), я установил ее как непрерывную.

Значения отслеживания линии подаются непосредственно на узел pid-контроллера.

pid-контроллер

Этот узел, реализующий работу PID-контроллера в XOD. Целевое значение (TARG) для него равно 0. Это состояние, когда линия находится точно в центре под роботом. Если значение отслеживания линии равно 0, ПИД-регулятор сбрасывается через вывод RST. Если значение отслеживания линии отличается от 0, ПИД-регулятор преобразует его, используя коэффициенты Kp, Ki, Kd, в значения скорости двигателя. Значения коэффициентов подобраны экспериментально и равны 1, 0,2 и 0,5 соответственно. Скорость обновления (UPD) ПИД-регулятора установлена на непрерывную.

Обработанное значение ПИД-регулятора вычитается из 1 и прибавляется к 1. Это делается для десинхронизации двигателей, чтобы они вращались в противоположных направлениях при потере линии. Значение 1 в этих узлах представляет максимальную скорость двигателей. Вы можете уменьшить скорость, введя меньшее значение.

ч-мост-двигатель постоянного тока

Пара этих узлов отвечает за управление левым и правым двигателями робота. Здесь установите значения выводов PWM и DIR, через которые работает ваш Motor Shield.

Прошейте патч и попробуйте своего гоночного бота. Если точно следовать инструкции по сборке, менять патч или настраивать ПИД-регулятор не нужно. Указанные настройки вполне оптимальны.

Готовую программу можно найти в библиотеке gabbapeople / whiteboard-races

Шаг 8: Витрина и советы

Рекомендуемые: