Самодельный робот-пылесос.

nitrior
nitrior аватар
Offline
Зарегистрирован: 02.02.2015

Вот схема, но до фильтров тяжело добраться, чтобы проверить.

a5021
Offline
Зарегистрирован: 07.07.2013

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

 

SLOM
Offline
Зарегистрирован: 06.11.2014

хренасе моторы у вас, странно что без собственной встроенной ардуины :) 

а может выдернуть все лишнее и оставить только мотор и 1 кондер а паралель... 

вам явно мешают вот те индуктивности. у них при разной частоте разное сопротивление...  для мотора с постоянным током это неплохо. но у вас же он питаеться от шим.... вот они и фильтруют вашу частоту :) 

выкидывайте все кроме с3 

jeka_tm
jeka_tm аватар
Offline
Зарегистрирован: 19.05.2013

а я не считаю что индуктивности плохо. по моему наоборот хорошо

конденсаторы точно все нужны

да и энкодер стоит для подстройки скорости

какой же мотор тут был бы лучше?

nitrior
nitrior аватар
Offline
Зарегистрирован: 02.02.2015

SLOM пишет:

хренасе моторы у вас, странно что без собственной встроенной ардуины :) 

а может выдернуть все лишнее и оставить только мотор и 1 кондер а паралель... 

вам явно мешают вот те индуктивности. у них при разной частоте разное сопротивление...  для мотора с постоянным током это неплохо. но у вас же он питаеться от шим.... вот они и фильтруют вашу частоту :) 

выкидывайте все кроме с3 

Подключил в обход индуктивностей, всеравно скорость сильно пляшет.

Вот его внутренности:

nitrior
nitrior аватар
Offline
Зарегистрирован: 02.02.2015

Похоже еще моторы из разных партий на одном шестеренка пластиковая на другом латунная. Тот на котором латунная более стабильный.

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

Мечта разбилась о моторы.

nitrior
nitrior аватар
Offline
Зарегистрирован: 02.02.2015

jeka_tm пишет:

какой же мотор тут был бы лучше?

Более стабильный в плане оборотов.

Илья73
Offline
Зарегистрирован: 06.09.2013

Снять размеры моторов и попробовать поискать у китайцев.

jeka_tm
jeka_tm аватар
Offline
Зарегистрирован: 19.05.2013

а что значит нестабильный в плане оборотов по твоему? при одном напряжении обороты сами по себе меняются?

a5021
Offline
Зарегистрирован: 07.07.2013

Я вот тоже что-то не очень понимаю физику процесса.

nitrior
nitrior аватар
Offline
Зарегистрирован: 02.02.2015

jeka_tm пишет:

а что значит нестабильный в плане оборотов по твоему? при одном напряжении обороты сами по себе меняются?

Да.

nitrior
nitrior аватар
Offline
Зарегистрирован: 02.02.2015

a5021 пишет:

Я вот тоже что-то не очень понимаю физику процесса.

При стабилизированном напряжении обороты постоянно пляшут, то больше, то меньше.

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

видимо моторы такие.

jeka_tm
jeka_tm аватар
Offline
Зарегистрирован: 19.05.2013

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

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

как стабилизировано питание? с чего подаешь?

с шимом или без?

nitrior
nitrior аватар
Offline
Зарегистрирован: 02.02.2015

jeka_tm пишет:

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

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

как стабилизировано питание? с чего подаешь?

Сами по себе, даже со снятым редуктором без всякой нагрузки.

питание через dc-dc преобразователь, пробовал через эльку, и просто подключал к аккумулятору, всеравно пляшет.

jeka_tm
jeka_tm аватар
Offline
Зарегистрирован: 19.05.2013

значит питание плохое, или шим влияет

nitrior
nitrior аватар
Offline
Зарегистрирован: 02.02.2015

jeka_tm пишет:

значит питание плохое, или шим влияет

так подключал и без шима, всеравно.

jeka_tm
jeka_tm аватар
Offline
Зарегистрирован: 19.05.2013

если дело не в питании значит действительно что то с мотором. хотя никогда такого не встречал на таких двигателях

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

a5021
Offline
Зарегистрирован: 07.07.2013

А что за конструкция у этих двигателей? Коллекторники со щетками? Мож там в щетках контакты гуляют? Снять, почистить.

Илья73
Offline
Зарегистрирован: 06.09.2013

a5021 пишет:

А что за конструкция у этих двигателей? Коллекторники со щетками? Мож там в щетках контакты гуляют? Снять, почистить.

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

Vallu
Vallu аватар
Offline
Зарегистрирован: 17.10.2014

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

nitrior
nitrior аватар
Offline
Зарегистрирован: 02.02.2015

jeka_tm пишет:

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

Вот видео: https://youtu.be/sPsLzKJ0mK4

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

Завтра сделаю скрины монитора.

nitrior
nitrior аватар
Offline
Зарегистрирован: 02.02.2015

a5021 пишет:

А что за конструкция у этих двигателей? Коллекторники со щетками? Мож там в щетках контакты гуляют? Снять, почистить.

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

Может и щетки, но я боюсь их разбирать, потом не соберу и придется все в помойку. А редукторы стоят достойные.

nitrior
nitrior аватар
Offline
Зарегистрирован: 02.02.2015

Vallu пишет:

 Если моторы новые то коллектор окислился тут или разбирать или попробовать погонят моторы может сами очисятся.

Новые. Может и правда включить их часов на 5, может притрутся.

a5021
Offline
Зарегистрирован: 07.07.2013

nitrior пишет:

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

Вот эти честные, честно все и поганят. Я бы с часок точно погонял.

nitrior
nitrior аватар
Offline
Зарегистрирован: 02.02.2015

a5021 пишет:

Вот эти честные, честно все и поганят. Я бы с часок точно погонял.

Включил сейчас погоняю час в одну сторону час в другую. Потом напишу, что получилось.

nitrior
nitrior аватар
Offline
Зарегистрирован: 02.02.2015

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

Вот на скринах скорость в одну сторону и в другую. Это количество тиков энкодера в секунду.

a5021
Offline
Зарегистрирован: 07.07.2013

Да и шут с ними, с разными сторонами, главное, чтобы вращение было равномерным. А дальше может еще подравняется.

jeka_tm
jeka_tm аватар
Offline
Зарегистрирован: 19.05.2013

скорости в разные стороны почти всегда разные. это нормально

a5021
Offline
Зарегистрирован: 07.07.2013

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

Илья73
Offline
Зарегистрирован: 06.09.2013

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

Vallu
Vallu аватар
Offline
Зарегистрирован: 17.10.2014

Илья73 пишет:

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

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

nitrior
nitrior аватар
Offline
Зарегистрирован: 02.02.2015

Илья73 пишет:

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

Бампер обязательно нужен.К примеру ножка стула, или угол мебели, ни ик, ни уз дальномер их не увидит, а бампер сработает.

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

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

Vallu
Vallu аватар
Offline
Зарегистрирован: 17.10.2014

http://robocontroller.ru/news/btca2a_upravlenie_arduino_po_bluetooth_pri... Вот такую классную прогу нашел для управления роботом с андройда.

Илья73
Offline
Зарегистрирован: 06.09.2013

Да, наверно без бампера не обойтись. Буду делать как у вас.

jeka_tm
jeka_tm аватар
Offline
Зарегистрирован: 19.05.2013

а не было мысли использовать сканирующий лазерный дальномер?

http://roboforum.ru/forum10/topic12095.html

не помню поднималась эта тема или нет

Gres
Gres аватар
Offline
Зарегистрирован: 26.03.2013

nitrior
Почитал, очень интересно! Молодец!
Идея такая, для стабилизации прямолинейности движения.
Например левое(L) колесо делает полный оборот за 1000(=100% оборота) тиков, а правое(R) за 1100(100% оборота) тиков.
Для L 1%=10 тиков, для R 1%=11 тиков.
Тогда алгоритм примерно такой(прошу прощения за объяснение на плацах):
Цикл от 1 до 100;
L присваиваем тики с пина 1;
R присваиваем тики с пина 2;
Конец цикла;
L присваиваем значение L/10;
R присваиваем значение R/11;
Сравниваем,
Если L больше R, то добавляем ШИМ для R, если L меньше R, то убавляем ШИМ для R.
Точность можно регулировать цифрами, я имею ввиду проценты, только придется работать с float, что съест ресурсы, но тут тоже есть выход, в зависимости от длительности цикла, значение целой части может быть одним и ее можно отбросить и оперировать только значением после запятой.
Да, проверьте, не проворачивается ли пластиковая шестерня на валу мотора...

nitrior
nitrior аватар
Offline
Зарегистрирован: 02.02.2015

В том то и дело, что за один оборот колес энкодеры выдают одинаковое количество тиков, а вот скорости у моторов разные. Как я уже не бился не получается прямолинейного движения, в мониторе порта показывает, что скорости выравниваются ШИМом, а на деле ставлю пылесос на пол и его уводит в сторону.

Шестеренки проверял, сидят мертво, резину менял местами, ШИМ выставлял вручную и всеравно уводит. Магия какая-то.

В гугле искал, так ничего и не нашел.

Только из-за того, что не могу настроить прямолинейность, все стоит и не двигается дальше. Уже подумываю сделать движение рандомным, как на старом пылесосе и не мучаться.

jeka_tm
jeka_tm аватар
Offline
Зарегистрирован: 19.05.2013

а может сделать датчик направления в котором едет пылесос относительно центральной оси с переда назад

nitrior
nitrior аватар
Offline
Зарегистрирован: 02.02.2015

jeka_tm пишет:

а может сделать датчик направления в котором едет пылесос относительно центральной оси с переда назад

Это как?

Gres
Gres аватар
Offline
Зарегистрирован: 26.03.2013

nitrior пишет:

В том то и дело, что за один оборот колес энкодеры выдают одинаковое количество тиков, а вот скорости у моторов разные. Как я уже не бился не получается прямолинейного движения, в мониторе порта показывает, что скорости выравниваются ШИМом, а на деле ставлю пылесос на пол и его уводит в сторону.


Раз скорости моторов разные, цикл от 1 до 100 пройдет за определенную единицу времени, и на пинах насчитает разное количество тиков за этот временной интервал, если колесо крутится быстрее, то и тиков будет больше, оперируя длительностью цикла и делителем(процентами, это может быть не 1%, а скажем 0,000000001%, все в Ваших руках) можно очень быстро реагировать на изменения скорости и менять ее управляя скважностью импульсов ШИМа. Другое дело если диаметры колес разные(разная длина окружности), тогда нужно вносить программные корректировки, просто скажем прибавляя количество тиков тому или другому приводу.

jeka_tm
jeka_tm аватар
Offline
Зарегистрирован: 19.05.2013

колесо вроде такого, но не прям такое

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

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

nitrior
nitrior аватар
Offline
Зарегистрирован: 02.02.2015

У меня будет стоять шариковое колесико, эти сильно огромные и высокие. пока временно стоит колесико от мебели на термоклее.

nitrior
nitrior аватар
Offline
Зарегистрирован: 02.02.2015

Посмотрите этот скетч если не трудно: http://arduino.ru/forum/programmirovanie/pryamolineinoe-dvizhenie-robota

Может я что-то делаю не так.

Gres
Gres аватар
Offline
Зарегистрирован: 26.03.2013

Так и есть, не так, ответил в той теме.

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

nitrior
nitrior аватар
Offline
Зарегистрирован: 02.02.2015

Вот такой драйвер, один в один:

http://zelectro.cc/Motor_shield_L298N_Arduino

Gres
Gres аватар
Offline
Зарегистрирован: 26.03.2013

nitrior пишет:

Вот такой драйвер, один в один:

Нормальный драйвер вроде, но в работе не пробовал.

nitrior
nitrior аватар
Offline
Зарегистрирован: 02.02.2015

 

Энкодеры вообще отключил, выставил ШИМ на левом моторе 252, на правом 240, робот ведет себя странно, то едет прямо, перезагружаю ардуину, уводит чуть чуть вправо, опять перезагружаю уводит влево и так в произвольном порядке, то влево то вправо, то прямо. Уже не знаю, что делать.

 

Antiskim
Offline
Зарегистрирован: 26.03.2014

Всем привет! А что если поставить гироскоп и отталкиваться от его показаний? например как в этой теме:http://cyber-place.ru/showthread.php?t=404&page=9

Antiskim
Offline
Зарегистрирован: 26.03.2014

У меня вопрос по ориентации и обнаружению препятствий. Хочу сделать схему как на картинке. Как думаете, будет ли это работоспособно? вся передняя полусфера будет перекрыта полем от 4 ультрозвуковых датчиков. Также по данной схеме(динамике изменения растояния) можно организовать уборку пылесосом вдоль стен...

SLOM
Offline
Зарегистрирован: 06.11.2014

nitrior пишет:

Энкодеры вообще отключил, выставил ШИМ на левом моторе 252, на правом 240, робот ведет себя странно, то едет прямо, перезагружаю ардуину, уводит чуть чуть вправо, опять перезагружаю уводит влево и так в произвольном порядке, то влево то вправо, то прямо. Уже не знаю, что делать.

 

а есть возможность проверить работу на другой ардуине? может в ней проблема? 

или как уже советовали пробовать гироскоп. 

еще почитайте тему: 

http://roboforum.ru/forum87/topic15337.html

 

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

https://www.youtube.com/watch?v=AZwA79Y51Ys