roboforum.ru

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

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

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

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

Сообщение aplavin » 17 дек 2013, 02:17

Всем привет.

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

Заранее спасибо за советы и подсказки :)
aplavin
 
Сообщения: 15
Зарегистрирован: 17 дек 2013, 02:08
прог. языки: Python, Haskell

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

Сообщение Angel71 » 17 дек 2013, 13:13

подключают так же как и к роутерам, планшетам, tv боксам,... тем более на ней выведены уарт (или rs232), i2c и spi. просто если уже взяли и хотит использовать, то это одно. а если только собираетесь, то выбирайте железо под задачи, а не наоборот.
Последний раз редактировалось Angel71 17 дек 2013, 13:16, всего редактировалось 1 раз.
Аватара пользователя
Angel71
 
Сообщения: 10668
Зарегистрирован: 18 апр 2009, 22:18
Предупреждения: -1

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

Сообщение RootAdmin » 17 дек 2013, 13:16

А где.почем брали железку? Ибо глянул на цены - подороже cubieboard и менее производительна.
Дым, идущий из всех устройств в помещении предвещает появление электрика.
RootAdmin
 
Сообщения: 1725
Зарегистрирован: 07 авг 2010, 21:29
Откуда: КМВ
прог. языки: C
ФИО: Андрей

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

Сообщение Angel71 » 17 дек 2013, 13:27

а если сравнить с более близкой платой http://beagleboard.org/Products/BeagleBone%20Black?
Аватара пользователя
Angel71
 
Сообщения: 10668
Зарегистрирован: 18 апр 2009, 22:18
Предупреждения: -1

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

Сообщение linvinus » 17 дек 2013, 13:44

RootAdmin писал(а):А где.почем брали железку? Ибо глянул на цены - подороже cubieboard и менее производительна.

Вот ещё одна за недорого http://www.hotmcu.com/marsboard-a20-dev-board-p-60.html

aplavin, в этом посте пройдите по ссылкам forum8/topic13647.html#p290300
R3 forum87/topic15337.html
R2 roboforum.ru/forum102/topic13980.html
R4 roboforum.ru/post336339.html#p336339
Делать надо хорошо - плохо получится само!
Аватара пользователя
linvinus
 
Сообщения: 1672
Зарегистрирован: 29 апр 2011, 12:37
Откуда: Москва
прог. языки: С

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

Сообщение aplavin » 17 дек 2013, 13:49

RootAdmin писал(а):А где.почем брали железку? Ибо глянул на цены - подороже cubieboard и менее производительна.

Пока не брал, есть возможность заиметь почти по исходной цене ($45). И да, имел в виду конечно BeagleBone Black. Понравилась большим (достаточным) количеством цифровых и аналоговых слотов.

Добавлено спустя 2 минуты 29 секунд:
Angel71 писал(а):подключают так же как и к роутерам, планшетам, tv боксам,... тем более на ней выведены уарт (или rs232), i2c и spi

Как именно поключают? Я с такими и подобными платами дела пока не имел, как (куда) к ней подключить например акселерометр или контроллер двигателя?
aplavin
 
Сообщения: 15
Зарегистрирован: 17 дек 2013, 02:08
прог. языки: Python, Haskell

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

Сообщение linvinus » 17 дек 2013, 13:57

aplavin, эээ не путайте пожалуйста, там линукс крутится.
чтобы датчики и прочая переферия контролировалась из линукса нужны драйвера и специальные программы (их нужно писать самому!).
посмотрите пример с raspbery pi http://www.retas.de/thomas/raspberrypi/pibot-b/
Как это выглядит можно посмотреть тут https://github.com/sarfata/pi-blaster/b ... -blaster.c
R3 forum87/topic15337.html
R2 roboforum.ru/forum102/topic13980.html
R4 roboforum.ru/post336339.html#p336339
Делать надо хорошо - плохо получится само!
Аватара пользователя
linvinus
 
Сообщения: 1672
Зарегистрирован: 29 апр 2011, 12:37
Откуда: Москва
прог. языки: С

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

Сообщение Angel71 » 17 дек 2013, 15:01

aplavin писал(а):Как именно поключают? Я с такими и подобными платами дела пока не имел, как (куда) к ней подключить например акселерометр или контроллер двигателя?

многие платы подключают, стараясь поменьше припаиваться. тем более там bga и вы по факту малоч его сможете, даже если хорошо паяете. более "мозговитую" плату, но с трудностями (отсутствие нужных интерфейсов), как эта бигля логично использовать для каких-то сетевых или ресурсоёмких задач, а к ней подключать другую плату с микроконтроллером и уже им опрашивают всякие датчики, управляют реле, драйверами моторов и прочим. часть датчиков или модулей вы сможете и на прямую подключить - есть уарт, spi, i2c,... всё зависит, какой интерфейс у датчиков/плат. +это уже глубже нужно схему смотреть. не исключено, что часть пинов с коннектора расширений для чего-то пригодится.
Последний раз редактировалось Angel71 17 дек 2013, 15:04, всего редактировалось 1 раз.
Аватара пользователя
Angel71
 
Сообщения: 10668
Зарегистрирован: 18 апр 2009, 22:18
Предупреждения: -1

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

Сообщение aplavin » 17 дек 2013, 15:02

linvinus писал(а):aplavin, эээ не путайте пожалуйста, там линукс крутится.
чтобы датчики и прочая переферия контролировалась из линукса нужны драйвера и специальные программы (их нужно писать самому!).
посмотрите пример с raspbery pi http://www.retas.de/thomas/raspberrypi/pibot-b/
Как это выглядит можно посмотреть тут https://github.com/sarfata/pi-blaster/b ... -blaster.c

Судя по этому туториалу по BeagleBone все (почти все) 96 пинов на ней можно контролировать сразу через виртуальную файловую систему в linux, то есть драйвера писать вроде как не надо.

Добавлено спустя 1 минуту 8 секунд:
Angel71 писал(а):
aplavin писал(а):Как именно поключают? Я с такими и подобными платами дела пока не имел, как (куда) к ней подключить например акселерометр или контроллер двигателя?

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

На BeagleBone есть же много пинов сразу, причём и цифровые и аналоговые, и ввод и вывод, зачем ещё микроконтроллер добавлять? Или я что-то не понимаю здесь...
aplavin
 
Сообщения: 15
Зарегистрирован: 17 дек 2013, 02:08
прог. языки: Python, Haskell

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

Сообщение Angel71 » 17 дек 2013, 15:06

по смеме с наскоку понять что там выведено, а что нет слегка сложно. если нашли нужные пины/интерфейсы, просто подключаете нуные датчики/модули и программируете. :)
Аватара пользователя
Angel71
 
Сообщения: 10668
Зарегистрирован: 18 апр 2009, 22:18
Предупреждения: -1

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

Сообщение Dmitry__ » 17 дек 2013, 15:32

В BeagleBone Black можно программу писать/запускать прямо из броузера, в самом BeagleBone Black :)
Заходите по http://192.168.7.2 и кликаете, кликаете, кликаете. В броузере полный IDE. Подробности тут:
http://beagleboard.org/Getting%20Started#step3

Легкость управления светодиодиками довели до тупизма :)
http://www.youtube.com/watch?v=wui_wU1AeQc
Скрипты:
http://beagleboard.org/Support/BoneScript
http://www.elinux.org/Beagleboard:BoneScript

Вот такой "блинк лед", кнопочка "run" прямо в броузере :)
Код: Выделить всёРазвернуть
var b = require('bonescript');
var led = "USR3";
var state = 0;

b.pinMode(led, 'out');
toggleLED = function() {
    state = state ? 0 : 1;
    b.digitalWrite(led, state);
};

timer = setInterval(toggleLED, 100);

stopTimer = function() {
    clearInterval(timer);
};

setTimeout(stopTimer, 3000);

http://beagleboard.org/Support/BoneScri ... _blinkled/
Аватара пользователя
Dmitry__
 
Сообщения: 8033
Зарегистрирован: 13 янв 2011, 15:25
Откуда: Санкт-Петербург

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

Сообщение linvinus » 17 дек 2013, 16:14

Dmitry__, а насколько точно он выдерживает интервалы?

Если просто подрыгать ножками (тайминги не критичны), то можно через fs, а если нужно более менее точно, то нужно через /dev/mem
т.е. управлять напрямую регистрами.
Помните linux не риалтайм ОС!

Вот пример как сделали JTAG bit banging на raspberry
http://blog.oxplot.com/debrick-wrt54gl-raspberrypi/
Код https://github.com/oxplot/tjtag-pi/blob/master/tjtag.c
поиск по слову RASPPI
R3 forum87/topic15337.html
R2 roboforum.ru/forum102/topic13980.html
R4 roboforum.ru/post336339.html#p336339
Делать надо хорошо - плохо получится само!
Аватара пользователя
linvinus
 
Сообщения: 1672
Зарегистрирован: 29 апр 2011, 12:37
Откуда: Москва
прог. языки: С

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

Сообщение Dmitry__ » 17 дек 2013, 16:30

linvinus писал(а):Dmitry__, а насколько точно он выдерживает интервалы?

Если просто подрыгать ножками (тайминги не критичны), то можно через fs, а если нужно более менее точно, то нужно через /dev/mem
т.е. управлять напрямую регистрами.
Помните linux не риалтайм ОС!

Там есть такая штука как "Programmable Realtime Unit SubSystem"
http://processors.wiki.ti.com/index.php ... _Subsystem
Аватара пользователя
Dmitry__
 
Сообщения: 8033
Зарегистрирован: 13 янв 2011, 15:25
Откуда: Санкт-Петербург

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

Сообщение aplavin » 17 дек 2013, 16:51

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

Насколько это критично для робота? С нормальной загрузкой ЦП и максимальным приоритетом процесса вряд ли большие задержки будут.
aplavin
 
Сообщения: 15
Зарегистрирован: 17 дек 2013, 02:08
прог. языки: Python, Haskell

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

Сообщение Angel71 » 17 дек 2013, 16:59

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

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

:) смотря что будете делать. вполне возможно, что эти все навороты вам вообще и не понадобятся + даже если и понадобятся, то учитывая
Dmitry__ писал(а):Там есть такая штука как "Programmable Realtime Unit SubSystem"
http://processors.wiki.ti.com/index.php ... _Subsystem

скорей всего в дистрибутиве для бигли часть или всё нужное уже есть или нужное можно будет где-то скачать или написать.
Аватара пользователя
Angel71
 
Сообщения: 10668
Зарегистрирован: 18 апр 2009, 22:18
Предупреждения: -1

След.

Вернуться в Новичкам или основы основ роботостроения.

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 13

cron