Двухколёсный робот с двухкомпонентным интелектом

Zizilk
Offline
Зарегистрирован: 30.05.2013

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

http://youtu.be/cyH00umrB8Q

Zizilk
Offline
Зарегистрирован: 30.05.2013

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

Я работаю с движками через 4-канальный драйвер L239DNE. Сами движки 12-ти вольтовые снятые со старых HP-шных струйных принтеров и предназначались для протяжки бумаги. Для управления одним двигателем использую два канала (вперёд назад). планирую танковый (поворачиваться будет на месте с остановкой, как самый простой способ, колёса в разные стороны) поворот, поэтому хотелось бы как-то контролировать количество оборотов в том числе и не на целое число оборотов (поэтому вариант использовать на колесе магнит и геркон не прокатывает).

Это необходимо для второй логической части, планирую что-то вроде простенькой "карты" (задаётся и загружается вручную, ибо уз-дальномер показал отвратительную точность, среднее отклонение при расстояниях свыше 2-х 3-х метров 11 сантиметров, при этом разброс между самым большим значением и самым мелким практически полметра, при том что УЗ-дальномер покоялся и был направлен на одну и туже строчку). и для ориентирования по "карте" ему хороше бы знать где конкретно он находиться и как повёрнут и из-за несовершенствова уз-датчика тут остаётся только подобие инерциальной системы навигации) Ошибка конечно будет накапливаться но думаю в рамках комнаты не сильно страшно.

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

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

Zizilk
Offline
Зарегистрирован: 30.05.2013

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

А может проблема в выборе инструмента)что было в доме то и взял

 

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

Клапауций
Offline
Зарегистрирован: 10.02.2013

Zizilk пишет:

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

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

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

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

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

Zizilk
Offline
Зарегистрирован: 30.05.2013

Да я уже прочитал на хабре про прогевание места пайки, у меня для пайки проволока уже с канифолью внутри, большие разводы не из-за того канифоли много даю, а из-за того что олово то по холодному на паяльник лезет а вот канифоль с радостью стекает)

Вот уже пробы с разогретым местом пайки

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

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

Пока на сегодня всё, устал пойду осматривать повреждения, поход на левой руке будет второй шрам от паяльника и таки выпалил пару прядей (me тихонько вспоминает препода по труду и надеется купить ободок для волос на завтра))

Tomasina
Tomasina аватар
Offline
Зарегистрирован: 09.03.2013
Zizilk
Offline
Зарегистрирован: 30.05.2013

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

Tomasina
Tomasina аватар
Offline
Зарегистрирован: 09.03.2013

так там, кроме выбора паяльников, еще и описано, как правильно паять ;) Там же есть ссылки на видеоуроки по пайке, очень наглядные и без заумностей: http://goo.gl/Ix66Yz

Клапауций
Offline
Зарегистрирован: 10.02.2013

Zizilk пишет:

Да я уже прочитал на хабре про прогевание места пайки, у меня для пайки проволока уже с канифолью внутри, большие разводы не из-за того канифоли много даю, а из-за того что олово то по холодному на паяльник лезет а вот канифоль с радостью стекает)

жало паяльника возьмёт олова не более, чем сможет - остальное тебе для пайки отдаст.

второй момент - какое жало:

у тебя коническое - не могу таким паять, паяю плоским.

 

 

Zizilk
Offline
Зарегистрирован: 30.05.2013

Да припой любит "убегать" на бок, но пока всё что себе могу позволить...

Работа продолжается но медленно и наверно не слишком верно... проектировщик и монтажник из меня такой же как и паяльщик, а так же наблюдаю воплощение визуализации спагети стайл разработки %)

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

попутно потихоньку пытаюсь править "старые" первые свои припаяные пины.

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

Zizilk
Offline
Зарегистрирован: 30.05.2013

Оно работает) буду дорабатывать логику, и наверно сделаю какие-то разъёмы к двигателю, к батарее, и к сонару и вроде с технической частью закончил, думаю что вместо опторы замерю как -то за сколько делает один оборот.

Mastino
Offline
Зарегистрирован: 03.12.2011

так а пылесос где?

Zizilk
Offline
Зарегистрирован: 30.05.2013

Мне бы для начало это заставить ездить(с учётом что движки оказались разными, а также пока нет самой главной части это росбери пая который будет за местоположение и программу отвечать), над реализацией пылесоса думаю, но чувствую для него будет ещё одна платка. Возможно сделаю на примере автомобильного пылесоса какого нить и дам две щетки или более чтобы сгребал под всасывающее устройство как у нормальных робо пылесосов. кроме этого надо решить вопрос с питанием и аккумулятором, что выльется в замену моторов в виду увеличившегося веса. Хотя всегда есть вариант сделать его проводным с питанием от обычного блока питания на 12 вольт (только провод сделать длинный, благо что 12-ти вольтовый кабель тонкий).

 

Mastino
Offline
Зарегистрирован: 03.12.2011

а почему не купить готовый продукт?

Zizilk
Offline
Зарегистрирован: 30.05.2013

Mastino пишет:

а почему не купить готовый продукт?

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

 

Ну и в конце концов мелькают уже идеи о роботизированной модульной платформе)

Zizilk
Offline
Зарегистрирован: 30.05.2013

Значит получив и немного оправившшись после пережога прошлой ардуинки перешёл к испытаниям работы двигателей. Во первых выяснил что мощность и скорость работы двигателей при 12В 1.5А от блока питания мягко говоря многовата (стоит сказать что пластиковой шестерней умудрился себе сделать борозды на ногте). А во вторых двигатели оказались слишком разными не только по маркировке.

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

Возникает вопрос только где... я расчитывал на 12-ти вольтовые (мне нужны достаточно мощные но при этом работающие на малом токе, чтобы не спалить всё нахрен). по всяким амперкам робокрафтам в основном идут 5-9 вольтовые моторы с предустановленными редукторами. На других ресурсах 12-ти вольтовые выдают ещё большее число оборотов...

azzzazzzelDEAN
Offline
Зарегистрирован: 19.10.2013

Так вы тоже робопылесос делаете?:) я тоже кстати все для пылесоса делаю:)

А как вы ардуину то сожгли? драйвера мотора не спасли?

Zizilk
Offline
Зарегистрирован: 30.05.2013

В преспективе, и опытным путём

Клапауций
Offline
Зарегистрирован: 10.02.2013

Zizilk пишет:

(мне нужны достаточно мощные но при этом работающие на малом токе, чтобы не спалить всё нахрен)

противоречивое желание - ведь P=U*I

Zizilk
Offline
Зарегистрирован: 30.05.2013

Ну в том то и прикол получается если я правильно понимаю

то есть у меня получается задрано напряжение но жертвую током. P в итоге должно остаться желаемое.

Клапауций
Offline
Зарегистрирован: 10.02.2013

Zizilk пишет:

Ну в том то и прикол получается если я правильно понимаю

то есть у меня получается задрано напряжение но жертвую током. P в итоге должно остаться желаемое.

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

адаптивно изменяйте сопротивление обмоток двигателя - это наиболее безумное желание

Zizilk
Offline
Зарегистрирован: 30.05.2013

Насколько знаю в момент страгивания ток на обмотках повышается (они греются) при чём может даже до 2-х раз, если есть доп  (к примеру танковый разворот на ковре)усилие тоже ток начинает повышаться. Если я возьму движок на 9В и 1.5А это будет в притык что может выдать блок питания+ не известно как себя поведёт электроника на 3-х амперах. В теории если возьму той же мощности что и 9В движок но расчитанный на 12В, то я получаю немного меньший ток и соответсвенно меньшее увеличение при страгивании и доп нагрузке, разве нет

Zizilk
Offline
Зарегистрирован: 30.05.2013

В общем не знаю, может требования всё таки необоснованные к двигателю. Пойду покупать  9-ти вольтовые) как у всех.

Только чем питать их - блок то у меня на 12 вольт...

Клапауций
Offline
Зарегистрирован: 10.02.2013

Zizilk пишет:
Насколько знаю в момент страгивания ток на обмотках повышается (они греются) при чём может даже до 2-х раз, если есть доп  (к примеру танковый разворот на ковре)усилие тоже ток начинает повышаться.

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

Zizilk пишет:
Если я возьму движок на 9В и 1.5А это будет в притык что может выдать блок питания+ не известно как себя поведёт электроника на 3-х амперах.

не должно быть впиртык мощности блока питания - как минимум запас в 50%.

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

Zizilk пишет:
В теории если возьму той же мощности что и 9В движок но расчитанный на 12В, то я получаю немного меньший ток и соответсвенно меньшее увеличение при страгивании и доп нагрузке, разве нет

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

двигатель малой мощности - сгорит или остановится, а затем сгорит.

Zizilk
Offline
Зарегистрирован: 30.05.2013

Двигатели подключены к драйверу LD239DNE по дату шиту ток на выходах к которым подключены движки он держит на 1А с пиковым током 2А (те своим блоком питания я его уже фактически палю, хех). Другого блока пока нет.

Тогда ставлю вопрос иначе, нужно подобрать пару, желательно низкооборотных (в районе 60-200 оборотов в минуту), электромоторов, питание которых идет в пределах 5-12 вольт. А мощности должно хватать на то чтобы проачить тушку робота вместе с аккумуляторами (вес которых пока не известен, тк неизвестны мощности и потребление движков) по ковру с двумя включёнными щётками и доп нагрузкой по ковру. Ну или вместо аккумуляторов протянуть за собой провод питания

Клапауций
Offline
Зарегистрирован: 10.02.2013

Zizilk пишет:

Тогда ставлю вопрос иначе, нужно подобрать пару, желательно низкооборотных (в районе 60-200 оборотов в минуту), электромоторов, питание которых идет в пределах 5-12 вольт. А мощности должно хватать на то чтобы проачить тушку робота вместе с аккумуляторами (вес которых пока не известен, тк неизвестны мощности и потребление движков) по ковру с двумя включёнными щётками и доп нагрузкой по ковру. Ну или вместо аккумуляторов протянуть за собой провод питания

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

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

Zizilk
Offline
Зарегистрирован: 30.05.2013

На робокрафте там только моторы с редукторами. Быстрый гуглёж вроде как дал что на них такие вот моторы на roomba http://www.standardmotor.net/sc_webcat/ecat/product_view.php?lang=1&cat=104&id=60&page=1 , но мне что-то не верится, может купить что-то вроде этого? http://robocraft.ru/shop/index.php?route=product/product&path=18&product_id=269

 

А драйвера L239D вроде как по спекам все защиты стоят необходмиые...

Клапауций
Offline
Зарегистрирован: 10.02.2013

я имел ввиду это http://robocraft.ru/blog/mechanics/992.html

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

Zizilk
Offline
Зарегистрирован: 30.05.2013

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

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

А тот узел посмотрел, интерсно но как-то читерно получается...) и если китайский блок двигателя стоит 500 рблей умножаем на 2. А самый дешёвый китайски в России стоит 3000 рублей... Блин что там на остальное остаётся

Клапауций
Offline
Зарегистрирован: 10.02.2013

посмотрел, что за драйвер - прослезился.

оно годно разве что по паркету маломощные колёса катить - забудь о робопылесосе на ковре.

Zizilk
Offline
Зарегистрирован: 30.05.2013

ну питание до 12 вольт держит)... и ток до 2-х ампер. Тогда как через полевик подклчать или таки искать другой драйвер. Были идеи вообще при малооборотных двигателях тупо через реле 3-х позиционное (правда хз есть ли такие пока) работать.