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

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

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

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

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

Изменённая схема:


После пробных запусков с новым пузырём, вылезло много новых ньюансов.
Не с пузырём, с ним-то как раз пока всё нормально - сдувается-надувается, вода сливается, утечек нет. А вот программу контроллера пришлось "пилить" дальше.
Во-первых, без датчика сте мне показалось бессмысленно работать по времени, логичнее работать до разряда батарей (или до выключения пользователем).
Во-вторых, батарея у меня оказалась поддохшая, хватает на 35 мин. работы.
В-третьих, скорость движения была задрана - плохо прижималась к полу и плохо собирала грязную воду.
В-четвёртых, оказалось, что вся чистая вода выливается примерно за 10-12 мин. потом водяная помпа работает впустую.

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

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

Видео с результатом работы восстановленной Скубы:
https://yadi.sk/i/kK_K9v-ecPnBj
Ответить с цитированием
  #12  
Старый 30.12.2014
Serge_ISA Serge_ISA вне форума
Местный
Роботовед
 
Регистрация: 10.02.2014
Адрес: SPb
Сообщений: 357
Serge_ISA на пути к лучшему
По умолчанию

По логике работы 230-й Скубы, для достижения хороших результатов она должна активно "двигать телом", чтобы работали её неподвижные щётки. А что мы видим на практике? Прямолинейные движения со случайными поворотами и спирали. И всё! Но если присмотреться, то в самом начале уборки оригинальная Скуба делает вот такой финт, который больше не повторяет - https://yadi.sk/i/wdZhnZnWcVpHM

Очень понравилось мне это "виляние задом", так что теперь реализован новый "примитив" движения.
Видео раз - https://yadi.sk/i/38sSnq2ecVpHb
Видео два - https://yadi.sk/i/3HA6uYzYcVpHV

В текущей версии алгоритм движения таков:
- если с момента срабатывания бампера прошло ~ от 0 до 4 сек., двигаемся прямолинейно, помпа работает;
- на 4-й сек. если ещё есть вода, отключаем помпу, разворот на 180 град. и едем "виляя задом" по только что намоченному, и так до 14й сек.;
- на 14й сек. поворот случайно направо или налево на 90град., включили помпу, и вперёд прямолинейно до 20й сек.;
- с 20й сек. начинаем спираль.
В любой момент при срабатывании бампера - манёвр уклонения на случайный угол. Для более экономного расхода воды помпа работает только при прямолинейном движении (в т.ч. и в составе "спиралей").

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

Ну что ж, проект потихоньку движется к завершению, т.к. в текущей версии меня почти всё устраивает, и Скуба уже некоторое время как "встала на боевое дежурство".

В текущей версии 7.17 реализовано:
1. Зарядка/подзарядка аккумулятора.
Уже пару недель как я перешёл на литий-ионный аккумулятор емкостью 1600мАч.
Т.к. родное зарядное устройство слишком "умное" и просто так не работает, то я использую блок питания 9в/0.5А от какого-то модема.
При подключённом заряднике режим работы индицируется красным и зелёным светодиодами "Power":
красный горит, зелёный не горит - идёт зарядка, напряжение на аккумуляторе менее 6В,
красный мигает, зелёный не горит - идёт зарядка, напряжение от 6 до 8 В,
красный мигает, зелёный горит - идёт зарядка, напряжение от 8 до 8,4 В,
зелёный горит, красный не горит - напряжение больше 8,4В.
В процессе зарядки производится контроль температуры аккумулятора.
2. Режим уборки.
Чтобы включить режим уборки, нужно отключить зарядное устройство, если оно подключено (контроль подключённого зарядника) и кратковременно нажать кнопку "Power".
Если аккумулятор не разряжен, подсветится зелёным кнопка "Clean". В течении 2 мин. кнопка будет светиться, ожидая нажатия. Если нажатия не будет, робот отключится.
Если нажать на светящуюся кнопку "Clean", робот проиграет стартовую мелодию и начнёт 35-минутный цикл уборки ("длинная уборка").
Если одновременно с кнопкой "Clean" нажать и кнопку "Power", робот проиграет другую стартовую мелодию (ноты мелодий хранятся в EEPROM в формате Длительность:Тон:Пауза (по 3 байта на ноту)) и начнёт 20-минутный цикл уборки ("короткая уборка").
Во время уборки подсветка кнопки "Clean" будет мигать.
Экспериментально установлено, что вся чистая вода из "пузыря" выкачивается примерно за 13-15 мин. Пэтому в "длинном" цикле уборки помпа, разбрызгивающая чистую воду, работает первые 15 мин., в "коротком" цикле - 7 мин.
Оставшееся время до окончания цикла уборки, робот двигается, отключив помпу и снизив скорость в 1,5 раза для лучшего сбора грязной воды с пола и экономии заряда аккумулятора.
Цикл уборки может заканчиваться по нажатию кнопки "Clean", разрядке аккумулятора, по прошествии 35 или 20 мин. с начала уборки или если робот застрял и не смог самостоятельно выбраться.
По окончанию уборки проигрывается финальная мелодия и робот отключается.
3. Режимы движения:
В текущей версии программы реализованы три "примитива" движения - по левой или правой псевдоспирали, псевдохаотическое передвижение ("свободное блуждание") и прямолинейное движение "виляя задом"
Последний "примитив" призван заставить более эфективно работать щётки.
В текущей версии алгоритм движения таков:
- с движения по спирали робот начинает цикл уборки и переходит к псевдослучайным перемещениям при столкновении с препятствием.
- если с момента срабатывания бампера прошло ~ от 0 до 4 сек., двигаемся прямолинейно, помпа работает;
- на 4-й сек. если ещё есть вода, отключаем помпу, разворот на 180 град. и едем "виляя задом" по только что намоченному, и так до 7й сек.;
- на 7й сек. разворот на 180 град., включили помпу, и вперёд прямолинейно до 20й сек.;
- с 20й сек., если всё ещё не срабатывал бампер, начинаем спираль.
В любой момент при срабатывании бампера - манёвр уклонения на случайный угол. Для более экономного расхода воды и заряда аккумулятора, помпа работает только при прямолинейном движении (в т.ч. и в составе "спиралей").
После 15 мин. (7 мин., если "короткая уборка"), в алгоритм движения вносятся изменения - отключается помпа, не используется "виляние задом" и скорость движения снижается в 1,5 раза.
После выключения помпы, т.е. перехода в режим "сушки", мигает подсветка кнопки "Clean" и светодиод "Ok".
4. Скорость движения робота не зависит от степени разряженности аккумулятора, т.к. постоянно корректируется в зависимости от напряжения на нём..
5. Режим антизастревания.
Если в течение 2-х минут не было срабатывания датчиков бампера или датчики бампера постоянно находятся в сработавшем состоянии, робот "считает". что застрял.
В этом случае выключаются моторы помпы и насоса и робот пытается выбраться, "раскачиваясь" вперёд-назад/назад-вперёд и пытаясь развернуться по псевдослучайному
алгоритму. После 10 попыток, если ситуация с датчиками бампера не меняется, робот "считает". что застрял окончательно.
В этом случае выключаются все моторы, мигает красный светодиод "Error" и 100 раз воспроизводится короткий звуковой сигнал, похожий на сирену.
Если в процессе этого действа будет нажата кнопка "Clean", робот продолжит цикл уборки (т.е. считает, что человек его освободил на дал команду на продолжение).
Если кнопка нажата не будет, робот отключается с зажжёным индикатором "Error".
6. Работа с ИК-аксессуарами Scooba_2xx-3xx/Roomba_5xx-7xx.
Поддерживаются:
- Scooba Virtual Wall (а т.к. параметры сигнала Скубовской стенки сильно "гуляют" в зависимости от всего, то заодно поддерживается куча всего, передающего ИК-сигнал, близкий к меандру с периодом от 1.52 до 4,8 мсек. В частности, работает со стенкой от китайского пылесоса),
- Roomba Auto Virtual Wall,
- Roomba IR Remote (ИК-пульт, короче говоря),
- Roomba Compact Base (т.к. что с нею делать, непонятно, то робот реагирует на её сигналы, как на сигналы виртуальной стены).
7. Работа через BlueTooth-адаптер.
Посредством BlueTooth-адаптера робот может общаться с хост-системой через эмуляцию стандартного COM-порта с параметрами 2400,8,N,1.
"Общение" происходит путём передачи роботу символов команд и приёмом со стороны робота различных сообщений.
В текущей версии программы поддерживаются следующие команды:
? - вывод помощи по командам и информации о версии прошивки.
s - вывод статусной информации: текущий режим работы робота, состояние аккумулятора, состояние датчиков бампера, а также оставшееся время уборки.
w - включение питания, равносильно нажатию кнопки "Power". Не доступно, если подключён зарядник.
с - включение режима уборки, равносильно нажатию кнопки "Clean". Не доступно, если подключён зарядник или не включено питание.
Далее следует группа команд, управляющая движением робота и включением/выключением исполнительных механизмов. Эти команды доступны только если не подключён зарядник, включено питание, но не активирован режим уборки).
Курсорные клавиши - движение вперёд/назад, повороты вправо/влево. Срабатывания датчиков бампера не учитываются.
Пробел - стоп/продолжить движение.
p - включить/выключить мотор помпы,
v - включить/выключить мотор насоса.

Ссылки на текущие исходник и прошивку, и содержимое EEPROM - https://yadi.sk/d/35_ZunswZY8Pd
Ответить с цитированием
  #14  
Старый 30.12.2014
Serge_ISA Serge_ISA вне форума
Местный
Роботовед
 
Регистрация: 10.02.2014
Адрес: SPb
Сообщений: 357
Serge_ISA на пути к лучшему
По умолчанию

Реализовал "движение вдоль плинтуса" - на удивление простой код получился. :shock:

Теперь алгоритм движения выглядит так:
- Перво-наперво робот делает полный оборот на месте. Таким образом происходит "заливка" центра первой спирали в начале цикла уборки;
- после этого робот начинает движение по спирали и переходит к псевдослучайным перемещениям при столкновении с препятствием;
- если с момента срабатывания бампера прошло ~ от 0 до 4 сек., двигаемся прямолинейно, помпа работает;
- на 4-й сек. если ещё есть вода, отключаем помпу, разворот на 180 град. и едем "виляя задом" по только что намоченному, и так до 7й сек.;
- на 7й сек. разворот на 180 град., включили помпу, и вперёд прямолинейно;
- c 8 по 19 сек. времени без срабатывания бампера, если срабатывает левый бампер, начинаем движение "вдоль плинтуса". Во время движения вдоль плинтуса "время без сраб.бампера" при срабатывании бампера не сбрасывается.
- с 20й сек., если всё ещё не срабатывал бампер или если двигались вдоль плинтуса, начинаем спираль.
В любой момент (кроме движения вдоль плинтуса) при срабатывании бампера - манёвр уклонения на случайный угол.

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

PS: Достигнутый на текущий момент функционал меня полностью устраивает, новых "плюшек" добавлять в программу я не планирую (да и некуда их добавлять - осталось 30 байт программной памяти). Дальше будет только ловля багов в процессе эксплуатации.
Ответить с цитированием
  #15  
Старый 26.03.2015
Кит Кит вне форума
Пользователь
Роботовод
 
Регистрация: 23.08.2012
Адрес: Россия, Москва
Сообщений: 36
Кит на пути к лучшему
По умолчанию

Добрый день!

Надеюсь вы обитаете на Робофоруме? Там это тоже очень бы оценили!
Ответить с цитированием
  #16  
Старый 31.03.2015
Serge_ISA Serge_ISA вне форума
Местный
Роботовед
 
Регистрация: 10.02.2014
Адрес: SPb
Сообщений: 357
Serge_ISA на пути к лучшему
По умолчанию

http://roboforum.ru/forum90/topic14537.html
Ответить с цитированием
  #17  
Старый 22.04.2015
Serge_ISA Serge_ISA вне форума
Местный
Роботовед
 
Регистрация: 10.02.2014
Адрес: SPb
Сообщений: 357
Serge_ISA на пути к лучшему
По умолчанию

Некоторое время назад умудрился проколоть с таким трудом изготовленный новый "пузырь". Решил его не восстанавливать и переделать режим работы на последовательно-двухпроходный. Т.е. первые 27 из 45 мин. длинной (12 из 20 мин. короткой) уборки робот "размазывает" воду щётками по полу, оставшееся время собирает её.

Прошивка всё там-же - https://yadi.sk/d/35_ZunswZY8Pd
Ответить с цитированием
  #18  
Старый 22.04.2015
Serge_ISA Serge_ISA вне форума
Местный
Роботовед
 
Регистрация: 10.02.2014
Адрес: SPb
Сообщений: 357
Serge_ISA на пути к лучшему
По умолчанию Самодельный контроллер для iRobot Scooba 230 #2

Заканчиваю работу над восстановлением второй попавшей мне в руки Скубы.
В этот раз решил ни в чём себе не отказывать и взял "жирный" контроллер - ATMega128
Теперь поддерживается работа со всем железом Скубы.

Схема:

Извиняюсь за "качество", но схема пока существует только в виде рабочего черновика.

Схема - зарядник аккумулятора, питание контроллера и питание подключаемой периферии:

В отличие от первой версии, теперь оно работает.

Очищенный от останков родного контроллера и компаунда корпус Скубы:


Плата самодельного контроллера - вид сверху:


Плата самодельного контроллера - вид снизу:


Плата самодельного контроллера с установленным модулем BlueTooth-Serial на порту#2:


Плата самодельного контроллера в корпусе Скубы перед заливкой герметиком:


Не обошлось, увы, без "косяков".
В первом контроллере мне очень не хватало ШИМ-а для регулировки скорости мотора помпы, поэтому здесь он был добавлен.
Но оказалось, что в данном случае ШИМ гораздо нужнее на моторе насоса, ибо в этом экземпляре Скубы он (мотор) невероятно прожорлив.
Но, т.к. плата уже была залита герметиком, пришлось делать программную "эмуляцию ШИМ-а". Ну кто бы мог подумать, что разные экземпляры одной модели будут иметь такие разительные разбросы по параметрам железа?...

Для ускорения "выхода" готового изделия была адаптирована программа из первого проекта на ATMega8. Т.к. то была моя первая программа на Bascom и написана она по принципу "что вижу, о том пою", то результат весьма громоздок. Но пока нет ни времени, ни желания писать программу "правильно" с нуля.

Реализованные новые "плюшки":
1. Режим глубокого сна с отключением периферии - теперь робот может храниться без зарядки несколько месяцев и не высадить батарею в "0".
2. Работа с датчиками перепада высоты вообще и реализация режима "подняли на руки" в частности.
3. Реализован режим "Пауза во время уборки".
4. Контроль датчика "Бак чистой воды пуст" и датчика вращения помпы перед началом уборки.
5. Разные звуковые сигналы на ошибки разных датчиков.
6. Сильно расширено количество выводимой при запросе статуса информации.
7. Тестовый режим для проверки всего железа - датчиков, моторов, индикаторов и т.д.

В планах:
1. Расширение функций самоконтроля и, соответственно, звуковых кодов ошибок
1.1. контроль вращения помпы во время работы;
1.2. контроль токовых датчиков моторов.
2. "Обход плинтуса" обоими бортами. При обходе правым задействовать датчик стены.
3. Реализовать на светодиодах датчиков стены/высоты возможность передачи ИК-команд другим устройствам.

Все файлы проекта, а также видео работы с новыми "плюшками" здесь - https://yadi.sk/d/jAAeG3mig95pL

Последний раз редактировалось Serge_ISA; 22.04.2015 в 17:55.
Ответить с цитированием
  #19  
Старый 27.08.2015
Яна Яна вне форума
Новичок
 
Регистрация: 27.08.2015
Сообщений: 1
Яна на пути к лучшему
По умолчанию мешок в скуба

Добрый день!

Спасибо окончательно разочаровали по поводу дырявого мешка в скуба 230.

Я прочла, что вы не один робот ремонтровали, а два и сообщения вроде не устаревшие.

Осмелюсь предложить Вам для ремонта 3-й, может не откажете?

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

Цитата:
Сообщение от Яна Посмотреть сообщение
Спасибо окончательно разочаровали по поводу дырявого мешка в скуба 230.
Напрасно вы так - не такая это частая неисправность 230-х и случается на конкретной партии марта 2012г. выпуска.

Цитата:
Сообщение от Яна Посмотреть сообщение
Я прочла, что вы не один робот ремонтровали, а два и сообщения вроде не устаревшие.
Несколько побольше, чем два ...

Цитата:
Сообщение от Яна Посмотреть сообщение
Осмелюсь предложить Вам для ремонта 3-й, может не откажете?
Я-то за, только как мы это будем организовывать, если вдруг вы не из Питера?
Ответить с цитированием
Ответ

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

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

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

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


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


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