роботы робототехника микроконтроллеры


 Страниц (1): [1]   

> Описание: Простой способ подключения робота к ПК
mctim Post Id



Маршал


Сообщений всего: 109
Дата рег-ции: Нояб. 2009  



Привет всем!

Хочу просто подключать робот к компьютеру.
Есть полно материала как подключать через COM порт, LPT, UART адаптеры и прочее.
Все эти способы требуют переходника или адаптера, COM и LPT порты есть не на всех ПК.
Вот USB думаю найдется у каждого и у меня есть )

Хочу подключить робота через USB и на ПК с ним общаться через виртуальный COM порт. Это просто с точки зрения программирования на ПК.(для меня по крайней мере)
Нашел сайт с толковыми, как мне кажется, объяснениями и кодом. Только вот самому разобраться не получается (
Там есть схема подключения

И статья с кодом
CODE:
do_unstuff0: ; 1 (1 extra cycle: branch was taken)
in x1, port ; 1 read data from I/O port
andi x1, mask ; 1 check for SE0
breq end_of_packet ; 1 (1 cycle because branch not taken)
ori shift, 0xfc ; 1 mask out 6 recently received bits
andi x3, 0xfe ; 1 the bits we masked shifted right 7
rjmp rxbit1 ; 2 (branch taken)
; ------------------------------------
; 8 cycles

Это, как я понимаю, чтение бита с шины USB.
Есть там еще куча примеров различных устройств.

Для начала наверно следует написать функции инициализации устройства в системе и драйвер к нему. Я немогу разобраться что к чему в этом USB. Что там надо выставлять на шину и как. Как драйвер написать.
Может кто имеет опыт или ссылки полезные, книги. Буду благодарен за помощь.
Думаю из этого всего получится хорошая система контроля робота и начальной отладки. Можно будет давать роботу команды, получать и сохранять состояния переменных и информацию с датчиков. А главное такой способ требует минимум железа.
 
 Top
redcat Post Id



Главнокомандующий


Сообщений всего: 387
Дата рег-ции: Янв. 2009  



Советую осуществлять связь УСБ-МК через нормальные , предназначенные для этого, чипы. Меня радует по всем параметрам FT232RL
(Добавление)
А насчёт кода не помогу. В асмах не шарю.
 
 Top
nest Администратор Post Id



Администратор


Сообщений всего: 4866
Дата рег-ции: Сент. 2009  



mctim, http://www.atmel.com/dyn/product...sp?family_id=607 и там поиск по странице по слову USB.
Но всё не так просто с ним будет. лучше не терять время на разбор USB, а работать по "нормальному" UART (пусть через FT232) :)
 
 Top
mctim Post Id



Маршал


Сообщений всего: 109
Дата рег-ции: Нояб. 2009  



redcat, спасибо за совет. Если есть какие полезные материалы по этому поводу - делитесь ) От себя скажу: цена этой микросхемы в 3 раза больше чем МК mega8, она потребляет ток, занимает место на плате.

nest, аппноты смотрел. Мне понравилось AVR309_USB. Там только не совсем понятно это преобразователь USB-RS232 на МК или пример работы с USB, но кажется последнее. Есть там на ассемблере полностью код и с пометкой автора "USER FUNCTIONS".
На том сайте что писал есть простое устройство EasyLogger.2008-02-28. Там тоже сложно разобраться.

Думаю откудато взять функции работы с USB, но не могу разобраться где оно там.
С чего там подрыться, откуда начать? Чтото чтение заметок автора не помогает...
 
 Top
nest Администратор Post Id



Администратор


Сообщений всего: 4866
Дата рег-ции: Сент. 2009  



mctim, долго и упорно "курить" спецификацию по USB :) (так и задавать в гугль)
только всё это впустую, получается, т.к. появился USB-3. Так что USB-2 уже всё равно скоро похоронят :)

ещё: GAW.RU: Примеры применения USB в микроконтроллерах список статей и разборов про USB в микроконтроллерах разных семейств.
 
 Top
mctim Post Id



Маршал


Сообщений всего: 109
Дата рег-ции: Нояб. 2009  



высший восторг "закуриваю" русская версия AVR309 мне нравиться ) Щас разберусь!
А usb 3.0 как я понимаю будет появляться в новых ПК рядышком с usb 2.0. так как они не совместимы. И кто сказал что всеобъемлющий ум начинающих разработчиков не разберется с 3.0 Подмигивающий
 
 Top
mctim Post Id



Маршал


Сообщений всего: 109
Дата рег-ции: Нояб. 2009  



AVR 309 - штука рабочая. Только вот не все поддается изменению "под себя".
Короче, тут автор дал готовый драйвер и библиотеку. Если кто владеет информацией как они делаются - делитесь пожалуйста Подмигивающий

(Отредактировано автором: 25 Февраля, 2010 - 19:59:21)

 
 Top
mctim Post Id



Маршал


Сообщений всего: 109
Дата рег-ции: Нояб. 2009  



:) разобрался!

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

Разрешите похвастаться:

Это USB модуль для последующих экспериментов и разработки.
Основными его частями считаю: собственно "железяку" на картинке, драйвер для ПК и прикладную программу, которая взаимодействует с "железякой" через драйвер.
Создано все это на основе апноты AVR 309 (правда от нее там осталось мало).
Собственно информацию черпал из апноты и книг:
по USB интерфейсу:
- "Практика программирования USB";
- "Шины PCI, USB и FireWire",
по программированию драйверов:
- "Программирование драйверов для Windows" - Комиссарова;
- "Программирование драйверов и систем безопасности" - С.Сорокина;
- "Программирование драйверов под Windows" В.Солдатов.

Ничего сложного там нет. Просто надо думать;)
 
 Top
nest Администратор Post Id



Администратор


Сообщений всего: 4866
Дата рег-ции: Сент. 2009  



ой! а зачем там плавкий предохранитель?:) обычно ставят самовосстанавливающийся.

Чего это всё умеет ? как выглядит программа на стороне PC?
 
 Top
mike666 Post Id


Рядовой


Сообщений всего: 17
Дата рег-ции: Март 2010  



ммм... а действительно зачем? usb она не спасет...
 
 Top
mctim Post Id



Маршал


Сообщений всего: 109
Дата рег-ции: Нояб. 2009  



nest пишет:
ой! а зачем там плавкий предохранитель?:) обычно ставят самовосстанавливающийся

Не знал о таких. Использовал что было. Надо будет поискать самовосстанавливающиеся - они и поменьше)
mike666 пишет:
usb она не спасет...

Предохранитель на 500 мА. Думаю от перегорания USB спасет если закоротит где.
nest пишет:
Чего это всё умеет ?

Собсно умеет все что запрограммировать. А выглядит это так: с пк передаются посылки по 5 байт. В первом - код функции вызываемой в МК, а в остальных любая информация. Обратно (с МК) можно послать буфер до 256 байт.
nest пишет:
как выглядит программа на стороне PC?

На стороне ПК отправляем сообщения и получаем ответы через драйвер вызовом функции DeviceIoControl. Я написал на С++ класс который работает с устройством.

Дальше хочу снабдить робота радиомодулем чтоб управлять им с ПК.


Если б еще кто радиомодуль доступный подсказал.
 
 Top
Страниц (1): [1]
« Обо всем »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 





Powered by Exclusive Bulletin Board
ExBB FM 1.0 RC1 Smiles by Fool from Foolstown
  Яндекс.Метрика   Рейтинг@Mail.ru