Unused Serial Output Pin -- I may be having a problem!

I am using the ProMicro Leonardo on a project.

I picked it because it has two UARTs and my primary objective was to receive loads of RS232 Binary Data, process and act on it by operating relays and LEDs.

It seems to be doing the job just fine but I am occasionally having a problem.

I receive RS232 (the real thing) with a MAX232. The data is then converted to TTL levels and connected to the RXI pin on my Arduino 2nd serial port. The baud rate is 38.4k baud.

The system never does anything but take in the serial data, process it, then loop.

I never do a print.serial or any other serial output command.

My problem is that after a while (could be several days), the MAX232 will suddenly overheat. It gets so hot it will burn my finger. Then it will often die. I replace it and I am back in operation again.

I have a couple different batches of MAX232 and I have tried to make sure I have tried different units. Same goes for the ProMicro.

I am using a custom PCB and the TXO pin is connected to the MAX232 transceiver as well, even though I never use it in the sketch.

The unused TTL input on the MAX232 is grounded (there are 2 drivers on that chip) and the unused RS232 input is open. I have been using MAX232 devices for decades and never seen this problem and never worried about terminating unused RS232 inputs. The schematic for the chip shows a 5K termination internal on the chip.

So I am wondering if I need to do something with the ProMicro serial1 output, even though I am not using it. Could the TX pin on the Arduino be going into oscillation or doing something it shouldn't that is messing with the unused RS232 converter?

Is it even possible to override the serial1.begin( baudrate ) function and set the TX pin to something else?

What about just sending some data now and then to make sure the TX pin is in a known state?

You people on this forum are really smart and come from such a wide background. I am hoping one of you has an idea for me.

Currently, I pulled the unused TTL input pin out of the MAX232 dip socket so its disconnected from the ProMicro. Lets see if I have the same problem. Its been running for a couple of days now with no problem, however, sometime it takes days to malfunction. My system runs 24/7/365

THANKS

Greg

gmcmurry:
My problem is that after a while (could be several days), the MAX232 will suddenly overheat. It gets so hot it will burn my finger. Then it will often die. I replace it and I am back in operation again.

These two things pop into my mind: capacitors or counterfeit.

I recall reading about lack of / wrong capacitors causing an RS232 chip to overheat; something about the voltage pump not working correctly. What I remember is a very incorrect schematic being posted to the internet that was frequently cloned without review. Post your schematic. Ensure your actual circuit matches your schematic. Carefully review the datasheet.

I can't remember any details about the second so I may be commingling unrelated things. But Google does return some hits...

https://www.google.com/search?q=MAX232+overheat

In TTL serial communication the system idles HIGH. Maybe the unused TTL input should be tied HIGH rather than grounded?

...R

I have used this bit of schematic for over 10 years. I use the 1uf @ 25v electrolytic caps. Everything is bypassed with .1 uf but I don’t always show them on the schematic.

Thanks for your input.

I looked at the link you provided…

Should I need the 220R between the Arduino and the MAX232? They are both running at 5V and from the same power supply?

G

Refer to your schematic of Post#3, the 1uF capacitor between Pin-2 and GND of MAX232 is my concern. According to MAX232 data sheets the negative terminal of the capacitor could be terminated either to GND or Vcc (5V).

The internal 5V/+/-10V converter of MAX232 develops about +8 to +10V) at Pin-2. I have chosen in my design (MPU/MCU Trainers) to terminate the -ve side of the capacitors at Vcc (5V) while the ratings of all the 1uF filter capacitors are 16V.

gmcmurry:
Everything is bypassed with .1 uf but I don't always show them on the schematic.

The datasheet indicates a 1 µF bypass capacitor at pin 16 / Vcc. Your schematic indicates a .1 (no units) capacitor.

What have you actually used?

gmcmurry:
Should I need the 220R between the Arduino and the MAX232?

I suspect any such external resistor is meant to protect both sides from a software mistake. For example, using RX on the processor to drive an LED which would create a short-circuit through both chips. That seems unlikely to be a problem for you.

How is it powered? The datasheet has a somewhat tight supply range (4.5 V to 5.5 V). Good USB power can reach either of those limits. Poor USB power can exceed them.

That's an interesting catch -- the 1uf +5V bypass cap. Indeed, as is my practice, I am using a .1uf there.

The +5 is a 7805 as drawn... Good power supply -- and I have looked at it on the scope. Its clean.

I will beef up that pin 16 Cap with a 1uf and see if I have the same problem.

I looked back at my other boards that use the MAX232 and they all have a big cap on the power supply somewhere. Not necessarily right at the VCC but close by. Could that be the problem? I don't know, but something weird is happening.

Greg

Adding a 1 µF bypass capacitor at pin 16 / Vcc in parallel to what is already there seems like a good test.

@Robin2's suggestion (reply #2) has merit...

9.3.2 RS232 Driver
Two drivers interface standard logic level to RS232 levels. Internal pull up resistors on TIN inputs ensures a high
input when the line is high impedance.

That implies the unused section (TTL-I2 / physical pin 10) should be unconnected.