MAX485 module RO pin nearing 0V

Dear community,
I have been working on reading data from an energy meter via modbus RTU.
I am using MAX485 TTL to RS485 module as transceivers in between the Modbus ports of the meters and the Serial ports of my microcontroller.

To my understanding, the RO pin on the MAX485 should give around 5V.
On one setup, this is true and everything runs normal.
However, on another similar setup, I am observing near 0 V (~0.5 V) on the RO pin.
The communication itself is rather unreliable as I am getting frequent invalid responses (like once for every few requests -- I am reading multiple registers every 5 seconds).
I have replaced a few MAX485 modules but the problem still persists.

Does anyone have a good explanation for this?
Thank you very much!
 

Attachments

Do one of the following:
1. Remove R7 (120 ohm termination resistor) from the MAX485 board and any other termination resistors that are applied or enabled on the other RS-485 devices.

2. Apply idle biasing resistors, one between A and VCC, and another between B and GND. The resistors should be the same value and can have a value of 470, 560, or 680 ohms.

Also make sure you connect together the GND terminal on the MAX485 board, your microcontroller's ground, and your energy meter's RS-485 ground (also called reference or common).

Take a look at this thread for a more in-depth discussion:
https://control.com/forums/threads/...er-invalid-response-slave-id-exception.49191/

Specifically, look at these posts:
#11
#15
#17
#19
#26
#31
#33
#34
 
Top