Decoupling LIS302DL – There I fixed it!

December 15, 2009

in Tinkering

As you probably know, I really like I2C sensors and especially the LIS302DL. But adding this accelerometer to your circuit is not as straight forward as I thought. But in the end I got it quite right.
Decoupling LIS302DL
It all started out with a 0.1µF ceramic capacitor. For good measure I put a ferrite bead in front. But this lead to terrible readouts. So I threw in a 10µF 0805 ceramic capacitor and a 4.7µF tantalum capacitor. It does not look nice, nor does it look terribly solid, but it works fine.
So read on, what my analysis of the situation is.
My original layout had just a small ferrite bead and a way too small capacitor. And this on a board hosting a ATmega168 and four alphanumeric displays, drawing from 0 to 300mA, from a step up voltage controller. Of course I had about 400µF decoupling capacitors on board, but the direct power supply of the LIS302DL had still about 0.1 Volts of noise on the power supply line. And the readouts were extremely noisy (>10%).

Not good.

Throwing in some capacitance was a good idea and reduced the noise by something like factor 2. But still it is very noisy. The LIS302DL datasheet suggest using at least a 10µF and a 0.1µF capacitor of different types (e.g. ceramic and tantalum) – I think it is just some minimum requirements. Proper voltage supply with as less noise as possible is a must.

So my next try will be:

  • Redoing the complete layout so that the power supply of the LEDs is uses separate VCC and ground paths than the digital circuit.
  • Redoing the same for both chips, so that I got some star like grounding and supply system. Or some carefully laid out power planes.
  • Adding bigger ferrite beads in the supply line of the LEDs and both chips, so that each component has its own supply line with ferrite beads and capacitors, to reduce cross talk.
  • Perhaps adding some LDO regulator to drive the digital circuitry from 3V instead of 3.3V to reduce the noise of the LEDs or power supply.

I alwayys thought good power supply design is just for audio stuff or other high quality applications, but I learned (the hard way) that you also need it for just some basic tinkering.

So off to the next design.

{ 1 trackback }

Filtering Sensor Data with a Kalman Filter | Interactive Matter
December 18, 2009 at 22:39

{ 4 comments… read them below or add one }

1 tz December 16, 2009 at 02:39

Tantalums have a higher ESR, though you can get 0402 10uF 4v parts.

(ESR = effective series resistance (?) – basically there is a virtual resistor the capacitor has to drain through).

The reason for suggesting dual caps most likely is that ceramics tend to have low ESR but large size for large uF and you need them right at the pin or the board’s inductance and resistance can get in the way, but Tantalums can provide a lot of current/capacitance in a small package, but more slowly because of the internal resistance. Using two gives good decoupling for both high and low frequencies.

(sparkfun has a similar problem with their hughes magnetometer/compass breakout).

Reply

2 Marcus December 16, 2009 at 11:18

There are already 0402 10µF capacitors? Have not seen it – soon there will be anything else then ceramic capacitors.
You are absolutely right. But I think I learned another lesson from my board, that you have a lot of trouble couring the effects of bad PCB design with decoupling. If the PCB would have been well designed from the beginning, I would have less trouble with decoupling ;)

Reply

3 SiliconFarmer December 19, 2009 at 00:42

I suggest you keep a single ground plane. Splitting ground planes is tricky and can do you more harm than good.

Also, watch out for resonance between your ferrite bead and caps.

Working on the vcc routing / power plane and separating the vcc current paths is what I would focus on. Use the accelerometer’s recommendations for caps and maybe a ferrite bead. Try with and without the FB (replacing FB with a solder bridge) to see what gives you the quietest rail / smoothest output.

Reply

4 Marcus December 19, 2009 at 09:12

Yes, you are right. I want to keep the ground plane, but I want to reconsider the ground paths for the different currents (so that the current from the LEDs do not get in the way with the sensors). Yep and using some more well done VCC routing.
Thanks for the tips.

Reply

Leave a Comment

Previous post:

Next post: