Схема модуля RS485 XY-017

В предыдущей статье я подробно рассмотрел работу с модулем RS485 интерфейса XY-017 — недорогой версии брата-близнеца XY-485. На ней не распаяны разъемы, хуже маркировка, но все-же платы очень похожи друг на друга по компонентам и размещению элементов. Разводка немного отличается, но незначительно.

Схема платы XY-017

Плата XY-017 реализующая RS-485 интерфейс

Я сделал reverse engineering платы XY-017, но слегка изменил защиту от статического электричества (ESD), поставив вместо трех достаточно габаритных TVS диодов специализированную сборку SM712. Выдержка из datasheet SM712: «The SM712 TVS Diode Array is designed to protect RS-485 applications with asymmetrical working voltages (-7V to 12V) from damage due to electrostatic discharge (ESD), electrical fast transients (EFT), and lightning induced surges.»

Вот пример защиты входа RS485 чипа от статического электричества из статьи:

Пример защиты RS485 чипа.
Спецификация элементов защиты для RS485 чипа:
SM712 (package SOT-23), PTC: SMD1812P050TF (package SMD1812), GDT: 3R090-5S (three-pole diameter 5mm)

Кроме того чип MAX485 заменен на MAX3485 с питанием 3.3 V для микроконтроллеров ESP8266/ESP32. Он совместим с 5V TTL логикой. Схема в EasyEDA.

Схема модулей RS485 интерфейса XY-017 (XY-485)

Наиболее интересный момент на схеме — это управление работой RS485 чипа в части переключения в режим прием и передачи: резистор параллельно с диодом и емкость. Укрупненно этот элемент схемы взят из обсуждения, но в нём использован не просто инвертер, как в XY-017, а инвертирующий триггер Шмитта.

DI (driver input) — цифровой вход передатчика;
RO (receiver output) — цифровой выход приемника;
DE (driver enable) — разрешение работы передатчика;
RE (receiver enable) — разрешение работы приемника;

При передаче информации на входе DE ( ‘Driver Enable’ ) должен быть выставлен высокий уровень. Чтобы принимать данные, уровень должен быть низкий.

На входе RE (‘Receiver Enable’) для перевода чипа RS485 в режим получения данных должен быть установлен низкий уровень.

Когда на входе TX нет передачи данных (idle), то от подтягивающего резистора на нем высокий уровень. Через RC цепочку емкость C1 относительно медленно заряжается до некоторого уровня срабатывания инвертора. На закороченных пинах RE-DE выставляется низкий уровень при котором MAX485 переходит в режим приема данных.

Когда на входе TX начинает поступать информация, то 0-й стартовый бит и последующие 0-е биты быстро разряжают C1 через диод D1 и на входах RE-DE появляется высокий уровень после инвертора. MAX485 переходит в режим передачи данных. При появлении 1 в передаваемой информации емкость начинает опять заряжаться через R1, но достаточно медленно. Причем любой приходящий 0 будет снова быстро разряжать емкость.

RC цепочка должна быть рассчитана таким образом, чтобы за время передачи одного байта информации емкость не могла зарядится до уровня срабатывания инвертора, даже если передается последовательность из всех 1. Каждый UART байт всегда начинается со стартового бита (0), который переведет MAX485 в режим передачи на время трансляции данных. По моим замерам мультиметром UT61E емкость C1 = 33 pF. Это неточно, уж очень небольшая емкость.

В интернет я находил похожую схему но на другом 5-вольтовом чипе SN65176BDR от TI.

Схема аналогичная XY-017 (RS-485) на SN65176BDR

Полезные ссылки

Spread the love
Запись опубликована в рубрике IT рецепты, Размышления о бизнесе с метками . Добавьте в закладки постоянную ссылку.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *