Самодельная плата с опторазвязкой для программирования Zelio
Я уже ранее писал про то, что оригинальный кабель для программирования логических реле Zelio SR2/SR3 имеет очень простую конструкцию и явно не стоит своих 90 евро, особенно в нынешние смутные времена. Можно обойтись и без специального кабеля, программируя Zelio через преобразователь USB/TTL или загрузочный шнур от старой мобилки. Но в этом случае, в отличии от программирования родным кабелем, отсутствует гальваническая развязка между Zelio и ПК, а потому есть теоретическая вероятность повредить логическое реле. Что бы обезопасить себя от этого, можно самостоятельно сделать плату с гальванической опторазвязкой для программирования Zelio SR2/SR3. В результате программировать Zelio будет так же безопасно, как и ее родным шнурком.
Павел из г.Счастье разработал такую плату и любезно поделился информацией о ней:
По конструкции плата фактически является гальванической опторазвязкой для RS-232 TTL и работает только в связке с преобразователем USB/TTL( RS232/TTL ):
Плата работает с TTL-преобразователями на FT232RL, а с преобразователями на PL2303 почему-то не хочет.
Плата двусторонняя:
Расположение элементов:
R1, R3, R4, R6 — 470 Om
R2, R5 — 4.7 kOm
C1,C2 — 1 uF
U1, U2 — h21L1
Файл печатной платы в формате Layout6
По теме в блоге:
Плата кабеля программирования Zelio SR2CBL01. Фото, схема
Программирование Zelio SR2/SR3 без использования оригинального кабеля
plc-blog.com.ua
РадиоКот :: USB – RS-232 преобразователи
РадиоКот >Схемы >Цифровые устройства >Примочки к ПК >USB – RS-232 преобразователи
Продолжаем разговор про шину USB и ее применение в радиолюбительской практике.
В прошлый раз (USB 1.1 хаб. Light – версия) мы довольно успешно снабдили ПК десятком дополнительных USB-портов, теперь пришло время начинать использовать все это изобилие.
Естественно, первое, что приходит в голову, применить эти порты для обмена данными с собственными конструкциями на МК. Однако далеко не все МК сейчас имеют периферию для работы непосредственно с USB, а программная реализация этого протокола достаточно сложна и отнимает немало процессорного времени. С другой стороны, подавляющее большинство МК имеет «на борту» модуль универсального асинхронного приемопередатчика, который может работать в режиме, совместимом с протоколом RS-232, т.е. такой микроконтроллер при условии согласования уровней сигналов можно подключать непосредственно к COM-порту компьютера. А при чем здесь USB, спросите вы? Отвечу: производители, как всегда, подсуетились, в результате чего на рынке появилось несколько вариантов преобразователей интерфейсов USBRS-232. Т.е. в нашем распоряжении есть устройство, подключаемое к ПК по USB, а на выходе имеющее сигналы, понятные любому МК с модулем USART (или даже с программно реализованным USART”ом). Здорово? Конечно, здорово, особенно с учетом того, что ОС воспринимает такой переходник просто как еще один (виртуальный) СОМ-порт (VCP: Virtual Com Port) и позволяет работать с ним с помощью обычных терминальных средств.
Вот о микросхемах, позволяющих все это реализовывать, у нас и пойдет сегодня речь…
Пожалуй, наиболее распространенными на сегодняшний день являются преобразователи FT232BM от FTDI Ltd (USB 1.1) (ничего от Maxim не напоминает по названию? 😉 ), TUSB3410 от Texas Instruments (USB 2.0), а так же PL-2303 от Prolific. Что за звери такие? Будем разбираться…
FT232BM выпускается в 32 выводном корпусе LQFP-32 с шагом выводов 0.8мм.
Микросхема имеет интерфейс для подключения внешней EEPROM памяти (выводы 1,2 и 32), в которой могут храниться уникальные идентификационные коды производителя и типа устройства, а также текстовые строки, содержащие информацию о наименовании, производителе устройства и т.п. Микросхема может питаться либо от шины USB, либо от внешнего стабилизированного источника питания с напряжением 5В. В качестве генератора тактовой частоты используется кварц на 6MHz, подключаемый к выводам 27 и 28.
Микросхема имеет встроенный LDO-стабилизатор с выходным напряжением 3.3В, который служит для питания внутренней логики, но может использоваться и для питания каких-либо внешних устройств (вывод 6: 3V3OUT), правда, максимальный ток – всего 5мА. Уровень логической единицы на выходах модуля UART микросхемы (выводы 16-25) задается напряжением на входе VCCIO (вывод 13) и может изменяться в пределах от 3 до 5В (это нужно для обеспечения совместимости с 3-х вольтовой логикой).
Режим питания микросхемы определяется логическим уровнем на входе PWRCTL: лог.0 – питание от шины USB (Bus-Powered), лог.1 – питание от стороннего источника (Self-Powered). Инверсный вход RESET надо через резистор (а можно даже и без него) подтянуть к плюсу питания микросхемы – этого достаточно для нормальной работы. Выход RSROUT может использоваться для сброса внешних устройств в момент сброса FT232. Кроме того, к этому выводу подключается подтягивающий резистор для линии USB Data+. Сами линии Data+ и Data- – это выводы USBDP и USBDM соответственно.
Замечу, что вход TEST должен быть соединен с землей, в противном случае работа микросхемы нестабильна.
Выходы SLEEP и PWREN могут использоваться для управления внешними устройствами, в частности, SLEEP = 0, если микросхема не активна («спит»), а PWREN = 0 после окончания инициализации микросхемы при подключении и = 1, если микросхема не активна.
На выводах 16-25, как уже отмечалось, присутствуют все сигналы, предусмотренные стандартом RS-232. При подключении к ним соответствующих микросхем-преобразователей уровня возможна конвертация исходных данных, поступающих по USB, в поток байт протоколов RS-232, RS-422 или RS-485.
Прием и передача данных по USB могут отображаться светодиодами, подключенными к выходам RXLED и TXLED соответственно.
Схема, которую я обычно использую, приведена на рисунке:
Как видите, навесных элементов очень немного. Для подключения к МК достаточно использовать сигналы RX и TX, в ряде случаев может понадобиться организовать гальваническую развязку этой схемы с остальным устройством. С учетом того, что преобразователь питается от USB, достаточно добавить на RX и TX по оптрону, причем выход TX может напрямую управлять светодиодом одной из оптопар.
В качестве EEPROM можно использовать микросхемы памяти 93С46/56/66, достаточно и самой маленькой по объему:
С железом немножко разобрались, а что касается софта, то здесь тоже ничего сложного нет. С сайта производителя доступны для скачивания две версии драйвера: VCP Driver (только драйвер виртуального СОМ-порта) и D2XX Driver (дает ряд дополнительных возможностей, например, прямой доступ к USB – более интересен для программистов). Если планируется использование микросхемы памяти – надо ставить D2XX, кроме того, понадобится также специальная утилита для прошивки: MProg, также доступная для скачивания с сайта. В остальном – подключаете устройство к ПК, говорите ОС откуда взять драйверы, наблюдаете за установкой. В «Диспетчере устройств» в разделе «USB» должен появиться «USB Serial Converter», а в «Портах» – следующий по номеру «USB Serial Port». Все, можете с ним работать, как с обычным портом.
Так будет, если ваша FT232 работает без EEPROM (или с пустой) со стандартными VID&PID, присвоенными производителем. Если с помощью MProg прошить в память новые VID&PID, наименование устройства, его серийный номер и т.п., ваше устройство будет определяться уже совсем по-другому. Как – вам виднее, наступает простор для творчества. Хотя я бы все таки не рекомендовал менять стандартные VID&PID, а то получите сканер какой-нибудь… 😉
Я работал с этой микросхемой на скорости порта 115200, хотя драйвер позволяет выставлять максимальную скорость до 921600. В разделе «Port Settings» свойств порта есть кнопка «Advanced». Там в разделе «BM Options» параметр «Latency Timer» стоит поставить поменьше, т.е. 1мс – это увеличит скорость работы.
Если вы всерьез соберетесь использовать эту микросхему, советую ознакомиться с материалами на странице , там действительного много полезного и интересного, а многие моменты объяснены гораздо подробнее, чем в этой статье.
С TUSB3410 все будет несколько сложнее. Дело в том, что эта микросхема по своей сути – микроконтроллер с интегрированным интерфейсным модулем USB. Поэтому, как всякий микроконтроллер, ее придется еще и программировать…
Так получилось, что эта микросхема выпускается в таком же корпусе:
Функциональная оснащенность примерно та же: полный последовательный порт (выводы 13-21, только RX/TX называются SIN/SOUT), интерфейс для EEPROM (здесь это I2C), кварц, питание, Reset и четыре программируемые линии ввода/вывода общего назначения Р3.0 – Р3.4 – вот их-то у FTDI-ки точно не было… Напряжение питания микросхемы – 3.3В, что не очень удобно, поскольку при питании от USB заставляет использовать LDO-стабилизатор. Зато никаких хитрых режимов питания нет.
Ну что, как всегда, кратенько пробежимся по функциональному назначению выводов? Поехали…
С последовательным портом все вроде бы понятно, скажу лишь, что при соответствующей прошивке он может работать не только по протоколу RS-232, но и как IrDA приемопередатчик. Четыре линии ввода/вывода тоже не экзотика, производитель, в частности, предоставляет пример, где они используются для подключения нескольких кнопок, а устройство определяется ОС как HID-совместимое, что позволяет достаточно легко реализовать опрос этих самых кнопок.
DP, DM – линии Data+ и Data- USB, PUR служит для подключения подтягивающего резистора для линии Data+.
На линию VDD18 надо подать напряжение 1.8В от внешнего источника или, что проще, подать лог.0 на вывод VREGEN, включив тем самым внутренний источник на 1.8В, а на VDD18 добавить конденсатор 0.1мкФ на землю…
На RESET – обычную RC-цепочку, более чем достаточно, TEST0 и TEST1 надо подтянуть через 10кОм к питанию, а выход тактовой частоты CLKOUT мы использовать не будем.
Кварц 12МГц на ноги Х1 и Х2, выход индикатора SUSPEND – по вкусу, вход пробуждения WAKEUP можно оставить неподключенным или подтянуть через резистор к плюсу питания.
К линиям последовательного порта этой микросхемы также можно подключать непосредственно МК, опторазвязки или преобразователи уровней.
Вроде как все необходимое для минимальной конфигурации подключили, схема получилось вот такая:
Микросхема EEPROM здесь также не является обязательным элементом и лично я ее так ни разу и не использовал…
Итак, собрали мы эту схему, воткнули в комп, ОС нашла некое устройство и попросила ткнуть ее носом в драйвера для него. Вот тут-то самое интересное и начинается.
Как я уже говорил, TUSB3410 на самом деле микроконтроллер, внутри у него 8052-совместимое ядро. Соответственно, функционал нашего устройства определяется залитой прошивкой. Нам требуется пока что – преобразователь интерфейсов.
В принципе, при условии регистрации и предоставлении информации о вашем проекте производитель предоставляет и исходники, и прошивку для применения микросхемы в качестве преобразователя интерфейсов, но можно пойти и по другому пути. Эта микросхема используется в таком качестве в некоторых интерфейсных шнурках для мобильных телефонов, в GSM-модемах, в некоторых других устройствах. А драйвера для них доступны для свободной закачки. Более того, все эти драйвера содержат необходимую прошивку. Это связано с особенностями работы микросхемы.
Дело в том, что при установке драйвера прошивка для микроконтроллера копируется в /System32/drivers. Далее, при включении устройства TUSB проверяет наличие EEPROM и прошивки в ней. Если все в порядке – грузится с нее, если нет – подгружает прошивку с компа и записывает в EEPROM, если она есть. Или не записывает и просто работает. Если EEPROMа нет, при следующем включении процесс повторяется.
В общем, в результате анализа нескольких комплектов драйверов к готовым устройствам методом проб и ошибок, последовательных приближений и высоконаучного тыка был сгенерирован собственный работоспособный комплект. Во всех файлах драйверов и даже внутри прошивок стоят копирайты Texas Instruments, поэтому скажу, что все предпринятые над драйверами действия цели имели исключительно образовательные и некоммерческие, а здесь результат публикуется сугубо для ознакомления.
После подключения к ПК ОС найдет новое устройство «TUSB3410 Device» и потребует установку драйвера, надо указать на файл umpusbXP.inf. В ходе установки в системную директорию будут скопированы файлы umpusbxp.sys и umpf3410.i51 (прошивка). Далее система найдет виртуальный СОМ-порт, для него потребуется драйвер UmpComXP.inf.
В обоих *.inf-файлах помечены строки, изменив которые можно отредактировать названия определяемых системой устройств и установленные по умолчанию VID&PID, передаваемые ОС. Однако, как и в прошлый раз, я бы не стал этого делать без полного понимания того, к чему это может привести.
Для чего TUSB3410 нужна EEPROM я уже упоминал. Добавлю, что лично я с ней не экспериментировал, однако на сайте производителя доступны для скачивания утилита для генерации бинарного файла прошивки EEPROM на основе umpf3410.i51 и конфигурационного файла (содержит серийный номер устройства, VID&PID, строковые данный по аналогии с FT232BM) и утилита для непосредственной прошивки полученного файла в микросхему.
На странице, посвященной этой микросхеме при желании можно найти подробный даташит, ряд аппноутов, документы, описывающие особенности применения, ссылки на исходные коды и утилиты для работы. Настоятельно рекомендую посмотреть.
Результатом всех этих изысканий стало создание двух модулей преобразования протокола USB в RS-232, на FT232BM и TUSB3410 соответственно, которые можно рассмотреть на фотографии:
Монтаж, как видно, поверхностный, все детали на одной стороне, с изнанки – пара перемычек. Модули рассчитаны на вертикальное впаивание в плату, поэтому на них нет разъемов, а установлены PLS штырьки, которые, собственно, в плату и впаиваются. На дальней от нас стороне платы сделаны контактные площадки RX/TX (на модуле FT232BM их загораживает конденсатор), остальные сигналы последовательного интерфейса не выведены за ненадобностью: эти модули используются для сопряжения исключительно с МК.
Немножко возвращаясь к FT232BM. Ниже вы можете увидеть фото (а в конце статьи – скачать варианты разводки плат)
для двух конструкций на FT232BM с полным RS-232 портом.
В первой из них
cигналы RS-232 имеют TTL-уровень и выведены на двухрядный разъем BH-10 (по аналогии с материнскими платами), причем коммутацией входа VCCIO (вывод 13) на 5В или сторонний источник 3.3В (в данном случае применен LDO-стабилизатор, но можно, например, и параметрический использовать или регулируемый на LM317) при помощи джампера можно выбирать соответствующий уровень логической “1” на выводах порта RS-232. Эта конструкция разарабатывалась для отладки устройств, имеющих напряжение питания 3.3В
Еще один вариант модуля с полным RS-232 портом содержит в своем составе микросхему MAX213 – преобразователь уровней –
и, таким образом, по уровню напряжений обеспечивает совместимость с последовательными портами ПК.
Схема модуля представлена на рисунке:
А готовое устройство выглядит так:
Теперь о PL-2303: микросхема выпускается в 28-выводном SSOP корпусе с шагом выводов 0.65мм:
Микросхема во многом похожа на FT232, но есть и некоторые черты TUSB3410. Для работы требуется кварцевый резонатор на 12 МГц (выводы 27-28), уровень логической единицы последовательного порта определяется напряжением на входе VDD_232 (4), выводы 1-3, 5, 6 и 9-11 – полный последовательный порт. По аналогии с TUSB3410 микросхема имеет пару выводов (13-14) для подключения EEPROM через I2C (память также служит для хранения идентификаторов устройства). Вход 23 определяет режим токовой нагрузки USB-порта (“1” – 500мА, “0” – 100мА), вход TRI-STATE определяет состояние выходов последовательного порта при инициализации микросхемы: “1” – высокий уровень, “0” – высокоимпедансное состояние. Отдельные входы питания для логики (8, 20) и PLL (24) в общем случае могут быть присоединены к шине питания USB, однако желательно в непосредственной близости от них установить керамические конденсаторы на землю. PL-2303 имеет встроенные источник напряжения 3.3В для питания USB-трансивера (вывод 17), который используется также для установки подтягивающего резистора к линии Data+. Как обычно, за более полным, точным и правильным описанием стоит обратиться на сайт производителя. Схема модуля, разработанного на основе этой микросхемы, представлена на рисунке:
Фотографии готового устройства:
Как видно, этот модуль также содержит в своем сотаве микросхему MAX213 (SP213), поэтому обеспечивает поддержку полнофункционального
порта RS-232, совместимого по уровням с портами ПК.
Для полноценой работы этого устройства под управлением ОС семейства Windows понадобятся драйверы, доступные для скачивания
на сайте производителя. Поскольку на этих чипах
делается достаточно много интерфейсных шнурков для подключения мобильных телефонов к ПК, вполне вероятно, что подойдут
драйвера и от них.
Вопросы, как обычно, складываем тут.
Файлы:
Модуль FT232BM (формат SL5)
Модуль FT232BM + EEPROM (формат SL5)
Модуль FT232BM + EEPROM с 3.3В интерфейсом и полным портом RS-232 (SL5)
Модуль FT232BM + EEPROM с полным RS-232 и MAX213 (плата SL5 и схема SPlan)
Модуль TUSB3410 (формат SL5)
Драйвер TUSB3410 (WinXP)
Схема и плата для PL-2303 (SL5)
Как вам эта статья? | Заработало ли это устройство у вас? |
www.radiokot.ru
РадиоКот :: Гальваническая развязки COM порта
Во многих типах оборудования в настоящее время продолжает использоваться универсальный асинхронный приёмопередатчик. Это и многие универсальные программаторы, и винчестеры, ADSL модемы,роутеры, офисные АТС. UART часто встраивают в микроконтроллеры. UART существует много разновидностей. Одна из реализаций-интерфейс RS-232 логические уровни которого часто равны +12 В для логического нуля и -12 В для логической единицы. Для подключения этих устройств к компьютеру используется COM порт с интерфейсом RS-232. Аппаратная часть COM порта не обладает необходимым уровнем защиты от электростатических зарядов, а если учитывать что на практике часто приходиться коммутировать различные устройства к этому порту, то возможны сбои в работе компьютера и подключаемого оборудования, а то и полное выгорание портов. Как правило, это происходит из-за незаземленного оборудования и статического электричества. Обезопасить пользователя от таких проблем поможет предлагаемое устройство. Оно предназначено для гальванической развязки линий СОМ порта и выдерживает напряжение не менее 1 кВ. К сожалению, из-за простоты схмы используется только 2 линии TXD и RXD, поэтому использовать самодельные программаторы с полным набором линий порта не представляется возможным.
Устройство состоит из двух независимых преобразователей RS-232 в TTL уровни и наоборот. Между этими преобразователями установлены высокоскоростные оптопары с триггером шмидта и выходом с ОК. Устройство гарантированно работает со скоростями 115200 бод. Питание устройство берет с разъема USB, потребляя не более 70 ма. Для развязки питания можно применить 2 типа DC-DC преобразователей 5 вольт в 5вольт. Для них на печатной плате предусмотрены посадочные места. Для устройства разработана односторонняя печатная плата.
На одной стороне устанавливаются микросхемы в DIP корпусах, на другой SMD резисторы и конденсаторы. Разъем для подключения к компьютеру использовается в исполнении для монтажа на кабель и впаивается на печатную плату таким образом, чтобы она находилась между рядами выводов разъема. Металлический ободок разъема припаивается также к печатной плате. Для индикации работоспособности источника питания используется светодиод. Ориентировочная стоимость сборки данного устройства составляет менее 10 $, что гораздо дешевле стоимости ремонта и замены вышедшей из строя материнской платы компьютера или другого оборудования.
Файлы:
схема и печатная плата
Все вопросы в Форум.
www.radiokot.ru
Опто-связанная приемная схема RS-232 – СпросиСеть
Независимо от соображений скорости, схема не будет работать для RS422. Уровни входного сигнала RS422 могут составлять всего +/- 200 мВ, и это даже не будет щекотать оптопару.
Для RS232 минимально допустимый диапазон входного напряжения составляет +/- 3 В. При напряжении 3 В, при условии, что оптопара Vf равна 1,2 В, ток диода будет равен 120 мкА. Это далеко за пределами любых разумных экстраполяций таблицы данных, но такие низкие текущие уровни почти наверняка вызовут очень медленную работу. Это представляет собой наихудший случай при -55 С. При более высоких температурах Vf уменьшается и входной ток повышается, но типичная кривая 25C дает Vf 1 вольт, с током 200 мкА, что не является игрой. улучшение
При этих низких токах CTR очень низок, в диапазоне 10% наихудшего случая, хотя, как я уже сказал, это экстраполяция вне графика.
Если вы хотите попытаться заставить эту вещь работать, первое, что нужно сделать, это избавиться от R2 и заменить D1 простым сигнальным диодом, таким как 1N4148. Прямое падение фотодиода зажимает входное напряжение к намного более низкому напряжению, чем уровень стабилитрона. Даже 25-вольтный вход будет потреблять только 5 мА, что составляет менее 1/10 от того, что оптопара может успешно выдержать, и около 0,5% от предела 1 мксек импульса. В результате вы получите входной ток в худшем случае примерно до 360 мкА, и он все равно не достигнет желаемой скорости. Обратите внимание, что временная кривая в ответе Spehro работает при 10 мА, поэтому все, что вы делаете с уровнями, в которых будет работать ваша схема, будет намного медленнее.
Я предлагаю вам взглянуть на конфигурацию Cascode. Учитывая отсутствие спецификаций транзистора в техническом паспорте, я даже не могу попытаться предложить значения схемы или предполагаемое время отклика.
ARFСпасибо за объяснение. Я посмотрел в конфигурации Cascode, однако, я не совсем понимаю, как это поможет. Предполагая, что входной сигнал с неизвестным, возможно, «большим» смещением постоянного тока, например, между 12 В и 15 В (или также от -12 В до -15 В), и целевой выходной сигнал между 0 В и 5 В, я не вижу, как реализовать конфигурацию каскадного кода. это будет работать без знания смещения постоянного тока во время разработки.
WhatRoughBeast
RS232 не заботится о смещении – он заботится только о пересечении нуля. Я подозреваю, что смещение, о котором вы говорите, является синфазным напряжением, и оно учитывается (то есть игнорируется) входной изоляцией оптопары. Если смещение действительно присутствует в сигнале относительно оптрона v2, у вас патологическая ситуация и что-то действительно не так. В этом патологическом случае вы бы хотели поставить конденсатор на вход и отфильтровать постоянный ток.
ARF
Хорошо, я был действительно смущен. Я не понял, что оптопара все еще была на картинке. Вы думали о чем-то вроде схемы в моем отредактированном вопросе? Я до сих пор не понимаю, как это могло бы помочь мне в принципе (игнорируя цифры на данный момент …).
WhatRoughBeast
Глядя на отредактированную схему, это не сработает. В этой конфигурации ток коллектора по существу равен току эмиттера, в этом случае менее 1 мА. Таким образом, изменение выходного напряжения будет меньше, чем 0,5 вольт.
askentire.net
6 в 1, конвертер USB
Очередной мой скучный обзор о какой-то непонятной приблуде, ну ладно хоть не за сто баксов
Я уже публиковал обзор на подобное устройство, тоже на CP2102, отметив, что из всех чипов конвертеров из USB в COM мне симпатизирует те, что построены на чипах от Silabs.
Этот — не исключение.
Не знаю, есть ли люди, которые не знают, для чего нужен такой конвертер, но думаю стоит очень коротко рассказать. Давайте тезисно.
— Куча промышленной аппаратуры использует последовательный порт с электрическими уровнями RS-485 для общения и обмена информацией с внешнем миром.
— Куча старой промышленной аппаратуры использует последовательный порт с электрическими уровнями RS-232 для общения и обмена информацией с внешнем миром.
— Много бытовой аппаратуры а также большинство DIY поделий использует последовательный порт с уровнями TTL.
— Большинство современных компьютеров не имеют на борту последовательного порта ни с какими уровнями, но имеют большое количество USB портов.
С последовательным портом вроде все ясно. Байты информации передаются манипуляцией уровнем одного электрического сигнала. Вся фишка в том, что он один в одну сторону, и еще один в обратную (а если нужна передача данных только в одну сторону — то вообще всего один.
Для разборок где там нолики, а где единички — используется временнОе кодирование, в нужное время после начала смотрим на линию — если в одном состоянии — то пришла единичка, если в другом — нолик. Не зря написал расплывчато «в одном состоянии» — просто в разных вариациях этого последовательного порта состояния «1» и «0» передаются разными уровнями.
В оригинальном 232 порте это были уровни -15… -3 вольта для лог «1», и +3 ..+15 вольт для лог. 0
В ТТЛ последовательном порте 2.5… 3.3 вольта для лог «1» и 0… 0.5 вольта для передачи нолика.
В промышленном оборудовании с RS485 используют два провода A и B и смотрят на знак разности напряжений на них. Если он такой — то единичка, если противоположный то нолик.
Ну думаю достато
mysku.me
Еще один развязанный USB-RS485 адаптер / Блог им. XOR / Сообщество EasyElectronics.ru
Здравствуйте. Сегодня решил поделиться с сообществом небольшой самоделкой. Это гальванически развязанный преобразователь USB-RS485 на FT232 и среднескоростных оптопарах. Особенностью будет то, что при создании девайса я допустил несколько оплошностей и я о них расскажу.Для отладки группы устройств, работающих по RS485, мне потребовался адаптер. Требования:
— Развязка с компом. Некоторые устройства контактируют с сетью ~230в плюс несколько иип
— Возможность запилить на коленках с помощью лута, фоторезиста и какой-то матери
— Крайне желательно не разориться на компонентах.
Строить необходимо было из того, что было в наличии и быстро, поэтому родилось такое решение:
Локомотив всей движухи — FT232RL, т.к. имеет выход TXEN, которым удобно управлять сигналом прием/передача. Кроме того, она была у меня в наличии. Драйвер RS485 — MAX485, были в наличии, подойдет любой аналог. Развязка:
— dc dc B0505S-1W для развязанного питания вторичной части
— Оптопары h21L1 для, непосредственно, развязывания сигналов. Тащат до 1 мбит (NRZ режим). Выход цифровой
Первые грабли, на которые я наступил, это FT232 с алиэкспресса, 10шт, передул 4шт и ни одна из них не завелась. «Устройство не опознано». Парочку расколол, вроде бы кристалл есть. Ладно, отпаял гарантированно рабочую из старого забытого устройства. Вторые грабли заключались в том, что я в спешке невнимательно смотрел дш и не увидел двух моментов, которые описаны в единственном месте — маленькой схеме тестирования скорости с диаграммой работы. Тригер Шмидта в оптопаре является инвертирующим и выход триггера — открытый коллектор. Я не предусмотрел подтяжки и инверсию сигналов. Инверсию UART я решил с помощью конфигурационной утилиты от FTDI, сигнал направления передачи инвертировал перекинув порт с анода оптопары на катод и подключив анод к VCC. Третий косяк скорее косметический, светодиоды индикации приема и передачи на пинах RX TX. Надо было подключить их к CBUS. Тока через светодиод TX, резистор и диод оптопары хватало для устойчивого срабатывания оптопары. Рисунок иллюстрирует проблему:
Плата обзавелась соплями и стала менее красивой но я не состою в редакции «Радио» и «правильно собранное устройство в настройке не нуждается» это не всегда про меня. Плата и схема в приложении не избавлены от этих недостатков. Если я в ближайшее время переделаю их то доложу исправленные варианты.
Как видно из фото, добавлены резисторы подтяжек, сопля из мгтф и немного покурочена нога одной оптопары. Надеюсь, мой опыт будет полезен.
Немного экономики:
— FT232, сейчас 300р (куплена давно, до кризисов)
— оптопара h21L1 3шт., 30р/шт.
— MAX485 40р/шт.
— DCDC 100р
остальная рассыпуха была в наличии.
Сначала я хотел использовать ADUM1301 но он заметно дороже трех оптопар и его не было в наличии поблизости.
Схема, в которой я исправил все (надеюсь) косяки
Впервые использовал оптопары для развязки цифровых сигналов, в следующий раз буду внимательнее.
Update.
Учел пожелания товарищей, исправил все. Плата:
Изоляция оптопары по дш — 7.5кВ/1мин, DC-DC 1кВ.
we.easyelectronics.ru
Конвертер USB-rs232 ttl, хороший товар за небольшие деньги.
Собственно применение.
Для этого была собрана маленькая переходная платка, на которую установил микросхему опторазвязки интерфейса, так как скорость маленькая, то купил самую дешевую ADUM1201A.www.analog.com/static/imported-files/data_sheets/ADuM1200_1201.pdf
Да, можно было конечно попробовать сделать опторазвязку на оптронах, но при цене микросхемы чуть больше доллара как то совсем не хотелось, возможно я просто обленился.
Данная микросхема позволяет сделать гальваническую изоляцию интерфейса на скорости до 10 Мбит (есть и более скоростные версии, отличаются буквой)
Плата «одета» в мягкую прозрачную термоусадку, но так как для моего применения она мне немного мешала, что я решил это самое немного укоротить.
Разъем, который был установлен на плате мне тоже особо не нужен был, так как я считаю довольно неудобным такой тип подключения, когда плата включается непосредственно в USB, хотя кому как. Разъем выпаивался довольно легко, даже не пришлось включать фен, обошелся обычным паяльником так как крепежные лепестки разьема не были припаяны, тем кто будет пользоваться платкой с этим разьемом, я бы рекомендовал их припаять.
Попутно я выпаял и выходной разъем, на него выведены — Земля, Прием, Передача, Выход 5 Вольт, Выход 3.3 Вольта.
Все контакты подписаны на самой плате и соответствую надписям.
Сам разъем мне нужен был, но немного не в том виде, что идет с платой, пришлось его выгнуть.
Заодно я укоротил плату, так как в полном варианте она у меня не хотела влазить, да и на отрезанном кусочке нет ничего. Вот такой допилинг, хотя скорее уже отпилинг. 🙂
Вид с другого ракурса, наверное все уже догадались, зачем я проделывал такие манипуляции с разъемом.
Припаял кабель к задней панели, посчитал что лучше это сделать до сборки двух плат в один конструктив. Кабель применил самый простой, 4х0.22 в экране, хотя на таком расстоянии наверное даже через веревку работало бы.
С обратной стороны припаял USB разъем, закрепил кабель стяжками и приготовил пару крепежных «ушек» из обрезков фольгированного текстолита (даже вспомнил молодость, когда делал небольшие корпуса из стеклотекстолита спаивая вырезанные пластинки между собой).
Припаял пластинки к разъему, самое сложное было что бы припаялось ровно, иначе при привинчивании их может отломать.
Прорезал отверстие в корпусе БП, просверлил отверстия в крепежных ушках и нарезал в них резьбу М3 (кто не знает, в стеклотекстолите получается довольно хорошая резьба, не надо даже никаких гаек).
Установил всю эту конструкцию на штатное место, стало так, как будто там всегда и было.
На фото видно что плата при полной своей длине не влезла бы. Впрочем я даже не мерял, это и так было видно с самого начала.
Немного ближе.
Внимательные читатели заметят небольшую платку, и супрессор, которых не было на фотографиях в обзоре. Это последствия моих экспериментов с МАХ232. При подключении МАХ-а я перепутал 1 и 2 ногу микросхемы с 15 и 16, перегрузил ШИМ стабилизатор питания логики и ОУ и он с красивым фейерверком выпустил волшебный дым.
За секунду выгорел сам ШИМ, прогорев насквозь, 3 операционных усилителя и индикатор. Процессор остался жив. Благодаря этому (не было бы счастья, да несчастье помогло) я переделал стабилизатор питания, заменив его на более лучшую LM5007 (диапазон входного до 75 Вольт, ток выхода до 500мА), и разобрался с принципом калибровки данной платы (этой информации в интернете я вообще не встречал). Информация по калибровке добавлена в обзор БП.
Родной ШИМ не имел защиты от перегрузки (КЗ не было), что очень печально.
Из-за моего небольшого просчета пришлось разъем на задней панели поставить «вверх ногами», в буквальном смысле.
Все это конечно хорошо, но хотелось бы проверить что я вообще напаял. Подключил к компьютеру и начал пробовать. Но сразу получил большой всемирный облом. ПО работало, но так как ПО от версии 6010, то я получил управление со сдвигом на 1 знак. Плата 6010 имеет минимальную дискрету установки тока 10мА, плата 6005 1мА, соответственно я устанавливал 1 Ампер, а получал 100мА.
Естественно данное положение вещей меня ну никак не могло устроить и я полез в инет.
У какого то китайского электронщика (или продвинутого продавца) я обнаружил ПО для версии 6005. Удалил старое, установил новое и наконец то получил то, что я хотел получить с самого начала. Нормальное управление платой.
На этом пришел этап логического завершения эпопеи с лабораторным блоком питания, включающий в себя три (хотя формально четыре) обзора.
Что я получил в итоге —
Обзор Платы преобразователя — mysku.ru/blog/aliexpress/24986.html
Обзор Валкодера (энкодера) — mysku.ru/blog/aliexpress/25462.html
Обзор плат DC-DC — mysku.ru/blog/aliexpress/24145.html (рекомендовал бы поискать более качественные).
Для тех у кого данная плата уже есть в наличии и для тех, кто только собирается ее купить выкладываю ПО для всех версий плат, документацию по этим платам и документацию по протоколу общения с платой (правда только для 6005).
Версии 6005 и 6010 гарантированно работают и проверены, версию 6020 проверить не получилось, предполагаю что должна работать.
6005S yadi.sk/d/Sw0nyQJPVis2A
6010S yadi.sk/d/5qy0G2V7Vis93
6020S yadi.sk/d/tZ870FYCVis9R
mysku.ru