Магазин роботов пылесосов iRobot Roomba и Scooba  

Вернуться   Форум iRobots.biz:Роботы для дома и офиса > Роботы-мойщики пола iRobot Scooba > Ремонт iRobot Scooba

Ремонт iRobot Scooba Информация по симптомам, методами поиска неисправностей и пути решения различных проблем Scooba

Ответ
 
Опции темы Опции просмотра
  #1  
Старый 30.12.2014
Serge_ISA Serge_ISA вне форума
Местный
Роботовед
 
Регистрация: 10.02.2014
Адрес: SPb
Сообщений: 357
Serge_ISA на пути к лучшему
По умолчанию Восстановление Scooba 230 - самодельный контроллер и новый пузырь

Имея за плечами некоторый опыт восстановления Roomba и Scooba 3xx, я думал, что неплохо знаю продукцию iRobot.
Как я ошибался! Знал бы я какое количество "гемороя" меня ждёт, когда покупал по дешёвке неисправную Scooba 230!
Но по-порядку.
Как-то, увидев объявление о продаже неисправной Scooba 230, я не особо раздумывая её приобрёл - ведь такой зверушки в моей коллекции ещё не водилось.
Если бы сначала почитал форумы, я бы не поступил столь опрометчиво. Ведь оказалось, что Scooba 230 - аппарат АБСОЛЮТНО НЕРЕМОНТОПРИГОДНЫЙ!
Да, их не ремонтируют, их просто заменяют по гарантии или выбрасывают! Это, кстати, объясняет и столь высокую цену на них.

Но мне терять было уже нечего, поэтому решено было сделать из ЭТОГО хоть что-то полезное.
У купленной мной Скубы оказалось две проблемы. Первая - она не включалась и вообще не подавала никаких признаков жизни.
Вторая - та самая, из-за которой большинство 230-х Скуб сдаётся в сервис-центр - дырявый "пузырь" для чистой воды.
Здесь будет история про восстановление контроллера. Ремонт пузыря - это отдельная история.

Попытка отремонтировать контроллер окончилась полным провалом (см. фото 1-4) - оказалось, что контроллер залит каким-то весьма твёрдым компаундом.
С трудом отковыряв его, я получил какой-никакой доступ к плате, но этого было мало.
Попытка снять плату закончилась тем, что почти все детали с неё оторвались и остались в этом жутком компаунде.
Браво, iRobot! Такого я ещё не видел. :shock:




Самое смешное заключается в том, что при абсолютно одноразовой конструкции, все датчики и механизмы к плате подключаются разъёмами!

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

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

Далее были выяснены назначения всех разъёмов - см.фото 6 (не буду углубляться в подробности, но это было не просто).
Ответить с цитированием
  #2  
Старый 30.12.2014
Serge_ISA Serge_ISA вне форума
Местный
Роботовед
 
Регистрация: 10.02.2014
Адрес: SPb
Сообщений: 357
Serge_ISA на пути к лучшему
По умолчанию

Далее была проведена ревизия коробок с радиохламом и выбран кандидат на "мозг" - им оказался контроллер Atmel ATMega8. Забегая вперёд скажу, что надо было брать ATMega16, на неё можно было бы повесить все датчики и не мучаться с катастрофической нехваткой ног.
Схема в процессе работы несколько раз менялась:
рис.7 - схема для работы с Cliff-сенсорами, работа с Wall- и Virtual_Wall-сенсорами не предполагается;


рис.8 - схема для работы с Wall- и Virtual_Wall-сенсорами, работа с Cliff-сенсорами не предполагается (к тому времени в процессе экспериментов я их "удачно" подпалил);


рис.9 - финальная схема для работы с Virtual_Wall-сенсором и Serial-BlueTooth-адаптером, работа с Wall- и Cliff-сенсорами не предполагается.


Рис.10 - расчёты всяких делителей и прочего для всех схем.


Кроме того, в процессе экспериментов перестали работать родной динамик (заменён на внешний) и светодиод "Ok" (вместо него я использую зелёный светодиод "Power").

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

Установлен в корпус вместе с BlueTooth-адаптером (см. фото 12) и залит термоклеем (см. фото 13).

Ответить с цитированием
  #3  
Старый 30.12.2014
Serge_ISA Serge_ISA вне форума
Местный
Роботовед
 
Регистрация: 10.02.2014
Адрес: SPb
Сообщений: 357
Serge_ISA на пути к лучшему
По умолчанию

В качестве среды для написания управляющей программы знакомый по предыдущим проектам ассемблер очень пугал, поэтому был освоен BascomAVR (уже польза!) - очень приятная оказалась среда разработки.
Т.к. описываемый проект - это "живой" полигон для тренировки, а не законченный продукт, то программа постоянно переделывается. Ссылки на текущие исходник и прошивку - https://yadi.sk/d/35_ZunswZY8Pd

Что реализовано в текущей версии:
1. Зарядка/подзарядка аккумулятора (можно использовать литий).
Т.к. родное зарядное устройство у меня не заработало (то ли битое, то ли что-то ему нужно для нормальной работы), то используется блок питания 9в/0.5А от какого-то модема.
При подключённом заряднике режим работы индицируется красным и зелёным светодиодами "Power":
красный горит, зелёный не горит - идёт зарядка, напряжение на аккумуляторе менее 6В,
красный мигает, зелёный не горит - идёт зарядка, напряжение от 6 до 8 В,
зелёный горит, красный не горит - идёт зарядка, если напряжение на аккумуляторе растёт от 8 до 8,4В или зарядник отключён, если напряжение на аккумуляторе дошло до 8,4В и теперь может падать до 8В.
2. Режим уборки.
Чтобы включить режим уборки, нужно отключить зарядное устройство, если оно подключено (контроль подключённого зарядника), налить в бак чистой воды (контроль наличия воды) и кратковременно нажать кнопку "Power".
Если аккумулятор не разряжен, подсветится зелёным кнопка "Clean". В течении 2 мин. кнопка будет светиться, ожидая нажатия. Если нажатия не будет, робот отключится.
Если нажать на светящуюся кнопку "Clean", робот издаст серию звуков и начнёт 20-минутный цикл уборки, подсветка кнопки "Clean" при этом будет мигать.
В текущей версии программы реализованы два типа движения - по левой или правой псевдоспирали и псевдохаотическое передвижение.
С движения по спирали робот начинает цикл уборки и переходит к псевдослучайным перемещениям при столкновении с препятствием. Впоследствии, если в течение 20 сек. не было столкновения с препятствием, робот снова переходит в движениям по спирали до очередного столкновения. И т.д.
Цикл уборки может заканчиваться по нажатию кнопки "Clean", окончанию чистой воды в баке, разрядке аккумулятора, по прошествии 20 мин. с начала уборки или если робот застрял и не смог самостоятельно выбраться.
3. Режим антизастревания.
Если в течение 4-х минут не было срабатывания датчиков бампера или датчики бампера постоянно находятся в сработавшем состоянии, робот "считает". что застрял.
В этом случае выключаются моторы помпы и насоса и робот пытается выбраться, "раскачиваясь" вперёд-назад/назад-вперёд и пытаясь развернуться по псевдослучайному
алгоритму. После 10 попыток, если ситуация с датчиками бампера не меняется, робот "считает". что застрял окончательно.
В этом случае выключаются все моторы, мигает красный светодиод "Error" и 100 раз воспроизводится короткий звуковой сигнал.
Если в процессе этого действа будет нажата кнопка "Clean", робот продолжит цикл уборки (т.е. считает, что человек его освободил на дал команду на продолжение).
Если кнопка нажата не будет, робот отключается с зажжёным индикатором "Error".
4. Работа с виртуальной стеной Scooba.
Тут всё, как обычно - при приближении к стене робот отворачивает от её ИК-луча.
5. Работа через BlueTooth-адаптер.
Посредством BlueTooth-адаптера робот может общаться с хост-системой через эмуляцию стандартного COM-порта с параметрами 2400,8,N,1.
"Общение" происходит путём передачи роботу символов команд и приёмом со стороны робота различных сообщений.



В текущей версии программы поддерживаются следующие команды:
? - помощь по командам,
s - вывод статусной информации: текущий режим работы робота, состояние датчиков аккумулятора, бака чистой воды и кнопок, а также оставшееся время уборки.
w - включение питания, равносильно нажатию кнопки "Power". Не доступно, если подключён зарядник.
с - включение режима уборки, равносильно нажатию кнопки "Clean". Не доступно, если подключён зарядник или не включено питание.
Далее следует группа команд, управляющая движением робота и включением/выключением исполнительных механизмов. Эти команды доступны только если не подключён зарядник, включено питание, но не активирован режим уборки).
Курсорные клавиши - движение вперёд/назад, повороты вправо/влево. Срабатывания датчиков бампера не учитываются.
Пробел - стоп/продолжить движение.
p - включить/выключить мотор помпы,
v - включить/выключить мотор насоса.

Видео:
http://rutube.ru/video/4f0c9f3d02458...e8c05848f8fe1/
Ответить с цитированием
  #4  
Старый 30.12.2014
Serge_ISA Serge_ISA вне форума
Местный
Роботовед
 
Регистрация: 10.02.2014
Адрес: SPb
Сообщений: 357
Serge_ISA на пути к лучшему
По умолчанию

Изменения/добавления в текущей версии (ловля багов и оптимизация подразумеваются сами собой):
6. Работа со всеми ИК-аксессуарами Scooba_2xx-3xx/Roomba_5xx-7xx, которые я смог наскрести.
Поддерживаются:
- Scooba Virtual Wall (а т.к. параметры сигнала Скубовской стенки сильно "гуляют" в зависимости от всего, то заодно поддерживается куча всего, передающего ИК-сигнал, близкий к меандру с периодом от 1.52 до 4,8 мсек. В частности, работает со стенкой от китайского пылесоса),
- Roomba Auto Virtual Wall,
- Roomba IR Remote (ИК-пульт, короче говоря),
- Roomba Compact Base (пока только декодируются её сигналы, ибо что с нею делать, непонятно. Возможно потом прикола ради попробую написать процедуру захода на неё).

Найденные в процессе экспериментов параметры сигналов:


Ссылки на текущие исходник и прошивку:
https://yadi.sk/d/35_ZunswZY8Pd

Видео (Roomba-пульт):
http://rutube.ru/video/43bb2af5173ca...43becdf40d79f/

Видео (Roomba- и Scooba-стенки):
http://rutube.ru/video/16860103ef5c6...80b14a029f8e2/

Видео:
http://rutube.ru/video/ad005422c3a99...eaa3c80fe5680/
Ответить с цитированием
  #5  
Старый 30.12.2014
Serge_ISA Serge_ISA вне форума
Местный
Роботовед
 
Регистрация: 10.02.2014
Адрес: SPb
Сообщений: 357
Serge_ISA на пути к лучшему
По умолчанию

Теперь дошла очередь и до нового пузыря.

Моя Скуба относится как раз к злополучной серии, произведённой в марте 2012 года. Пузыри, установленные
в эту серию, через несколько месяцев эксплуатации трескаются во многих местах. Технологии замены дырявых пузырей на 230-й Скубе не существует, в сервис-центрах гарантийные Скубы меняют на новые.
Так что ниже написанное можно считать know-how.

Итак, для начала через Fill-порт был грубо выдран родной пузырь. Вот его плачевное состояние:


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

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

Но в одном из магазинов медоборудования была найдена такая вот штука по цене аж 26 руб.:






Там-же была куплена система для переливания крови, трубочки из её состава очень пригодились:
Ответить с цитированием
  #6  
Старый 30.12.2014
Serge_ISA Serge_ISA вне форума
Местный
Роботовед
 
Регистрация: 10.02.2014
Адрес: SPb
Сообщений: 357
Serge_ISA на пути к лучшему
По умолчанию

Подготовка нового пузыря
-----------------------------

Первым делом от пузыря были отрезаны все лишние "хвостики" и "крылышки".
Далее была подобрана трубка, по диаметру чуть меньше, чем горлышко Fill-порта.


От неё отрезан кусок, из которого было сделано новое заливное "горло":


Широкая трубка вырезана из пузыря, новое горлышко вклеено в пузырь суперклеем:


Сливная трубка пузыря укорочена почти "в ноль":


Удалён обратный клапан (в оригинальном девайсе он препятствует вытеканию содержимого):

Это было проделано через новую широкую горловину при помощи длинной иглы и тонкого пинцета. Тут главное не повредить сам пузырь.
Ответить с цитированием
  #7  
Старый 30.12.2014
Serge_ISA Serge_ISA вне форума
Местный
Роботовед
 
Регистрация: 10.02.2014
Адрес: SPb
Сообщений: 357
Serge_ISA на пути к лучшему
По умолчанию

Переходим к "тушке" Скубы
-------------------------------

Аккуратно удалён штуцер слива из бака:


По диаметру тонкой трубки (она как раз входит внутрь штуцера) просверленно отверстие - насквозь внутрь скубовского бака. В отверстие пропущена трубка, второй её конец пропущен через Fill-порт.




Трубка, пропущенная в бак Скубы:


Соединительная "муфточка" на конце трубки. Она помогла соединиться с более широкой сливной трубой пузыря:


Соединение трубок получилось очень плотным, но для надёжности залито ещё и суперклеем:


Далее пузырь был сложен "гармошкой" и просунут через Fill-порт в бак. Сливная трубка вытянута, насколько можно. Новая "заливная горловина" заняла своё место и для герметичности опять-же залита суперклеем:


Сливная трубка обрезана с отступом в 1,5 см, чтобы можно было надеть на неё штуцер:
Ответить с цитированием
  #8  
Старый 30.12.2014
Serge_ISA Serge_ISA вне форума
Местный
Роботовед
 
Регистрация: 10.02.2014
Адрес: SPb
Сообщений: 357
Serge_ISA на пути к лучшему
По умолчанию

Штуцер надет на трубку (и тут суперклей):


Штуцер вставлен на клею на своё место:




Нижняя крышка Скубы несёт на себе "задние" сопла для разбрызгивания воды. В своё время в процессе восстановления контроллера нижняя крышка была снята (оторвана), а подающая трубка аккуратно перерезана. Для восстановления этой трубки от толстой иглы из системы перелива крови был отрезан кусок примерно в 7мм:


Отрезанный кусок иглы вставлен в отверстие трубки на крышке Скубы:


При вклейке крышки ответная часть вставлена в отверстие трубки на корпусе Скубы и соединение залито клеем и замазано герметиком:
Ответить с цитированием
  #9  
Старый 30.12.2014
Serge_ISA Serge_ISA вне форума
Местный
Роботовед
 
Регистрация: 10.02.2014
Адрес: SPb
Сообщений: 357
Serge_ISA на пути к лучшему
По умолчанию

Нижняя крышка Скубы приклеена к корпусу с помощью силиконового автомобильного герметика, который заполнил все щели:










Загерметизированное место соединения трубки, подающей воду к задним соплам:


Отверстие для разъёма программирования контроллера заклеено скотчем:
Ответить с цитированием
  #10  
Старый 30.12.2014
Serge_ISA Serge_ISA вне форума
Местный
Роботовед
 
Регистрация: 10.02.2014
Адрес: SPb
Сообщений: 357
Serge_ISA на пути к лучшему
По умолчанию

Теперь о недостатке такого метода восстановления пузыря
----------------------------------------------------------------------------

При сверлении отверстия через подающий штуцер в бак, повреждается датчик CTE (Clear Tank Empty - Бак чистой воды пуст). А даже если бы он не повреждался, трубка от нового пузыря, пропущенная через просверленное отверстие, не позволяет контактировать датчику с чистой водой из пузыря. Поэтому мне в моём самодельном контроллере пришлось отказаться от работы с этим датчиком, а освободившийся вход использовать для контроля температуры аккумулятора.

В случае восстановления пузыря на Скубе с родным контроллером, придётся делать блокировку для датчика CTE, иначе Скуба откажется работать.

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


На крайние ножки разъёма припаять резистор сопротивлением 1-10 кОм, после чего плату загерметизировать герметиком или эпоксидным "пластелином":
Ответить с цитированием
Ответ

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Текущее время: 02:40. Часовой пояс GMT +3.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd. Перевод: zCarot