roboforum.ru

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

Небольшой робот на BeagleBoard

Re: Небольшой робот на BeagleBoard

linvinus » 17 дек 2013, 17:09

Dmitry__ ,про PRU не знал,спасибо, интересная фишка beagleboard
Глянул пример http://processors.wiki.ti.com/index.php ... sers_Guide
честно говоря довольно громоздко получается, к тому же пока только asm есть.

в общем х.з. что лучше, я планирую связку STM32 + A20 по spi или rs232.

aplavin, а что тут делать, два моторчика с редукторами и вертикальная плата (текстолит), на самом верху батаря.
Вот примеры самодельных конструкций (где и что купить и как соединить)
forum87/topic13461.html
forum35/topic13242.html#p280384

В Москве всё дорого, лучше через интернет.
Ну а так
http://www.robototehnika.ru/
http://robocraft.ru/
http://www.electronshik.ru/class/diy-i- ... hnika-1817 - дорого но зато много чего в наличии.
Или у производителей например http://www.pololu.com/ https://www.sparkfun.com

Не знаю, может кто то ещё что интересное подскажет?

Я предлагаю вам решать задачи по мере их поступления.
Сейчас задача - собрать, потом будет задача - управлять.
Нужна вам реалтайм ОС или нет выясните по ходу дела.
По моим представлениям если делать балансирующего робота, то производительности beagleboard хватит даже если писать на javascript =)
чтобы собрать робота вам нужно:

1) двигатели с редуктором + колёса, у pololu и других, куча вариантов на разные скорости и мощности.
например колёса http://www.pololu.com/product/1088 (есть разные диаметры)
редукторы http://www.pololu.com/product/2213
энкодеры на моторы http://www.pololu.com/product/2591 (вроде 3.3в можно подцепить напрямую к beagleboard)
крепление двигателя http://www.pololu.com/product/1086

2) драйвер для управления двумя электродвигателями
http://www.pololu.com/product/2135
можно подключить на прямую к beagleboard

3) батарея которая будет питать двигатели и beagleboard, скорее всего потребуется step-down регулятор
батареи по вкусу, хотите NiMh/LiPo/Li-Ion/ к ним соответствующая зарядка (для LiPo/Li-Ion желательна плата защиты, недавно обсуждали тут forum61/topic12163-60.html#p288136)
регулятор типа такого http://www.pololu.com/product/2119/specs 5V 1A (для beagleboard)

4) плата IMU типа http://www.pololu.com/product/1268 (эта имеет только голые чипы, считать нужно самому), а есть http://www.pololu.com/product/1256 - она выдаёт готовые координаты положения, с частотой 500Гц.
подключается напрямую к beagleboard.


Angel71 писал(а):
linvinus писал(а):Помните linux не риалтайм ОС!

как обычно есть нюансы, к примеру http://www.linux.org.ru/news/kernel/3789149 + есть специализированные дистрибутивы + решается не только на уровне ядра. но имхо пока в данной теме об этом вроде рановато.
aplavin писал(а):Насколько это критично для робота? С нормальной загрузкой ЦП и максимальным приоритетом процесса вряд ли большие задержки будут.

:) смотря что будете делать. вполне возможно, что эти все навороты вам вообще и не понадобятся + даже если и понадобятся, то учитывая

realtime-ядро говорит лишь о том что задачи будут переключаться с частотой не менее заданной.
Сами задачи могут выполняться за разные промежутки времени.
К примеру, делать программный шим сложно, да и по большому счёту тратить на это такты ЦП не разумно.

Re: Небольшой робот на BeagleBoard

aplavin » 17 дек 2013, 18:23

linvinus писал(а):aplavin, а что тут делать, два моторчика с редукторами и вертикальная плата (текстолит), на самом верху батаря.
Вот примеры самодельных конструкций (где и что купить и как соединить)

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

И спасибо за наводки, ссылки на компоненты.

Re: Небольшой робот на BeagleBoard

linvinus » 17 дек 2013, 20:33

aplavin писал(а):
linvinus писал(а):aplavin, а что тут делать, два моторчика с редукторами и вертикальная плата (текстолит), на самом верху батаря.
Вот примеры самодельных конструкций (где и что купить и как соединить)

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

И спасибо за наводки, ссылки на компоненты.


Я приводил ссылки на роботов Андрея (AndreiSk), он вроде как тоже программист :)

Можно практически без сверления.
За основу корпуса взять этот корпус http://www.pololu.com/product/1418
вот как он будет в вертикальном положении http://www.pololu.com/picture/view/0J3933

там два колеса сидят на редукторе (как вам нужно) а два просто винтами прикручиваются их не прикручивайте, получите 2х колёсную телегу, с кучей готовых дырок (там гнёзда под гайку + винт), колёса на выбор http://www.pololu.com/category/89/polol ... and-tracks

Но без пайки никуда, большинство модулей требуют пайки, опыта много не нужно, главное удобный паяльник.
Могу порекомендовать эту модель http://www.chipdip.ru/product/ersa-multitip-25/
ещё нужен штатив http://www.chipdip.ru/product/ct-292/
олово с припоем чтобы не мучиться http://www.chipdip.ru/product0/420158566/
канифоль в банке, в неё удобно окунать зачищенные провода, чтобы потом залудить http://www.chipdip.ru/product0/33670/
только поищите в другом магазине, тут цена на 40% завышена.
что то можно найти тут http://mkpochtoi.narod.ru/

Закупите провода папа-папа и папа-мама и шлейф.
например тут http://robocraft.ru/shop/index.php?rout ... ry&path=53
и вот такую гребёнку http://robocraft.ru/shop/index.php?rout ... duct_id=80
штуки 2-3.
гребёнку припаивайте к модулям, а далее соединяете проводами, можно будет собирать и разбирать без пайки.

Добавлено спустя 15 минут 56 секунд:
На breadboard поместится не многое, и вообще она для макетирования схем, а не для конструирования роботов.
я считаю что она лишняя (у вас нет отдельных микросхем ), у вас все элементы сразу могут быть соединены напрямую с beagleboard

Re: Небольшой робот на BeagleBoard

aplavin » 17 дек 2013, 21:43

linvinus писал(а):у вас все элементы сразу могут быть соединены напрямую с beagleboard

Правильно ли я понимаю, что например такие
0j4443600_a.jpg
и подобные датчики подключаются напрямую к пинам beagleboard этими перемычками (или как их правильно назвать)?

Re: Небольшой робот на BeagleBoard

linvinus » 17 дек 2013, 22:00

да гребёнку/штыри впаиваете в дырки на плате, а их потом соединяете проводом мама-папа (мама на штырь, папа в beagleboard вот такими http://robocraft.ru/shop/index.php?rout ... uct_id=233)

Добавлено спустя 7 минут 5 секунд:
единственное, я сказал что "все элементы сразу могут быть соединены напрямую с beagleboard", это при условии что используемые вами модули работают от 3.3в (а для ADC 1.8V максимум!), нужно читать документацию на beagleboard.

Просто некоторые модули, например http://www.pololu.com/product/136, имеют на выходе сигнал 5в,
таки модули напрямую подцеплять к beagleboard нельзя, нужен делитель на резисторах который поделит 5в до 3в.

Например драйвер двигателей http://www.pololu.com/product/2135
имеет два входа питания, один для логических линий управления (VCC), которые подключаются к beagleboard, на него нужно подать 3.3в от beagleboard, второй (VIN) для моторов там может быть и больше.

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

Re: Небольшой робот на BeagleBoard

Angel71 » 17 дек 2013, 23:53

linvinus писал(а):realtime-ядро говорит лишь о том что задачи будут переключаться с частотой не менее заданной.
Сами задачи могут выполняться за разные промежутки времени.
К примеру, делать программный шим сложно, да и по большому счёту тратить на это такты ЦП не разумно.

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

Re: Небольшой робот на BeagleBoard

linvinus » 18 дек 2013, 00:30

Angel71, можно и так сказать.

В общем присмотрелся я к BeagleBone Black, с одной стороны прикольно, с другой STM32F103 имеет намного больше возможностей работы с переферией, а главное он может более правильно работать, у него есть всякие хитрые режимы таймеров dma и т.п. и всего это добра в нём много.
В общем, если бы вместо PRU был бы STM32 вот это была бы тема.
А так, получается можно кое как пошимить и кое как подёргать ножками.
Есть 8pwm но только 2 SPI и 2 i2c :(

Для решения задачи aplavin сгодится.

Re: Небольшой робот на BeagleBoard

Angel71 » 18 дек 2013, 01:55

при необходимости всегда можно поискать примерно такую платку http://atomhackery.wordpress.com/2013/09/17/stm32f103-breakout-board/ :) по идеи они недорогие, по крайней мере мои (скоро прототипы плат приедут, будет видно, в серию или доделать) будут стоить примерно как arduino mini 328, на стм8 ещё дешевле.

Re: Небольшой робот на BeagleBoard

elmot » 18 дек 2013, 03:56

Соединения проводками - всегда плохо. Будут вываливаться, плохо контачить и все такое. Вибрации никто не отменял.
Учитесь паять - все равно придется.
Еще раз предложу вместо stm32f103 готовые платы с датчиками - stm32f3-discovery или stm32f401-discovery. Есть примеры программирования, процы мощные(для мк, конечно) интерфейсы свободны.

Re: Небольшой робот на BeagleBoard

aplavin » 19 дек 2013, 20:03

А какие примерно моторы стоит брать по характеристикам? Везде указывается ток холостого хода, и крутящий момент при заторможенном роторе, а реально то используется некоторый промежуточный режим. Например, 1.5 кг*с и 440 об/мин это в самый раз или слишком много?

Re: Небольшой робот на BeagleBoard

linvinus » 19 дек 2013, 20:29

aplavin писал(а):А какие примерно моторы стоит брать по характеристикам? Везде указывается ток холостого хода, и крутящий момент при заторможенном роторе, а реально то используется некоторый промежуточный режим. Например, 1.5 кг*с и 440 об/мин это в самый раз или слишком много?


чем больше степень редукции тем меньше максимальные обороты колеса и тем больше шума :) (последнее не всегда верно)
Для балансирующего робота нужны быстрые моторы.
если вы не собираетесь делать сумоиста то 1:50 или 1:75 вам хватит!
У меня 1:75 от 7в крутится очень быстро и при этом хороший момент, руками довольно сложно остановить.

Добавлено спустя 15 минут 34 секунды:
Вы лучше сюда скинте что выбрали, поможем проверить что всё совместимо на уровне электроники.

Re: Небольшой робот на BeagleBoard

aplavin » 19 дек 2013, 21:45

linvinus писал(а):чем больше степень редукции тем меньше максимальные обороты колеса и тем больше шума :) (последнее не всегда верно)
Для балансирующего робота нужны быстрые моторы.
если вы не собираетесь делать сумоиста то 1:50 или 1:75 вам хватит!
У меня 1:75 от 7в крутится очень быстро и при этом хороший момент, руками довольно сложно остановить.


Тот что 440 об/мин на колёсах диаметром 5 см получается чуть больше 1 м/с, но это на холостом ходу если считать. И момента должно хватить как раз, 1.8 кг*см это выходит усилие в 0.7 кг с таким колесом - робот раза в 2 полегче будет, да и движение не вертикально вверх :). А вы как-то странно по передаточному отношению судите - от самого мотора зависит ведь тоже.

linvinus писал(а):Вы лучше сюда скинте что выбрали, поможем проверить что всё совместимо на уровне электроники.


Думаю 2 таких мотора - как раз 440 rpm и 1.8 кг*см от 6 В, к ним драйвер, DC/DC конвертер на 5В для beaglebone, датчик с акселерометром, гироскопом и компасом. Ну и ещё думаю 6 AA аккумов NiMH с держателем, в самый раз должно быть - 7.2В. Магазин не окончательно выбрал, но вроде тут цены вполне сопоставимы с заказом с доставкой.

Re: Небольшой робот на BeagleBoard

linvinus » 19 дек 2013, 22:12

aplavin писал(а):
linvinus писал(а):чем больше степень редукции тем меньше максимальные обороты колеса и тем больше шума :) (последнее не всегда верно)
Для балансирующего робота нужны быстрые моторы.
если вы не собираетесь делать сумоиста то 1:50 или 1:75 вам хватит!
У меня 1:75 от 7в крутится очень быстро и при этом хороший момент, руками довольно сложно остановить.


Тот что 440 об/мин на колёсах диаметром 5 см получается чуть больше 1 м/с, но это на холостом ходу если считать. И момента должно хватить как раз, 1.8 кг*см это выходит усилие в 0.7 кг с таким колесом - робот раза в 2 полегче будет, да и движение не вертикально вверх :).
А вы как-то странно по передаточному отношению судите - от самого мотора зависит ведь тоже.

Зависит, но обороты мотора ограничены напряжением питания.
Я лично считаю лучше больше тока сожрать (редуктор с меньшим передаточным числом) чем менять напряжение питания.
Использовать батарею на 12в вместо 6в сложнее.
Это и вес и габариты и скорее всего моторчик не выдержит, т.е. придётся менять всё если не устроит скорость


aplavin писал(а):
linvinus писал(а):Вы лучше сюда скинте что выбрали, поможем проверить что всё совместимо на уровне электроники.


Думаю 2 таких мотора - как раз 440 rpm и 1.8 кг*см от 6 В

нормальный, но вроде нет крепления для энкодеров.

aplavin писал(а):, к ним драйвер, DC/DC конвертер на 5В для beaglebone, датчик с акселерометром, гироскопом и компасом. Ну и ещё думаю 6 AA аккумов NiMH с держателем, в самый раз должно быть - 7.2В. Магазин не окончательно выбрал, но вроде тут цены вполне сопоставимы с заказом с доставкой.

нормально, только датчики нужно будет запитать от beagleboard от 3.3в

Re: Небольшой робот на BeagleBoard

aplavin » 19 дек 2013, 22:56

linvinus писал(а):Зависит, но обороты мотора ограничены напряжением питания.
Я лично считаю лучше больше тока сожрать (редуктор с меньшим передаточным числом) чем менять напряжение питания.
Использовать батарею на 12в вместо 6в сложнее.
Это и вес и габариты и скорее всего моторчик не выдержит, т.е. придётся менять всё если не устроит скорость

Это, я так понимаю, не к данному конкретному случаю, а в общем?


linvinus писал(а):нормальный, но вроде нет крепления для энкодеров.

Да, точно, про энкодеры как-то забыл. А как собственно выглядит это крепление, куда смотреть? Посмотрел в нескольких магазинах, прям так что с креплением для энкодеров не написано (да и собственно энкодеры нашёл только для колёс, а не для самого двигателя).

Re: Небольшой робот на BeagleBoard

linvinus » 19 дек 2013, 23:06

aplavin писал(а):
linvinus писал(а):Зависит, но обороты мотора ограничены напряжением питания.
Я лично считаю лучше больше тока сожрать (редуктор с меньшим передаточным числом) чем менять напряжение питания.
Использовать батарею на 12в вместо 6в сложнее.
Это и вес и габариты и скорее всего моторчик не выдержит, т.е. придётся менять всё если не устроит скорость

Это, я так понимаю, не к данному конкретному случаю, а в общем?

да это мой подход при выборе параметров (лично моё мнение)

aplavin писал(а):
linvinus писал(а):нормальный, но вроде нет крепления для энкодеров.

Да, точно, про энкодеры как-то забыл. А как собственно выглядит это крепление, куда смотреть? Посмотрел в нескольких магазинах, прям так что с креплением для энкодеров не написано (да и собственно энкодеры нашёл только для колёс, а не для самого двигателя).


мотор который вы выбрали http://www.pololu.com/product/1162
не имеет вала сзади.
такие есть например у этих моторов http://www.pololu.com/product/2215
http://www.pololu.com/product/2271

Вот ссылка все моторы pololu с энкодерами (последний столбик, длина вала сзади мотора "Extended Motor Shaft")
http://www.pololu.com/search/compare/51 ... 104,106/-2


Rambler\'s Top100 Mail.ru counter