Skip to content

Promake RS485 M1

Description

RS485 is an industrial standard for long distance, anti-interferrence and reliable communication. The ProMake RS485 M1 offers a half-duplex RS-485 communication, which can be used as an interface between the TTL level UART and the RS485 communication bus. It converts UART/Serial protocol to RS485 protocol and features a selectable voltage between 3.3V or 5V, which makes it suitable for multi-point applications over long cable runs and noisy areas, thanks to the onboard transient voltage suppressor (TVS) diodes. This device is perfectly suitable for industrial systems, building automation or HVAC systems and many more.

Features

  • Operates from a single +3.3V or +5V supply
  • RS-485 input/output broken screw terminal for easy wiring and connection
  • Bus-Pin ESD protection exceeds 16-kV HBM
  • Allows up to 32 transceivers on the serial bus
  • Bus-Pin Short-Circuit protection from –7 V to 12 V
  • Breadboard-friendly

Important Notes

Resource

What is RS485?

"RS-485 enables the configuration of inexpensive local networks and multidrop communications links. It offers data transmission speeds of 35 Mbit/s for distandances up to 10 m and 100 kbit/s up to 1200 m. Since it uses a differential balanced line over twisted pair (like RS-422), it can span relatively large distances up to 1,200 m (4,000 ft). A rule of thumb is that the speed in bit/s multiplied by the length in meters should not exceed 108. Thus a 50 meter cable should not signal faster than 2 Mbit/s." From Wiki.

Module Pinout

Software

Developement using Arduino

To set up the hardware, Insert your sim card and easily plug this module into:

  • Module3 slot of your ProMake® Arduino Nano Kit

or

  • Module2 slot of your ProMake® Arduino Uno Shield

or

  • Use your breadboard to connect the Power and UART lines.
#include <SoftwareSerial.h>

SoftwareSerial mySerial(4, 7); // RX, TX

void setup() {
  // put your setup code here, to run once:
  pinMode(9,OUTPUT);
  //digitalWrite(9,LOW);
  digitalWrite(9,HIGH);
  // Initialize "debug" serial port
  // The data rate must be much higher than the "link" serial port
  Serial.begin(9600);
  while (!Serial) continue;

  // set the data rate for the SoftwareSerial port
  mySerial.begin(9600);
}

void loop() {
  // put your main code here, to run repeatedly:
   if (mySerial.available())
    Serial.write(mySerial.read());
  if (Serial.available())
    mySerial.write(Serial.read());
}

Developement using Raspberry