Continue to Site

Welcome to our site!

Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

  • Welcome to our site! Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

MAX232A Circuit Problem

Status
Not open for further replies.

micro571

New Member
I've been using the MAX232A line-level convector for serial communication for quite a while. It requires five 0.1uF capacitors. They're polarized in the reference circuit diagram (https://www.electro-tech-online.com/custompdfs/2008/10/MAX220-MAX249.pdf -- page 17/36).

In my circuits I've used ceramic caps (which are not polarized). Following the reference circuit I've run in to some stability issues. I've had some problems with serial communication connecting it to a PIC micrcontroller. Also in an I2C circuit using an Arduino and a couple MAX232A's, the I2C bus gets messed up after about 5 minutes of transactions.

In both cases I've narrowed the problem down to C4 in the reference circuit mentioned above. C4 is connected to V- on the chip. In the circuit C4 is connected between V- and GND. However, I've found that if I move the capacitor to between V- and +5V, stability becomes perfect. If I measure the voltage on the chip pin in both cases it's around -9V which is proper. If I remove C4, voltage is around -5V and communication gets really flaky.

Am I using the wrong type of capacitors?
Can anyone explain why I'm having these problems and why the workaround works?

I write some electronics tutorials on my website and I don't want to recommend going against the datasheet without some reasoning behind it.
 
The 0.1uF can be non polarized and it must be the MAX232A or equivalent to use 0.1 caps. 9V is about right. I've used the MAX232A in many projects with 0.1uF caps and it works fine. Sounds like bad power supply decoupling could be your problem.
 
That could be.

What is best practice for power supply decoupling? I've tried looking it up online in the past and didn't get a very good answer.

In my I2C circuit I have a 0.1uF cap right by the chip between V+ and GND (datasheet for the chip specifies a minimum 0.047uF). But that is all.
 
You need a 0.1uF cap on as close as you can get to every digital IC. A good power supply filter cap is also essential. As an example the little blueish parts near all the ICs are decoupling caps.
**broken link removed**
 
100uF thru 220uF will work for the average circuit, larger if you're drawing some serious current. I don't have the formula handy but look at your voltage regulators data sheet. The big one should be near the regulator.
**broken link removed**
 
Last edited:
For my little prototype I2C circuit, I'm using the Arduino +5V and GND. I believe there's a 7805 in there that has been properly filtered. I'm only using about 50mA max.

I've always had the 0.1uF caps on the digital ICs.

Is there any other explanation for the behaviour I'm seeing? It has been very predictable.

The I2C chips I'm using are MAX5696's which are LED controllers. I've got 2 of them, each blinking a single led in my test circuit.
 
I don't know much about the Arduino's power supply or your circuit. Could you post a schematic of your circuit? What are you using to program the PIC? If it has a debugger you could watch it happen.
 
Here's the Arduino circuit (https://www.electro-tech-online.com/custompdfs/2008/10/Arduino-Diecimila-schematic.pdf). The power is brought out to a header that I'm using.

The PIC communication stability issue happened months ago, so I can't say for sure that I can duplicate it.

For the I2C circuit, I've had C4 connected between V- and +5V and its been working fine for days. If I move C4 between V- and GND it will stop working within 5 minutes.

The code actually stops running in the microcontroller. I've tried 2 different Arduino versions to verify there wasn't something wrong with mine. A similar result is seen if I short SDA and SCL.
 
Status
Not open for further replies.

Latest threads

New Articles From Microcontroller Tips

Back
Top