2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




Начать новую тему Ответить на тему
 
 USB + своё устройство
Сообщение14.11.2006, 20:17 


14/11/06
11
Есть у кого-нибудь опыт подключения собственного устройства к USB порту?
Буду рад и ссылкам в нужном направлении.

Хочу спаять небольшой механизм (робота) и управлять им через USB порт собственной программой. Помогите кто чем может.

Пока-что мне удалось подключить через usb кулер (точнее питание для него). Уже крутится :)

 Профиль  
                  
 
 
Сообщение14.11.2006, 20:31 
Заслуженный участник
Аватара пользователя


17/10/05
3709
:evil:
USB — очень непростая шина, и управлять ей просто так не получится. Вам понадобится, по крайней мере, микросхема на стороне робота. Выбирая эту микросхему, Вы можете упростить себе жизнь за счет функциональности: например, выбрав последовательный порт, Вы можете управлять несколькими сигналами явно.

Ну, а если Вы серьезный человек с серьезными запросами, то у Вас у робота есть не менее одного процессора, шина, память, … И USB рассматривается как часть сетевого стека с обоих сторон…

 Профиль  
                  
 
 
Сообщение14.11.2006, 20:52 


14/11/06
11
Цитата:
Ну, а если Вы серьезный человек с серьезными запросами, то у Вас у робота есть не менее одного процессора, шина, память, … И USB рассматривается как часть сетевого стека с обоих сторон…


Хм. Ну допустим я поступлю просто: я насобираю из старого железа компьютер, воткну в него сетевую карту и буду управлять со своего компьютера (тоесть фактически заменю USB на обычную сеть). Тогда у робота будет и не менее одного процессора и шина, и память. Потом я прикручу к системнику ноги.

Тогда вопрос: как его заставить управлять ногами?

 Профиль  
                  
 
 
Сообщение14.11.2006, 22:16 
Заслуженный участник
Аватара пользователя


17/10/05
3709
:evil:
O! Я думал, это все хорошо продумано. Тогда так: для движения ногами нужны какие-то исполнительные механизмы (например, сервомоторы, соленойды, и т.п.). Ими-то и управляет процессор, используя либо цифровые выходы (реле), либо цифро-аналоговые преобразователи (ЦАП). Для обратной связи (а иначе поведение робота мало отличается от машинки на поводке для трехлетнего ребенка) используются датчики, опять-таки цифровые (контакт замкнут-разомкнут) либо аналоговые (через аналогово-цифровой преобразователь, АЦП).

Есть в этой истории светлая сторона: продаются готовые конструкторы робототехники (за деньги, конечно). В них входит какое-то количество датчиков, исполнительный механизмов, плата с процессором, связь оной с компьютером, система программирования, колеса, винтики, гаечки… Ничего серьезного не сделать, но можно начать разбираться. А потом и переделывать во что-то свое…

 Профиль  
                  
 
 
Сообщение17.11.2006, 16:56 
Аватара пользователя


09/05/06
115
Насчёт использования USB порта компа в своих разработках как виртуального COM порта существует дока AVR309. Это официальная версия, до этого эта разработка была одним студентом осуществлена. IgorPlugUSB - по этому ключу тоже можно поискать. Там их минимума железа собирается драйвер (железный) COM порта.

 Профиль  
                  
 
 
Сообщение19.11.2006, 22:27 


14/11/06
11
Хм. Спасибо.

Ещё тут совместными усилиями в голову пришла идея организовать простого робота на базе детской машинки, снабдив её веб камерой и blue-tooth-ом.

Не подскажете как это лучше начать делать?

 Профиль  
                  
 
 
Сообщение19.11.2006, 22:57 
Заслуженный участник
Аватара пользователя


17/10/05
3709
:evil:
Начать лучше с изучения того, из чего состоит компьютер. веб камера и синезуб — это классно. Только вот… Вы представляете себе какие аппаратные и програмные ресурсы за этим стоят? Я почти уверен, без микроконтроллера (а то и с наворотами схем) идее хана. А Вы сумеете просто собрать и включить микроконтроллер? Я — нет. Иду на поклон к инжинерам. (Да чего там. Одно питание подвести к современному процессору — это навык.)

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

Чтобы немного проиллюстрировать то, о чем я говорю: представьте себе, Вы хотите разобраться в устройстве часов. Можно, конечно, взять турбильон с минутным репетиром и попытаться разобрать и собрать его. Но я бы не рискнул. Проще начать с ходиков. Некоторые отчаянные головы начинают с наручных часов, но без календаря и автоподзавода. И то и другое — второй этап обучения. А за часы с усложнениями берутся не все профессионалы — они знают свои возможности.

ПК, сотовый телефон, цифровой фотоаппарат сделали технологию доступной массам. Вы можете пользоваться этой технологией (USB, Web-cam, blue tooth), как часами. Но за этой простотой использования скрывается огромный труд инженеров. Он создает иллюзию, что собрать что-то будет также просто. Увы, это лишь иллюзия.

 Профиль  
                  
 
 
Сообщение21.11.2006, 13:51 
Аватара пользователя


20/11/06
11
главно не ОТКУДА, главное КУДА
Я подключал собственные устройства по COM порту. Адептер USB-COM вещь нехитрая.., если USB для Вас так необходим.
Вообще большинство микроконтроллеров имеют интерфейс RS-232, который элементарно преобразовавается в COM. Я использовал ATMEL AVT - довольно удобный микроконтроллер, с возможностью создать программатор для него "на коленке" и бесплатным ассемблером. (там с Си есть где-то но достать неудавалось, да и не нужно особо было)

Если интересно пообщаться на эту тему - пиши в личку!

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 8 ] 

Модераторы: Karan, Toucan, PAV, maxal, Супермодераторы



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

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


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group