Каталог товаров

Преобразователь UART в RS-485 на MAX485, модуль HW-97

Цена:

100 р.
Уже в корзине
Код товара: 10249
Оригинальное название:
UART TTL to RS-485 MAX485 Converter Module

Описание товара

Модуль преобразователя интерфейсов UART TTL в RS-485, собранный на микросхеме конвертера физических уровней MAX485, специализируется в области построения локальных сетей с двухсторонним обменом данных на достаточно дальние расстояния. Интерфейс RS-485 наиболее актуален в промышленном производстве, в котором расположенное на крупных площадях оборудование может находится друг от друга на значительно удалённых дистанциях. Компактные размеры платы располагают к интеграции модуля UART-RS485 в разнообразные устройства, начиная с самых малых конструкций. Модуль преобразователя RS-485 может эксплуатироваться совместно с вычислительными платформами, включая Ардуино, Teensy, PyCom, ESP, STM, Raspberry Pi и другие, а также любым другим устройством управления, оборудованным встроенной или внешней шиной асинхронной последовательной связи UART.

Технические характеристики

  • Модель: HW-97
  • Питание: 3.3 - 5 В
  • Приёмопередатчик: MAX485CSA
  • Количество передатчиков: 1
  • Количество приёмников: 1
  • Нагрузочная способность: до 32 узлов в одном сегменте
  • Режим работы: полудуплексный
  • Режим передачи: дифференциальный сигнал (балансный)
  • Чувствительность приёмника: 200 мВ
  • Сопротивление входа приёмника: 12 кОм
  • Диапазон напряжений передатчика: +1.3 В ... +5 В
  • Скорость передачи данных: макс. 2.5 Мбит/сек
  • Интегрированный согласующий резистор (терминатор): 120 Ом
  • Светодиодная индикация наличия питания
  • Выводы RS-485: винтовые клеммы-терминал
  • Температура эксплуатации: 0°С...+70°С
  • Размеры: 44 х 14 х 15 мм

Интерфейс RS-485, физический уровень передачи данных

Интерфейсу RS-485 не требуются отдельные импульсы синхронизации передаваемых данных. В RS-485 заложен принцип дифференциальной передачи бинарной информации от одного устройства к другим. Двунаправленная трансляция сигнала между устройствами с интерфейсом RS-485 осуществляется по двум скрученным проводам. Третий "общий" провод нередко используется для улучшения качества связи и стабилизации работы интерфейса, уравнивающий потенциал заземления подключенных к шине RS-485 устройств, однако не является обязательным. Оптимальным кабелем для соединения узлов на практике считается витая пара со средним волновым сопротивлением 100-120 Ом. Уровень напряжения в линиях А и В может варьироваться от -7В до +12В (зависит от модели приёмопередатчика и его рабочего напряжения). Приёмники устройств на шине RS-485 чувствительны к разнице потенциалов между линиями А и В. При приёме логической единицы, разность потенциалов на входе положительна (А больше В минимум на 200 мВ), при приёме логического нуля, разность на линиях отрицательна (А меньше В минимум на 200 мВ). Значение разницы между потенциалами А и В меньше 200 мВ подразумевает отсутствие сигнала. Интерфейс RS-485 ограничен одним условием — передача сигнала для всех активных приёмников осуществляется единственным передатчиком.

Возведение сложных сетей в рамках RS-485, включающих ответвления сегментов или размещение узлов на значительно больших расстояниях, обязывает добавление специальных усилителей сигнала и повторителей (репитеров). При высокой скорости передачи между узлами, на длинных участках линии возможно возникновение искажения сигнала, связанное с эффектом его обратного отражения. Для погашения колебания сигнала, на концах каждого длинного участка сетей RS-485 устанавливаются так называемые терминаторы — согласующие резисторы с номиналом, равным волновому сопротивлению соединительного кабеля.

Назначение контактов

  • "VCC" —  Питание модуля, 3.3 - 5В.
  • "А" — Неинвертируемый вход RS-485 приёмника, неинвертируемый выход RS-485 передатчика.
  • "В" — Инвертируемый вход RS-485 приёмника, инвертируемый выход RS-485 передатчика.
  • "GND" — Общий, 0В.
  • "RO" — Выход приёмника (к контакту RX UART).
  • "RE" — Управление выходом UART приёмника. Активен при низкоуровневом сигнале.
  • "DE" — Управление входом UART передатчика. Активен при высоком уровне сигнале.
  • "DI" — Вход передатчика (к контакту TX UART).

Контакты управления RE и DE приёмопередатчика MAX485 предоставляют управляющему устройству (контроллеру) возможность принимать или передавать данные в независимых сеансах связи. Отталкиваясь от требований рекомендованного стандарта RS-485 к методу обмена информацией в режиме полудуплекса, и принимая во внимание необходимый уровень логических импульсов для включения или отключения приёмника и передатчика, раздельное использование контактов управления в большинстве случаев нецелесообразно. Оба контакта вполне можно объединить в один и управлять процессом приёма/передачи данных с помощью одного цифрового порта контроллера.

Подключение двух контроллеров Ардуино с помощью модуля RS-485/HW-97

Подключение двух контроллеров Ардуино с помощью модуля RS-485/HW-97  

В приведённом примере подключения между двумя контроллерами Ардуино, плата DUE играет роль ведущего устройства и передаёт данные из главного последовательного порта UART в порт с RS-485, а плата UNO выполняет роль ведомого устройства и принимает транслируемые данные, также выводя их в основной последовательный порт UART. В схеме с 3.3-вольтовым источником питания модуля HW-97/RS-485, измерянный простым бытовым мультиметром уровень логической нуля выводов А(+) и В(-) находится в пределах -1.3...-1.4В, напряжение логической единицы выводов А(+) и В(-) составляет +1.3...+1.4В. В условиях с 5-вольтовым питанием, напряжение повышается до +2.5В / -2.5В.

Скетч для Arduino DUE

// Пример связи между двумя Ардуино по RS-485
// Скетч для Arduino DUE в режиме ведущего (Master)

// Контакт управления приёмопередатчиком MAX485
int enablePin = 3;

// Подготовка
void setup()
{
 // Устанавливаем MAX485 в режим передачи
 pinMode(enablePin, OUTPUT);
 digitalWrite(enablePin, HIGH);

 // Инициализируем два последовательных интерфейса
 // Serial для ввода транслируемой информации
 // Serial3 для передачи данных по RS-485
 Serial.begin(9600);
 Serial3.begin(9600);
}

// Основной цикл
void loop() 
{
  // Если в последовательном порте Serial есть данные к отправке,
  // то передаем их в последовательный порт Serial3
  if (Serial.available())
    Serial3.write(Serial.read());
}

Скетч для Arduino UNO

// Пример связи между двумя Ардуино по RS-485
// Скетч для Arduino UNO в режиме ведомого (Slave)

// Добавляем библиотеку SoftwareSerial
#include "SoftwareSerial.h"

// Контакт управления приёмопередатчиком MAX485
int enablePin = 3;

SoftwareSerial rs485Serial(5,2) // RX, TX

// Подготовка
void setup()
{
 // Устанавливаем MAX485 в режим приема
 pinMode(enablePin, OUTPUT);
 digitalWrite(enablePin, LOW);

 // Инициализируем два последовательных интерфейса
 // Serial для вывода транслируемой информации
 // rs485Serial для приема данных по RS-485
 Serial.begin(9600);
 rs485Serial.begin(9600);
}

// Основной цикл
void loop() 
{
  // Если в последовательный порт rs485Serial поступили данные,
  // то выводим их в последовательный порт Serial
  if (rs485Serial.available())
    Serial.write(rs485Serial.read());
}

Электрическая принципиальная схема модуля HW-97/RS-485

Электрическая принципиальная схема модуля HW-97/RS-485  

 

Документация

  1. Преобразователь интерфейсов MAX485CSA (англ., PDF)

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

  1. Файлы примеров с исходным кодом для Ардуино (zip-архив)
Информация представленная на данном информационном ресурсе преследует исключительно рекламные цели и не является договором-офертой !
© Все права защищены 2021г https://compacttool.ru
Связаться с нами 8-495-752-55-22 zakaz@compacttool.ru