roboforum.ru

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

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

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

aplavin » 17 дек 2013, 02:17

Всем привет.

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

Заранее спасибо за советы и подсказки :)

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

Angel71 » 17 дек 2013, 13:13

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

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

RootAdmin » 17 дек 2013, 13:16

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

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

Angel71 » 17 дек 2013, 13:27

а если сравнить с более близкой платой http://beagleboard.org/Products/BeagleBone%20Black?

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

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

aplavin » 17 дек 2013, 13:49

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

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

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

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

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

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

Angel71 » 17 дек 2013, 15:01

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

многие платы подключают, стараясь поменьше припаиваться. тем более там bga и вы по факту малоч его сможете, даже если хорошо паяете. более "мозговитую" плату, но с трудностями (отсутствие нужных интерфейсов), как эта бигля логично использовать для каких-то сетевых или ресурсоёмких задач, а к ней подключать другую плату с микроконтроллером и уже им опрашивают всякие датчики, управляют реле, драйверами моторов и прочим. часть датчиков или модулей вы сможете и на прямую подключить - есть уарт, spi, i2c,... всё зависит, какой интерфейс у датчиков/плат. +это уже глубже нужно схему смотреть. не исключено, что часть пинов с коннектора расширений для чего-то пригодится.
Последний раз редактировалось Angel71 17 дек 2013, 15:04, всего редактировалось 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 есть же много пинов сразу, причём и цифровые и аналоговые, и ввод и вывод, зачем ещё микроконтроллер добавлять? Или я что-то не понимаю здесь...

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

Angel71 » 17 дек 2013, 15:06

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

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/

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

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

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

aplavin » 17 дек 2013, 16:51

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

Насколько это критично для робота? С нормальной загрузкой ЦП и максимальным приоритетом процесса вряд ли большие задержки будут.

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

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


Rambler\'s Top100 Mail.ru counter