MAX485 TTL-RS485 Module

Analog Devices / Maxim (микросхема; изготовитель платы не указан) · MAX485, 5 В, ручное управление DE и /RE

Полудуплексное преобразование UART в дифференциальную линию RS-485.

Автор: SLDV LAB

Опубликовано · Обновлено

СложностьСредне
Проекты с компонентом

О МОДУЛЕ

Что делает MAX485, 5 В, ручное управление DE и /RE

Модуль содержит линейный трансивер MAX485 и выводит сигналы UART и пару A/B. Надпись TTL-RS485 описывает преобразование электрических уровней: микросхема не формирует Modbus, адреса устройств или пакеты. Этим занимается программа контроллера.

У классической платы направление задаётся DE и /RE. Здесь выбран вариант без автоматического переключения. Штатное питание MAX485 — 5 В; свойства MAX3485 на 3,3 В ему не приписываются. RO нельзя напрямую подключать к GPIO ESP32. Изоляция и защита от импульсов в этой карточке не заявлены.

На линии нужны витая пара, учёт общего потенциала и терминация только на двух физических концах, обычно 120 Ом. Проверьте уже установленные резисторы, чтобы не добавлять лишние. Согласование покоя рассчитывают для всей сети; открытый вход приёмника не гарантирует определённое состояние любой нагруженной шины. Обозначения A/B у производителей оборудования бывают различными: сверяйте полярность по документации обоих узлов. Клеммы модуля не заменяют гальваническую развязку.

Пример модуля MAX485 с ручными DE и /RE из каталога The Engineer Store. Фото вырезано из исходного фона без изменения платы и пропорций; изготовитель носителя не установлен. Разрешение на повторное использование фото не подтверждено.

Источник изображения: www.theengineerstore.in, исходный файл. Условия повторного использования не установлены; открытая лицензия не заявляется. Фон отделён, выполнено равномерное масштабирование; реальные детали платы не перерисованы.

MAX485, 5 В: аппаратный Serial1 Mega 2560 и общее управление DE+/RE. Авторская схема SLDV LAB по именам сигналов; порядок гребёнок не заявляется универсальным.

Характеристики

Режим
Полудуплекс
Управление
DE и /RE
Протокол верхнего уровня
Задаётся программой; Modbus не встроен
Интерфейс
UART
Питание модуля
Модуль MAX485 в примере питается от 5 В; RO — выход логики 5 В, для ESP32 нужен согласователь или трансивер 3,3 В.

ПРАКТИКА

Подключение

Контакт модуляКонтакт платыНазначение
VCC5VArduino Mega 2560 Rev3; плата MAX485 на 5 В.
GNDGNDДля лабораторного стенда общая земля с обоими узлами.
DID18 / TX1Аппаратный Serial1 Mega; не USB Serial.
ROD19 / RX1Mega использует 5-вольтовую логику.
DE и /RED2Соединить оба входа: HIGH передача, LOW приём.
A / BA / B второго RS-485-узлаЛабораторная двухузловая линия; полярность и оконечные резисторы проверить по схемам.

Подходит для Arduino. Выберите контакты по документации своей платы.

ВАШ ПРОЕКТ · ВАШ ДАТЧИК

Интегрируйте модуль с ChatGPT

Скопируйте запрос в ChatGPT. Укажите свою плату и среду разработки — получите подключение и код для своего проекта.

Помоги интегрировать MAX485 с DE и /RE. Сначала уточни точную плату модуля, контроллер, среду, питание и задачу. Проверь схему, логические уровни и маркировку контактов; затем дай согласованные подключение, зависимости и полный минимальный пример с обработкой ошибок. Объясни безопасную первичную проверку и ожидаемый результат. Проверь направление DE, момент окончания UART-передачи, терминацию и необходимость изоляции; не отправляй произвольный тест в действующую сеть.

Библиотеки

Установите библиотеку для своей среды и откройте пример из её документации.

Что именно прописать

Плата и ядро
Arduino Mega 2560 Rev3; Arduino AVR Boards 1.8.6

Используется отдельный Serial1: TX1=D18, RX1=D19.

UART
Serial1.begin(9600, SERIAL_8N1)

Второй узел должен использовать тот же формат и отвечать после завершения передачи.

Направление
D2 → DE и /RE

Serial1.flush() ожидает окончания исходящих данных до переключения в приём.

Arduino: полный пример запроса на отдельном RS-485-стенде

cpp
const uint8_t DIR = 2;
void setup() {
  digitalWrite(DIR, LOW);
  pinMode(DIR, OUTPUT);
  Serial.begin(115200);
  Serial1.begin(9600, SERIAL_8N1);
}
void loop() {
  while (Serial1.available()) Serial1.read();
  digitalWrite(DIR, HIGH);
  delayMicroseconds(10);
  Serial1.print("HELLO\n");
  Serial1.flush();
  digitalWrite(DIR, LOW);
  const uint32_t started = millis();
  bool received = false;
  while (millis() - started < 500) {
    while (Serial1.available()) {
      Serial.write(Serial1.read());
      received = true;
    }
  }
  if (!received) Serial.println("No response within 500 ms");
  delay(1500);
}

Полный скетч для Mega 2560 Rev3, API Arduino AVR Boards 1.8.6. Нужен второй лабораторный узел, который отвечает на HELLO. Это не Modbus и не пример для подключения к действующей промышленной сети. Не компилировалось и не испытывалось на оборудовании.

Проекты с этим компонентом

Все проекты

Связанные проекты пока не опубликованы.

Связанные материалы и компоненты