Цена:
Модуль преобразователя интерфейсов UART TTL в RS-485, собранный на микросхеме конвертера физических уровней MAX485, специализируется в области построения локальных сетей с двухсторонним обменом данных на достаточно дальние расстояния. Интерфейс RS-485 наиболее актуален в промышленном производстве, в котором расположенное на крупных площадях оборудование может находится друг от друга на значительно удалённых дистанциях. Компактные размеры платы располагают к удобству интеграции модуля UART-RS485 в разнообразные устройства, начиная с самых малых конструкций. Модуль преобразователя RS-485 может эксплуатироваться совместно с вычислительными платформами, включая Ардуино, Teensy, PyCom, ESP, STM, Raspberry Pi и другие, а также любым другим устройством управления, оборудованным встроенной или внешней шиной асинхронной последовательной связи UART.
Технические характеристики
Интерфейс 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 устанавливаются так называемые терминаторы — согласующие резисторы с номиналом, равным волновому сопротивлению соединительного кабеля.
Назначение контактов
Контакты управления RE и DE приёмопередатчика MAX485 предоставляют управляющему устройству (контроллеру) возможность принимать или передавать данные в независимых сеансах связи. Отталкиваясь от требований рекомендованного стандарта RS-485 к методу обмена информацией в режиме полудуплекса, и принимая во внимание необходимый уровень логических импульсов для включения или отключения приёмника и передатчика, раздельное использование контактов управления в большинстве случаев нецелесообразно. Оба контакта вполне можно объединить в один и управлять процессом приёма/передачи данных с помощью одного цифрового порта контроллера.
Подключение двух контроллеров Ардуино с помощью модуля 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
Документация
Полезные ссылки
г. Москва, Пятницкое ш. д. 18, пав. 566
zakaz@compacttool.ru
8-495-752-55-22
Информация представленная на данном информационном ресурсе преследует исключительно рекламные цели и не является договором-офертой !
© Все права защищены 2015 - 2024г https://compacttool.ru