How to solve MAX485 heating and stops working problem ?
Is your MAX485 IC getting burned or stops working after sometime ? Or is your RS485 circuit is not working as expected ? If your answer is ‘Yes’ you are at the right place. You can simply follow below guidelines to solve this problem. Before one year this problem used to trouble me a lot. Usually the MAX485 or RS485 circuit works fine in lab and it may even work in the final environment also. But after sometime it will stop working, like it may stop sending data or stop receiving data.
After a lots of research I found multiple reasons for this problem. Just make sure that you are following below guidelines, then your circuit will work reliably.
RS485 needs Common Ground
Usually lot of peoples thinks that RS485 is a differential bus and thus it needs only two lines to operate as the receiver can compare the two voltages. But this is wrong. You have to connect common ground for all RS485 devices.
If you don’t connect common ground, your RS485 drivers may get damage at anytime even though the circuit is working now. This is because the potential difference between the devices may become very high since the grounds are not connected and more current will flow through A, B lines.
In case you need to isolate grounds, you have to use Isolated RS485 drivers instead of normal drivers like MAX485.
Next thing you have to make sure that your power supply is good and it is within the ratings of your RS485 driver. If your power supply is getting affected with transient noises and spikes better solve it by using proper capacitors, inductors, TVS diodes and MOVs.
Connect Earth of Class 1 Power Supplies
Don’t forget to connect EARTH if you are using Class 1 power supplies.
Pull Up and Pull Down Resistors
When the bus is idle, no device is driving the bus. In this case, receiver output of most of the drivers are undefined. This may cause a lot of random data to receive in the UART side which may cause false start bits, interrupts and framing errors. Some RS485 drivers have internal receiver input fail safe feature that guarantees a logic high output even if the input is open circuited.
Even though this problem doesn’t cause any damage to your chip or circuit, it is better to solve this problem by using a combination of pull-up and pull-down resistors at one position on the bus.
Use TVS Diodes
As RS485 transmission lines are long, it is very common that it will pickup transient noises. So it is recommended to use TVS diodes to eliminate common mode transient voltages between A, B and GND. Sometimes my MAX485 used to smoke and stop working when used in high noisy environments. Adding TVS diodes to my circuit solved this problem.
As per Texas Instruments guidelines, they recommend following devices which can be connected in different typologies.
And you can follow any of the below PCB routing corresponding to the TVS diode you use. Please refer TI guidelines for more information.
These are the common problems I used to see in RS485 circuits. Please don’t forget to comment below if you have any other problems or solutions such that it will help others.