Коротко про модуль MAX485
Модуль MAX485 перетворює сигнали UART із TTL-рівнями на двопровідний диференційний інтерфейс RS485 і назад. Він розрахований на живлення 5 В, працює в напівдуплексному режимі та потребує керування напрямком через входи DE і RE.
Ключові характеристики
- Функція
- UART TTL ↔ RS485
- Мікросхема
- MAX485
- Живлення
- 5 В; робочий діапазон MAX485 — 4,75–5,25 В[1]
- Логічні рівні
- 5 В; для контролера з логікою 3,3 В потрібна перевірка допустимих рівнів і, за потреби, їх узгодження
- Режим шини
- двопровідний, напівдуплексний[1]
- Гранична швидкість
- до 2,5 Мбіт/с для трансивера MAX485; практична швидкість залежить від довжини та параметрів лінії[1]
- Навантаження шини
- до 32 стандартних одиничних навантажень; фактична кількість вузлів залежить від усіх трансиверів і кіл зміщення[1]
- Контакти керування
- DI, DE, RE, RO
- Лінія RS485
- A і B, гвинтовий клемник та контактні майданчики
- Термінація
- номінал 120 Ом; наявність і спосіб відключення резистора потрібно перевірити на отриманій платі
- Робоча температура
- 0…+70 °C
- Розміри модуля
- 44 × 14,7 × 20 мм
- Гальванічна розв’язка
- немає
Детальний опис та особливості
Що робить MAX485
MAX485 містить один передавач і один приймач. Вхід DI приймає дані від TX контролера, а вихід RO передає прийняті дані на його RX. Лінії A і B несуть диференційний сигнал, тому вита пара краще протистоїть синфазним завадам, ніж звичайний TTL-UART на довгому проводі.[1][2]
RS485 не перетворює швидкість, адресу чи структуру кадру. Швидкість, кількість бітів, парність і стоп-біти мають збігатися на всіх вузлах, а прикладний протокол формує програма контролера.
Керування напівдуплексом
DE активує передавач високим рівнем, а RE активує приймач низьким рівнем.[1] Для керування одним GPIO ці входи можна з’єднати: HIGH вмикає передавання, LOW — приймання. Після відправлення останнього біта програма повинна дочекатися фактичного завершення передачі UART і лише тоді повернути модуль у режим приймання.
Одна пара A/B використовується почергово в обох напрямках. Програма мережі має не допускати одночасного передавання кількома вузлами, інакше виникає конфлікт драйверів шини.[2]
Довжина, швидкість і топологія
Швидкість 2,5 Мбіт/с і довжина близько 1200 м не є одночасним режимом. Довга лінія можлива лише за значно нижчої швидкості, з відповідною витою парою, правильною термінацією, короткими відгалуженнями та прийнятним рівнем завад.[1][2]
Мережу прокладають як лінійну шину. Кабель із хвильовим опором 120 Ом термінують резисторами 120 Ом на двох фізичних кінцях магістралі, а проміжні вузли залишають без термінації. Перед монтажем перевірте опір між A і B на знеструмленому модулі: спосіб установлення або відключення термінатора може вимагати перемички чи роботи з резистором на платі.[2]
Підійде / не підійде
Підійде
- для додавання двопровідного RS485 до 5-вольтового мікроконтролера з UART;
- для обміну між контролером і датчиком, лічильником, приводом або панеллю з сумісним RS485;
- для Modbus RTU, якщо протокол реалізований у прошивці та параметри порту збігаються;
- для макетів і систем автоматики, де напрямком DE/RE можна керувати програмно.
Не підійде
- для прямого підключення до USB або RS232;
- для чотирипровідного повнодуплексного обміну;
- для 3,3-вольтового контролера без перевірки та узгодження логічних рівнів;
- для ліній, де обов’язкова гальванічна розв’язка або спеціалізований грозозахист;
- для гарантованого зв’язку на 1200 м чи 2,5 Мбіт/с без розрахунку й перевірки кабельної системи.
Приклади застосування
Зв’язок між двома 5-вольтовими контролерами
По одному модулю встановлюють на кожному кінці витої пари. Контролери передають UART-дані через DI/RO та програмно перемикають DE/RE, а термінатори залишають на двох кінцях лінії.
Шлюз Modbus RTU
Контролер формує запити Modbus RTU через UART, а MAX485 перетворює їх на сигнали RS485 для сумісного лічильника, датчика чи приводу. Адресу, швидкість, парність і стоп-біти налаштовують відповідно до документації кінцевого пристрою.
Розподілений збір даних
Кілька вузлів можна об’єднати лінійною шиною для почергового опитування. Протокол має забезпечувати адресацію та не допускати одночасного передавання двома пристроями.
Підключення
Перевірте живлення та логіку
Вимкніть живлення. Подавайте на VCC стабілізовані 5 В і підключіть GND до землі контролера. Якщо UART контролера працює на 3,3 В, узгодьте рівень сигналу RO перед підключенням до його RX і перевірте допустимі рівні інших GPIO.
З’єднайте UART
TX контролера підключіть до DI, а RO — до RX контролера. DE та RE підключіть до керувальних GPIO або з’єднайте разом для керування одним виходом.
Підключіть A і B
Прокладіть A та B однією витою парою й з’єднайте однойменні контакти вузлів. Якщо зв’язку немає, спочатку звірте позначення полярності в документації другого пристрою, оскільки практичне маркування A/B у різного обладнання може відрізнятися.
Налаштуйте термінацію
Знеструмте лінію та перевірте наявність резистора між A і B. Залиште термінування лише на двох фізичних кінцях магістралі; не вмикайте 120 Ом на кожному проміжному вузлі.
Почніть із короткої лінії
Перевірте обмін між двома вузлами на короткому кабелі та невисокій швидкості. Потім збільшуйте довжину, контролюючи налаштування UART, момент перемикання DE/RE, топологію та відсутність конфлікту передавачів.
Обмеження та безпека
Живлення модуля — 5 В
Не живіть модуль від 3,3 В і не перевищуйте 5,25 В. Для контролера з 3,3-вольтовими входами не підключайте RO безпосередньо, доки не підтверджена стійкість входу до 5 В або не встановлено перетворювач рівня.
Гальванічної розв’язки немає
Модуль не захищає контролер від небезпечної різниці потенціалів між віддаленими вузлами. Для кабелю між будівлями, біля силового обладнання або в системі з різними контурами заземлення використовуйте ізольований RS485-інтерфейс і відповідний захист лінії.[2]
Не допускайте конфлікту передавачів
У напівдуплексній мережі одночасно має передавати лише один вузол. Неправильна логіка DE/RE спричиняє спотворення даних і додаткове навантаження на драйвери.
Дальність визначає вся лінія
Кабель, швидкість, термінація, довжина відгалужень, кількість вузлів і завади визначають практичну дальність. Перед остаточним монтажем перевірте зв’язок у реальних умовах із потрібною швидкістю та довжиною.
FAQ
Чи можна живити модуль від 3,3 В?
Ні. Для MAX485 потрібне живлення 5 В у межах 4,75–5,25 В. Для системи з 3,3-вольтовим контролером використовуйте узгодження логічних рівнів або трансивер, розрахований на 3,3 В.
Чи підтримує модуль Modbus RTU?
Модуль забезпечує фізичний інтерфейс RS485. Modbus RTU працюватиме, якщо його реалізує програма контролера, а адреса й параметри послідовного порту відповідають кінцевому пристрою.
Чи можна одночасно отримати 2,5 Мбіт/с і 1200 м?
Ні. Гранична швидкість стосується короткої придатної лінії, а довжина близько 1200 м можлива лише за значно нижчої швидкості та правильно спроєктованої кабельної мережі.
Чи потрібен резистор 120 Ом?
Термінатор потрібен на двох фізичних кінцях магістралі, якщо його номінал відповідає хвильовому опору кабелю. Проміжні вузли не слід додатково навантажувати термінаторами.
Що перевірити, якщо обмін не працює?
Перевірте живлення 5 В, спільний GND, з’єднання TX→DI та RO→RX, полярність A/B, однакові параметри UART, керування DE/RE і термінацію. Перший тест виконуйте на короткому кабелі з двома вузлами.
Сумісний контролер та альтернатива
Контролер із логікою 5 В
Nano V3.0 ATmega328P Type-C має 5-вольтову UART-логіку й може керувати DI, DE та RE без перетворення рівнів.
Автоматичне перемикання напрямку та живлення 3,3–5 В
Якщо окреме керування DE/RE небажане або потрібна пряма робота з 3,3-вольтовою UART-логікою, розгляньте HW-0519 з автоматичним перемиканням напрямку.
Документи та джерела
- Analog Devices / Maxim Integrated, MAX481/MAX483/MAX485/MAX487–MAX491/MAX1487 Datasheet, Rev. 10, 09/2014 — живлення MAX485, напівдуплексний режим, швидкість, навантаження шини та призначення контактів.
- Texas Instruments, The RS-485 Design Guide, SLLA272D, revised May 2021 — фізичний рівень RS485, топологія, кабель, термінація, залежність довжини від швидкості та гальванічна розв’язка.