roboforum.ru

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

Компьютер управляет роботом - Ардуино, шина, LPT, другое?

Компьютер управляет роботом - Ардуино, шина, LPT, другое?

Kuiper » 05 янв 2014, 09:38

Всем привет!
Друзья, если не сложно, просветите по такому вопросу - каким образом управлять внешними датчиками, реле, драйверами моторов при помощи компьютера, используя USB-порт?

У меня такой микрокомпьютер под управлением Ubuntu 10.0 (заказывал в китайском Интернет-магазине):

Изображение

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

Можно сделать через старый добрый LPT-порт, используя переходник на микросхеме PL-2303. Но можно ли другим, более современным способом это организовать?
В этой теме я профан, поэтому создал топик.

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

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

Применяются ли другие варианты, если в роботе стоит компьютер?

Большая просьба отнестись с пониманием, я очень хочу досконально разобраться в этом вопросе, надеюсь, что с Вашей помощью это получится.
Буду рад любой информации по этой теме.

Большое спасибо! :beer:

Re: Компьютер управляет роботом - Ардуино, шина, LPT, другое

Angel71 » 05 янв 2014, 09:52

pl2303 для lpt? не шутите так с утра.
Kuiper писал(а):Например, если взять Ардуино или другие МК - там ведь не получится напрямую управлять всеми модулями этой платы? То есть, Ардуина или плата с другим МК сначала прошивается, потом работает, задействуя свои мощности и после этого может выдавать результат. Но это слишком медленно и неэффективно, перезаписывать ром МК.
Но у Ардуины много готовых модулей-датчиков, хотелось бы работать через Ардуину напрямую, если это возможно.

:) ээээээээээ, чего?

Re: Компьютер управляет роботом - Ардуино, шина, LPT, другое

Myp » 05 янв 2014, 10:14

Kuiper писал(а):чтобы компьютер мог принимать показания датчиков и управлять драйверами моторов.

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

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

Добавлено спустя 4 минуты 55 секунд:
Angel71 писал(а):pl2303 для lpt? не шутите так с утра.

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

Re: Компьютер управляет роботом - Ардуино, шина, LPT, другое

Kuiper » 05 янв 2014, 10:44

Myp, огромное спасибо!
Ваши советы всегда очень ценны, спасибо, что помогаете!

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


Про LPT действительно ошибся, извините. Очень давно (когда еще в компе был этот порт) делал датчик температуры, хорошие были времена :)

Re: Компьютер управляет роботом - Ардуино, шина, LPT, другое

Angel71 » 05 янв 2014, 11:22

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

Re: Компьютер управляет роботом - Ардуино, шина, LPT, другое

noonv » 05 янв 2014, 11:53

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

Re: Компьютер управляет роботом - Ардуино, шина, LPT, другое

Myp » 05 янв 2014, 14:16

Kuiper писал(а):По Ардуине - она ведь работает как последовательный порт

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

Re: Компьютер управляет роботом - Ардуино, шина, LPT, другое

Kuiper » 06 янв 2014, 05:27

noonv, Myp, большое спасибо!
Вопрос решен, буду работать с Ардуино :)


Rambler\'s Top100 Mail.ru counter