USB — RS485 адаптер на PL2303
Данный адаптер я купил спонтанно, посмотреть, что за штука. Ничего особо выдающегося из себя он не представляет, но тем не менее может быть кому-то интересен, поэтому я решил написать этот мини-обзор.В отличие от самых дешевых адаптеров на Ch440, этот упакован в коробочку из картона.
Внутри вложена инструкция на китайском. Впрочем, основные моменты понятны и так. Внизу ссылка для скачивания драйверов. Без ложной скромности китайцы использовали в имени сайта название jlink, хотя, думаю, к Segger они никакого отношения не имеют.
На обороте инструкции описание другой версии адаптера. Собран на Ch440, кроме RS485 на разъем выведены RX/TX.
Вид сверху.
Вид снизу
Корпус раскрывается легко, достаточно подковырнуть по стыку ножом.
Вид платы со стороны деталей. Собрано достаточно аккуратно, флюс отмыт. Преобразователь USB-UART PL2303.
Вид обратной стороны платы. Флюс после пайки разъемов отмывать даже не пытались.
С установкой драйверов никаких проблем не возникло. Проверил адаптер, соединив его с адаптером на Ch440 и запустив два терминала. Все работает в обе стороны без замечаний.
Лично меня более чем устраивают дешевые адаптеры на Ch440. Но для кого-то предпочтительно наличие PL2303, поэтому запишем это в плюсы. Кроме того, на клеммах есть питание и общий провод, чего сильно не хватает в самых дешевых адаптерах.
P.S. Фотография на странице продавца отличается от той версии, что он высылает.
mysku.ru
Конвертер USB в RS-485
Попробую немного рассказать про специализированное устройство промышленного назначения.Данный конвертер позволяет подключать оборудование с интерфейсом RS-485 к USB порту компьютера или ноутбука.
Интерфейс RS-485 является промышленным стандартом физического уровня связи.
Кому интересно, можно почитать например тут:
www.softelectro.ru/rs485.html
Как обычно, прислали конвертер в мягком мятом пакетике.
Клеммы подключения RS-485
Разбирается просто — корпус даже без защёлок
Экран USB разъёма к плате не припаян — необходимо обязательно пропаять, иначе он быстро будет оторван.
Как-то так
Терминатор на плате не установлен, но место под него есть (R6) и при необходимости можно его допаять (обычно 100-150 Ом).
A (D+) подтянут резистором 2,2к на +5V
B (D-) подтянут резистором 2,2к на общий.
К сожалению, конвертер имеет упрощённую реализацию — отсутствует гальваническая развязка между интерфейсами, что может создавать проблемы на протяжённых линиях из-за наличия значительной разности потенциалов между устройствами. Если конвертер подключён к заземлённому компьютеру и экран кабеля RS-485 также заземлён — всё работает нормально. Но если попытаться подключить конвертер в ноутбук — проблема иногда вылезает и приходится либо ноутбук принудительно заземлять, либо работать от встроенной аккумуляторной батареи.
По неписаным правилам, если гальванической развязки нет, надо добавить на разъём подключения RS-485 ещё третью клемму «Общий провод» — тут китайцы явно зря сэкономили.
Конвертер в начале преобразует USB в RS232 TTL (на Ch440T), затем его преобразует в RS-485 (на MAX485)
Микросхема MAX485
www.ddrservice.info/f0z/Integrated-circuits/M/max/max485.pdf
Поддерживает скорость до 2,5Mbit, но в данном устройстве скорость ограничена 128kbit.
Третья микросхема — мелкая логика со спиленной маркировкой. Скорее всего это что-то типа SN74HC00 — работает просто как инвертор сигнала для управления MAX485.
В системе конвертер видится как USB-SERIAL Ch440
Работает под любой OS
Драйвер под Win подходит Ch441SER
yadi.sk/d/EVgMWzmXd6Y3R
Достоинства:
— По сравнению с промышленными аналогами стоит в 15 раз меньше 🙂
— Малые габариты и вес, можно всегда с собой таскать
— Питание от USB порта
Недостатки:
— Отсутствие гальванической развязки
— Не работает на высоких скоростях и на длинных линиях
Вывод: очень бюджетный низкоскоростной конвертер RS-485, который пытается нормально работать 🙂
mysku.ru
Страничка эмбеддера » Переходник USB->RS485
Мне внезапно понадобился переходник из USB в RS485. На мое удивление, на местном радиорынке найти его я не смог, поэтому решил ваять свое. По ходу выяснилось несколько подробностей.
Сначала я думал просто взять готовый переходник USB->RS232 и прицепить к нему платку с преобразователем уровней в RS485. Не тут то было – посмотрите, с какой задержкой компьютер переключает сигнал RTS (а именно он обычно используется для переключения прием-передача):
голубой – данные, желтый – RTS.
Естественно, это никуда не годиться – почти 100мс, в то время как задержка между приемом и передачей Modbus – 2мс.
Покопавшись в интернете, нашел очень интересный способ автопереключения приема и передачи для RS485:
Используется 555 таймер в режиме ждущего мультивибратора. Когда сигнал на входе становится низким (стартовый бит), таймер запускается и переключает драйвер RS485 на передачу. Если в течении 40мкс не появится нового низкого уровня, таймер переключит драйвер на прием. А как быть с длинной передачей единиц? Все очень просто – на выходе драйвера RS485 стоят подтягивающие резисторы, которые по умолчанию держат линию в единичном состоянии.
Так к чему это я… Ах, да – в итоге я нашел оочень простое включение всеми любимой, но вечно дорогой FT232. Оказывается, у нее есть ножка которая переключается в момент фактической передачи. Работает это на отлично:
голубой – сигнал с ножки передачи, желтый – данные.
Вот – итоговая схема, перемычками P2 подключается терминатор:
Если кто захочет повторить – вот схема и плата, плата делается двусторонней, вторая сторона полностью играет роль земли:
bsvi.ru