Datasheet & Pinout: MAX485 TTL til RS485 Modul

📡 MAX485 TTL til RS485 Modul

Det her lille modul gør din microcontrollers spinkle TX/RX-signal til et robust RS485-differentialsignal, der kan løbe hundredvis af meter over et snoet ledningspar – fx et gammelt netværkskabel ned til drivhuset. Det er også nøglen til at snakke Modbus RTU med energimålere og industriudstyr.

Du skal bruge: mindst to moduler (ét i hver ende), et parsnoet kabel og en Arduino eller ESP32 i hver ende.

🛒 Køb MAX485 Modul📄 Officielt datasheet (PDF)

⚡ Hurtige specifikationer

Parameter Værdi
Chip MAX485 (Maxim/Analog Devices), half-duplex
Forsyning 5V (4,75–5,25V)
Datahastighed Op til 2,5 Mbps (lavere ved lange kabler)
Kabellængde Op til ca. 1200 m ved lav baudrate
Antal enheder Op til 32 standard-enheder på samme bus
Terminering 120 Ω mellem A og B på modulet (R7 på de fleste udgaver)
Tilslutning 2 × 4 stiftlister + skrueterminal til A/B

📌 Pinout

Pin Navn Funktion Forbindes til
RO Receiver Out Modtaget data ud (5V-niveau) RX på MCU
RE Receiver Enable LOW = modtag (aktiv LOW) Samme MCU-pin som DE
DE Driver Enable HIGH = send (aktiv HIGH) Samme MCU-pin som RE
DI Driver In Data der skal sendes TX på MCU
VCC 5V Forsyning 5V
B B (–) Inverterende buslinje B på det andet modul
A A (+) Ikke-inverterende buslinje A på det andet modul
GND GND Stel GND (og gerne fælles GND-ledning i kablet)

RE og DE forbindes typisk sammen til én pin: LOW = lytte, HIGH = sende. Så kan modulet aldrig snakke og lytte samtidig – det er det, "half-duplex" betyder.

🔌 Sådan forbinder du den

Arduino UNO / Nano (5V)

MAX485 Arduino Bemærkning
RO D10 SoftwareSerial RX
DI D11 SoftwareSerial TX
RE + DE D3 Retningsstyring
VCC / GND 5V / GND

ESP32 (3,3V)

MAX485 ESP32 Bemærkning
RO GPIO16 (RX2) Via spændingsdeler (1 kΩ fra RO, 2 kΩ til GND) – RO er 5V
DI GPIO17 (TX2) 3,3V er nok til MAX485's indgang
RE + DE GPIO4 Retningsstyring
VCC / GND 5V (VIN) / GND Modulet skal have 5V

Bussen

  • A til A, B til B – hele vejen.
  • Brug et snoet par (fx ét par i et netværkskabel) til A/B.
  • Behold 120 Ω-modstanden på modulerne i de to yderste ender, og fjern den på moduler midt på bussen.

💻 Eksempelkode

To UNO'er med hver sit modul. Masteren sender et tal hvert sekund, slaven skriver det ud. Bruger SoftwareSerial, som følger med Arduino IDE.

Master

// KompoNemt MAX485 Master
#include <SoftwareSerial.h>
SoftwareSerial rs485(10, 11);   // RO -> D10, DI -> D11
const int DIR = 3;              // RE + DE

void setup() {
  pinMode(DIR, OUTPUT);
  digitalWrite(DIR, LOW);       // lyt som standard
  rs485.begin(9600);
}

void loop() {
  static int n = 0;
  digitalWrite(DIR, HIGH);      // send
  rs485.print("Hej fra KompoNemt #");
  rs485.println(n++);
  rs485.flush();                // vent til alt er sendt
  digitalWrite(DIR, LOW);       // tilbage til lyt
  delay(1000);
}

Slave

// KompoNemt MAX485 Slave
#include <SoftwareSerial.h>
SoftwareSerial rs485(10, 11);
const int DIR = 3;

void setup() {
  pinMode(DIR, OUTPUT);
  digitalWrite(DIR, LOW);       // lyt
  Serial.begin(9600);
  rs485.begin(9600);
}

void loop() {
  while (rs485.available()) {
    Serial.write(rs485.read());
  }
}

💡 KompoNemt-tip fra værkstedet

  • flush() før retningsskift: slår du DE/RE ned, før sidste byte er sendt, bliver enden af beskeden hakket af.
  • Modbus RTU: til energimålere og industriudstyr – brug biblioteket ModbusMaster og dets preTransmission()/postTransmission() til at styre DE/RE.
  • A og B er ikke standardiseret ens hos alle producenter. Virker intet med fremmed udstyr, så prøv at bytte A og B.
  • Lange kabler: sænk baudraten (9600 er rigtig robust) og træk en GND-leder med i kablet.

🔧 Fejlfinding

  • Ingen data: tjek A→A og B→B, og at begge moduler har 5V og fælles GND.
  • Volapyk: forskellig baudrate i de to ender, eller DE/RE slås ned for tidligt (brug flush()).
  • Virker på bordet men ikke over langt kabel: sænk baudraten og tjek at terminering kun sidder i enderne.
  • ESP32 opfører sig mærkeligt: RO sender 5V ind i et 3,3V-ben – brug spændingsdeler.
  • Flere slaver svarer i munden på hinanden: giv dem adresser og lad kun masteren starte en samtale.

Sidder du fast? Skriv til os – vi hjælper gerne.