Переходник usb rs485 своими руками

УНИВЕРСАЛЬНЫЙ КОНВЕРТЕР 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 — RS-485 своими руками

Сегодня поговорим о преобразовании уровней в микроэлектронике. Думаю, большинству читателей это неинтересно, поэтому советую сразу перейти на интересную статью о том, как можно сделать классный дизайн в рабочем кабинете: Создание уютного интерьера в офисе.

Итак, перед нами стоит задача:

Задача Спаять переходник для преобразования протоколов USB RS-485. Протокол RS-485 пригодится, если вам нужен помехоустойчивый канал передачи данных (к примеру, устройство находится далеко от компьютера, а вокруг злые строители создают наводки своими перфораторами).

Для этих целей используются микросхемы FT232 и MAX485 (или аналог SP481). Первая микросхема используется для подключения устройств к компьютеру через USB, на выходе у неё ТТЛ-сигнал, вторая — для преобразования уровней (из ТТЛ в RS-485), этот сигнал и нужен устройствам, с которыми будет работать компьютер.

Схема подключения этих микросхем есть на официальном сайте производителя FT232: здесь. Вот, как выглядит схема подключения:

Не кисло, а? На самом деле, всё очень просто, прочитайте документацию, там есть объяснение, каким образом FT232 знает, что нужно конфигурировать MAX485 на вход или выход. Микросхемка умная. Размещаю все компоненты в Протеусе:

Там же в Протеусе можно сразу посмотреть в 3d, как будет выглядеть платка:

Все это дело я быстренько вытравил в хлорном железе и напаял нужные компоненты.

Подключил не работает. Точнее работает, но не совсем корректно. Почему-то всё, что отправляет компьютер приходит на него же.

Переходник USB — MAX485 не работает!Оказывается, схема, приведенная в даташите микросхемы FT232 не работает. Исправляем баги.

Подключил осциллограф — оказывается на пине управления приёмом MAX’а (пин RE) не тот сигнал, что нужно (он постоянно в нуле, что значит постоянный прием). Пришлось разрезать дорожку, идущую от FT232 ко входу RE, и закоротить RE с DE (это классическая схема подключения микросхемы MAX485). Теперь при отправке и приеме данных на ножках управления приёмом/передачей правильные сигналы, а именно: при отправке сообщений и на DE и на RE — лог. единица, при приеме на них — логический ноль. Проблема решена: в компьютере при передаче данных эхо отсутствует.

Начали тестировать полученный переходник USB-RS485 с нашей микроконтроллерной системой и. снова не работает. Посмотрел осциллографом на линии A и B — а там шум. А это ведь и понятно — обе микросхемы MAX485 (на нашем переходнике и с другой стороны провода, на устройстве) сконфигурированы на вход. Вот всё и шумит. При отправке с компьютера данных получается, что FT232 сама конфигурирует микросхему MAX485 на передачу, мгновенно отправляет данные и снова переводит её в режим приема. Видимо, из-за шума приёмник кроме необходимых данных принимает и мусор. Подумал, что неплохо бы линии A и B через резисторы повесить к земле и питанию. Загуглил и действительно народ так и делает, при чем удивляется, почему в даташите об этом ничего не сказано.

Итак, повесил линию A через резистор номиналом в 3,9 кОм на питание, а линию B через такой же резистор на землю (резисторы можно взять и поменьше). Шум на линии значительно уменьшился, но при передаче периодически выскакивали неправильные байты. Уменьшили скорость передачи данных до 1200 бод, всё работает прекрасно, никакого мусора, только валидные данные.

Еще нюанс — если провод очень длинный, могут появляться сбои в работе, поэтому с обоих концов линии передачи (между проводами A и B) вешают так называемые резисторы-терминаторы. Они погашают стоячую волну в линии и это здорово.

Итого, после недолгих мытарств получена рабочая схема переходника USB-RS485:

Переходник USB MAX485 спаян готов к использованию! Если у вас есть вопросы по работе данного переходника — пишите в комментарии!

Источник

Преобразователь интерфейсов USB/RS-485

Современные периферийные устройства в своём большинстве рассчитаны на подключение к компьютеру по интерфейсу USB, который сейчас вытеснил все другие виды компьютерных интерфейсов. Если возникнет задача ввести в компьютер информацию по интерфейсу RS-485, в этом поможет предлагаемый преобразователь.

Асинхронный интерфейс передачи данных RS-485 — один из самых распространённых промышленных интерфейсов и, несмотря на постепенное вытеснение более современными технологиями, такими как, например, Ethernet, продолжает по сей день активно применяться в системах промышленной автоматизации, пожарной и охранной сигнализации, контроля доступа и пр. Он, конечно же, не может соревноваться с вездесущими Ethernet и Wi-Fi по скорости передачи данных, но зато обладает одним неоспоримым преимуществом — простотой реализации. Для связи по RS-485 требуются всего два провода и очень простое программное обеспечение, к тому же существует огромное количество готовых аппаратных и программных решений. Также следует отметить и весьма хорошую дальность связи — более километра при скорости до 62,5 кбит/с, согласно спецификации на стандарт. На практике же удавалось организовать стабильный обмен данными на расстояние более трёх километров на скорости 10 кбит/с при использовании экранированной витой пары.

Читайте также:  Пинпоинтер самодельный своими руками

Для возможности подключения какого-либо прибора, оборудованного интерфейсом RS-485, к домашнему компьютеру или ноутбуку необходим, естественно, соответствующий преобразователь интерфейсов, например USB/RS-485. Подобные устройства широко распространены и подробно описаны в технической литературе. О варианте подобного преобразователя и пойдёт речь. Схема устройства приведена на рис. 1. В основе лежит «классическая» в подобных преобразователях популярная микросхема FT232RL (DD1). Она представляет собой специализированный, полностью аппаратно реализованный двухнаправленный преобразователь-конвертер USB/UART (UART -Universal Asynchronous Receiver-Transmitter — универсальный асинхронный приёмопередатчик) с полной поддержкой протокола USB. Микросхема требует минимальной внешней обвязки. Помимо этого, FT232RL имеет встроенную EEPROM объёмом 1024 байт и предоставляет весьма широкие возможности для пользовательского конфигурирования некоторых своих параметров и режимов работы. Например, можно выбрать режим работы от встроенного или от внешнего тактового генератора, переназна-чить функции выводов CBUS0-CBUS4 (на схеме показаны только задействованные CBUS0-CBUS2), включить инверсию сигналов UART и пр. Полную информацию о микросхеме можно получить из технической документации производителя [1]. Для конфигурирования можно использовать бесплатные утилиты MProg 3.5 и FT_Prog 3.0 c сайта производителя. С завода микросхема поставляется со штатной конфигурацией (прошивкой), в которой выбран режим работы от внутреннего тактового генератора, вывод СBUS0 (выв. 23) настроен на подключение светодиода, индицирующего передачу данных, CBUS1 (выв. 22) — для светодиода приёма данных, CBUS2 (выв. 13) — сигнал коммутации приём/ передача (DE — Driver Enable). В схеме на рис. 1 используется штатное включение микросхемы.

Рис. 1. Схема устройства

Микросхема ADuM5401 (DD2) представляет собой цифровой изолятор сигналов, специально разработанный для применения в промышленных интерфейсах передачи данных. Согласно технической документации производителя, изолятор способен кратковременно выдерживать между входом и выходом разность потенциалов 2,5 кВ. Подробно эта микросхема описана в [2]. Она имеет четыре одинаковых, работающих только в одном направлении (вход- выход), изолированных канала:

— первый: выв. 3 — вход, выв. 14 — выход;

— второй: выв. 4 — вход, выв. 13 — выход;

— третий (на схеме не показан): выв. 5 — вход, выв. 12 — выход;

— четвёртый: выв. 11 — вход, выв. 6 — выход.

Помимо этого, ADuM5401 имеет также встроенный изолированный источник питания, по сути — интегральный трансформатор мощностью 0,5 Вт (при напряжении 5 В) для питания вторичной, изолированной стороны: выв. 16 — плюсовой вывод и выв. 15 — минусовый.

Микросхема ADM1485ARZ (DD3) — обычный приёмопередатчик дифференциального сигнала для стандарта RS-485/RS-422. Приёмник и передатчик могут коммутироваться независимо друг от друга. Для того чтобы включить передатчик, необходимо подать высокий уровень на выв. 3 (DE — Driver Enable — передатчик разрешён). Включение приёмника — инверсное, осуществляется подачей низкого уровня на выв. 2 (RE — Receiver Enable — приёмник разрешён). На схеме (см. рис. 1), как и в большинстве подобных схемных решений, выв. 3 и выв. 2 соединены для удобства вместе. Когда на линии R/T установлен высокий уровень, DD3 работает на передачу, а когда низкий — на приём информации. Выв. 1 (RO — Receiver Output) — выход приёмника. Выв. 4 (DI — Driver Input) — вход передатчика. Подробное описание этой микросхемы приведено в [3].

Устройство можно значительно упростить, отказавшись от гальванической развязки и входного фильтра питания. Схема упрощённого варианта показана на рис. 2.

Рис. 2. Схема упрощённого варианта устройства

Рис. 3. Чертёж печатной платы преобразователя

Чертёж печатной платы преобразователя приведён на рис. 3. Печатная плата максимально минимизирована под размер обычной «флешки» и выполнена на фольгированном с двух сторон стеклотекстолите FR-4 размерами 14×41 мм. Детали расположены с обеих сторон. На условно верхней стороне — разъёмы X1 и X2, микросхемы DD1 и DD3, цепи индикации R1HL1, R2HL2 и HL3, а также защитные диоды VD1 и VD2. Остальные — на условно нижней стороне платы. Расположение элементов показано на рис. 4. Все резисторы и конденсаторы, кроме С5, а также светодиоды применены типоразмера 0603. Конденсатор С5 — танталовый типоразмера Case A (размеры 3,2×1,6×1,6 мм) на номинальное напряжение 10 В. Разъём USB (X1) — USB-AR (DS1097-B) или аналогичный. Разъём X2 — ECH381R-04P со съёмной ответной частью EC381V-04P Самовос-станавливающиеся предохранители F1 и F2 — MF-USMF010 или аналогичные на ток срабатывания от 100 мА (размеры 3,2×2,5 мм). Дроссель помехопо-давления L1 — BLM21PG331SN1D. Однонаправленные защитные диоды-супрессоры VD1 и VD2 желательно заменить на двухнаправленные SMAJ10CA-TR в корпусе SMA/DO-214AC. Фото собранного устройства приведены на рис. 5 — рис. 10.

Источник

Оцените статью
Своими руками