Как стать автором
Обновить
0

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

Время на прочтение 5 мин
Количество просмотров 26K
Как аппетит просыпается во время еды, так и желание создавать растет с количеством реализованных проектов. А последовательное использование изученных технологий повышает интерес и качество. Эта история началась с того, что я собрал 3D-принтер 3D MC3 Мастер v1.1 и сделал подвижные ушки с реакцией на звук.
А вот дальше захотелось не просто создать что-то занимательное, но и полезное. Поэтому я начал работу над созданием своего робота пылесоса и призываю все Хабрасообщество подключиться и помочь где-то советом, а где-то логикой и опытом.





Ну а поскольку у меня уже есть 3D-принтер, то максимум возможных частей я буду печатать сам. А контроллер Arduino Mega 2560 и исполнительные механизмы я успешно нашел на сайте МАСТЕР КИТ. Но к железу мы вернемся позже, а сначала надо разобраться с логикой движения и действий робота пылесоса.

Опытным путем (не моим) были установлены правила создания роботов-пылесосов:
1. Робот должен быть круглой формы, невысокий цилиндр.
2. Колеса должны быть по диаметру, чтоб мог разворачиваться на месте.
3. Подруливающее колесо не нуждается в моторе
4. Главное, чтобы робот мог собирать внутрь себя мусор
5. Без контактного бампера нельзя, он должен охватывать не менее половины периметра робота
6. Центр тяжести робота должен быть рядом с колесами, в идеале совпадать с ними — для лучшего сцепления.
7. Робот должен заряжаться от зарядной станции без вынимания аккумуляторов
8. Мусоросборник должен быть легко вынимаемым.

Алгоритм движения
Существуют два основных способа перемещения роботов-пылесосов и до сих пор ни один из методов не доказал свое полное превосходство. Первый заключается в движении по раскручивающейся спирали. Второй метод заключается в движении зигзагами.



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

Уборка
Если обычный пылесос берет свое за счет мощного насоса и большой силы всасывания, то такой же мощности добиться на маленьком пылесосе с автономным питанием невозможно. Опыт подсказал, что наибольшей эффективностью обладает сочетание небольшой щетки и всасывающей турбины. Кроме того, поскольку устройство представляет собой шайбу, то для того, чтобы забирать мусор из углов, в передней части ставятся две вращающиеся щетки, подбрасывающие мусор к основной большой щетке.

Движущая сила
Наилучшей скоростью перемещения будет 25-35 см в секунду. Это не слишком быстро, чтобы все собрать и не слишком медленно, чтобы заряда батареи хватило на сколько-нибудь достаточное пространство. Чаще всего используются подпружиненные редукторы с двигателями. Делается это для того, чтобы остановить движение, если пылесос упадет, повиснет или его поднимут. Я полагаю, что будет правильным использовать шаговые двигатели, так как это позволит задавать скорость движения програмно, не используя редукторы, отбирающие мощность. Передача на колеса будет прямая или ременная. В пылесосе будет всего 5 двигателей: 2 на колеса, один на основную щетку, один на две вращающиеся щетки по бокам, один на втягивающую турбину.

Питание
Планируется питание всей системы от гелевого аккумулятора с напряжением 12В и емкостью 7 Ач. То есть стандартный аккумулятор от ИБП. Преимущество его в том, что он имеет достаточную емкость для обеспечения работы, он дешев и доступен, он обладает достаточным весом, чтобы прижимать пылесос к полу. Основных методов зарядки два: индукционный и прямой контакт. Несмотря на все преимущества прямого контакта, я решил сыграть в пользу беспроводной зарядки: отчасти от того, что это безопаснее (а у меня есть любопытные кошки), отчасти потому что я не хочу потом решать проблему окислившихся или разболтавшихся контактов. К счастью, я нашел отличный комплект для беспроводного зарядного устройства на 12 Вольт PW-WL-12. Ток в 350 мА зарядит аккумулятор при полном разряде за 10 часов, чего многовато, да и аккумулятор так высаживать нельзя. Поэтому я решил обзавестись двумя такими зарядками и установить их снизу и сверху корпуса, обеспечивая двойной ток заряда в 700 мА.

Датчики
Чтобы робот мог ориентироваться в пространстве, не падал со ступенек и не упирался в стены, требуется обратная связь. Реализовано это будет с большим количеством датчиков. К примеру, инфракрасные датчики расстояния не позволят вплотную приблизиться к стене и поцарапать ее. В случае если на пути попадется какой-то небольшой объект, который не попадает в поле зрения датчиков, срабатывают контактные датчики в бамперах. Кроме того, инфракрасные датчики на нижней кромке предотвратят падение робота, если под передним краем окажется пустое пространство. Также пару датчиков потребуется поставить на колеса, чтобы при отрыве от пола устройство прекращало работу.
Датчики будут использоваться такие: ИК — для измерения расстояния, контактные — для бамперов и колес.

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

Программирование и пайка
Я изначально не хотел заниматься пайкой и самостоятельной сборкой обвязки контроллера. Поскольку платформа Arduino уже имеет массу стандартных шилдов для подключения датчиков и исполнительных устройств, я буду использовать именно их и постараюсь сделать проект максимально простым и доступным для повторения. Пайке будут подвергаться только контакты датчиков в случае, если они не имеют стандартных проводов подключения. Программировать я буду в стандартном исполнении для Arduino, поскольку это: 1 — просто, 2 — легко повторить. Даже я, знакомый с азами программирования, смог справиться с изучением языка и запрограммировать контроллер для автоматизации системы отопления и вентиляции. Поэтому расчет именно на простоту повторения и исполнения.

Этапы
Все работы над роботом-пылесосом будут разделены на несколько этапов:
1. Создание корпуса, шасси, блока сбора пыли и создание нормального пылесборника с турбиной
2. Распределение датчиков по контуру корпуса и согласование их работы
3. Программирование простейших функций движения и уборки
4. Обход препятствий и логика движения при уборке
5. Поиск базы и правильный подход к ней для полноценной зарядки

Эталон и последователь
Как и в любом эксперименте, должна быть экспериментальная группа и эталонная, чтобы сравнивать полученные результаты. В качестве эталона было решено взять iClebo Arte. В процессе строительства я буду опираться на готовые инженерные решения заводского робота-пылесоса и постараюсь упростить\удешевить имеющуюся модель. В итоге должен пройти сравнительный тест двух пылесосов: самодельного и заводского.

Приглашение
Все, кто желают поучаствовать в таком проекте, могут смело писать в комментариях и присоединяться к разработке. Все советы и желания будут учтены и, я уверен, работы по созданию собственного робота-пылесоса заметно ускорятся.
Теги:
Хабы:
+1
Комментарии 23
Комментарии Комментарии 23

Публикации

Информация

Сайт
masterkit.ru
Дата регистрации
Дата основания
Численность
Неизвестно
Местоположение
Россия

Истории