2

I have an interesting situation. I wonder if anyone can help?

I have:

  • 4x Arduino Micros loaded with the basic Blink sketch
  • 5x 12 volt buzzers
  • A desk full of completely fresh Duracell AA and 9v batteries

If I connect (using VIN and GND) any of the Arduino Micros to either a 9v battery, or a 12v network of 8 AA batteries, then they run the blink sketch, and the appropriate LED flashes on the Arduino as expected.

If I connect any of the buzzers to either a 9v battery, or a 12v network of 8 AA batteries, then they buzz as expected.

If I connect both a buzzer and an Arduino in parallel to either a 9v battery, or a 12v network of 8 AA batteries, then the Arduino works fine, but the buzzer makes barely an inaudible whimper.

If I connect only a buzzer to the Arduino and battery, it works fine. If whilst the buzzer is buzzing I connect the Arduino, then on every ON or OFF of the blink sketch LED, the buzzer gets quieter and quieter until it can barely be heard.

These buzzers are rated to work at 25mA, so it really astounds me that they can't be run off a battery together with an Arduino.

Any help would be appreciated!

Thanks

Dave

  • 1
    Connect a capacitor across the buzzer - say 100 uF or higher at 16Vor higher. If this affects the above outcomes you have electromagnetic interference. – Russell McMahon Apr 5 '15 at 8:09
  • @Russel McMahon Thanks for the suggestion that it might be electromagnetic interference. Turns out you are right! I added a capacitor and it started working. If you put a proper answer in, I'll mark it as accepted. – stormCloud Apr 6 '15 at 18:06
  • Thanks for the offer. I suggest that you accept jwpat7's answer as he has incorporated my brief suggestion as part of his answer and overall his answer is informative and useful for other users with power related issues. – Russell McMahon Apr 7 '15 at 3:15
4

Attach your voltmeter across the battery, and measure the available voltage when different things are attached; or attach it in series, and measure current draws. You probably will find that a 9V battery's voltage is under 8 volts when a mix of multiple Arduinos and buzzers is attached. That voltage may be too low to activate the buzzer.

A powerstream.com web page called 9V Alkaline tests shows how rapidly a 9V battery's voltage drops when heavy currents (more than a few dozen milliamps) are drawn from it, and a batteriesinaflash.com web page includes the following diagram that shows battery voltage quickly falling below 8.5 V in its first minutes of life when 27 mA is drawn from it. 9v-lithium-comparison.gif

For some models of Arduino, eg the Uno R3, various posts on the web list currents from 25 mA up to 45 mA, depending on LED and sleep settings. Currents for the Duemilanove from 10 mA up are reported. The Arduino Micros in your tests probably use a little more current than Pro Mini boards (which have no USB), and although it's unlikely they will use as much or more current than the buzzers, they still may drag the voltage down to a level where the buzzers won't work.

If your system needs to be battery powered, consider using separate batteries for different devices, to avoid problems like you saw. Alternatively, use heavier-duty batteries, eg good-sized lithium-polymer units. Also review posts about decreasing Arduino power usage via sleep, disconnecting the power LED, and using large capacitors to buffer power surges.

Edit: Given that voltage measurements show enough voltage being available, the suggested use of capacitors or inductors to isolate circuits may be a good idea.

When adding a capacitor, locate it physically close to the power-using board or component. For electrolytic capacitors, attach the capacitor's + terminal to the high side, eg to the +5, +9, or +12 side, and attach its - terminal to ground.

When adding ferrite beads, wrap the supply wire through the bead several times, if there's room. The picture below illustrates the idea.

An electrolytic capacitor across a circuit acts as a voltage reservoir. It also gives high-frequency signals an easy path to ground, reducing interference. A ferrite bead or other inductor impedes high frequency signals, again reducing interference.

enter image description here

| improve this answer | |
  • 1
    Thanks for the answer - in reading through it and the provided links, I've learned a lot about batteries that I didn't know! I got my volt meter out, and measured the voltage. Turns out not to be voltage related, but electromagnetic interference from the arduino. +1 for all the interesting stuff I've learned about batteries. Thank you. – stormCloud Apr 6 '15 at 18:08
  • +1 - nicely detailed and presented answer. You probably would benefit from and be useful in the Stack Exchange EE group as well. I see you are involved in a wide range of groups already (quite a lot of overlap with me fwiw). Are you really as venerable as your profile page says ? ! :-) – Russell McMahon Apr 7 '15 at 3:17
  • @RussellMcMahon, not quite :) but sometimes feel like it :(. I learned Fortran and assembly language programming using an IBM 1620 in 1965. – James Waldby - jwpat7 Apr 7 '15 at 16:06

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.