Power Supply Noise, decoupling cap not giving any effect.

Hi All, I have a problem I’m trying to solve.

I have 3V power supply in form of 2 AA batteries (it has to be two because it all need to be fitted into small “altoids?” box, from those two batteries in parallel I power two circuits:
1- Arduino Pro Mini 3v, with few sensors.
2 - Piezo Twitter circuit hacked from smoke detector based on RE46C317 chip.

Everything works perfectly when stand alone, however when both, the Arduino and Alarm powered from batteries, alarm circuit feeds back too much power noise. Attached is the photo of oscilloscope you can see 0.28V of voltage noise, sometimes it is a little bit less, sometimes a little bit more, that causes arduino to trigger brown out detection sometimes and shut down.
I cannot figure out the way to get rid of that noise, I know that decoupling capacitor between + and - should help but it is not working in my case, I tryed 0.1uf, 1uF, 47uF, 60uF, 470uF, 100uF etc. So far only 470uF helped the most, it smoothed noise to about 0.050V but it is still noticeable. I am wondering what am I doing wrong and what should I do to get rid of power noise?

Thanks.

Show an image of the wiring.
Are these fresh batteries?

.

Batteries have 2.88V when not under load and they are not very fresh but still strong.
Here is the circuit I have(attach1), in form of illustration from datasheet and in form of breadboard wiring (attach2) for this experiment I am simply connecting HRNEN wire to + terminal for beep sound and that’s when noise shows up on oscilloscope, otherwise it is a clean 2.88V across batteries terminals.

alarm circuit.JPG

Before going any further, try new batteries.

.

What Arduino are you using?
.

Just tried fresh duracells from the new box, no load - floating between 3.12 - 3.16V, as soon as beep starts
, voltage bounces between 3.08 - 3.00, so there is a drop of 40mV and noise 80mV.

Capture01.JPG

LarryD:
What Arduino are you using?
.

Pro Mini 3.3v from SparkFun, powering directly inyo Vcc so its voltage regulator is not adding any voltage drop to it.

Place a 10uf as close to the Pro Minis power pin as you can get.

Do you have the batteries directly connected to the pro mini power pin?

Note you will never get rid of all the ripple.

Edit:
Long wires on the breadboard cct. may be contributing to resets.
May have to make a soldered stand alone circuit.

Not sure but you might be able to disable brown out detection.
.

What makes you think that amount of noise is bad for a digital circuit.
Leo..

LarryD:
Place a 10uf as close to the Pro Minis power pin as you can get.

Do you have the batteries directly connected to the pro mini power pin?

Note you will never get rid of all the ripple.

Edit:
Long wires on the breadboard cct. may be contributing to resets.
May have to make a soldered stand alone circuit.

Not sure but you might be able to disable brown out detection.
.

Thanks for the info, I am definately trying to assemble this circuit on solder-on plate, already ordered few off ebay with some solid wires. I guess I can live with a bit of a ripple it was just a bit annoying because I know arduino can go with 2.7v just fine but that small ripple is resetting when it is not really necessary. I was even thinking adding step-up regulator so that in case of voltage drop it will boost it back to 2.7 but perhaps this is unlogical and a bit of an overkill. Will start with pernaboard first...

Wawa:
What makes you think that amount of noise is bad for a digital circuit.
Leo..

I guess it is not just a noise, it is the voltage drop that happened on battery terminals when beep sounds, it drops quarter volt causing arduino to reboot because it detects voltage lower than 2.7V. with fresh battery it is not an issue because but as battery approaching its end it starts being noticeable because Arduino can easily keep going but that voltage drop reboots it.

Thanks for the info, I am definately trying to assemble this circuit on solder-on plate, already ordered few off ebay with some solid wires. I guess I can live with a bit of a ripple it was just a bit annoying because I know arduino can go with 2.7v just fine but that small ripple is resetting when it is not really necessary. I was even thinking adding step-up regulator so that in case of voltage drop it will boost it back to 2.7 but perhaps this is unlogical and a bit of an overkill. Will start with pernaboard first.

I don't think you know what you are talking about. The processor should be run on 3.3V, not 2.7V. If you are going to ignore the datasheets then don't expect anything to work correctly. Running a Pro Mini on 2.7 V is just foolish. Why are you not running it on 3.3 V ?

alexmg2:
I guess it is not just a noise, it is the voltage drop that happened on battery terminals when beep sounds, it drops quarter volt causing arduino to reboot because it detects voltage lower than 2.7V. with fresh battery it is not an issue because but as battery approaching its end it starts being noticeable because Arduino can easily keep going but that voltage drop reboots it.

NiZn cells (hard to find alas) have a somewhat higher voltage and will give you 3.2V from two of them nicely.

Alternatively a boost-converter would increase and stabilize the voltage.

Or a single LiPo cell

Disabling brownout is not so easy/recomended, ATmega functioning properly not guaranteed.

Setting the BODLEVEL 2:0 to B110 gives Brown out down to 1.7V
Setting BODLEVEL 2:0 to B111 disables it, not recomended/guaranteed

Also, BODLEVEL is a fuse setting (have fun changing that).

If putting a current limiting resistor in series with the buzzer (50-510ohm) doesn't help with current spikes, then you need more juice OR modify the fuse settings within the ~hardware\arduino\avr\boards.txt file I believe to modify the BODLEVEL setting. Your on your own here, I suggest a googling on how to change fuse settings. Datasheet* pp305 says BODLEVEL = 110 = correct operation down to 1.7V before triggering reset.

Much easier to do 3XAAA with typical diode or two in series from battery pack to drop voltage (1n4001 or equiv)
Or LiPo 3.7V pack.

raschemmel:
I don’t think you know what you are talking about. The processor should be run on 3.3V, not 2.7V. If you are going to ignore the datasheets then don’t expect anything to work correctly. Running a Pro Mini on 2.7 V is just foolish. Why are you not running it on 3.3 V ?

Running just fine under 3.3V, plus if I understand correctly can run much lower if needed according to the chart in attach.

arduino.JPG

alexmg2:
Running just fine under 3.3V, plus if I understand correctly can run much lower if needed according to the chart in attach.

You understand partially. that chart shows the safe area for a 10MHz Xin clock frequency, the Vin to the ATmega328 should not be lower than 2.7V @ the Vin pin

  • IF you have a chinese mini clone it's likely running at 8MHz so you might be ok (this depends on the BODLEVEL fuse setting inside the ATmega328
  • IF you really do have the batteries in parallel as you said in the OP, you will have half the voltage from the pack but 2x run time
  • Your buzzer is probably creating current-draw spikes, if the processor is near or at the Brownout Voltage (PAGE 305 of the ATmega48/168/328 Datasheet), the current spikes will cause voltage drops throughout the circuit as any battery will exhibit source resistance Vrs (more so when drained), so you may want to try a current limiting resistor on the buzzer to

2x AA could be zink/carbon, alkaline, NiCad.
All have different voltages and internal resistance.
2x AA NiCad is 2.5volt. Too low for an 8Mhz Arduino.
A 1C Lipo battery would be better.

Buzzer spikes could be reduced with an RC filter (for the buzzer only).
e.g. 10ohm/1000uF.
Leo..

Thanks all, trying all advises to see which will give more effect on smoothing out ripple, let me ask you think though because due to lack of knowledge/experience I do now know if this should be like that or no.

So if I have let’s say 3V power supply in form of 2 AA batteries, and i power two circuits from them in a fashion shown in illustration in attach, i.e. Two circuits attached to same source in parallel. They won’t have the same voltage?
My understanding was that since they attached in parallel they both will have 3V going through them, no?

Sorry if it sounds a bit too basic and profanely stupid but I can’t quite get it, need a push…

circuit AB.JPG

Yes they will both see the same voltage, so if one circuit takes so much current that the voltage drops, both circuits will see that voltage drop.

They do not have 3V going through them. They have 3V across them. Only current can "go through".