6
\$\begingroup\$

I have an Arduino UNO board, and I wanted to design a simple 'sensor shield' --since all simple sensors has 3 pins (namely, SIG-5V-GND) and it is convenient to connect bunch of them directly-- and thats where things got ugly.

Below you can see my very basic design,

enter image description here

As you can imagine, there is 'a-lot' of noise going on right know (with 1 IR range and 3 ultrasonic sensors). I've managed to reduce some of the misreadings on the software side, yet it is clear that I have to make some hardware modifications as well.

A lot of people that had similiar problems advise coupling each additional IC with a 100nF cap.

My question is;

  • Should I de-couple each line with its own 100nF cap, or is there a neater solution ?
  • Also, these sensors are connected to my arduino with a 15-20cm cable (physical design restrictions). Because of this, should I take extra measures as well ?

EDIT: Sensors that I'm using

\$\endgroup\$
  • \$\begingroup\$ Analog noise or digital noise? What frequency of signal? \$\endgroup\$ – pjc50 May 10 '13 at 13:24
  • 1
    \$\begingroup\$ You could put a bulk capacitor of about 10uF to the input, then add 100nF decoupling capacitor right near each IC. That would give you a clear power rail to work on. Also, you could create a ground plane on the bottom layer, if you are working with a double sided design, which will improve signal integrity a lot. \$\endgroup\$ – abdullah kahraman May 10 '13 at 13:46
  • 1
    \$\begingroup\$ @IsmailKuruca I can say more about it if you give information about your sensors. \$\endgroup\$ – abdullah kahraman May 10 '13 at 14:01
  • 1
    \$\begingroup\$ @abdullahkahraman added links for the sensors I'm using. \$\endgroup\$ – JuniorDev May 10 '13 at 14:10
  • 1
    \$\begingroup\$ It looks like you really tried hard not to connect power to the sensors on A0 to A5 directly. 5V is OK but flood the 0V copper on that PCB layer even if it's single sided. Maybe also break into the 5V with a series resistor that doesn't drop too much voltage when powering the sensors (<10ohms for a 1st pass estimate) and decouple the sensor side of the 5V with ceramic 10uF and 1nF in parallel. \$\endgroup\$ – Andy aka May 10 '13 at 14:13
8
\$\begingroup\$

Your sensors are actually circuit boards that process the sensor output and give you a easily understood and implemented signals. I have checked, and these boards include their bulk and decoupling capacitors.

One thing to improve is the grounding quality. To do that, you have to improve the impedance of the ground tracks. In low frequencies, the ground impedance is dominated by the resistance, however when the frequency goes high, inductance kicks in and dominates the impedance.

One way to make the ground impedance low at high frequencies is bypass capacitors that are put very close to the supply pins. Since you already have about 20 cm of wires, you cannot do much for the high frequency on your board. But at least you can isolate the noise from the board as noted below.

There are couple of things that come to my mind that will reduce overall noise:

Add a bulk capacitor:

Put an electrolytic capacitor that has a value of about 10uF to 220uF across GND and +5V. This will give you a cleaner power and room for inrush currents. Since capacitors have relatively low series resistance, they can give higher currents, of course limited with their storage. Also, connecting a 100nF ceramic capacitor with this bulk capacitor will filter out high frequency content and decouple the "sensor shield" from Arduino.

Add decoupling capacitors to sensors:

Sensors can include digital circuitry which can generate high frequency content, thanks to square waves. You cannot give these sensors low impedance power paths because of the already long wires, however, you can limit the high frequency content coming from these sensors to your board.

You can add some 100nF ceramic capacitors in-between Vcc and GND of these sensors and the high frequency content coming from the sensors will be shorted to GND with the help of the capacitors. In other words, you are going to decouple your sensors from your board. Make these capacitors as close as possible to power pins of each sensor. You can sort of use one capacitor in common for very close sensors.

Make the ground trace gain weight:

When a trace gets ticker, its resistance drops lower. Make the ground trace as thick as you can. Or better, as Andy aka suggested, make a ground fill, or a ground plane, depending on what your CAD software calls it.

Also, there is nothing pulling you from making the Vcc trace thicker and lower impedance.

One small detail is to twist those long cables so that they are all close to GND cable.

\$\endgroup\$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.