USB to RS-232
USB to RS-232
Здравствуйте. Я начинающий электроник (=)) и вот решил начать свою карьеру с реализации управления машинкой (авто игрушка) через 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 преобразователя нужную мне МК, но как-то всё туманно. Можно ли для меня привести какой-нибудь простой пример?
Заранее спасибо.
1) В этой статье написано о применении МК FT232BM. Но вот её я не нашёл. Можно ли её заменить другой МК, например FT232BL или PL-2303XA (FT232RL)? И какие у них различия?
2) Нашёл очень интересную статью http://www.gaw.ru/html.cgi/txt/app/micr ... AVR309.htm, прочитал, но многого не понял. Смысл в том, что меня интересует, как мне сигнал RS-232 отправить делать полезную работу (крутить педали (управлять машинкой)). Я понимаю, что для этого нужно подключить к выходам USB - RS-232 преобразователя нужную мне МК, но как-то всё туманно. Можно ли для меня привести какой-нибудь простой пример?
Заранее спасибо.
- Реклама
- Left Radio
- Прорезались зубы
- Сообщения: 235
- Зарегистрирован: Пт авг 22, 2008 03:58:30
- Откуда: Union Soviet Socialist Republics
- Контактная информация:
to Drednout(Homeworld 2?
) Я бы рекомендовал Вам использовать не FT232, а CP2102. Вот пара ссылок : USB - это просто! Часть 1 и CP2102 / CP2103 преобразователи интерфейсов USB RS232/RS485 . А вот касательно FTDI и AVR - USB - это просто! и отличная "местная" статья USB - RS-232 преобразователи
После сборки такого преобразователя Вы получите обычный UART по которому ваше устройство и будет связываться с хостом(комп), то есть Вам потребуется кроме преобразователя еще доп. МК который и будет получать команды от хоста через USB > RS-232 преобразователь. Со стороны хоста устройство будет определятся как виртуальный COM порт. Далее пишете программу на хосте и вперед
.
Как вариант можете использовать МК в котором уже есть USB - ATMEGA32U2-AU, PIC4550, Silabs С8051F320/1 и т. д., и т.п. Загляните в ветку Управление силовыми приборами через USB ПК я там выложил полную программу для управления реле(можно в принципе чем угодно управлять) для USB МК от Silabs и схему я там выкладывал на 2 странице. Если Вас все енто заинтересует пишите, помогу чем смогу
.
После сборки такого преобразователя Вы получите обычный UART по которому ваше устройство и будет связываться с хостом(комп), то есть Вам потребуется кроме преобразователя еще доп. МК который и будет получать команды от хоста через USB > RS-232 преобразователь. Со стороны хоста устройство будет определятся как виртуальный COM порт. Далее пишете программу на хосте и вперед
Как вариант можете использовать МК в котором уже есть USB - ATMEGA32U2-AU, PIC4550, Silabs С8051F320/1 и т. д., и т.п. Загляните в ветку Управление силовыми приборами через USB ПК я там выложил полную программу для управления реле(можно в принципе чем угодно управлять) для USB МК от Silabs и схему я там выкладывал на 2 странице. Если Вас все енто заинтересует пишите, помогу чем смогу
Крылья... Крылья.... Хвост! 
Нестрашно не знать, страшно не стремиться знать.

Нестрашно не знать, страшно не стремиться знать.
to Meteor Это я тоже понимаю. Вот я и просил как бы пример продолжения схемы. Чтобы у неё было какое-то практическое применение.
to Left Radio (Warhammer 40000 Dawn of War
) Собственно на статье "USB - RS-232 преобразователи" я и основывался. За ссылки спасибо. Проблема в том, что данные микросхемы(FT232), насколько я полагаю, мне будет легче достать.
Честно говоря, в данный момент меня больше всего интересует как регулировать обороты электродвигателя и поворачивать колёса игрушки с помощью МК управляемой ПК через данный преобразователь.))
За помощь спасибо.
to Left Radio (Warhammer 40000 Dawn of War
Честно говоря, в данный момент меня больше всего интересует как регулировать обороты электродвигателя и поворачивать колёса игрушки с помощью МК управляемой ПК через данный преобразователь.))
За помощь спасибо.
- Реклама
- Left Radio
- Прорезались зубы
- Сообщения: 235
- Зарегистрирован: Пт авг 22, 2008 03:58:30
- Откуда: Union Soviet Socialist Republics
- Контактная информация:
Ну так берите МК с USB, для регулирования оборотов электродвигателя используйте ШИМ с этого же МК, поворачивать колеса можно с помощью реле например, или MOSFET... И не надо вам никакого преобразователя, все предельно просто. Если конкретно к Silabs, то я в той ветке приводил пример программы для МК, единственное изменение которое в нее надо внести для вашего случая - это вкл. ШИМ... После прошивки МК, устанавливаем дрова от производителя, создаем проект(Visual C#, но в принципе пофиг, можно на любом вижуале), прикошачиваем к проекту библы от производителя, и пишем на хосте примерно следующее:Drednout писал(а):....Честно говоря, в данный момент меня больше всего интересует как регулировать обороты электродвигателя и поворачивать колёса игрушки с помощью МК управляемой ПК через данный преобразователь.))...
Код: Выделить всё
Packet[0] = 128;
SLUSBXpressDLL.Status = SLUSBXpressDLL.SI_Write(SLUSBXpressDLL.hUSBDevice, ref Packet[0], BytesWriteRequest, ref BytesSucceed, 0);Крылья... Крылья.... Хвост! 
Нестрашно не знать, страшно не стремиться знать.

Нестрашно не знать, страшно не стремиться знать.
- Left Radio
- Прорезались зубы
- Сообщения: 235
- Зарегистрирован: Пт авг 22, 2008 03:58:30
- Откуда: Union Soviet Socialist Republics
- Контактная информация:
Вот, даташит на русском - 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;, на работоспособность проги это не повлияет, если надо будет подправите и перекомпилируйте проект.
Чуть позже...
Схема, прошивка(с исходником), программа для ПК(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 раз.
Крылья... Крылья.... Хвост! 
Нестрашно не знать, страшно не стремиться знать.

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

Нестрашно не знать, страшно не стремиться знать.
- Left Radio
- Прорезались зубы
- Сообщения: 235
- Зарегистрирован: Пт авг 22, 2008 03:58:30
- Откуда: Union Soviet Socialist Republics
- Контактная информация:
- Rushack
- Встал на лапы
- Сообщения: 92
- Зарегистрирован: Пн ноя 09, 2009 01:04:57
- Контактная информация:
Я бы предложил вобще отказаться от использования FT232BM, т.к. за 150-300р. можно купить готовый, красивый переходник, а вот остальное собрать по схеме самому. Тем более переходник найти легко, практически в любом компьютерном магазине он есть.
Ты должен сделать добро из зла, потому что его больше не из чего сделать.
Р.П. Уоррен
Р.П. Уоррен
- Meteor
- Друг Кота
- Сообщения: 3961
- Зарегистрирован: Пн июл 13, 2009 14:37:39
- Откуда: Московская область, наукоград.....
- Контактная информация:
Как вариант на AVR. Есть серия AT90USBхххх. В частности AT90USB1287. Но жутко дорогой МК, но при стоимости МК +FT232 кажется будет подешевле или на уровне... Дрова у атмела на сайте.
Загружая на вход компьютера "мусор", на выходе получим "мусор^32".
PS. Не работаю с: Proteus, Multisim, EWB, Micro-Cap... не спрашивайте даже
PS. Не работаю с: Proteus, Multisim, EWB, Micro-Cap... не спрашивайте даже
- Left Radio
- Прорезались зубы
- Сообщения: 235
- Зарегистрирован: Пт авг 22, 2008 03:58:30
- Откуда: Union Soviet Socialist Republics
- Контактная информация:
Мда... Средняя цена 800р.... И нахрена он такой нада в простенькой машинке для которой с запасом хватит кило 8 флеша? Я не понимаю чего на Атмеле свет клином сошелся?Meteor писал(а):...Как вариант на AVR. Есть серия AT90USBхххх. В частности AT90USB1287...
К примеру средняя цена на C8051F321 - 150р...
Ладно, это все офф, надеюсь модераторы не настучат мне по башке
Крылья... Крылья.... Хвост! 
Нестрашно не знать, страшно не стремиться знать.

Нестрашно не знать, страшно не стремиться знать.
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,...);
И в таком духе...
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,...);
И в таком духе...
Разница между теорией и практикой на практике гораздо больше, чем в теории.
Re: USB to RS-232
А может ли этот преобразователь работать с программатором?
http://radiokot.ru/circuit/digital/pcmod/05/
http://radiokot.ru/circuit/digital/pcmod/05/
Re: USB to RS-232
Во-первых, которая из представленных по ссылке? Во-вторых, сообщением выше я давал ссылку на USB-программатор на FT232R.
Разница между теорией и практикой на практике гораздо больше, чем в теории.


