Робот пылесос и его железо

Anatoliy4
Offline
Зарегистрирован: 04.01.2015

Здравствуйте. Хочу сделать робота - пылесоса, который будет уметь возвращаться на базу и заряжаться. В целом я всё уже продумал, но есть некоторые вопросы:

1) Можно ли к одной ардуине подключить одновременно два ик приёмника (со стороны пылесоса) без заморочек с использованием стандартной библиотеки ?

2) Можно ли к одной ардуине (со стороны базы) одновременно подключить два ик передатчика, которые будут посылать в эфир разную информацию (естесственно в разных местах, один светодиод для поиска базы, а другой - для виртуальной стены) без заморочек, с использованием стандартной библиотеки?

3) Есть ли другие варианты контроля застревания робота (например носок на колесо намотался), кроме как использование датчика тока (вал блокируется - ток растёт)? Просто редукторы самопальные и шестерни в нём пласстмассовые, редуктор на выходе даёт довольно большую силу (пальцами не остановить) и на выходные валы посажены колёса, которые проскальзывают, если их тормозить руками (выходное усилие просто огромное, думаю порядка 15- 25 кг/см). Можно конечно колёса на клей посадить, но даже если они будут железобетонно сидеть на валу, то при таком усилии робот скорее сам себя сломает, чем заметит незначительное изменение тока , такое незначительное изменение тока за ''потолок'' брать нельзя, так как есть такие вещи как помехи в датчике, погрешности, и при реверсе мотора будет возникать довольно большой ток (стартовый ток + ток который выработает сам мотор, вращаясь по инерции).

4) Что делать с аккумулятором? Как обеспечить нормальную зарядку без перезаряда, контролировать  это надо внешним контроллером, а каким ?(разрядку будет контролировать ардуино, когда акб станет разряжаться, то робот начнёт искать базу) (Да, я про аккумулятор задал совсем тупые воросы, но пошарив по алиэкспрессу ничего нормольного найти я там не смог, поэтому если знаете, то дайте пожалуйста ссылки на али (ну или ебэй или хоть куда-нибудь)

5) При каком алгоритме движения уборка будет максимально эффективной: режим беспорядочного движения(как в роботах пылесосах немецкой фирмы карчер) или в режиме составления плана помещения (как например в Iclebo Arte)? Пока что склоняюсь к первому варианту, так как он проще, но при использовании ультразвуковых дальномеров (именно такие и будут) второй вариант тоже можно реализовать. (Спросил потому что в описании карчеровского робота написано, что при беспорядочной езде уборка максимально эффективна (хотя это конечно зависит от комнаты, но у меня обычная квадратная не сильно заставленная комната (25 квадратных метров)))

Andrey_Y_Ostanovsky
Offline
Зарегистрирован: 03.12.2012

Вы решите, для начала, пункт 4. Возможно, после этого цена на готовую конструкцию Вам не покажется слишком завышенной.:)

NeiroN
NeiroN аватар
Offline
Зарегистрирован: 15.06.2013

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

Andrey_Y_Ostanovsky
Offline
Зарегистрирован: 03.12.2012

По зарядке - есть вот такие недорогие платы: http://mysku.ru/blog/china-stores/22459.html, но это для одиночного литиевого элемента. Вы же, наверняка, захотите поднять напряжение питания вольт до 10-12... А там уже нужно защиту с балансиром ставить...

Anatoliy4
Offline
Зарегистрирован: 04.01.2015

Andrey_Y_Ostanovsky пишет:

Вы решите, для начала, пункт 4. Возможно, после этого цена на готовую конструкцию Вам не покажется слишком завышенной.:)

Акб для таких целей явно не будет стоить 10-15 тысяч рублей.

Iclebo Arte стоит 20-25 килорублей, а мой робот будет стоить 1000-1500 рублей (зависит от акб, в конце концов можно поставить пачку Ni-Mh аккумуляторов), так что нет, я этот проект задумывал ещё до нормального уровня освоения платформы ардуино, тогда, когда нормально я шарил только в ''нецифровых'' технологиях (аналоговыми их назвать нельзя). И много ли для робота пылесоса нужно, нужна всего лишь роботизированная платформа, которая умеет нормально кататься и искать базу, и щётки, которые будут заметать пыль в бак. Разве для этого нужно много мозгов (причём как моих со стороны разработчика, так и процессорных со стороны робота)? Про акб спросил потому что нормальных ''полуфабрикатных'' решений на алиэкспрессе не нашёл. А что касается решения вопроса про подключение ик приёмников и передатчиков, так это можно просто самому подправить библиотеки, я просто хотел узнать, у нормальной стандартной библиотеки возможно подключение более чем одного приёмника или передатчика? Если там всё совсем плохо, то можно воспользоваться ''железными'' решениями.

Anatoliy4
Offline
Зарегистрирован: 04.01.2015

Andrey_Y_Ostanovsky пишет:

По зарядке - есть вот такие недорогие платы: http://mysku.ru/blog/china-stores/22459.html, но это для одиночного литиевого элемента. Вы же, наверняка, захотите поднять напряжение питания вольт до 10-12... А там уже нужно защиту с балансиром ставить...

Спасибо! Теперь только остаётся узнать, каким пропорцию тока заряда по тоношению к ёмкости акб для li-ion акб и найти нормальный недорогой li-ion акб на алиэкспрессе. (Например свинцово-кислотные автомобильные акб заряжают десятичным током от значения ёмкости (есть конечно и другие, более эффективные схемы зарядки, но цена на такие зарядники большая))

И нет, у меня моторы будут работать от 3.7 вольт, а питание для ардуины и логики буду получать через DC-DC конвертер.

И вы написали про защиту с балансиром, поясните пожалуйста, а то я не понял.

А что насчёт контроля застревания робота?

Andrey_Y_Ostanovsky
Offline
Зарегистрирован: 03.12.2012

Anatoliy4 пишет:

Теперь только остаётся узнать, каким пропорцию тока заряда по тоношению к ёмкости акб для li-ion акб и найти нормальный недорогой li-ion акб на алиэкспрессе.

Над этим последние годы бьются лучшие умы человечества. С переменным успехом: либо дешево, либо нормально. Брать надо не абы какой li-ion, а сильнотоковый, типа ICR18650. Все остальные рекомендации, в том числе и режим зарядки - для разных моделей слегка различаются.

Anatoliy4 пишет:

моторы будут работать от 3.7 вольт, а питание для ардуины и логики буду получать через DC-DC конвертер.

Посмотрите в сторону kis 3r33 и ардуины на 3.3 вольта.

Anatoliy4 пишет:

И вы написали про защиту с балансиром, поясните пожалуйста,

Ну, литий принято аппаратно защищать от перезаряда и переразряда. А если Вы соединяете элементы последовательно - то нужно еще и балансировку делать при заряде. Если интересно - разберите дохлую ноутбучную батарею - там все есть. Заодно и элементы руками пощупаете... Вот, опять же, статейка на мушках: http://mysku.ru/blog/china-stores/29517.html

jeka_tm
jeka_tm аватар
Offline
Зарегистрирован: 19.05.2013

так зарядка беспроводная типа такой наверно предполагалась бы(по ссылке фото есть)

http://roboforum.ru/forum4/topic13091.html

может идти от самого главного: напряжение и ток самого вылесоса, точнее воздушного насоса

Anatoliy4
Offline
Зарегистрирован: 04.01.2015

jeka_tm пишет:

так зарядка беспроводная типа такой наверно предполагалась бы(по ссылке фото есть)

http://roboforum.ru/forum4/topic13091.html

может идти от самого главного: напряжение и ток самого вылесоса, точнее воздушного насоса

Нет, нормальный воздушный насос сильно заморочно делать, да и даже если взять компьютерный вентилятор на 12v 0.3a, то всос не сильно хороший: мелкие бумажки нормально всасывает, а что побольше, то уже не всасывает (я так делал). У меня будет скорее робот - полотёр (тряпка из микрофибры) с щётками. По поводу зарядки - сделаю примерно так же, как в заводских роботах пылесосах, только контактные пластинки будут побольше (на базе), а контакты токоприёмника на роботе будут возле колёс, чтобы минимизировать замыкание.

Да, и ещё пара вопросов:

Где взять хорошие плавкие пятивольтовые предохранители?

И что же делать с контролем застревания?

inspiritus
Offline
Зарегистрирован: 17.12.2012

90 % трудоемкости ( и затрат) механика. Продумайте сначала из чего и как Вы сделаете железку с моторами . Потом где всё это купите и сколько денег отдадите.

Кстати , а зачем нужен полотер? Это раньше, когда не было паркетного лака терли мастикой, но усилие там было приличное. Были такие электрические полотеры с тремя вращающимися щетками... Мотор там стоял наверно киловаттный не меньше и весило оно всё килограмм так под 10. Собственно вес нужен был для втирания мастики. 

Если рассматривать пылесос, то самое сложное - разработка двух или более частного корпуса-шасси с гермоконтуром для воздушно-пылесосной части. А затратное - выращивание его на 3Д , или выклеивание из стеклоткани с эпоксидкой.

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

Anatoliy4
Offline
Зарегистрирован: 04.01.2015

Andrey_Y_Ostanovsky пишет:

Anatoliy4 пишет:

Теперь только остаётся узнать, каким пропорцию тока заряда по тоношению к ёмкости акб для li-ion акб и найти нормальный недорогой li-ion акб на алиэкспрессе.

Над этим последние годы бьются лучшие умы человечества. С переменным успехом: либо дешево, либо нормально. Брать надо не абы какой li-ion, а сильнотоковый, типа ICR18650. Все остальные рекомендации, в том числе и режим зарядки - для разных моделей слегка различаются.

Anatoliy4 пишет:

моторы будут работать от 3.7 вольт, а питание для ардуины и логики буду получать через DC-DC конвертер.

Посмотрите в сторону kis 3r33 и ардуины на 3.3 вольта.

Anatoliy4 пишет:

И вы написали про защиту с балансиром, поясните пожалуйста,

Ну, литий принято аппаратно защищать от перезаряда и переразряда. А если Вы соединяете элементы последовательно - то нужно еще и балансировку делать при заряде. Если интересно - разберите дохлую ноутбучную батарею - там все есть. Заодно и элементы руками пощупаете... Вот, опять же, статейка на мушках: http://mysku.ru/blog/china-stores/29517.html

А у вас есть конкретные ссылки на акб на алиэкспресс? Если есть, дайте пожалуйста.

По поводу ардуино: на хабрахабре есть статья про ардуиновский ватчдог, так вот оказывается, что из всех ардуин авторесет поддерживает только Atmega 328 (Arduino Uno), я буду использовать Arduino Nano(Atmega328), так как она поддерживает watchdog (наверное, я не проверял, я проверял только Arduino Uno) и имеет 22 пина, как раз ровно столько мне и нужно, ктому же 5v всё равно нужно будет генерировать, так как столько вольт нужно для питания логики драйвера моторов.

Anatoliy4
Offline
Зарегистрирован: 04.01.2015

inspiritus пишет:

90 % трудоемкости ( и затрат) механика. Продумайте сначала из чего и как Вы сделаете железку с моторами . Потом где всё это купите и сколько денег отдадите.

Кстати , а зачем нужен полотер? Это раньше, когда не было паркетного лака терли мастикой, но усилие там было приличное. Были такие электрические полотеры с тремя вращающимися щетками... Мотор там стоял наверно киловаттный не меньше и весило оно всё килограмм так под 10. Собственно вес нужен был для втирания мастики. 

Если рассматривать пылесос, то самое сложное - разработка двух или более частного корпуса-шасси с гермоконтуром для воздушно-пылесосной части. А затратное - выращивание его на 3Д , или выклеивание из стеклоткани с эпоксидкой.

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

 

Платформа уже готовая, а полотёр потому что он будет протирать линолеумный пол тряпкой из микрофибры.

Anatoliy4
Offline
Зарегистрирован: 04.01.2015

Помогите пожалуйста. Как сделать контроль застревания? Как он работает в заводских роботах пылесосах?

inspiritus
Offline
Зарегистрирован: 17.12.2012

В минус мотора ставите измериельный резистор 0.1 ома, проволочный, 5-10ватт и на нем меряете напряжение аналог -чтением ( или компаратор и на прерывание) . При нормальном ходе потенциал будет ближе к gnd, чем при  застревании.

Anatoliy4
Offline
Зарегистрирован: 04.01.2015

inspiritus пишет:

В минус мотора ставите измериельный резистор 0.1 ома, проволочный, 5-10ватт и на нем меряете напряжение аналог -чтением ( или компаратор и на прерывание) . При нормальном ходе потенциал будет ближе к gnd, чем при  застревании.

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

3) Есть ли другие варианты контроля застревания робота (например носок на колесо намотался), кроме как использование датчика тока (вал блокируется - ток растёт)? Просто редукторы самопальные и шестерни в нём пласстмассовые, редуктор на выходе даёт довольно большую силу (пальцами не остановить) и на выходные валы посажены колёса, которые проскальзывают, если их тормозить руками (выходное усилие просто огромное, думаю порядка 15- 25 кг/см). Можно конечно колёса на клей посадить, но даже если они будут железобетонно сидеть на валу, то при таком усилии робот скорее сам себя сломает, чем заметит незначительное изменение тока , такое незначительное изменение тока за ''потолок'' брать нельзя, так как есть такие вещи как помехи в датчике, погрешности, и при реверсе мотора будет возникать довольно большой ток (стартовый ток + ток который выработает сам мотор, вращаясь по инерции).

 

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

Как можно контролировать застревание робота пылесоса без измерения тока(напряжения) у моторов?

jeka_tm
jeka_tm аватар
Offline
Зарегистрирован: 19.05.2013

да. датчики на колеса повесить чтобы отслеживать вращение

inspiritus
Offline
Зарегистрирован: 17.12.2012

Если возможно проскальзывание, то датчики на колесах не помогут. Подвесте под брюхо оптическую мышь ;), или иной оптический датчик, реагирующий на изменение отраженного от пола света. Однопиксельную камеру на основе лизы и фототранзистора. Прекратилось изменение, значит прекратилось движение.

Anatoliy4
Offline
Зарегистрирован: 04.01.2015

inspiritus пишет:

Если возможно проскальзывание, то датчики на колесах не помогут. Подвесте под брюхо оптическую мышь ;), или иной оптический датчик, реагирующий на изменение отраженного от пола света. Однопиксельную камеру на основе лизы и фототранзистора. Прекратилось изменение, значит прекратилось движение.

Я уже думал об использовании оптического датчика от мышки, но это слишком заморочно, и будет здорово грузить мк, к тому же у меня нету столько свободных выводов у ардуино. Я сделаю так: прицеплю к роботу в качестве опоры третье колесо и прицеплю на него диск с лучевыми прорезями + щелевой оптрон. В идеале, конечно, сделать как в старых компьютерных мышках, чтобы отслеживать движение по осям x и y, но можно сделать так, как я описал выше + орашивать оптрон только тогда, когда робот едет по прямой, а не поворачивает, и сделать время опроса побольше. В случае если робот затрянет в углу так, что оба (или один) датчика будут смотреть в стену, то реализовать такой алгоритм: если в течении определённого времени даннные с датчиков не меняются, то значит робот застрял (если бы робот поворачивал, то данные с датчиков менялись бы. У меня робот всегда будет поворачивать только возле стен), а если при застревании в углу датчики уз ничего не видят, то опрашивать оптрон (естесственно при включенных моторах). А если комната достаточно маленькая, чтобы робот всегда видел все стены в комнате из любой точки на полу (максимальное измеряемое расстояние датчика 4-5 метров), то можно всегда опрашивать датчики, и если моторы включены и данные с датчиков не меняются, то что-то не так. При таком варианте могут возникать слепые зоны в райне видимости дверного проёма, так, например, если расстояние от стены (в комнате), противоположной двери, до стены в коридоре( стены в коридоре противоположной стене, противоположной двери в комнате, простите за тавтологию, но вы поняли) слишком большое, то датчики ничего не увидят и такая система контроля застревания может не сработать.

Спасибо всем, кто помогал!

Shlonik
Offline
Зарегистрирован: 16.01.2015

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

Anatoliy4
Offline
Зарегистрирован: 04.01.2015

Да, контактный бампер будет, ультразвуковые датчики не всевидящие, но это всё равно не защита от застревания.