USB to RS-232

Подключаем наши девайсы к компьютеру. Обсуждаются: порты, протоколы, драйвера, языки программирования и т.д.
Drednout
Родился
Сообщения: 9
Зарегистрирован: Чт янв 07, 2010 03:02:33

USB to RS-232

Сообщение Drednout »

Здравствуйте. Я начинающий электроник (=)) и вот решил начать свою карьеру с реализации управления машинкой (авто игрушка) через USB. Для начал искал материал для перевода USB, во что-то более понятное МК. Накопал кучу инфы, просто ей укурился, но так как я начинающий, то пока в голове каша. Нашёл у вас на сайте статью http://radiokot.ru/circuit/digital/pcmod/05/ и решил по ней ориентироваться. Итак, собственно вопросы:
1) В этой статье написано о применении МК FT232BM. Но вот её я не нашёл. Можно ли её заменить другой МК, например FT232BL или PL-2303XA (FT232RL)? И какие у них различия?
2) Нашёл очень интересную статью http://www.gaw.ru/html.cgi/txt/app/micr ... AVR309.htm, прочитал, но многого не понял. Смысл в том, что меня интересует, как мне сигнал RS-232 отправить делать полезную работу (крутить педали (управлять машинкой)). Я понимаю, что для этого нужно подключить к выходам USB - RS-232 преобразователя нужную мне МК, но как-то всё туманно. Можно ли для меня привести какой-нибудь простой пример?
Заранее спасибо.
Реклама
Drednout
Родился
Сообщения: 9
Зарегистрирован: Чт янв 07, 2010 03:02:33

Сообщение Drednout »

2. Т.е. можно заменить любой МК FT232?
"сигнал RS-232 несёт информацию, а не энергию"
Я это понимаю. Я же пояснил потом - управлять машинкой))
Реклама
Аватара пользователя
Meteor
Друг Кота
Сообщения: 3961
Зарегистрирован: Пн июл 13, 2009 14:37:39
Откуда: Московская область, наукоград.....
Контактная информация:

Сообщение Meteor »

FT232 предназначен для конвертации данных в стиле RS-232 по шине USB. Принять, обработать и отослать результат в комп это дело МК.
Загружая на вход компьютера "мусор", на выходе получим "мусор^32".
PS. Не работаю с: Proteus, Multisim, EWB, Micro-Cap... не спрашивайте даже
Аватара пользователя
Left Radio
Прорезались зубы
Сообщения: 235
Зарегистрирован: Пт авг 22, 2008 03:58:30
Откуда: Union Soviet Socialist Republics
Контактная информация:

Сообщение Left Radio »

to Drednout(Homeworld 2? :) ) Я бы рекомендовал Вам использовать не FT232, а CP2102. Вот пара ссылок : USB - это просто! Часть 1 и CP2102 / CP2103 преобразователи интерфейсов USB RS232/RS485 . А вот касательно FTDI и AVR - USB - это просто! и отличная "местная" статья USB - RS-232 преобразователи
После сборки такого преобразователя Вы получите обычный UART по которому ваше устройство и будет связываться с хостом(комп), то есть Вам потребуется кроме преобразователя еще доп. МК который и будет получать команды от хоста через USB > RS-232 преобразователь. Со стороны хоста устройство будет определятся как виртуальный COM порт. Далее пишете программу на хосте и вперед :tea: .
Как вариант можете использовать МК в котором уже есть USB - ATMEGA32U2-AU, PIC4550, Silabs С8051F320/1 и т. д., и т.п. Загляните в ветку Управление силовыми приборами через USB ПК я там выложил полную программу для управления реле(можно в принципе чем угодно управлять) для USB МК от Silabs и схему я там выкладывал на 2 странице. Если Вас все енто заинтересует пишите, помогу чем смогу :tea: .
Крылья... Крылья.... Хвост! Изображение
Нестрашно не знать, страшно не стремиться знать.
Реклама
Эиком - электронные компоненты и радиодетали
Drednout
Родился
Сообщения: 9
Зарегистрирован: Чт янв 07, 2010 03:02:33

Сообщение Drednout »

to Meteor Это я тоже понимаю. Вот я и просил как бы пример продолжения схемы. Чтобы у неё было какое-то практическое применение.

to Left Radio (Warhammer 40000 Dawn of War :) ) Собственно на статье "USB - RS-232 преобразователи" я и основывался. За ссылки спасибо. Проблема в том, что данные микросхемы(FT232), насколько я полагаю, мне будет легче достать.
Честно говоря, в данный момент меня больше всего интересует как регулировать обороты электродвигателя и поворачивать колёса игрушки с помощью МК управляемой ПК через данный преобразователь.))
За помощь спасибо.
Реклама
Аватара пользователя
Left Radio
Прорезались зубы
Сообщения: 235
Зарегистрирован: Пт авг 22, 2008 03:58:30
Откуда: Union Soviet Socialist Republics
Контактная информация:

Сообщение Left Radio »

Drednout писал(а):....Честно говоря, в данный момент меня больше всего интересует как регулировать обороты электродвигателя и поворачивать колёса игрушки с помощью МК управляемой ПК через данный преобразователь.))...
Ну так берите МК с USB, для регулирования оборотов электродвигателя используйте ШИМ с этого же МК, поворачивать колеса можно с помощью реле например, или MOSFET... И не надо вам никакого преобразователя, все предельно просто. Если конкретно к Silabs, то я в той ветке приводил пример программы для МК, единственное изменение которое в нее надо внести для вашего случая - это вкл. ШИМ... После прошивки МК, устанавливаем дрова от производителя, создаем проект(Visual C#, но в принципе пофиг, можно на любом вижуале), прикошачиваем к проекту библы от производителя, и пишем на хосте примерно следующее:

Код: Выделить всё

Packet[0] = 128;

SLUSBXpressDLL.Status = SLUSBXpressDLL.SI_Write(SLUSBXpressDLL.hUSBDevice, ref Packet[0], BytesWriteRequest, ref BytesSucceed, 0);
Все, мы передали в устройство, по USB, 1 байт со значением 10000000. Ну дальше я думаю понятно - в зависимости от значения принятого байта МК изменяет скважность ШИМ, вк. выкл. реле, мигает светодиодами как ёлка :) и т.д., и т. п.
Крылья... Крылья.... Хвост! Изображение
Нестрашно не знать, страшно не стремиться знать.
Реклама
Drednout
Родился
Сообщения: 9
Зарегистрирован: Чт янв 07, 2010 03:02:33

Сообщение Drednout »

Хм... Интересно... А не могли бы вы мне скинуть ссылки на даташит какой-нить подобной МК, и, если вас не затруднит, что-нибудь вроде примерной схемы. При прошитии МК такого рода, нужен ли будет мне программатор или всё можно будет сделать через USB?
Аватара пользователя
Left Radio
Прорезались зубы
Сообщения: 235
Зарегистрирован: Пт авг 22, 2008 03:58:30
Откуда: Union Soviet Socialist Republics
Контактная информация:

Сообщение Left Radio »

Вот, даташит на русском - C8051F320/1, схемку скину чуть позже.

Чуть позже...

Схема, прошивка(с исходником), программа для ПК(Visual C# тоже с иходником) во вложении

Программа для МК написана под Keil C51 V9, для компиляции проекта Вам понабиться скачать USBXpress, установить и прикрепить к проекту два файла из установившегося пакета - USB_API.h и USBX_F320_1.LIB, там же лежат и дрова для хоста - папка C:\SiLabs\MCU\USBXpress\Driver\, я уже откомпилировал проект и приложил готовый hex.
Программа принимает от хоста 5 байт(с запасом, нет необходимости использовать все), первый байт отвечает за скважность PWM1, второй за скважность PWM2, третий и четвертый для управления портами P1 и P2 соответственно.
Для прошивки МК понабиться вот такой простой программатор.

Вот скрин программы для ПК которую я написал:
Изображение

Кликая непосредственно по прогрессбару изменяем скважность ШИМ, ну и управление портами, каждым пином порта отдельно.
В общем Вам остается только спаять, прошить, установить дрова(смотрите чуть выше) и запустить прогу, далее, когда разберетесь, уже подправите и прошивку и прогу под конкретно свои нужды, если вообще это надо будет делать...

P.S. Обнаружил в выложенной проге некритическую ошибку - в событии progressBar1_MouseDown написал progressBar1.Value = e.Y; вместо progressBar1.Value = e.X;, на работоспособность проги это не повлияет, если надо будет подправите и перекомпилируйте проект.
Вложения
Soft_Firmware.rar
Софт, прошивка, исходники.
(152.5 КБ) 444 скачивания
Example.pdf
Схема
(19.26 КБ) 479 скачиваний
Последний раз редактировалось Left Radio Сб янв 16, 2010 02:41:47, всего редактировалось 1 раз.
Крылья... Крылья.... Хвост! Изображение
Нестрашно не знать, страшно не стремиться знать.
Drednout
Родился
Сообщения: 9
Зарегистрирован: Чт янв 07, 2010 03:02:33

Сообщение Drednout »

Огромное спасибо.
Правда проблема с программатором. Никогда не делал я такого. Одним из преимуществ моего старого плана было то, что мне не нужно было программировать МК-переходник. Возможно проще было бы сделать прибор, который сразу понимает USB? Хотя ваша МК поддерживает USB... Или всё равно придётся добавлять другую МК для обработки сигналов с хоста? А как на счёт ATmega8 допустим? Нашёл статью http://easyelectronics.ru/avr-uchebnyj- ... -shim.html.
Аватара пользователя
Left Radio
Прорезались зубы
Сообщения: 235
Зарегистрирован: Пт авг 22, 2008 03:58:30
Откуда: Union Soviet Socialist Republics
Контактная информация:

Сообщение Left Radio »

Правда проблема с программатором.
А какие с программатором могут быть проблемы, две 74HC125 к LPT подсоединить?

Никогда не делал я такого.
Это не повод никогда не делать такого в будущем :)

Одним из преимуществ моего старого плана было то, что мне не нужно было программировать МК-переходник.
Кроме переходника Вам все равно потребуется МК....

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

А как на счёт ATmega8 допустим? Нашёл статью...
Не понимаю чем лучше МК + RS232<>USB... Ведь все равно Вам придется писать программу и для МК и для PC, хоть с переходником, хоть без...
Крылья... Крылья.... Хвост! Изображение
Нестрашно не знать, страшно не стремиться знать.
Drednout
Родился
Сообщения: 9
Зарегистрирован: Чт янв 07, 2010 03:02:33

Сообщение Drednout »

Я так понимаю, что USB программатор меня тоже устроит?
Просто ATmega мне будет намного проще достать.
К тому же, насколько я знаю, AVR МК более распространены.
Аватара пользователя
Left Radio
Прорезались зубы
Сообщения: 235
Зарегистрирован: Пт авг 22, 2008 03:58:30
Откуда: Union Soviet Socialist Republics
Контактная информация:

Сообщение Left Radio »

Я так понимаю, что USB программатор меня тоже устроит?
Не понял, в каком смысле устроит?

К тому же, насколько я знаю, AVR МК более распространены.
Э.... спорное утверждение... смотря где и в какой области применения.
Крылья... Крылья.... Хвост! Изображение
Нестрашно не знать, страшно не стремиться знать.
Drednout
Родился
Сообщения: 9
Зарегистрирован: Чт янв 07, 2010 03:02:33

Сообщение Drednout »

В том смысле, что он мне подойдёт.

Ну то, что достать ATmega мне проще - это факт. Пробил по двум фирмам. Ваши МК ни в одной не встречались, а ATmega есть в обеих + несколько модификаций. Дело в том, что живу я в Беларуси и найти магазин радиодеталей трудно.
Аватара пользователя
Rushack
Встал на лапы
Сообщения: 92
Зарегистрирован: Пн ноя 09, 2009 01:04:57
Контактная информация:

Сообщение Rushack »

Я бы предложил вобще отказаться от использования FT232BM, т.к. за 150-300р. можно купить готовый, красивый переходник, а вот остальное собрать по схеме самому. Тем более переходник найти легко, практически в любом компьютерном магазине он есть.
Ты должен сделать добро из зла, потому что его больше не из чего сделать.

Р.П. Уоррен
Drednout
Родился
Сообщения: 9
Зарегистрирован: Чт янв 07, 2010 03:02:33

Сообщение Drednout »

Хотелось бы собрать самому и получить практические навыки.
Аватара пользователя
Meteor
Друг Кота
Сообщения: 3961
Зарегистрирован: Пн июл 13, 2009 14:37:39
Откуда: Московская область, наукоград.....
Контактная информация:

Сообщение Meteor »

Как вариант на AVR. Есть серия AT90USBхххх. В частности AT90USB1287. Но жутко дорогой МК, но при стоимости МК +FT232 кажется будет подешевле или на уровне... Дрова у атмела на сайте.
Загружая на вход компьютера "мусор", на выходе получим "мусор^32".
PS. Не работаю с: Proteus, Multisim, EWB, Micro-Cap... не спрашивайте даже
Аватара пользователя
Left Radio
Прорезались зубы
Сообщения: 235
Зарегистрирован: Пт авг 22, 2008 03:58:30
Откуда: Union Soviet Socialist Republics
Контактная информация:

Сообщение Left Radio »

Meteor писал(а):...Как вариант на AVR. Есть серия AT90USBхххх. В частности AT90USB1287...
Мда... Средняя цена 800р.... И нахрена он такой нада в простенькой машинке для которой с запасом хватит кило 8 флеша? Я не понимаю чего на Атмеле свет клином сошелся?
К примеру средняя цена на C8051F321 - 150р...
Ладно, это все офф, надеюсь модераторы не настучат мне по башке :)...
Крылья... Крылья.... Хвост! Изображение
Нестрашно не знать, страшно не стремиться знать.
Аватара пользователя
YS
Друг Кота
Сообщения: 7518
Зарегистрирован: Вс мар 29, 2009 22:09:05
Контактная информация:

Сообщение YS »

1. Лучше всего для этого дела ИМХО FT232R[X] (последняя буковка не важна). Она требует меньше всего обвязки. Различие между B и R версиями как раз в количестве внешних компонентов. R, как я уже говорил, более продвинута. На ней даже программатор сделать можно.

http://easyelectronics.ru/preobrazovate ... l#more-218

http://easyelectronics.ru/skorostnoj-av ... l#more-268

2. На всякий пожарный, эти микросхемы создают виртуальный COM, поэтому все общение с ними должно вестись либо через стандартный API, либо через спецбиблиотеки. Про работу с регистрами можно забыть, ибо их не существует. Порт-то виртуальный. Мне хватало API.

3. Про управление. Все выглядит так: Вы отправляете в получившийся COM данные (команды), контроллер их принимает и обрабатывает (выполняет). Т.е. при таком подходе USB для Вас просто не существует.

handle=CreateFile("COMX".......);
WriteFile(handle,...);

И в таком духе...
Разница между теорией и практикой на практике гораздо больше, чем в теории.
AFG-92
Родился
Сообщения: 17
Зарегистрирован: Сб окт 03, 2009 17:59:12

Re: USB to RS-232

Сообщение AFG-92 »

А может ли этот преобразователь работать с программатором?
http://radiokot.ru/circuit/digital/pcmod/05/
Аватара пользователя
YS
Друг Кота
Сообщения: 7518
Зарегистрирован: Вс мар 29, 2009 22:09:05
Контактная информация:

Re: USB to RS-232

Сообщение YS »

Во-первых, которая из представленных по ссылке? Во-вторых, сообщением выше я давал ссылку на USB-программатор на FT232R.
Разница между теорией и практикой на практике гораздо больше, чем в теории.
Ответить

Вернуться в «Интеграция с ПК»