Astapro.ru

33 квадратных метра
2 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Самодельный робот пылесос на ардуино

Собираем робот-пылесос на Arduino


Шаг первый. Создаем поворотную платформу для робота
Для своей первой самоделки автор использовал танк из игры «Танковый бой», из игрушки были выброшены все лишние детали, остался только корпус, а также двигатели и колеса. После этого был установлен Arduino UNO, драйвер двигателей и ультразвуковой дальномер. В качестве источника питания использовались три литиевые батареи по 3.7 В.

Такая конструкция имела ряд минусов. К примеру, из-за того, что колеса находились сзади платформы, у робота возникали проблемы при повороте, робот часто буксовал.

Также из-за очень большой скорости передвижения робот порой не успевал реагировать на сигналы дальномера и врезался.


Все проблемы были решены путем сборки новой платформы из картона. Для этого нужно вырезать 2 круга диаметром 30 см, а затем склеить их поперек волокон. В итоге получается довольно прочная конструкция на изгиб. Что касается моторчиков и редукторов, то они были взяты из предыдущей самоделки.

Шаг второй. Создаем сенсоры
Изначально робот ориентировался за счет дальномеров, но автору их работа не понравилась и в итоге было решено от их избавиться. На их смену пришли контактные бампера, при этом робот стал вести себя адекватнее, да и вложений при этом требуется меньше.




Контактные бампера изготавливаются очень просто. Нужно взять картон и на одну его сторону приклеить фольгу, это будет первым контактом. К этой фольге нужно подать напряжение +5 В. Напротив платформы нужно установить изогнутый проводок от витой пары, он подключается через резистор, благодаря этому ложных срабатываний будет меньше. Когда робот будет во что-то врезаться, то будут замыкаться контакты, и затем электроника будет разворачивать робота в другом случайном направлении.

Шаг третий. Делаем пылесос и пылесборник
Благодаря таким материалам как картон и скотч можно быстро собрать практически любой макет. Для работы турбины используется источник питания в 18 Вольт, напрямую от батареи. При такой нагрузке кулеры греются, но работают.









Для изготовления турбины берется кулер от компьютера и затем от него отламываются все лопасти. Далее на кулер крепится турбина от пылесоса, ее нужно приклеить суперклеем. Самое главное здесь — приклеить точно, не должно быть дисбаланса. Без нагрузки и питании 18 Вольт кулер выдает порядка 2600 RPM, что создает отличную тягу. В заключении вся конструкция собирается так, как можно увидеть на фото и после этого робота можно испытывать.

Что касается алгоритма работы, то он очень простой. Если робот во что-то врезается, он затем разворачивается на случайный угол.
В будущем автор планирует сделать платформу из фанеры, чтобы она была прочнее. Еще в планах установка двух щеток спереди для более эффективной сборки мусора. Выдуваемый воздух можно направить под платформу, чтобы пыль собиралась эффективнее.
Источник

DIY: Несложный робот пылесос под Arduino своими руками. Пошаговая инструкция по изготовлению

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

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

Материалы и компоненты:

Для создания робота-уборщика необходимы:

  • плата Arduino;
  • плата контроля электромоторов Arduino motor shield;
  • два двигателя с коробкой передач (3 вольта, приблизительно 100 оборотов в минуту);
  • два колеса или две алюминиевые банки;
  • турбина-кулер компьютерного охлаждения (5 В или 12 Вольт);
  • аккумулятор для питания 5 вольт;
  • пластина для сбора радиоэлементов и провода;
  • большой круглый пластиковый контейнер — для корпуса;
  • небольшой пластиковый контейнер — для мусоросборника;
  • картон;
  • термоклей;
  • магниты.

Шаг 1: Программный код и скетч:

Для правильной и точной работы в роботе-пылесосе существует «сердце» в виде микроконтроллера Arduino, программируемого с помощью домашнего ПК и необходимого программного обеспечения.

Скетч для работы робота-пылесоса загружается на плату с помощью программы Arduino IDE. Ниже программный код.

/*
Program for controlling a robot with two motors.
The robot turns when motors changes their speed and direction.
Front bumpers on left and right sides detect obstacles.
Ultrasonic sonars can be connected to analog inputs (tested on LV-MaxSonar-EZ1):
— put pins in array sonarPins in following order: left, right, front, others..
Examples:
1. only left and right sonars connected to pins 2 and 3: sonarPins[] = <2,3>
2. left, right and front sonars connected to pins 2, 3 and 5: sonarPins[] = <2,3,5>
3. only front sonar connected to pin 5: sonarPins[] = <-1,-1,5>
4. only left sonar connected to pin 2: sonarPins[] = <2>
5. only right sonar connected to pins 3: sonarPins[] = <-1,3>
6. 5 sonars connected to pins 1,2,3,4,5: sonarPins[] = <1,2,3,4,5>
Motor shield is used to run motors.
*/
const int Baud = 9600; //UART port speed

Читать еще:  Как открыть пейнтбольный клуб подробная инструкция

//Sonar properties
int sonarPins[] = <1, 2>;//Analog Pin Nums to sonar sensor Pin AN
const long MinLeftDistance = 20; //Minimum allowed left distance
const long MinRightDistance = 20; //Minimum allowed right distance
const long MinFrontDistance = 15; //Minimum allowed front distance
const int SamplesAmount = 15;//more samples — smoother measurement and bigger lag
const int SonarDisplayFrequency = 10; //display only one of these lines — not all
int sonarDisplayFrequencyCount = 0;
const long Factor = 2.54 / 2;
long samples[sizeof(sonarPins)][SamplesAmount];
int sampleIndex[sizeof(sonarPins)];

//right side
const int pinRightMotorDirection = 4; //this can be marked on motor shield as «DIR A»
const int pinRightMotorSpeed = 3; //this can be marked on motor shield as «PWM A»
const int pinRightBumper = 2; //where the right bumper is connected

//left side
const int pinLeftMotorDirection = 7; //this can be marked on motor shield as «DIR B»
const int pinLeftMotorSpeed = 6; //this can be marked on motor shield as «PWM B»
const int pinLeftBumper = 8; //where the right bumper is connected

//uncomment next 2 lines if Motor Shield has breaks
//const int pinRightMotorBreak = PUT_BREAK_PIN_HERE; //this can be marked on motor shield as «BREAKE A»
//const int pinLeftMotorBreak = PUT_BREAK_PIN_HERE; //this can be marked on motor shield as «BREAKE B»

//fields
const int turnRightTimeout = 100;
const int turnLeftTimeout = 150;
//set in counter how long a motor is running back: N/10 (in milliseconds)
int countDownWhileMovingToRight;
int countDownWhileMovingToLeft;

//Initialization
void setup() <
Serial.begin(Baud);
initPins();

//uncomment next 4 lines if Motor Shield has breaks
// pinMode(pinLeftMotorBreak, OUTPUT);
// pinMode(pinRightMotorBreak, OUTPUT);
// digitalWrite(pinLeftMotorBreak, LOW); //turn off breaks
// digitalWrite(pinRightMotorBreak, LOW); //turn off breaks

runRightMotorForward();
runLeftMotorForward();
startMotors();
>

//Main loop
void loop() <

delay(10);//repeat every 10 milliseconds
>

//—————————————————
void initPins() <
pinMode(pinRightMotorDirection, OUTPUT);
pinMode(pinRightMotorSpeed, OUTPUT);
pinMode(pinRightBumper, INPUT);
pinMode(pinLeftMotorDirection, OUTPUT);
pinMode(pinLeftMotorSpeed, OUTPUT);
pinMode(pinLeftBumper, INPUT);
for(int i = 0; i MinRightDistance //checks if the minimum allowed right distance is not reached
&& measureDistance(2, ‘F’) > MinFrontDistance)//checks if the minimum allowed front distance is not reached
return;
if(checkCounterIsNotSet(countDownWhileMovingToRight))//if the counter is not yet counting down
runRightMotorBackward();//run the right motor backward
countDownWhileMovingToRight = turnRightTimeout;//set the counter to maximum value to start it counting down
>

void verifyAndSetLeftSide() <
if(checkBumperIsNotPressed(pinLeftBumper) //checks if left bumper has NOT been pressed
&& measureDistance(0, ‘L’) > MinLeftDistance //checks if the minimum allowed left distance is not reached
&& measureDistance(2, ‘F’) > MinFrontDistance)//checks if the minimum allowed front distance is not reached
return;
if(checkCounterIsNotSet(countDownWhileMovingToLeft))//if the counter is not yet counting down
runLeftMotorBackward();//run the right motor backward
countDownWhileMovingToLeft = turnLeftTimeout;//set the counter to maximum value to start it counting down
>

bool checkCounterIsNotSet(int counter) <
return counter = sizeof(sonarPins) — 1 || sonarPins[pinIndex] = SamplesAmount)
sampleIndex[pinIndex] = 0;
samples[pinIndex][sampleIndex[pinIndex]] = value;
return true;
>

long calculateAvarageDistance(int pinIndex) <
long average = 0;
for(int i = 0; i

Шаг 2: Монтирование деталей:

Для крепления сервоприводов с колесами, кулера, плат управления, аккумулятора и другого используется картонная основа. Турбина и пластиковый контейнер (мусоросборник), с проделанным предварительно отверстием, прочно склеивается между собой и крепится на картон. Контейнер имеет отверстие для выдуваемого воздуха, на которое наклеена специальная синтетическая ткань, служащая фильтром.

Последовательно склеиваем кулер с сервоприводами, затем на сервоприводы клеим картонную площадку, на которой располагаются платы Arduino и батарея питания. Чтобы сделать колеса, необходимо отрезать нижнюю и верхнюю часть алюминиевых банок, склеить их между собой, а затем прочно закрепить на валу сервопривода.

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


Шаг 3: Установка корпуса:

При установке аккумуляторной батареи и подключении всех элементов конструкции с помощью проводов, необходимо обеспечить устройство прочным корпусом. Как раз таки для этого используется большой круглый контейнер. Для действия контактов, предотвращающих столкновение и застревание, делаем в контейнере специальные надрезы. Чтобы корпус был легкосъемным и прочно держался на механической части, используем восемь магнитов (при желании можно больше), по четыре приклеенных на самом контейнере и на внутренней части пылесоса соответственно.

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

Читать еще:  Условные графические обозначения на электрических принципиальных схемах

Робот пылесос на ардуино

Показано, как делать робот-пылесос. Он автоматически объезжает препятствия и пылесосит, при этом собирает бумажки, крошки различного происхождения.

Нужен стандартный набор для arduino машинки. Берём одну arduino uno, драйвер двигателя l298n, датчик приближенности, старый вентилятор и системного блока компьютера. Сначала взял толстую гофрокартон, вырвали снимок кружок, установил вентилятор, размер. Начал вырезать. Размер восьмиугольника должен быть несколько меньше вентилятора. Затем взял вентилятор и попробовал вставить туда в отверстие. Думал, что контур немного растянется. Но так не случилось. Немного подрезал и только после этого получилось установить вентилятор. Высота вентилятора над столом должно получиться небольшой, около 0,5 см. Только при этом он будет хорошо всасывать пыль. Затем установил двигатели и приклеил всё с помощью термоклея. В том числе и вентилятор. Его нужно клеить после того, как установлены моторы, чтобы видеть необходимо высоту. Практика показала, что хорошо будет всасываться мусор, если высота над столом от 0,5 до 1 см. Затем занялся установкой еще одного колеса, чтобы это система стояла на трех колесах. Третье колесо вращается не будет.
Все элементы пылесоса присоединяется с помощью термоклея. Для подобного устройства такой прочности предостаточно.

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

Кнопка установил сбоку, но практика показала, что это не совсем правильное решение, потому что робот сам себя несколько раз отключал. Он ударился о стену именно этой кнопкой. В принципе, это не совсем классический пылесос, потому что обычно используется коробка. А здесь стоит прямо на всасывание. Но это не ухудшает характеристик. Обратите внимание, что мастер взял обычный вентилятор, не предназначен для того, чтобы сосать были. Он просто дует воздух. Поэтому, если вы хотите создать пылесос, который будет сосать не только бумагу, то нужно установить двигатель помощнее. И придать лопастями необходимую для пылесоса конфигурацию. Весь процесс создания робота занял около 3 часов. Как видите, ничего сложного нет. Самое сложное в этом деле, это программирование. В этом случае мастер программируют лишь немного. Он взял свою машину, который объезжает препятствия, и чуть-чуть изменил, чтобы ограничить скорость передвижения робота. Для этого применил шим выводы на arduino и подключил их соответствующим выводом на драйвере двигателя. Кстати, он не такой и маленький расчёт радиатора. Но у него есть большой плюс по сравнению с другими драйверами двигателей. А именно, вывод на 50. Им очень удобно, сервоприводы а также arduino. Если вам не нравится большой размер этого драйвера, то можно просто взять и убрать оттуда радиатор. Дело в том, что при использовании этих двух двигателей, он греется не сильно. Температура не поднимается выше 40 градусов. Схема получает питание с аккумулятора с через выключатель и nano драйвер двигателя. Сюда же подключен и вентилятор.

Как сделать робот-пылесос?

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

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

Робот-пылесос своими руками

Описание самодельного робота пылесоса

Если вы хотите создать механизм, который будет идеально подходить для очистки поверхностей пола в вашем доме, вам следует внимательно соблюдать все правила, которые предписывает схема сборки, представленная в следующем пункте.

Если вы все сделаете правильно, у вас получится модель, соответствующая этому описанию:

  • диаметр устройства составляет 30 сантиметров, высота – 9 сантиметров. Корпус сделан из вспененного поливинилхлорида. При этом толщина самого корпуса достигает 6 миллиметров;
  • в бампере установлены 4 датчика, посредством которых будет фиксироваться положение робота-пылесоса в пространстве. При этом имеется пара переключателей, подсоединенных на случай непредвиденных столкновений. Края обиты резиновой прокладкой, чтобы при случайном столкновении с мебелью не повредить ее;
  • емкость для пыли и мусора изготовлена из поливинилхлорида толщиной в 4 миллиметра. Фильтр для пыли изготовлен из 2 обыкновенных тряпичных салфеток, которые можно купить в каком угодно бытовом магазине. Крышка, защищающая содержимое мусорного контейнера, прикреплена к основанию при помощи магнитов;
  • турбина изготовлена из тонких пластиковых листов, фрагментов компьютерных дисков и поливинилхлорида;
  • верхняя крышка устройства держится на суперклее;
Читать еще:  Как отрегулировать сцепление на мотоблоке

  • инфракрасные датчики имеют 4 выхода подключения к системе «Ардуино». При этом обычный режим работы подразумевает выдачу логической единицы, а ситуация, в которой хотя бы один из датчиков системы срабатывает — логический ноль;
  • если ИК-датчик не сработал, а пылесос тем не менее наткнулся на какое-либо препятствие, его бампер нажмет на переключатель, что спровоцирует откат устройства на несколько сантиметров назад. После этого будет произведен разворот, а работа продолжится. Переключатели при этом нужны достаточно мощные, чтобы своевременно устанавливать бампер в исходное положение;
  • мотор, отвечающий за движение передней щетки, подключается в Arduino через MOSFET. При этом в том случае, когда робот-пылесос находится в движении, щетка вращается достаточно медленно для того, чтобы пыль, грязь и мусор не разбрасывались по комнате, а, наоборот, собирались вместе и втягивались в жерло. А если робот находится возле стены или угла, щетка ускоряет темп своей работы, так как большинство пыли и грязи как раз и скапливается вдоль плинтусов;
  • питание робота пылесоса осуществляют 4 литийионных аккумулятора, а также понижающий преобразователь переменного тока. Каждая пара вышеупомянутых литийионных аккумуляторов подключена последовательно;
  • основание устройства изготовлено из высокопрочной фанеры;
  • конструкция устройства подразумевает наличие 3 шариковых колес;
  • все щетки робота-пылесоса изготовлены из достаточно жесткой лески.

Схема сборки робота-пылесоса в домашних условиях

Чтобы правильно сделать робот-пылесос своими руками, необходимо придерживаться следующего алгоритма (схема должна выполняться в четко указанной последовательности):

  • Загрузить необходимое программное обеспечение. Если вы хотите сделать свой робот-пылесос максимально похожим на заводские аналоги (исходя из выполняемых функций), вам нужно будет загрузить на микроконтроллер «Ардуино» необходимое программное обеспечение. Это можно сделать при помощи обыкновенного персонального компьютера — достаточно лишь загрузить код на плату «Ардуино».
  • Закрепить основные компоненты. Чтобы средства передвижения робота-пылесоса, кулер, микросхемы, аккумуляторы и вся прочая начинка устройства были надежно закреплены, вам потребуется фанерная основа. Она же по совместительству будет днищем вашего пылесоса. Туда же крепятся предварительно склеенные между собой при помощи суперклея турбина и емкость для сбора отходов. Также контейнер должен быть оборудован специальной трубкой, через которую будет выводиться выдуваемый воздух. Она должна быть защищена плотной тканью, которая послужит средством фильтрации. Кулер должен быть последовательно склеен со всеми сервоприводами, после чего посажен на все ту же фанерную площадку, на которой к тому времени уже должны быть монтированы микросхемы и аккумуляторы для подпитки устройства. Колеса для робота пылесоса могут быть куплены на рынке (однако вы можете предпринять попытку сделать их своими руками из консервной банки).

Механическая часть робота-пылесоса

  • Установить бампер. В этой модели он изготавливается из поливинилхлорида. Однако возможны и металлические аналоги. В любом случае при столкновении он должен физически воздействовать на переключатель, который заставит аппарат двигаться в другую сторону. Также стоит отметить, что после столкновения бампер должен возвращаться на первоначальное место.
  • Установить корпус. Чтобы все содержимое конструкции было надежно защищено, лучше всего использовать корпус из поливинилхлорида. При этом на нем можно сделать надрезы, чтобы он лучше снимался. Крышка корпуса крепится при помощи магнитов. В идеале их должно быть не менее 8 (приветствуются вариации, в которых использовано большее их количество).

Изготовление робота-пылесоса в домашних условиях

Необходимые материалы

Чтобы сделать робот-пылесос своими руками, вам потребуются следующие материалы:

  • «Ардуино Про Мини» — главный мозг и информационный центр всей конструкции.
  • Драйвер моторов робота-пылесоса серии Л298Н.
  • Понижающий преобразователь переменного тока.
  • Модуль с мосфетом, посредством которого будет осуществляться контроль над темпом работы передней щетки устройства.
  • 4 инфракрасных датчика, которые будут фиксировать наличие препятствий на пути робота пылесоса.
  • Пара переключателей, которые будут изменять направление движение устройства при столкновении.
  • 3 шарообразных колеса.

Колеса для самодельного робота-пылесоса

  • Мотор, обеспечивающий вращение щетки в различных режимах.
  • Мотор высокой мощности, обеспечивающий нормальное функционирование турбины.
  • 4 литийионных аккумулятора, а также средство контроля над ними.
  • Фанерное основание нужного размера.
  • Корпус из поливинилхлорида нужного размера.
  • 8 пар магнитов для крепления.
  • Провода, кабели, переключатели и прочие элементы электрической сети.

Автор, специалист в сфере IT и новых технологий.

Получил высшее образование по специальности Фундаментальная информатика и информационные технологии в Московском государственном университете имени М.В. Ломоносова. После этого стал экспертом в известном интернет-издании. Спустя время, решил попробовать писать статьи самостоятельно. Ведет популярный блог на Ютубе и делится интересной информацией из мира технологий.

Ссылка на основную публикацию
Adblock
detector