Конвертер 3 в 1 — USB в RS-232, RS-485, UART
В основе универсального конвертера 3 в 1 лежит чип FTDI FT232R, из компьютера видимый, как обыкновенный COM порт, и два последовательных преобразователя – MAX232 и MAX485. Устройство можно использовать как RS-232, RS-485, или UART TTL конвертер. Параметры связи устанавливаются в операционной системе, как для обычного COM порта. Поддерживаемые скорости от 110 до 921600 бод.
В устройстве имеются 3 разъема:
RS232 – Две микросхемы MAX232 используются для преобразования сигналов из стандарта TTL в V.24 и наоборот. Мы могли бы использовать специально предназначенную для этого микросхему MAX211, но она дорогая, и ее трудно найти в продаже, поэтому я решил использовать дешевую MAX232. Единственный недостаток такого решения в том, что не преобразуется сигнал RING, но он используется очень редко. Микросхема MAX232 имеет встроенный преобразователь напряжения +9 В –9 В, необходимый для соответствия сигналов стандарту V.24.
RS485 – Используется преобразователь на микросхеме SN75176. Его передатчик управляется сигналом TXDEN с вывода CBUS2 микросхемы FT232R. Передатчик включается автоматически, только при передаче данных. Приемник конфигурируется путем выбора соответствующей функции на выводе CBUS3 микросхемы FT232R. Конфигурирование производится с помощью утилиты MPROG . Если задана функция «TXDEN» – приемник будет активен все время, пока не производится передача данных, и приема эхо в этом режиме происходить не будет. При выборе функции «PWRON» приемник работает всегда, принимая также и эхо. Функция «I/O» полностью отключает приемник и устанавливает его выход RX в высокоимпедансное состояние. В этом режиме мы можем использовать другие интерфейсные разъемы на плате.
ВНИМАНИЕ – приемник по умолчанию активен! Дифференциальные выходы A и B выведены на штыревой разъем на плате, рядом расположен отдельный разъем для перемычки (см. фото).
UART TTL – сигналы линий TxD и RxD в стандарте TTL выведены на штыревой разъем на плате для подключения устройств, использующих асинхронную передачу с напряжением 0–5 В, таких как микроконтроллеры. Выход RxD соединен, также, и с выходом микросхемы MAX232. Эта микросхема не может переключаться в высокоимпедансное состояние, когда не используется (0 В на разъеме RS). Вместо этого, на этом выходе будет высокий уровень, что не даст возможности использовать его совместно с другими передающими устройствами. Самое простое решение – поставить резистор 10 кОм между этим выходом и линией чтения. Микросхема FT232R через резистор считывает данные корректно, а ток, необходимый для подтягивания линии к земле, не превышает 1 мА.
Источник
УНИВЕРСАЛЬНЫЙ КОНВЕРТЕР USB
В основе предлагаемого для самостоятельного изготовления универсального конвертера лежит многим известная микросхема FT232R, компьютером определяемая, как обыкновенный COM порт, и два последовательных преобразователя – MAX232 и MAX485. Устройство можно использовать как RS-232, RS-485, или UART TTL конвертер. Параметры связи устанавливаются в операционной системе, как для обычного COM порта. Поддерживаемые скорости до 921600 бод.
Схема конвертера USB в RS-232, RS-485, UART
Конвертер USB-UART – сигналы линий TxD и RxD в стандарте TTL выведены на штыревой разъем на плате для подключения устройств, использующих асинхронную передачу с напряжением 0–5 В, таких как микроконтроллеры. Выход RxD соединен, также, и с выходом микросхемы MAX232. Эта микросхема не может переключаться в высокоимпедансное состояние, когда не используется (0 В на разъеме RS). Вместо этого, на этом выходе будет высокий уровень, что не даст возможности использовать его совместно с другими передающими устройствами. Самое простое решение – поставить резистор 10 кОм между этим выходом и линией чтения. Микросхема FT232R через резистор считывает данные корректно, а ток, необходимый для подтягивания линии к земле, не превышает 1 мА.
Конвертер USB-RS232 – Две микросхемы MAX232 используются для преобразования сигналов из стандарта TTL в V.24 и наоборот. Мы могли бы использовать специально предназначенную для этого микросхему MAX211, но она дорогая, и ее трудно найти в продаже, поэтому я решил использовать дешевую MAX232. Единственный недостаток такого решения в том, что не преобразуется сигнал RING, но он используется очень редко. Микросхема MAX232 имеет встроенный преобразователь напряжения +9 В –9 В, необходимый для соответствия сигналов стандарту V.24.
Конвертер USB-RS485 – Используется преобразователь на микросхеме SN75176. Его передатчик управляется сигналом TXDEN с вывода CBUS2 микросхемы FT232R. Передатчик включается автоматически, только при передаче данных. Приемник конфигурируется путем выбора соответствующей функции на выводе CBUS3 микросхемы FT232R. Конфигурирование производится с помощью утилиты MPROG. Если задана функция «TXDEN» – приемник будет активен все время, пока не производится передача данных, и приема эхо в этом режиме происходить не будет. При выборе функции «PWRON» приемник работает всегда, принимая также и эхо. Функция «I/O» полностью отключает приемник и устанавливает его выход RX в высокоимпедансное состояние. В этом режиме мы можем использовать другие интерфейсные разъемы на плате.
Настройки универсального конвертера в программе MPprog показаны на картинке. Все необходимые файлы проекта, в том числе чертеж печатной платы, можно скачать тут.
Originally posted 2019-04-30 10:31:57. Republished by Blog Post Promoter
Источник
Usb rs485 конвертер схема своими руками
Мне внезапно понадобился переходник из USB в RS485. На мое удивление, на местном радиорынке найти его я не смог, поэтому решил ваять свое. По ходу выяснилось несколько подробностей.
Сначала я думал просто взять готовый переходник USB->RS232 и прицепить к нему платку с преобразователем уровней в RS485. Не тут то было – посмотрите, с какой задержкой компьютер переключает сигнал RTS (а именно он обычно используется для переключения прием-передача):
голубой – данные, желтый – RTS.
Естественно, это никуда не годиться – почти 100мс, в то время как задержка между приемом и передачей Modbus – 2мс.
Покопавшись в интернете, нашел очень интересный способ автопереключения приема и передачи для RS485:
Используется 555 таймер в режиме ждущего мультивибратора. Когда сигнал на входе становится низким (стартовый бит), таймер запускается и переключает драйвер RS485 на передачу. Если в течении 40мкс не появится нового низкого уровня, таймер переключит драйвер на прием. А как быть с длинной передачей единиц? Все очень просто – на выходе драйвера RS485 стоят подтягивающие резисторы, которые по умолчанию держат линию в единичном состоянии.
Так к чему это я… Ах, да – в итоге я нашел оочень простое включение всеми любимой, но вечно дорогой FT232. Оказывается, у нее есть ножка которая переключается в момент фактической передачи. Работает это на отлично:
голубой – сигнал с ножки передачи, желтый – данные.
Вот – итоговая схема, перемычками P2 подключается терминатор:
Если кто захочет повторить – вот схема и плата, плата делается двусторонней, вторая сторона полностью играет роль земли:
В варианте с таймером думаю вполне можно держать передачу в течении времени передачи всего байта, на случай байта из одних единиц. Тогда в худшем случае, если последний бит передачи будет 0, драйвер 485й шины просто продержит её ещё чуть-чуть в режиме передачи, что никак не скажется на работе. Мне кажется такой вариант надежнее, чем полагаться на подтяжку.
Был у меня один раз такой глюк, программил софт, опрос промышленного модуля по rs-485. Адаптер к компу тоже был готовый, купленный. Долго пытался понять, почему у меня ответы от устройства приходят с запоротым последним байтом. Как потом выяснил, модуль ввода отпускал линию в конце передачи, если там шли единичные биты, рассчитывая на подтяжку линии, которой не было ни в нём, ни в usb-адаптере. Добавил подтяжку, всё стало хорошо, но как-то это не аккуратненько.
А помоему — аккуратно. Вообще, без подтяжки шина работать не обязана.
По спецификации драйверов rs485, поведение в диапазоне диф. сигнала +-200мВ не определено. Тоесть, шина без подтяжки шиной называться не может. Конечно я понимаю, что сейчас появились драйвреа со «смещенным центром тяжести», но ровняться всеравно приходится на старые спецификации.
Да, про 200мВ вполне верно. Также из спецификации берём: до 32 устройств, каждое по 12 кОм, параллельно. Итого 375 Ом в худшем случае. Ещё два раза по 120 Ом терминальных резисторов с каждой стороны. И подтягивающие резисторы по 560 Ом отклоняют линию уже и не так сильно, не намного то больше этих самых 200мВ. А ещё бывает и подтягивающие резисторы поменьше ставят.
Дак, отклонение на 200мВ уже хватает чтобы зафиксировать лог 1. Так-что, если стоит по 560ом, то все нормально даже при 32 устройствах.
Друге дело, как это монтажникам объяснить ))
У меня вопрос, какой софт юзается?
для работы с модбас, просто гипертерминал?
Не, хаченный modbus poll, ну, и терминал.
Ни как не получаешься подобрать масштаб для распечатки пдф, тот что в файле не соответствует размеру элементов. (((
да, это известный глюк альтиума. Добавил плату в нормальном масштабе к статье.
Огромное спасибо, то что надо))
А как насчет гальваноразвязки?
На длинных линиях думаю будет просто необходима.
У меня нет длинной линии. Для моих целей такого переходника более, чем достаточно.
Вместо Max485 поставить ADM2582E/ADM2587E — вот вам гальваноразвязка
Спаял переходник по этой схеме. Тока микруха max485 в дип корпусе, и линию RX притянул к питанию. В териминале на компе посылаю символ — возвращается эхо 0x00. Терминирующие джампера надеты. Это нормально? Другого утройства на rs-485 пока нету, проверить неначем.
Эхо исчезнет, когда я подключу другие устройства к линии 485? или эхо отсекать програмно?
Пожди, какую именно линию RX ты притянул?
https://clip2net.com/s/1yTWg вот тут резистор R3. Подтянул RX линию микрухи ft232rl. И еще в своей схеме не использовал напругу 3.3 вольт для питанию I/O пинов этой микрухи. У вас с какой целью это было сделано?
>Подтянул RX линию микрухи ft232r
Похоже, макс при переключении в режим передатчика, выдает ноль на Rx.
>У вас с какой целью это было сделано?
Да просто скопировал кусок схемы из другого проекта.
у вас тоже ноль приходит при передаче? воткнул для интереса max481, аналогично приходит ноль.
спасибо за ответы.
У меня сейчас нет этого переходника, проверить не могу.
Для чего TxD подтянут к питанию, а CBUS2 к земле?
Для того, чтобы после включения питания и до инициализации микросхемы, выходы вели себя как вход, выдающий логическую 1 — это состояние покоя UART’а
Доброго времени суток.
Есть вопрос практического плана. Собрал преобразователь на FT232 — UART TTL. При подключении комп пишет — устройство неизвестное… Но! Если отключить и тут же воткнуть — все пашет нормально. Я так понимаю проблема с питанием, но схема передрана с даташита 1 к 1. Да и собирал уже подобное устройство. Навеса который бы потреблял что-нибудь еще кроме FT232 нет… Не сталкивался с подобным явлением? Электролит на 22 мкФ и керамика по питанию стоят.
Электролит пробовал отпаивать, ставить и больше и меньше — результаты не изменились… грешу на паленую микру…
Нет, с таким не встречался. FTDI всегда отлично работали.
Вечер добрый))
Давно тут не появлялся. Рад, что ресурс живёт и развивается))))
Как-то делал переходник из USB в RS485/RS422 на FT232RL и ADM2483. Если интересно, могу выложить схему.
Схема с гальванической развязкой.
Привет, конечно интересует. Можешь даже статью написать по этому поводу 🙂 Мои контакты тут: https://bsvi.ru/about/
Написал «статью» (даже 2). Отправил на мыло. Не знаю как получилось, но я старался)))))
L1 — какова величина индуктивности?
Всем доброго времени. Недавно начал делать этот переходник, столкнулся с проблемой.
Подскажите пожалуйста что такое на схеме L1, и его номинал.
И еще вопросик, нужно ли в данном переходнике, что то прошивать ?
Заранее спасибо!
Создать новую ветку комментариев
Вы должны войти или зарегистрироваться чтобы оставить комментарий.
Источник
Схема. Преобразователь USB RS232(RS485)
Автор: Radioelectronika-Ru · Опубликовано 15.02.2018 · Обновлено 16.03.2018
Данное устройство представляет из себя преобразователь интерфейса USB в интерфейс RS232 или RS485. Устройство может использоваться для связи компьютера и микроконтроллера, либо иного устройства, по выше описанным интерфейсам. Схема устройства приведена на рис. 3.
Схема устройства состоит из микросхемы преобразователя USB RS232 DD1 FT232 фирмы FTDI, микросхемы eeprom DD2 AT93C46 фирмы Atmel и преобразователя RS232 RS485 DD3 ADM485 фирмы Analog Devices.
Светодиод VD1 «PWR» служит для отображения подачи питания на устройство. Светодиоды VD2 и VD3 сигнализируют о направлении передачи данных, а именно, VD2 «TX»- передача данных от компьютера, VD3 «RX» — прием.
Микросхему памяти DD2 можно не устанавливать, если к компьютеру подключено одно устройство, реализованное на FT232. В ней хранятся идентификаторы изготовителя (VID) и персональный (PID), заводской номер изделия и другие данные.
Детали
Резисторы — smd типоразмера 0805.
Конденсатор С7 танталовый, можно заменить на электролитический с тем же номиналом и напряжением не менее 6,3 В. Остальные конденсаторы — smd типоразмера 0805.
Индуктивность L1 — smd типоразмера 1206 можно заменить на любую с тем же номиналом.
Защитные диоды VD4 и VD5 можно заменить на стабилитроны с напряжением стабилизации 5,1 В, например BZX55C5V1.
Светодиоды VD1-VD3 можно заменить на любые другие.
Микросхему DD2 можно заменить на AT93C56 или AT93C66.
Установка и настройка
Пример настройки рассмотрен для операционной системы Windows XP 32bit. Если у Вас стоит другая операционная система, то информацию по установке и необходимые драйверы можно скачать с сайта производителя www.ftdichip.com
Распакуйте архив драйвера 12_30_00__16_03_2010.rar в отдельную папку. Подключите устройство к компьютеру. Заметив новое устройство, операционная система попросит указать папку с драйвером, укажите на распакованную папку. Следующим шагом заходим в распакованную папку и запускаем программу FTD2XXST.EXE, позволяющую запрограммировать микросхему eeprom. При первом запуске программы будет выведено следующее окно:
RS232(RS485)» src=»https://radioelectronika.ru/cxemi/10/12_29_35__16_03_2010.png» alt=»Преобразователь USB RS232(RS485)»/>
Рис. 4 — Окно программы
Необходимо будет заполнить следующие поля:
Manufacturer (производитель): FTDI.
Manufacturer ID (идентификатор производителя): FT.
Vendor ID (идентификатор поставщика): 0403.
Product ID (идентификатор продукта): 6001.
Description (описание): USB Serial Converter.
RS232(RS485)» src=»https://radioelectronika.ru/cxemi/10/12_29_42__16_03_2010.png» alt=»Преобразователь USB RS232(RS485)»/>
Рис. 5
По умолчанию должны быть установлены флаги Plug and Play (автоматическое определение устройства) и Remote Wakeup (выход из режима пониженного энергопотребления).
Установка флага Fixed Serial Number позволяет присвоить устройству постоянный серийный номер, но при этом следует помнить что устройства с одинаковыми номерами подключать к компьютеру нельзя.
Флаг Self Powered оставляем не установленным, так как устройство питается не от своего источника, а от шины USB .
В окне Max Power (mA) (максимальный ток, потребляемый устройством) пропишите значение 100 мА.
Возвращаемся в основное окно и ставим галочку в строке FT232BM/FT245BM. Появятся дополнительно несколько строк, в которых необходимо поставить флаги Enable Serial Number и Int Pull-Down Enable
RS232(RS485)» src=»https://radioelectronika.ru/cxemi/10/12_29_48__16_03_2010.png» alt=»Преобразователь USB RS232(RS485)»/>
Рис. 6 — Окно программы
Нажимаем на кнопку Save для сохранения настроек, после чего нажимаем на кнопку Program, чтобы записать введенные данные в eeprom преобразователя. Осталось перезагрузить операционную систему компьютера.
Источник