Препарируем дешевый робот-пылесос

Доброго времени суток.


Сегодня изучим потроха и схему бюджетного робота-пылесоса электровеника Agait EC MINI.
С учетом примитивного алгоритма, роботом его можно назвать весьма условно.
Много текста, картинок и опрос на закуску.

При покупке никаких сверхожиданий не было, хотя был приятно удивлен — оно работает и даже собирает пыль )).
Так как эта модель самая младшая, не будем обсуждать функционал данного изделия «из коробки» а посмотрим на простор для рукопркиладничества и модернизаций.
Мне сей девайс видится как готовая платформа для DIY робота-пылесоса.
Первым кандидатом на апгрейд просится конечно же мозг.
Силовую часть для начала можно оставить имеющуюся, а в качестве контроллера использовать что-то из клана Arduino.
С имплантацией в текущую схему проблем быть не должно, т.к. в исходном варианте используется микроконтроллер EM78P153K с питанием 5V в 14 выводном корпусе (минус 2 вывода питания) итого 12 выводов для общения со схемой.

Общий вид внутренностей



Для планирования имплантации нового, нужно для начала представлять какие исполнительные механизмы и «органы чувств» есть у этого «зверька».

Что же нам предлагает производитель этого чуда?

Зарядное устройство 19В 600 mA


Аккумулятор Ni-MH из 12 элементов АА с обещанной емкостью 800 mA-h






2 колесных модуля с коллекторными двигателями.

Внутреннее устройство


Планетарный редуктор


Двигатель



Центробежный вентилятор протягивающий воздух через пылесборник.12V 0.5A



2 привода боковых щеток.


3 ИК датчика защиты от падений со ступенек.Снаружи


Изнутри



Бампер с 1 датчиком столкновений(обычная щелевая оптопара).


Щелевая оптопара наличия верхней крышки.


В этой модели пылесоса отсутствует оптический датчик на всасывающем отверстии (ИК светодиод+фотодиод) и соответствующая часть схемы. Хотя места в корпусе и разводка на плате присутствуют, так что при желании можно добавить.


Рассмотрим электрическую схему

Схема срисована с платы, поэтому возможны неточности.


Безымянные транзисторы это нечто мелкое SOТ23. Q1, Q9, Q10 с китайской маркировкой Y1 остальные- CR, идентифицировать что именно это за транзисторы не удалось. Хотя для понимания логики работы схемы это особо и не нужно. Безымянные диоды скорее всего 1N4148 в SMD исполнении, также их тип не особо важен.
Обвязки мкроконтроллера нет. Вообще нет. Так что его нет и на схеме, есть отсылка к выводам. Он банально питается от +5V и остальные ноги расходятся по схеме.
Пройдемся по основным узлам
Q1, Q2, Q15 Это зарядный ключ батареи. Замечу что тут она заряжается просто по времени с ограничением максимального тока через 5-ти ваттный резистор R73. Никакого контроля не предусмотрено, так что взглянув на схему я свою батарею заряжаю клоном IMAX с окончанием заряда по ΔV, дольше проживет.

Стабилизатор 8.25V на МС34063 изобразил блоком, так как микросхема включена по типовой схеме. Резистор Rsc (см datasheet) 0.22 Ома. Т.е. присутствует ограничение тока, не только для защиты самой микросхемы, для чего-чуть ниже.
От него питаются колесные модули и приводы боковых щеток.

На сдвоенном компараторе LM393 собран контроль просадки питания колесных модулей и боковых щеток (в случае заклинивания посторонними предметами или мех. неисправности) и разряда батареи. Эти два условия для контроллера одно событие.

Всасывающий вентилятор включается вместе с приводами боковых щеток транзистором Q24. При этом вентилятор питается практически напрямую (за вычетом падения напряжения на диоде D16 и открытом транзисторе) от батареи. Разгон, однако :-) Боковые щетки напротив питаются пониженным напряжением 8.25V минус падение на 3-х диодах и открытом транзисторе.

Оптопары JK1 и JK2 — щелевые транзисторные. JK2 нормально затемненная (крышка закрыта -транзистор закрыт) а JK1 нормально засвеченная (бампер никуда не уперся -транзистор открыт)

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

На транзисторе Q8 собрана схема контроля наличия 19V от зарядного. Сигнал уходит на 7 выв. микроконтроллера. Туда же подключен фототранзистор оптопары крышки. Т.е. подключенное зарядное и открытая крышка для контроллера одно событие. Как же контроллер различает когда открыта крышка, а когда подключено зарядное? По датчику бампера. При подключенном зарядном фототранзистор будет затенен из-за выключенного питания светодиода (ключ Q25). Так что если открыть крышку и нажать на бампер при отключенном зарядном пылесос будет думать что он заряжается, также он должен стоять на поверхности, чтобы не сработали датчики падения (при подключенном зарядном они отключены Q25). Это расплата за предельное упрощение схемы. Режим заряда отображается миганием зеленого светодиода (в левом нижнем углу схемы). Чтобы не вводить в заблуждение ( а может и не пугать) пользователя пылесосом который показывает зарядку без зарядника конструкторы просто не дают мигать светодиоду благодаря транзистору Q9, хотя с первого вывода микроконтроллера на светодиод идет меандр. Костыли-костылики.

Драйверы моторов колес



Ничем примечательным не выделяется.
Работает просто — на обоих входах логический 0 — стоим
Даем 1 на один из входов — едем или вперед или назад.
Даем две 1-цы садим +VCC Motor на землю. Защиты «от дурака» нет, так что или два 0 или по одной 1-це.

Датчики защиты от падения со ступенек



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

«Сводка» по ногам микроконтроллера

В случае активного 0 будет пометка.
1 Зеленый светодиод
2.Бампер уперся в препятствие или сработал любой датчик падения — активный 0
3.Баззер (пищалка)
4.+5V
5. Просадка питания моторов щеток и колес и разряд батареи.
6.Включение всасывающего вентилятора и боковых щеток.
7.Подключено зарядное или открыта крышка — активный 0
8. Левое колесо
9. Левое колесо
10. Включить зарядный ключ — активный 0
11. GND
12. Правое колесо
13. Правое колесо
14. Красный светодиод.

Итог

На мой взгляд самым главным недостатком текущей схемы является объединенные сигналы срабатывания бампера и датчиков падения, поэтому при текущем алгоритме пылесос встретив препятствие при движении «прямо» просто разворачивается на 180° и едет от него прочь к другой стенке, и так несколько раз по одинаковой траектории. Поэтому очень желательно эти сигналы разделить, для более адекватного реагирования на препятствия и «край земли».
Также неплохо было бы добавить интеллекта схеме заряда.

Теперь можно выпаивать родной микроконтроллер, подключать *uino, или что вам угодно и изобретать свои алгоритмы, но это уже будет во второй части. Нужен ли робот-пылесос в доме?
Конечно нужен!
Нужен, но при текущем развитии этой технологии еще рано.
Нет, не нужен
Я сам(а) с удовольствием убираю, как можно доверить это бездушной железке!
Нужен, но сдерживает стоимость.
Проголосовало 417 человек. Воздержалось 43 человека. Только зарегистрированные пользователи могут участвовать в опросе. Войдите, пожалуйста.

Источник: geektimes.ru/post/243957/