Подготовка к практической реализации проекта
Рассмотрим применение вышеизложенных принципов на базе платформы Arduino Mega 2560. Процесс создания будет состоять из нескольких этапов:
- подготовка инструментов и материалов;
- изготовление корпуса с колесами и отделом под мусор, пылесборника и турбины;
- монтаж датчиков и микроконтроллера, моторов с редукторами, аккумулятора, щеток;
- выполнение электрических подключений;
- введение программы в Arduino, определение согласованности датчиков;
- проверка работоспособности робота-пылесоса и его способности заряжаться самостоятельно.
Идея реализуется с помощью следующих материалов и инструментов:
- контроллер Arduino – 1 шт, с драйверами;
- лист фанеры (либо плотный картон) – 1 м.кв;
- колеса – 3 шт;
- провод сечением не более 0,75 мм.кв (подойдет витая пара) – около 2 м;
- блок питания – 4 аккумулятора по 18 V, индикатор заряда к ним, зарядное устройство;
- инфракрасные датчики – 4 шт, контактные – 2 шт;
- электродвигатели: для турбины – 1 шт, вращающий щетку – 1 шт, 2 мотора с редуктором обеспечивают передвижение;
- поливинилхлоридный корпус – 1 шт;
- клей – 1 упаковка, саморезы – 10 шт, скотч – 1 шт, набор магнитов;
- набор отверток и сверл, плоскогубцы, нож канцелярский, карандаш, линейка, шуруповерт, электролобзик.
Теория
Самодельный робот-пылесос должен соответствовать различным требованиям. Основными можно назвать:
- Рекомендуется изготавливать конструкцию в форме небольшого цилиндра. Она исключает вероятность того, что устройство зацепится за различные объекты в помещении.
- Устройство должно разворачиваться на одном месте. Для этого нужно сделать колеса по периметру: 2 ведущих и 1 управляющий.
- Внутри конструкции должен располагаться приемник для мусора. Его форма и крепление должны обеспечивать легкое извлечение. При изготовлении контейнера часто применяется картон, верхняя крышка крепится магнитами. Предусматривается наличие фильтрующего элемента.
- Контактный бампер требуется для защиты пылесоса от ударов. Внутри этого элемента располагается датчик, срабатывающий при соприкосновении. Бампер изготавливается из поливинилхлорида, с наружной части может крепиться упругий материал.
- По периметру размещены ИК-датчики. Они предназначены для определения препятствий на пути.
- Зарядка устройства должна проводиться без разбора конструкции. Контроллер заряда позволяет исключить вероятность повреждения аккумулятора.
- Наилучшим местом для размещения центра тяжести являются колеса.
- Больше всего внимания уделяется выбору требуемого мотора. Он должен потреблять небольшое количество энергии, быть надежным.
Создать подобную конструкцию можно самостоятельно. Процесс делиться на несколько основных этапов:
- Подготовка требующихся материалов и инструментов.
- Изготовление основных частей.
- Монтаж датчиков, мотора, аккумулятора и других элементов.
- Выполняется электрическое подключение.
- Вводится требуемая программа, согласуется работа всех установленных датчиков.
Финишный этап предусматривает проверку работоспособности самодельного устройства.
Программирование и первый запуск
Для управления использовано 5 потенциометров (вполне можно заменить это на 1 потенциометр и два джойстика). Схема подключения с потенциометрами приведена в предыдущей части. Скетч для Arduino находится здесь.
Снизу представлены несколько видео робота-манипулятора в работе. Надеюсь, вам понравится.
На видео сверху представлены последние модификации арма. Пришлось немного изменить конструкцию и заменить несколько деталей. Оказалось, что сервы futuba s3003 слабоваты. Их получилось использовать только для схвата или поворота руки. Так что виесто них были установлены mg995. Ну а mg946 вообще будут отличным вариантом.
Программирование мобильного робота арудино
Для начала напишем простую программу для робота движения вперед. На следующем уроке мы разберем как управлять роботом программировать повороты направо, налево мобильного Arduino робота
В самом начале программы мы должны определить пины через которые мы будем управлять скоростью и направлением вращения моторов#define SPEED_1 6 //Пин для управления скоростью первого мотора
#define DIR_1 7 //Пин для управления направлением первого мотора
#define SPEED_2 5 // Пин для управления скоростью второго мотора
#define DIR_2 4 // Пин для управления направлением второго мотора
В блоке setup необходимо установить пины отвечающие за управлением моторами в режим OUTPUT Подробнее об управлением через пины ардуиноvoid setup() {
Serial.begin(9600);
pinMode(4, OUTPUT);
pinMode(5, OUTPUT);
pinMode(6, OUTPUT);
pinMode(7, OUTPUT);
}
В основной программе loop запрограммируем движение вперед мобильного робота ардуино.Для этого необходимо перевести пины отвечающие за направление в режим HIGH (в зависимости от подключения моторов у Вас за движение мотора вперед может быть режим LOW) Это цифорвые пины , поэтому используется команда digitalWrite(номерпина, HIGH)digitalWrite(DIR_1,HIGH);
digitalWrite(DIR_2, HIGH);
Установим скорости моторов с помощью записи в пины отвечающие за скорость уровня скорости вращения. Это аналоговые пины, поэтому используем команду analogWrite(номерпина, скорость). Скорость может изменяться в диапазоне от 1 до 255analogWrite(SPEED_1, 100);
analogWrite(SPEED_2,100);
И в конце установим время, сколько будет робот двигаться в таком режиме с помощью команды
delay(время в миллисекундах);
После движения необходимо остановить моторы, для этого скорость устанавливается в нольdigitalWrite(DIR_1,HIGH);
digitalWrite(DIR_2, HIGH);
analogWrite(SPEED_1, 0);
analogWrite(SPEED_2,0);
delay(время остановки в миллисекундах);Полная версия программы для движения мобильного робота ардуино вперед#define SPEED_1 6 // скорость первого мотора
#define DIR_1 7 // направление первого мотора
#define DIR_2 4 // направление второго мотора
#define SPEED_2 5 // скорость второго мотора
void setup() {
pinMode(4, OUTPUT);
pinMode(5, OUTPUT);
pinMode(6, OUTPUT);
pinMode(7, OUTPUT);
}
void loop() {
analogWrite(SPEED_1, 100);
digitalWrite(DIR_1,HIGH);
analogWrite(SPEED_2,100);
digitalWrite(DIR_2, HIGH);
delay(1000);
analogWrite(SPEED_1,0);
digitalWrite(DIR_1,HIGH);
analogWrite(SPEED_2,0);
digitalWrite(DIR_2, HIGH);
delay(10000);
}
Вернуться к содержанию курса Следующая тема Повороты мобильного робота ардуино
Полезно почитать по теме мобильные роботы arduinoМобильный робот arduino с драйвером l289Правильное питание мобильного робота arduinoРобот сумо arduino
Разработка проекта
На современном рынке представлено множество устройств Arduino, имеющих различную комплектацию. Но универсального решения «на все случаи жизни» не существует. В зависимости от поставленной задачи каждый комплект подбирается в индивидуальном порядке. Чтобы избежать ошибок, требуется разработка проекта.
Какие проекты можно создавать на Arduino?
Ардуино позволяет создавать множество уникальных проектов. Вот лишь некоторые из них:
- Сборка кубика Рубика (система справляется за 0,887 с);
- Контроль влажности в подвальном помещении;
- Создание уникальных картин;
- Отправка сообщений;
- Балансирующий робот на двух колесах;
- Анализатор спектра звука;
- Лампа оригами с емкостным сенсором;
- Рука-робот, управляемая с помощью Ардуино;
- Написание букв в воздухе;
- Управление фотовспышкой и многое другое.
Как подключить проходной выключатель: одноклавишный, двухклавишный, как обычный, схемы, критерии выбора
Составление проекта для умного дома
Рассмотрим ситуацию, когда необходимо сделать автоматику для дома с одной комнатой.
Такое здание состоит из пяти основных зон — прихожей, крыльца, кухни, санузла, а также комнаты для проживания.
При составлении проекта стоит учесть следующее:
- КРЫЛЬЦО. Включение света производится в двух случая — приближение хозяина к дому в темное время суток и открытие дверей (когда человек выходит из здания).
- САНУЗЕЛ. В бойлере предусмотрен выключатель питания, который при достижении определенной температуры выключается. Управление бойлером производится в зависимости от наличия соответствующей автоматики. При входе в помещение должна срабатывать вытяжка, и загорается свет.
- ПРИХОЖАЯ. Здесь требуется включение света при наступлении темноты (автоматическое), а также система обнаружения движения. Ночью включается лампочка небольшой мощности, что исключает дискомфорт для других жильцов дома.
- КОМНАТА. Включение света производится вручную, но при необходимости и наличии датчика движения эта манипуляция может происходить автоматически.
- КУХНЯ. Включение и отключение света на кухне осуществляется в ручном режиме. Допускается автоматическое отключение в случае продолжительного отсутствия перемещений по комнате. Если человек начинает готовить пищу, активируется вытяжка.
Отопительные устройства выполняют задачу поддержания необходимой температуры в помещении. Если в доме отсутствуют люди, нижний предел температуры падает до определенного уровня.
После появления людей в здании этот параметр поднимается до прежнего значения. Рекуперация воздуха осуществляется в случае, когда система обнаружила присутствие владельца. Продолжительность процесса — не более 10 минут в час.
Стоит обратить внимание, что если в доме планируется установка умных розеток, то для управления ими лучше использовать приложения на мобильных устройствах, WIFI или через SMS сообщения. Визуальное программирование для Arduino можно осуществлять с помощью специального приложения FLProg, которое можно скачать с официального сайта https://flprog.ru/
Визуальное программирование для Arduino можно осуществлять с помощью специального приложения FLProg, которое можно скачать с официального сайта https://flprog.ru/.
Создание прототипа робота пылесоса на базе Arduino Uno
Arduino — это открытая платформа, которая позволяет собирать всевозможные электронные устройства. Arduino будет интересен креативщикам, дизайнерам, программистам …., и желающим собрать собственный гэджет. Устройства могут работать как автономно, так и в связке с компьютером. Всё зависит от идеи. Платформа состоит из аппаратной и программной частей. Для программирования используется упрощённая версия C++. Разработку можно вести как с использованием бесплатной среды Arduino IDE, так и с помощью произвольного C/C++ инструментария. Для программирования и общения с компьютером понадобится USB-кабель.
Для постройки прототипа робота — пылесоса заказал плату Arduino Uno. Вместе c Uno заказал: Драйвер двигателей, для управления двигателями, Ик датчики «органы чувств» робота пылесоса, Ну и проводочки, куда без них? Преобразователь DC-DC и аккумуляторы заказывал в других онлайн магазинах.
Составляющие моего устройства:
— Arduino -центральный контроллер — Драйвер двигателей — устройство, которое преобразовывает управляющие сигналы малой мощности в токи, достаточные для управления моторами — ИК датчики — датчики препятствий расстояние обнаружения препятствия 3-80см — ИК датчики — датчики препятствий расстояние обнаружения препятствия 2-20см — Электродвигатель турбины — Электродвигатель боковых щеток — Электродвигатель центральной щетки — Электродвигатель перемещения — Аккумуляторы литиевые
Вот, что получилось. Фотки не все, загружаю, какие остались.
Компоненты устройства:
Первый пуск)) без корпуса
#define DriveVector1 2 #define DriveSpeed1 3 #define DriveVector2 4 #define DriveSpeed2 5 #define InSensor1 12 #define InSensor2 11 #define LedLamp 13
int sensorStatus1, sensorStatus2; int HIGHValue, LOWValue;
void setup() // put your setup code here, to run once: pinMode(DriveVector1, OUTPUT); pinMode(DriveVector2, OUTPUT); pinMode(DriveSpeed1, OUTPUT); pinMode(DriveSpeed2, OUTPUT); pinMode(LedLamp, OUTPUT); pinMode(InSensor1, INPUT); pinMode(InSensor2, INPUT); HIGHValue = HIGH div 2; LOWValue = LOW; >
sensorStatus1 = digitalRead (InSensor1); sensorStatus2 = digitalRead (InSensor2);
void BodyForward() digitalWrite(DriveVector1, LOWValue); digitalWrite(DriveSpeed1, HIGHValue); digitalWrite(DriveVector2, LOWValue); digitalWrite(DriveSpeed2, HIGHValue); >
void BodyBackward() digitalWrite(DriveVector1, HIGHValue); digitalWrite(DriveSpeed1, LOWValue); digitalWrite(DriveVector2, HIGHValue); digitalWrite(DriveSpeed2, LOWValue); >
void BodyRight() digitalWrite(DriveVector1, HIGHValue); digitalWrite(DriveSpeed1, LOWValue); digitalWrite(DriveVector2, LOWValue); digitalWrite(DriveSpeed2, HIGHValue); >
void BodyStop() digitalWrite(DriveVector1, 0); digitalWrite(DriveSpeed1, 0); digitalWrite(DriveVector2, 0); digitalWrite(DriveSpeed2, 0); >
Электросхема
Можно использовать вместо резистора R1 потенциометр на 100 кОм для регулировки яркости вручную. В качестве сопротивлени R2 использовались резисторы на 118 Ом.
Перечень основных узлов, которые использовались:
- R1 — резистор на 100 кОм
- R2 — резистор на 118 Ом
- Транзистор bc547
- Фоторезистор
- 7 светодиодов
- Переключатель
- Подключение к плате Arduino
В качестве микроконтроллера использовалась плата Arduino. В качестве питания использовался блок питания от персонального компьютера. Подключив мультиметр к красному и черному кабелям, вы увидите 5 вольт (которые используются для серводвигателей и ультразвукового датчика расстояния). Желтый и черный дадут вам 12 вольт (для Arduino). Делаем 5 коннекторов для сервомоторов, параллельно подключаем позитивные к 5 В, а негативные — к земле. Аналогично с датчиком расстояния.
После этого подключите оставшиеся коннекторы (по одному с каждой сервы и два с дальномера) к распаянной нами плате и Arduino. При этом не забудьте в программе в дальнейшем корректно указать пины, которые вы использовали.
Кроме того, на плате питания был установлен светодиод-индикатор питания. Реализуется это несложно. Дополнительно использовался резистор на 100 Ом между 5 В и землей.
10 миллиметровый светодиод на роботе тоже подключен к Arduino. Резистор на 100 Ом идет от 13 пина к к позитивной ноге светодиода. Негативный — к земле. В программе его можно отключить.
Для 6 серводвигателей использовано 6 коннекторов, так как 2 серводвигателя снизу используют одинаковый сигнал управления. Соответствующие проводники соединяются и подключаются к одному пину.
Повторюсь, что в качестве питания используется блок питания от персонального компьютера. Либо, конечно, вы можете приобрести отдельный источник питания. Но с учетом, того, что у нас 6 приводов, каждый из которых может потреблять около 2 А, подобный мощный блок питания обойдется недешево.
Обратите внимание, что коннекторы от серв подключаются к ШИМ-выходам Arduino. Возле каждого такого пина на плате есть условное обозначение ~
Ультразвуковой датчик расттояния можно подключить к пинам 6, 7. Светодиод — к 13 пину и земле. Это все пины, которые нам понадобятся.
Теперь мы можем перейти к программированию Arduino.
Перед тем как подключить плату через usb к компьютеру, убедитесь, что вы отключили питание. Когда будете тестировать программу, также отключайте питание вашей робо-руки. Если питание не выключить, Arduino получит 5 вольт от usb и 12 вольт от блока питания. Соответственно, мощность от usb перекинется к источнику питания и он немного «просядет».
На схеме подключения видно, что были добавлены потенциометры для управления сервами. Потенциометры не являются обязательным звеном, но приведенный код не будет работать без них. Потенциометры можно подключить к пинам 0,1,2,3 и 4.
Подключение батареи и моторов
При подключении батареи нужно быть абсолютно уверенным в правильности соблюдения полярности, как говорится 7 раз отмерь, один раз подключи. Старайтесь соблюдать такое правило — красны провод всегда к + питания, черный провод — земля, он же минус, он же GND. Производители стараются соблюдать такие же правила. Поэтому провода идущие от аккумуляторного отсека подсоединяем к колодке +M и GND, на плате управления двигателями. Провода от ходовых двигателей подключаем к колодкам M1, M2 платы управления двигателями. Левая сторона, по ходу движения подсоединяется к колодке M1, правая сторона к колодке M2. По поводу полярности двигателей пока волноваться не стоит, её можно будет поменять, если во время теста пойдёт что то не так.
Схема сборки робота-пылесоса в домашних условиях
Чтобы правильно сделать робот-пылесос своими руками, необходимо придерживаться следующего алгоритма (схема должна выполняться в четко указанной последовательности):
- Загрузить необходимое программное обеспечение. Если вы хотите сделать свой робот-пылесос максимально похожим на заводские аналоги (исходя из выполняемых функций), вам нужно будет загрузить на микроконтроллер «Ардуино» необходимое программное обеспечение. Это можно сделать при помощи обыкновенного персонального компьютера — достаточно лишь загрузить код на плату «Ардуино».
- Закрепить основные компоненты. Чтобы средства передвижения робота-пылесоса, кулер, микросхемы, аккумуляторы и вся прочая начинка устройства были надежно закреплены, вам потребуется фанерная основа. Она же по совместительству будет днищем вашего пылесоса. Туда же крепятся предварительно склеенные между собой при помощи суперклея турбина и емкость для сбора отходов. Также контейнер должен быть оборудован специальной трубкой, через которую будет выводиться выдуваемый воздух. Она должна быть защищена плотной тканью, которая послужит средством фильтрации. Кулер должен быть последовательно склеен со всеми сервоприводами, после чего посажен на все ту же фанерную площадку, на которой к тому времени уже должны быть монтированы микросхемы и аккумуляторы для подпитки устройства. Колеса для робота пылесоса могут быть куплены на рынке (однако вы можете предпринять попытку сделать их своими руками из консервной банки).
Механическая часть робота-пылесоса
- Установить бампер. В этой модели он изготавливается из поливинилхлорида. Однако возможны и металлические аналоги. В любом случае при столкновении он должен физически воздействовать на переключатель, который заставит аппарат двигаться в другую сторону. Также стоит отметить, что после столкновения бампер должен возвращаться на первоначальное место.
- Установить корпус. Чтобы все содержимое конструкции было надежно защищено, лучше всего использовать корпус из поливинилхлорида. При этом на нем можно сделать надрезы, чтобы он лучше снимался. Крышка корпуса крепится при помощи магнитов. В идеале их должно быть не менее 8 (приветствуются вариации, в которых использовано большее их количество).
Изготовление робота-пылесоса в домашних условиях
Щетки для уборки
Обычно в составе робота-пылесоса две боковые щетки для уборки. Они позволяют обеспечить более качественное избавление от пыли за одно движение техники. Проходя по полу, робот обеспечивает большую чистую полосу. Две боковые щетки отправляют всю пыль и грязь к основной турбощетке. Турбощетка переносит весь мусор в пылесборник. Для переноса использован всасывающий модуль.
Конструкция робота обеспечит качественную уборку даже в труднодоступных местах. Для того, чтобы добраться до плинтуса, необходима одна боковая щетка. Но пока до углов не может добраться ни одна модель интеллектуального пылесоса.
Для крупного мусора есть специальный скребок, он подбирает грязь с пола и отправляет в пылесборник.
Отличный вариант – робот Panda X600 Pet Series. Эта модель отличается хорошей мощностью, эффективной работой и легко ориентируется в пространстве. Дополнительным преимуществом модели является УФ-лампа для обеззараживания.
Материалы для сборки
Итак, для сборки робота-пылесоса нужно разобраться с его составными частями, пойдем по порядку. Он должен сам передвигаться по комнате, поэтому нужны двигатели, в зависимости от конечной конструкции их должно быть от 2-х до 4-х, а также возможность переключения направления вращения и скорость, значит, нужна плата для управления двигателями. Если вы используете двигатели постоянного тока, то нужна плата с 4-мя транзисторами (H-мост).
Самодельный робот-пылесос должен определять столкновения со стенами и мебелью. Для этого нужно предусмотреть датчики препятствия и концевые выключатели на «бампере». Также нужен сам рабочий орган – пылесос. При этом он должен быть рассчитан на работу от постоянного тока низкого напряжения (например, 12В).
Кроме пылесоса нужна подвижная (вращающаяся) щетка, которая будет отчищать поверхность, поднимать ворс половика, сметать мусор. Для этого нужен еще один или два моторчика.
Система, которая будет всем этим управлять. Простейший вариант на Arduino. Для такой задачи подойдет любая из плат, по размерам удобно разместить вариант Nano или Pro mini.
Инструкция по сборке робота-автомобиля
В этой статье расскажем вам о том, как по шагам собрать универсального робота на колесной или гусеничной платформе. Управлять им будет микроконтроллер Ардуино нано. Если вам не нравится долго читать, посмотрите в конце статьи на видео, подготовленное нашими партнерами – каналом ArduMast Club.
Пример платформы робота-машины на Ардуино
Предлагаем инструкцию по созданию универсальной платформы, которая потом пригодится для создания самых разных проектов, независимо от выбранного контролера или типа шасси. Вы можете использовать стандартные варианты из Алиэкспресса, как на видео, можете снабдить машину гусеницами и создать вездеход, можете придумать вообще ни на что не похожий вариант. Главное, чтобы число двигателей не превышало 4 и сами ни не были слишком мощными (тогда придется менять тип управления моторами – другой драйвер двигателя).
Робот на Ардуино
Для реализации проекта нам понадобится:
- Контроллер Ардуино (в нашем случае, Arduino Nano).
- Драйвер двигателя L298N.
- Двигатели с редукторами.
- Корпус и шасси для крепления колес и оборудования
- Корпус для аккумуляторов 18650 с выключателем.
- Коммутационные провода.
Дополнительное оборудование, которое потребуется для создания полноценного проекта:
- Датчик расстояния и серво-мотор, на который он установлен.
- Инфракрасные датчики линии.
- Светодиоды для индикации и “красоты”.
- Пьезодинамик – пищалка.
- Bluetooth модуль (если собираетесь управлять машинкой дистанционно).
- Sensor shield (упрощает коммутацию).
- Модуль контроля заряда и подзарядки аккумуляторов.
- Сами аккумуляторы.
Общая схема машинки на Ардуино
Схема электропитания робота автомобиля
Вопрос организации правильного стабильного электропитания является одним из самых важных в любом проекте.В нашей модели применена рекомендованная нами схема питания, основанная на использовании литийионных аккумуляторов формата 18650 и платы защиты их от переразряда и перезаряда.
Давайте разберем самый простой вариант схемы питания электромоторов. Перед началом сборки лучше заранее припаять провода к моторам.
Схема питания и подключения двигателей в ардуино автомобиле
Все достаточно стандартно и вы найдете в интернете десятки подобных примеров. Но в этой схеме есть большой минус – в случае полного разряда аккумуляторы придут в негодность.
Машинка на Ардуино
Для добавления контроллера разряда придется внести следующие изменения в схему:
Схема питания с контролем разряда аккумулятора
Теперь аккумуляторы будут защищены, но здесь нет возможности заряжать их.
Питание робота Ардуино
Для зарядки можно использовать модуль повышения напряжения с 5v до необходимого уровня зарядки, который зависит от количества серий используемых аккумуляторов. Он имеет гнездо типа микро USB и при частом использовании оно может сломаться, поэтому мы рекомендуем установить дополнительное гнездо для последующей подзарядки пяти вольтовым блоком питания. Для зарядки двух литий-ионных аккумуляторов необходимо настроить выходное напряжение на 8,4 Вольта.
Схема питания с модулем зарядки для ардуино робота машинки
Подключаем двигатели и плату
С питанием платформы мы разобрались, теперь подключим остальные компоненты. Для начала припаиваем провода к моторам, затем обматываем их изолентой, чтобы случайно в дальнейшем не оторвать контакты. Можно сделать так, что в итоге на 2 двигателя будут идти всего два провода вместо 4х. Это немного упростит монтаж и сэкономит место на платформе.
Монтируем драйвер двигателей на платформу так, чтобы его радиатор был спереди
ЭТО ВАЖНО! В противном случае, вам придется переписывать программу для микроконтроллера. Драйвер двигателя для Ардуино робота
Затем размещаем холдер и плату БМС. Не забываем оставлять место спереди для последующего монтажа каких-либо сенсоров. Ардуиио нужно разместить так, чтобы была в дальнейшем возможность подключить его к ПК для прошивки. Это же правило относится и к модулю для зарядки аккумуляторов.
Питание для ардуино и других электронных компонентов мы возьмем от драйвера двигателей.
Подключаем Bluetooth к машинке
Мы собираемся использовать модуль Bluetooth через SoftwareSerial (библиотеку SoftwareSerial.h), поэтому подключаем модуль блютуз к 3 и 4 цифровым пинам ардуино. RX к D3, TX к D4
Схема подключения Bluetooth к ардуино машинке
Подключаем Bluetooth
Схема подключения драйвера двигателя к роботу
Схема подключения компонентов к Arduino
Датчик расстояния машины
Платформа робота готова! Теперь осталось загрузить прошивку для контроллера Ардуино и программу для смартфона RC CAR. Вы можете посмотреть на нашем сайте обзор Android приложений для работы с Arduino.
Идея №1: робот-пылесос из картона
Основа робота делается из плотного картона. Его лучше склеить в пару слоев, а волокна разместить перпендикулярно. Для его технической начинки нужен такой набор деталей:
- Любая плата Arduino.
- Breadboard или простая макетная плата, в принципе можно и без неё, всё просто спаять.
- 2 ультразвуковых датчика расстояния (дальномер).
- Турбина от пылесоса.
- Небольшой двигатель или кулер от компьютера.
- Двигатели с редукторами и колеса.
- Контроллер для двигателя.
- Провода для соединений схемы.
- Аккумуляторы и контроллер заряда.
В качестве питания для робота нужно использовать 3 литиевых аккумулятора. Напряжение каждого из них 3,7 В. Для их заряда нужен контроллер. Например, такой как на фото:
Для управления двигателями привода робота удобно использовать модуль на L298-микросхеме. Схемотехнически это H-мост, вы можете его собрать своими руками из отдельных компонентов, но купить готовую плату будет надежнее. С его помощью вы можете задавать скорость движения робота-пылесоса и изменять направление вращения.
Для регулировки скорости на пин ENA или ENB подаётся ШИМ сигнал, а для задания направления вращения подают разноименные сигналы на IN1 и IN2 для одного двигателя и IN3, IN4 для другого двигателя. При этом если на пине IN1 у нас логическая единица, а на пине IN2 – логический ноль, двигатель крутится в одну сторону, чтобы сменить направление нужно поменять местами 1 с 0. Его нужно собрать с ардуино по такой схеме (пины можно использовать любые, это вы укажете в скетче).
Вот вид с нижней стороны. Два ведущих колеса с угловым редуктором и поворотное колесо:
Теперь нужно собрать схему, которая монтируется на основание. Диаметр основания должен быть около 30 см, чтобы туда влезла и электроника и сам блок пылесоса.
Вместо дальномеров можно использовать вариант с бамперами, которые соединены с концевыми выключателями. При столкновении с препятствием система управления даст сигнал о смене направления движения.
Контактные бампера можно сделать и своими руками, для этого нужен тонкий, но жесткий провод, например от витой пары. Для этого формирует контактную площадку на внутренней стороне бампера из фольги, и закрепляем проводник как это показано ниже. При столкновениях робота-пылесоса с мебелью и стенами они будут соприкасаться. Вам остается отрегулировать расстояние от проволоки до фольги, чтобы добиться нужной чувствительности и исключить ложные срабатывания. На фольгу подается 5В, а провод идёт на вход Ардуино, подтянутый к минусу через резистор на несколько кОм.
Устройство питается от аккумуляторов, для питания системы управления можно применить линейные стабилизаторы типа l7805. Чтобы отрегулировать скорость вращения моторов подойдет понижающий преобразователь, например LM2596.
Самое сложное — это сконструировать и собрать пылесос. Вот его приблизительный чертеж:
Отламываем родные лопасти от кулера, и закрепляем на его роторе турбину от пылесоса
Важно закрепить турбину точно в центре, иначе вы получите дисбаланс и вибрации
Вот так выглядит обратная сторона турбины, закрепленной на роторе кулера. Закрепить её можно на термоклей или на суперклей
Вот и вся пошаговая инструкция по сборке робота-пылесоса, сделанного из подручных материалов. Алгоритм его работы такой: робот-пылесос едет вперед, пока не встретит препятствие. После столкновения (или приближения, если вы используете УЗ дальномеры) останавливается, отъезжает назад на заданное расстояние, разворачивается на произвольный угол и едет дальше.
Сборка робота-пылесоса
Подготовив все необходимое можно приступать к сборке. Она заключается в прохождении вышеописанных этапов.
Все детали закрепляются на имеющиеся для этих целей у них разъемы саморезами либо клеем, скотчем. Полученный результат представлен на фотографии:
Science Vetal
Показано, как делать робот-пылесос. Он автоматически объезжает препятствия и пылесосит, при этом собирает бумажки, крошки различного происхождения.
Нужен стандартный набор для arduino машинки. Берём одну arduino uno, драйвер двигателя l298n, датчик приближенности, старый вентилятор и системного блока компьютера. Сначала взял толстую гофрокартон, вырвали снимок кружок, установил вентилятор, размер. Начал вырезать. Размер восьмиугольника должен быть несколько меньше вентилятора. Затем взял вентилятор и попробовал вставить туда в отверстие. Думал, что контур немного растянется. Но так не случилось. Немного подрезал и только после этого получилось установить вентилятор. Высота вентилятора над столом должно получиться небольшой, около 0,5 см. Только при этом он будет хорошо всасывать пыль. Затем установил двигатели и приклеил всё с помощью термоклея. В том числе и вентилятор. Его нужно клеить после того, как установлены моторы, чтобы видеть необходимо высоту. Практика показала, что хорошо будет всасываться мусор, если высота над столом от 0,5 до 1 см. Затем занялся установкой еще одного колеса, чтобы это система стояла на трех колесах. Третье колесо вращается не будет.
Все элементы пылесоса присоединяется с помощью термоклея. Для подобного устройства такой прочности предостаточно.
Кашаса всасывание мусор зависит от скорости работы, она не должна быть большой. Необходимо вставить глаза. Используем датчик ультразвуковой для arduino.
Кнопка установил сбоку, но практика показала, что это не совсем правильное решение, потому что робот сам себя несколько раз отключал. Он ударился о стену именно этой кнопкой. В принципе, это не совсем классический пылесос, потому что обычно используется коробка. А здесь стоит прямо на всасывание. Но это не ухудшает характеристик
Обратите внимание, что мастер взял обычный вентилятор, не предназначен для того, чтобы сосать были. Он просто дует воздух
Поэтому, если вы хотите создать пылесос, который будет сосать не только бумагу, то нужно установить двигатель помощнее. И придать лопастями необходимую для пылесоса конфигурацию. Весь процесс создания робота занял около 3 часов. Как видите, ничего сложного нет. Самое сложное в этом деле, это программирование. В этом случае мастер программируют лишь немного. Он взял свою машину, который объезжает препятствия, и чуть-чуть изменил, чтобы ограничить скорость передвижения робота. Для этого применил шим выводы на arduino и подключил их соответствующим выводом на драйвере двигателя. Кстати, он не такой и маленький расчёт радиатора. Но у него есть большой плюс по сравнению с другими драйверами двигателей. А именно, вывод на 50. Им очень удобно, сервоприводы а также arduino. Если вам не нравится большой размер этого драйвера, то можно просто взять и убрать оттуда радиатор. Дело в том, что при использовании этих двух двигателей, он греется не сильно. Температура не поднимается выше 40 градусов. Схема получает питание с аккумулятора с через выключатель и nano драйвер двигателя. Сюда же подключен и вентилятор.
В современном ритме жизни не всегда получается поддерживать в доме чистоту. В этом деле поможет современные технологии. Робот-пылесос появился более 15 лет назад. Его типовой внешний вид напоминает крупную шайбу, которая передвигается по комнате по заданному алгоритму или случайным образом (пока на что-нибудь не наткнется) и собирает мусор. Предлагаем вам изучить 2 пошаговые инструкции, позволяющие сделать робот-пылесос своими руками.