roboforum.ru

Технический форум по робототехнике.

Chuwi ILIFE V7

Chuwi ILIFE V7

linvinus » 25 июл 2016, 11:44

Недорогой пылесос даже с учётом современного курса.

Хорошая альтернатива румбе в качестве базы для ROS.

О том как он прибирает вы без труда найдёте на youtube
Примерный уровень шума https://youtu.be/252hQvg1sDw?t=205

Есть две модели
V7 - без контейнера с водой для влажной уборки, но есть тряпочка, правда площадь меньше чем у V7S, но зато с дополнительным bluetooth модулем (отдельная плата) который позволяет управлять роботом с телефона (помимо пульта который идёт в комплекте)

V7S - с контейнером для воды для влажной уборки (подпитывает тряпочку) но без bluetooth модуля.


О том что внутри:
1) Cortex-M3 STM32F103VB
2) два ведущих колеса с энкодерами
3) рояльное колесо с энкодером (только скорость вращения колеса)
4) li-ion 2600mAh 14.8v (4S банки 18650)
5) механический бампер касания не кнопочный - щелевой оптический, поэтому очень чувствительный
6) оптический передний бампер (вроде бы 6 датчиков)
7) 4 датчика пола
8 ) вроде бы турбина на базе bldc мотора обычная слабенькая турбина
9) в версии V7 есть bluetooth управление, судя по пинам , я бы предположил что это обычный uart, так что даже модель V7S должна подключаться без проблем.
10) База зарядки.

Внутренности фото:
V7S http://mysku.ru/blog/china-stores/41667.html
V7 http://shopper.life/chuwi-ilife-v7-obzo ... -9004.html
Как устроен редуктор ведущих колёс хорошо видно тут http://shopper.life/obzor-chuwi-ilife-v ... rettyPhoto
V5 на базе другого процессора STM32F0.
и ещё одна модель A4 тут видно как устроена база и ИК диоды в бампере http://mysku.ru/blog/china-stores/41190.html

Видео


Судя по всему оптимальное место покупки gearbest.com , там каждый месяц акции бывают если повезёт V7 можно купить дешевле 150$

На V7 внешне очень похож "российский" пылесос Kitfort KT-520 (без влажной уборки) продаётся за 13000р

Предполагаю что можно им управлять по uart (помимо ИК),
а можно вообще написать свою прошивку, правда не знаю залочен чип или нет, жду посылки.
Последний раз редактировалось linvinus 10 авг 2016, 23:48, всего редактировалось 2 раз(а).

Re: Chuwi ILIFE V7

Medtech » 25 июл 2016, 13:02

это все ОЕМ роботы, название можно любое наклеить.

Re: Chuwi ILIFE V7

linvinus » 10 авг 2016, 23:34

пришёл робот.

В отсеке батареи есть порт SWD

IMG_6843.JPG


Турбина обычный dc мотор, дует слабо, но на волосы и шерсть хватает.

IMG_6844.JPG


Два датчика холла для определения какой контейнер вставлен, у одного магнит с одной стороны у другого с другой.
IMG_6845.JPG


J13 - SWD порт, шаг 2мм
1 - 3.3в
2 - GND
3 - SWDIO
4 - SWCLK

IMG_6846.JPG


JP1 - USART1 консоль, скорость 57600 бод
слева на право 3.3v, TX, RX, GND (ещё правее есть нераспаянный порт я предполагаю туда подключаются какие нибудь кнопки, PE6,PC15)

IMG_6847.JPG

вот такие сообщения появляются
Код: Выделить всёРазвернуть
Ilife AI Cleaning Robot                                                          
  Making life better!                                                           
                                                                                 
Charge Start                                                                   
T 0001 V 1594 I 0000        (ток заряда 0 т.к. я включил зарядку при отключенном АКБ)                               
T 0002 V 1722 I 0000
T 0003 V 1846 I 0000
T 0004 V 2035 I 0000
T 0005 V 2122 I 0000
T 0006 V 2166 I 0000
T 0007 V 1611 I 0000

но не известен формат команд управления.

в версии chuwi V7 (у меня V7s) есть встроенный bluetooth V4 модуль, протокол ble, который подключён к этому порту.
Приложение можно скачать тут http://www.chuwi.com/app/

я его декомпилировал, пакеты по 20 байт, полностью дублирует функционал пульта, так что чисто теоретически должен управляться с консоли, если у кого есть версия V7 посмотрите какой формат команд.

J21 - нераспаянный порт видимо для LCD экранчика,
GND
5v
SPI2_NSS
SPI2_MOSI
SPI2_SCK
IMG_6848.JPG


ИК приёмники TSOP для поиска базы и управления с пульта, два спереди, и два по бокам
IMG_6850.JPG


Единственная кнопка управления - сенсорная с RGB подсветкой (помимо тумблера питания)
IMG_6853.JPG


Датчики пола примитивные, на пушистом ковре не работают т.к. разрывается оптическая связь. (ворс вплотную прилегает к датчикам)
IMG_6841.JPG


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

в общем примитивный, достаточно шумный , боковая щётка была причиной трёх его застреваний, два раза зацепил провод и один раз щёткой завернул коврик в прихожей , забрался на него так что не мог съехать, при этом прямоугольный порожек в 1см высотой он преодолевает достаточно уверенно

Плата дополнительно залита лаком (защита от пыли, влаги), но ацетоном достаточно быстро оттирается.
Драйверы ведущих колёс - DRV8801, щётки управляются N-канальными полевиками.
Последний раз редактировалось linvinus 11 авг 2016, 21:29, всего редактировалось 1 раз.

Re: Chuwi ILIFE V7

Medtech » 11 авг 2016, 12:16

Плавного старт\стопа не организовано, значит редукторам и движкам года 2 жить.

Re: Chuwi ILIFE V7

linvinus » 15 авг 2016, 00:48

Плавного старт\стопа не организовано, значит редукторам и движкам года 2 жить.

значит сделаем :D

В выходные я занимался обратным инижинирингом робота, из 80ти ножек не идентифицировал только 18ть, но все датчики и приводы нашёл, что весит на оставшихся ХЗ оно себя никак не проявляет и мне не мешает.

Как я это сделал:
Сначала начал прозвонкой искать ножки управления драйвером двигателей, понял что мои щупы гиганские по сравнению с толщиной ножек, поэтому решил купить новые, за одно купил коннектор с шагом 2мм для подключения SWD.

На выходных всё было готово для изучения, сунулся в прошивку а она залочена, нашли блин что скрывать.

Сбросил блокировку и старая прошивка похерилась.
После этого назад пути уже не было, начал писать свою, на начальном этапе я точно знал на каких выводах доступен UART так что в новой прошивке изначально все пины были в состоянии DIGITAL INPUT, Z-состояние, только UART1 настроен.

Прозвонкой спустя пол часа я нашёл пины управления PHASE,ENABLE от DRV8801, но моторы не вращались.
Оказалось нужно ещё SLEEP выключить, а вот его щупами никак не отыскать как я потом понял он вообще на прямую к МК не подключен.

В общем начал думать как быть, был ещё разъём c SPI2 ножки которого я точно знал, я решил сделать брутфорс,
я соединил ножку sleep с драйвера DRV8801 с ножкой МК которую я точно знал, и написал цикл который по очереди кратковременно включает каждую ножку пока на на тестовой ножке не появится высокий уровень, с первого прохода нашёл.
Как оказалось включаются не только DRV8801 но и все вспомогательные схемы, т.е. в режиме sleep питание только у МК.

Моторы заработали, решил найти сигналы энкодеров с моторов.
Сначала начал тыркать щупом осциллографа по очереди в каждую ножку МК, после 10й ножки понял что зрение у меня не то да и велик риск коротнуть ножки между собой. Стал думать как можно сделать иначе, поскольку сигнал с энкодеров переменный то можно сравнить состояние портов в разные моменты времени и вывести разницу, написал новую функциюю вставил в цикл, и на экране появились списки ножек на которых что то меняется, информации было много, я стал думать как отфильтровать, я заметил что какие то ножки появляются чаще какие то реже, посмотрел что это оказалось SWD и UART.
Добавил в функцию сравнения портов маску исключения известных мне пинов, вывод стал значительно проще и я без труда нашёл сигналы с энкодеров.
Поскольку этот метод работал для любых переменных сигналов то я стал нажимать на все концевые датчики по очереди , маркировал ножку в файле описания пинов и добавлял известные ножки в фильтр исключения, чтобы они больше не мешались.
Так я выловил все механические кнопки, сенсорная кнопка оказалась банальной кнопкой (я думал там аналоговый сигнал), ну и в процессе я выяснил что есть 5ть ИК приёмников TSOP (http://esxema.ru/?p=2684) которые при наличии в эфире сигнала начинают сильно флудить, оказалось что синнал с пульта настолько сильный что на него реагируют сразу несколько датчиков поэтому пультом сложно было идентифицировать какой сенсор на какой ножке, закрывал руками, бумажным скотчем, не помогало.
Вспомнил что есть база, сигнал с неё оказался более умеренным (или узконаправленным) покрутил базу вокруг робота и идентифицировал пины всех 5ти датчиков.

На этом всё что я мог понажимать закончилось, остались неидентифицированными датчики земли, и ИК бампер.

Но перед этим встал вопрос как искать сигналы с ИК датчиков препятствий, я даже не был уверен что они работают.
Вспомнил про свою старую веб камеру с которой я снял ИК фильтр, направил на робота и ничего, ни один ИК диод подсветки не работал.
Т.е. сначала нужно найти ножку которая включает их.
Я опять вернулся к функции при помощи которой нашёл sleep но я не мог взять сигнал с ИК диода, там почему то было 13в (видимо управляется N-канальным полевиком.)
Поэтому я решил добавить в функцию паузу-ожидание нового символа с UART, теперь получалось что кратковременно переводим ножку в состояние выход, устанавливаем логическую единицу на 1мс , выключаем ножку и переводим в состояние digital input.
Направил камеру на один из сенсоров и начал искать, вскоре увидел вспышку, запомнил ножку и добавил в основной цикл циклическое выключение-отключение этой ножки, диоды стали моргать.
Параллельно нашёл ножки управления моторами щёток и турбины, а для того чтобы найти пищалку поправил функцию чтобы давала не один импульс на ножку а серию.

Включил параллельно сравнивание состояние портов, но там ничего не изменялось, когда я подносил ладонь к сенсорам, получалось что сигналы с ИК датчиков препятствий - аналоговые. Посмотрел осциллографом и моя догадка подтвердилась, в отсутствии ладони сигнал 3в когда подносил ладонь - синал кратковременно опускался до 2.5в т.е на логический ноль это никак не тянуло.
Я стал думать как искать, посмотрел на камеру (она у меня с подсветкой) и подумал а что если посветить ИК подсведкой прямо в датчик, проверил гипотезу и сработало, удалось опустить сигнал до логического нуля, так я смог идентифицировать 4ре сенсора наличия поверхности (на дне робота).

Стал разбираться с ИК бампером, тут такой фокус почему то не проходил.
Поскольку в модели STM32F103VBT6 только 16ть аналоговых линий, я решил считывать и выводить их всех разом и смотреть как и где меняется сигнал.
Исключил из списка уже известные 4ре сенсора, и начал экспериментировать с бампером.
Посветил камерой с включенной подсветкой, она хорошо видела "сквозь" тёмное стекло, выяснил что там 11сенсоров, но проводов от бампера всего 8мь из них один земля и на двух 13в, видимо питание подсветки, значит 11 датчиков как то группируются. Методом тыка выяснил что четыре левых датчика включены параллельно потом три центральных и справа тоже четыре в параллель.

Получается что с бампера идёт всего три сигнала, 16-3-4 = 9 - на девяти линиях ещё что то. Я стал по очереди включать моторы, зарядку, откючать АКБ и смотреть что меняется.
Кроме ИК бампера аналоговыми оказались сигнал напряжение батареи, напряжение зарядки, ток батареи, ток основной щётки , ток турбины, и нашёлся ещё один дополнительный ИК датчик наличия стены слева по корпусу, я его даже не замечал.

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

МК первая ножка слева низу.
IMG_6859.JPG


Один из DRV8801
IMG_6860.JPG


Энкодер с ведущего колёса - магнитный (один датчик холла), даёт информацию только о скорости вращения, без направления.
IMG_6865.JPG


Энкодер под вилкой рояльного колеса (оптический), довольно странный, он показывает только когда робот едет вперёд и немного встороны, но не 360 градусов.
IMG_6866.JPG


рояльное колесо
IMG_6867.JPG


Дополнительный сенсор наличия стены по левому борту (два диода в центре кадра)
IMG_6868.JPG


Датчики наличия поверхности (вначале ролика, извините за разрешение 160x160 =) )


Бампер


Мощность турбины, оказалось что на полной мощности она не так уж и плохо сосёт.

Re: Chuwi ILIFE V7

Medtech » 15 авг 2016, 15:02

датчик переднего колеса для определения застревания робота, когда ведущие колёса вращаются, а робот вывесился например на кривых ножках сушки для белья или пороге, трёт колёсами о поверхность но сдвинуться с места усилия прижатия колеса к полу не хватает, упёрся при движении вперёд в неидентифицируемое препятствие. Обычно при отсутствии вращения переднего колеса включается стандартный режим - несколько попыток съезда назад, попытки вращения вокруг оси, чтоб увидеть стандартные ходы стоит присмотреться к Румбе любой серии от 5 до 9. Отдельный датчик стены используется для следования вдоль стены, почти касаясь, но часто гораздо дальше, разные уровни отражения не дают качественно идентифицировать расстояние, по этому используется трингуляционный способ, максимум отражения на оптимальном расстоянии.
Энкодерам всё равно куда вращаться, лишь бы считывали, направление движения задают не они, а ошибки в один оборот при смене направления можно пренебречь, редукция.

Добавлено спустя 2 минуты 22 секунды:
Читаю и удивляюсь на терпение и желание, просто супер- пупер. :durak:

Re: Chuwi ILIFE V7

linvinus » 15 авг 2016, 18:57

просто супер- пупер. :durak:

всегда приятно услышать добрые слова :crazy:

Re: Chuwi ILIFE V7

Underbush » 25 авг 2016, 01:27

Господа специалисты, прошу помощи в ремонте сабжа. При включении уборки он начинает ехать назад (должен ехать вперед), затем начинает подпрыгивать, поворачивает, снова едет задом, подпрыгивает и останавливается с кодом ошибки 02. В руководстве написано неисправность датчика высоты или датчика бампера. Подскажите есть какие то варианты ремонта малой кровью? 3 месяца проработал пылесос...

Re: Chuwi ILIFE V7

Myp » 26 авг 2016, 12:35

Underbush писал(а):есть какие то варианты ремонта малой кровью?

конечно, берёшь и ремонтируешь, в чём неисправность он тебе уже сам сказал.

Re: Chuwi ILIFE V7

Medtech » 26 авг 2016, 22:24

Underbush К сожалению это только начало, обычно такое в китайцах начинается через год полтора, надо смотреть датчики, измерять напряжения, короче пиявок придётся поставить много, малой кровью типа постучать по колесу, протереть фары и хлопнуть дверью не получиться.

Re: Chuwi ILIFE V7

linvinus » 26 авг 2016, 23:37

3 месяца проработал пылесос...

а что с гарантией?

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

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

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

в общем видео без ИК фильтра или осциллограммы с разъёма через который подключен передний бампер, могли бы что то прояснить

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

Добавлено спустя 12 минут 7 секунд:
на вскидку.
1) запылилась передняя крышка, так что отражает достаточно света ИК и датчики срабатывают. (маловероятно, там всё достаточно плотно, но есть шанс)

2) скорее всего проблема именно с датчиками пола, робот ожидает сигнал "пол есть", а этого сигнала нет, варианта три
- перегорел излучающий диод
- перегорел фотодиод
- проблемы с контактами

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

Re: Chuwi ILIFE V7

Medtech » 26 авг 2016, 23:49

linvinus гарантия обычно по месту продажи :no:, официально чувиков покупать жаба душит, по этому они почти все с Алиэкспресса, 3 месяца прошло, можно вяло мурыжить продавца на предмет неисправности, он так же вяло будет отбрёхиваться, но без примитивной диагностики на предмет что менять ничего не выйдет, обычно падает эмиссия у светодиодов, но не так рано, вполне возможно что просто обрыв, надо искать, а такого энтузиазма как у тебя мало у кого есть, его бы процентов 20 страждущему и робот был бы уже починен без лишних вопросов.

Re: Chuwi ILIFE V7

linvinus » 27 авг 2016, 00:10

обычно падает эмиссия у светодиодов,

очень похоже на точный диагноз.

Medtech а вы случаем не сотрудник какого нибудь сервис центра?
судя по комментариям, на этом и на другом форуме у вас опыт действительно есть.

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

Re: Chuwi ILIFE V7

Medtech » 27 авг 2016, 00:41

У меня маленькое увлечение переросшее в работу :) достаточно набрать "Medtech робот" в любом поисковике, тем кому надо достаточно быстро находят где отремонтировать роботов, оплаченная реклама работает, а так же аутсорс от некоторых официальных и не очень сервисов.
К сожалению то что лежит чуть выше железа мне плохо поддаётся, по этому некоторые залоченные проекты приходится ремонтировать крупно-блочно, это проще, надёжнее и экономит время, которого не так уж и много.
По этому читая про ту лёгкость с которой понимающий человек пишет алгоритмы для расшифровки всего что пришло и вышло в контроллер я тупо умиляюсь и завидую этой лёгкости, пониманию процессов и комбинации решений.
Китайские роботы работают чаще чем ломаются, но иногда их проще выбросить(перевести в разряд донора) чем ремонтировать.
У меня будет для вас деловое предложение по написанию прошивки для блока питания, часто в нём выгорает выходной полевик и утаскивает за собой выходной каскад Pic контроллера который отвечает за управление питанием и идентификацию подключаемого устройства, на днях платы принесут и можно будет разговаривать предметно.

Re: Chuwi ILIFE V7

linvinus » 27 авг 2016, 07:56

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


Rambler\'s Top100 Mail.ru counter