Робот пылесос и его железо
- Войдите на сайт для отправки комментариев
Здравствуйте. Хочу сделать робота - пылесоса, который будет уметь возвращаться на базу и заряжаться. В целом я всё уже продумал, но есть некоторые вопросы:
1) Можно ли к одной ардуине подключить одновременно два ик приёмника (со стороны пылесоса) без заморочек с использованием стандартной библиотеки ?
2) Можно ли к одной ардуине (со стороны базы) одновременно подключить два ик передатчика, которые будут посылать в эфир разную информацию (естесственно в разных местах, один светодиод для поиска базы, а другой - для виртуальной стены) без заморочек, с использованием стандартной библиотеки?
3) Есть ли другие варианты контроля застревания робота (например носок на колесо намотался), кроме как использование датчика тока (вал блокируется - ток растёт)? Просто редукторы самопальные и шестерни в нём пласстмассовые, редуктор на выходе даёт довольно большую силу (пальцами не остановить) и на выходные валы посажены колёса, которые проскальзывают, если их тормозить руками (выходное усилие просто огромное, думаю порядка 15- 25 кг/см). Можно конечно колёса на клей посадить, но даже если они будут железобетонно сидеть на валу, то при таком усилии робот скорее сам себя сломает, чем заметит незначительное изменение тока , такое незначительное изменение тока за ''потолок'' брать нельзя, так как есть такие вещи как помехи в датчике, погрешности, и при реверсе мотора будет возникать довольно большой ток (стартовый ток + ток который выработает сам мотор, вращаясь по инерции).
4) Что делать с аккумулятором? Как обеспечить нормальную зарядку без перезаряда, контролировать это надо внешним контроллером, а каким ?(разрядку будет контролировать ардуино, когда акб станет разряжаться, то робот начнёт искать базу) (Да, я про аккумулятор задал совсем тупые воросы, но пошарив по алиэкспрессу ничего нормольного найти я там не смог, поэтому если знаете, то дайте пожалуйста ссылки на али (ну или ебэй или хоть куда-нибудь)
5) При каком алгоритме движения уборка будет максимально эффективной: режим беспорядочного движения(как в роботах пылесосах немецкой фирмы карчер) или в режиме составления плана помещения (как например в Iclebo Arte)? Пока что склоняюсь к первому варианту, так как он проще, но при использовании ультразвуковых дальномеров (именно такие и будут) второй вариант тоже можно реализовать. (Спросил потому что в описании карчеровского робота написано, что при беспорядочной езде уборка максимально эффективна (хотя это конечно зависит от комнаты, но у меня обычная квадратная не сильно заставленная комната (25 квадратных метров)))
Вы решите, для начала, пункт 4. Возможно, после этого цена на готовую конструкцию Вам не покажется слишком завышенной.:)
Вообще сделайте просто робота - который просто катается не доезжая до стен. Автономно - без зарядки. Потом сделайте ему базу - и придумайте как он ее будет находить - я думаю это дожны быть 2 металлические пластины - между ними робот - когда он приехал - подключается кним щетками. Сделайте для начало хотябы это - а пылесосить он будет или кошку развлекать - это потом приделать можно.
По зарядке - есть вот такие недорогие платы: http://mysku.ru/blog/china-stores/22459.html, но это для одиночного литиевого элемента. Вы же, наверняка, захотите поднять напряжение питания вольт до 10-12... А там уже нужно защиту с балансиром ставить...
Вы решите, для начала, пункт 4. Возможно, после этого цена на готовую конструкцию Вам не покажется слишком завышенной.:)
Акб для таких целей явно не будет стоить 10-15 тысяч рублей.
Iclebo Arte стоит 20-25 килорублей, а мой робот будет стоить 1000-1500 рублей (зависит от акб, в конце концов можно поставить пачку Ni-Mh аккумуляторов), так что нет, я этот проект задумывал ещё до нормального уровня освоения платформы ардуино, тогда, когда нормально я шарил только в ''нецифровых'' технологиях (аналоговыми их назвать нельзя). И много ли для робота пылесоса нужно, нужна всего лишь роботизированная платформа, которая умеет нормально кататься и искать базу, и щётки, которые будут заметать пыль в бак. Разве для этого нужно много мозгов (причём как моих со стороны разработчика, так и процессорных со стороны робота)? Про акб спросил потому что нормальных ''полуфабрикатных'' решений на алиэкспрессе не нашёл. А что касается решения вопроса про подключение ик приёмников и передатчиков, так это можно просто самому подправить библиотеки, я просто хотел узнать, у нормальной стандартной библиотеки возможно подключение более чем одного приёмника или передатчика? Если там всё совсем плохо, то можно воспользоваться ''железными'' решениями.
По зарядке - есть вот такие недорогие платы: http://mysku.ru/blog/china-stores/22459.html, но это для одиночного литиевого элемента. Вы же, наверняка, захотите поднять напряжение питания вольт до 10-12... А там уже нужно защиту с балансиром ставить...
Спасибо! Теперь только остаётся узнать, каким пропорцию тока заряда по тоношению к ёмкости акб для li-ion акб и найти нормальный недорогой li-ion акб на алиэкспрессе. (Например свинцово-кислотные автомобильные акб заряжают десятичным током от значения ёмкости (есть конечно и другие, более эффективные схемы зарядки, но цена на такие зарядники большая))
И нет, у меня моторы будут работать от 3.7 вольт, а питание для ардуины и логики буду получать через DC-DC конвертер.
И вы написали про защиту с балансиром, поясните пожалуйста, а то я не понял.
А что насчёт контроля застревания робота?
Теперь только остаётся узнать, каким пропорцию тока заряда по тоношению к ёмкости акб для li-ion акб и найти нормальный недорогой li-ion акб на алиэкспрессе.
Над этим последние годы бьются лучшие умы человечества. С переменным успехом: либо дешево, либо нормально. Брать надо не абы какой li-ion, а сильнотоковый, типа ICR18650. Все остальные рекомендации, в том числе и режим зарядки - для разных моделей слегка различаются.
моторы будут работать от 3.7 вольт, а питание для ардуины и логики буду получать через DC-DC конвертер.
Посмотрите в сторону kis 3r33 и ардуины на 3.3 вольта.
И вы написали про защиту с балансиром, поясните пожалуйста,
Ну, литий принято аппаратно защищать от перезаряда и переразряда. А если Вы соединяете элементы последовательно - то нужно еще и балансировку делать при заряде. Если интересно - разберите дохлую ноутбучную батарею - там все есть. Заодно и элементы руками пощупаете... Вот, опять же, статейка на мушках: http://mysku.ru/blog/china-stores/29517.html
так зарядка беспроводная типа такой наверно предполагалась бы(по ссылке фото есть)
http://roboforum.ru/forum4/topic13091.html
может идти от самого главного: напряжение и ток самого вылесоса, точнее воздушного насоса
так зарядка беспроводная типа такой наверно предполагалась бы(по ссылке фото есть)
http://roboforum.ru/forum4/topic13091.html
может идти от самого главного: напряжение и ток самого вылесоса, точнее воздушного насоса
Нет, нормальный воздушный насос сильно заморочно делать, да и даже если взять компьютерный вентилятор на 12v 0.3a, то всос не сильно хороший: мелкие бумажки нормально всасывает, а что побольше, то уже не всасывает (я так делал). У меня будет скорее робот - полотёр (тряпка из микрофибры) с щётками. По поводу зарядки - сделаю примерно так же, как в заводских роботах пылесосах, только контактные пластинки будут побольше (на базе), а контакты токоприёмника на роботе будут возле колёс, чтобы минимизировать замыкание.
Да, и ещё пара вопросов:
Где взять хорошие плавкие пятивольтовые предохранители?
И что же делать с контролем застревания?
90 % трудоемкости ( и затрат) механика. Продумайте сначала из чего и как Вы сделаете железку с моторами . Потом где всё это купите и сколько денег отдадите.
Кстати , а зачем нужен полотер? Это раньше, когда не было паркетного лака терли мастикой, но усилие там было приличное. Были такие электрические полотеры с тремя вращающимися щетками... Мотор там стоял наверно киловаттный не меньше и весило оно всё килограмм так под 10. Собственно вес нужен был для втирания мастики.
Если рассматривать пылесос, то самое сложное - разработка двух или более частного корпуса-шасси с гермоконтуром для воздушно-пылесосной части. А затратное - выращивание его на 3Д , или выклеивание из стеклоткани с эпоксидкой.
в робот-пылесосах основной функционал - подбирание мелкой пыли в тч ея комков. Крупными предметами он давится , и на ковре застревает. Только ровный пол ( паркет, ламинат, линолеум) без порожков.
Теперь только остаётся узнать, каким пропорцию тока заряда по тоношению к ёмкости акб для li-ion акб и найти нормальный недорогой li-ion акб на алиэкспрессе.
Над этим последние годы бьются лучшие умы человечества. С переменным успехом: либо дешево, либо нормально. Брать надо не абы какой li-ion, а сильнотоковый, типа ICR18650. Все остальные рекомендации, в том числе и режим зарядки - для разных моделей слегка различаются.
моторы будут работать от 3.7 вольт, а питание для ардуины и логики буду получать через DC-DC конвертер.
Посмотрите в сторону kis 3r33 и ардуины на 3.3 вольта.
И вы написали про защиту с балансиром, поясните пожалуйста,
Ну, литий принято аппаратно защищать от перезаряда и переразряда. А если Вы соединяете элементы последовательно - то нужно еще и балансировку делать при заряде. Если интересно - разберите дохлую ноутбучную батарею - там все есть. Заодно и элементы руками пощупаете... Вот, опять же, статейка на мушках: http://mysku.ru/blog/china-stores/29517.html
А у вас есть конкретные ссылки на акб на алиэкспресс? Если есть, дайте пожалуйста.
По поводу ардуино: на хабрахабре есть статья про ардуиновский ватчдог, так вот оказывается, что из всех ардуин авторесет поддерживает только Atmega 328 (Arduino Uno), я буду использовать Arduino Nano(Atmega328), так как она поддерживает watchdog (наверное, я не проверял, я проверял только Arduino Uno) и имеет 22 пина, как раз ровно столько мне и нужно, ктому же 5v всё равно нужно будет генерировать, так как столько вольт нужно для питания логики драйвера моторов.
90 % трудоемкости ( и затрат) механика. Продумайте сначала из чего и как Вы сделаете железку с моторами . Потом где всё это купите и сколько денег отдадите.
Кстати , а зачем нужен полотер? Это раньше, когда не было паркетного лака терли мастикой, но усилие там было приличное. Были такие электрические полотеры с тремя вращающимися щетками... Мотор там стоял наверно киловаттный не меньше и весило оно всё килограмм так под 10. Собственно вес нужен был для втирания мастики.
Если рассматривать пылесос, то самое сложное - разработка двух или более частного корпуса-шасси с гермоконтуром для воздушно-пылесосной части. А затратное - выращивание его на 3Д , или выклеивание из стеклоткани с эпоксидкой.
в робот-пылесосах основной функционал - подбирание мелкой пыли в тч ея комков. Крупными предметами он давится , и на ковре застревает. Только ровный пол ( паркет, ламинат, линолеум) без порожков.
Платформа уже готовая, а полотёр потому что он будет протирать линолеумный пол тряпкой из микрофибры.
Помогите пожалуйста. Как сделать контроль застревания? Как он работает в заводских роботах пылесосах?
В минус мотора ставите измериельный резистор 0.1 ома, проволочный, 5-10ватт и на нем меряете напряжение аналог -чтением ( или компаратор и на прерывание) . При нормальном ходе потенциал будет ближе к gnd, чем при застревании.
В минус мотора ставите измериельный резистор 0.1 ома, проволочный, 5-10ватт и на нем меряете напряжение аналог -чтением ( или компаратор и на прерывание) . При нормальном ходе потенциал будет ближе к gnd, чем при застревании.
Я уже писал, что такой способ не подходит, так как редуктор у мотора очень мощный (15-25 кг/см на выходном валу), так что мотор заклинить не удастся, скорее выходной вал сломается, чем мотор заклинится. Цитирую из своего первого поста:
3) Есть ли другие варианты контроля застревания робота (например носок на колесо намотался), кроме как использование датчика тока (вал блокируется - ток растёт)? Просто редукторы самопальные и шестерни в нём пласстмассовые, редуктор на выходе даёт довольно большую силу (пальцами не остановить) и на выходные валы посажены колёса, которые проскальзывают, если их тормозить руками (выходное усилие просто огромное, думаю порядка 15- 25 кг/см). Можно конечно колёса на клей посадить, но даже если они будут железобетонно сидеть на валу, то при таком усилии робот скорее сам себя сломает, чем заметит незначительное изменение тока , такое незначительное изменение тока за ''потолок'' брать нельзя, так как есть такие вещи как помехи в датчике, погрешности, и при реверсе мотора будет возникать довольно большой ток (стартовый ток + ток который выработает сам мотор, вращаясь по инерции).
Да, и когда робот во что-нибудь въезжает, то либо толкает это, либо у него колёса проскальзывают и на месте крутятся. Выходное усилие очень большое.
Как можно контролировать застревание робота пылесоса без измерения тока(напряжения) у моторов?
да. датчики на колеса повесить чтобы отслеживать вращение
Если возможно проскальзывание, то датчики на колесах не помогут. Подвесте под брюхо оптическую мышь ;), или иной оптический датчик, реагирующий на изменение отраженного от пола света. Однопиксельную камеру на основе лизы и фототранзистора. Прекратилось изменение, значит прекратилось движение.
Если возможно проскальзывание, то датчики на колесах не помогут. Подвесте под брюхо оптическую мышь ;), или иной оптический датчик, реагирующий на изменение отраженного от пола света. Однопиксельную камеру на основе лизы и фототранзистора. Прекратилось изменение, значит прекратилось движение.
Я уже думал об использовании оптического датчика от мышки, но это слишком заморочно, и будет здорово грузить мк, к тому же у меня нету столько свободных выводов у ардуино. Я сделаю так: прицеплю к роботу в качестве опоры третье колесо и прицеплю на него диск с лучевыми прорезями + щелевой оптрон. В идеале, конечно, сделать как в старых компьютерных мышках, чтобы отслеживать движение по осям x и y, но можно сделать так, как я описал выше + орашивать оптрон только тогда, когда робот едет по прямой, а не поворачивает, и сделать время опроса побольше. В случае если робот затрянет в углу так, что оба (или один) датчика будут смотреть в стену, то реализовать такой алгоритм: если в течении определённого времени даннные с датчиков не меняются, то значит робот застрял (если бы робот поворачивал, то данные с датчиков менялись бы. У меня робот всегда будет поворачивать только возле стен), а если при застревании в углу датчики уз ничего не видят, то опрашивать оптрон (естесственно при включенных моторах). А если комната достаточно маленькая, чтобы робот всегда видел все стены в комнате из любой точки на полу (максимальное измеряемое расстояние датчика 4-5 метров), то можно всегда опрашивать датчики, и если моторы включены и данные с датчиков не меняются, то что-то не так. При таком варианте могут возникать слепые зоны в райне видимости дверного проёма, так, например, если расстояние от стены (в комнате), противоположной двери, до стены в коридоре( стены в коридоре противоположной стене, противоположной двери в комнате, простите за тавтологию, но вы поняли) слишком большое, то датчики ничего не увидят и такая система контроля застревания может не сработать.
Спасибо всем, кто помогал!
Если застрять робот может только уперевшись лбом в предмет, то поставьте бампер со световым датчиком. В свободном положении датчик открыт, в положении "уперся" закрыт. Для этого на бампере устанавливают язычок, который при нажатии на бампер заходит в прорезь датчика и перекрывает свет. Вот тут можно увидеть и тут самодельный
Да, контактный бампер будет, ультразвуковые датчики не всевидящие, но это всё равно не защита от застревания.