About a week ago, I discovered I had serious issue with one of my PCB's... I had grossly overestimated how much current the Arduino Pro Mini's voltage regulator could supply.
I'd believed the onboard voltage regulator could supply up to 450mA. But if my latest calculations are correct, it can actually only supply around 100mA.
That means my circuit, which was designed in such a way that it required the regulator to supply 335mA needs way more power than the onboard regulator can supply.
Now, thankfully, I made another mistake in my original calculations, and I specified that the ATmega itself would draw 120mA. That brings the actual total for the original circuit down to 265mA.
I was also running some illuminated touch switches in my original design off the 5v pin, with each drawing 20mA. If I reduce each of those to 10mA, now I've got:
- 20mA from +5v pin for illuminated touch switches.
- 30-50mA to power the microcontroller.
- 175mA from the Arduino's pins to run an 8x8 led matrix, piezo speaker, and a couple leds wired in series.
That brings the total down to 240mA, 200-220mA of which will actually need to flow through the Arduino's circuitry.
Getting a new PCB made isn't an option because I'm out of time, so I've had to figure out a way to modify the ones I had made to solve this dilemma.
Here's my circuit:
The solution I've come up with is this:
- Cut the trace from PwerSw to the Raw pin on the Arduino.
- Run a jumper from the +9v PTH on the right side of the board to the Vcc PTH above the ULN2803A.
- Wire a 7805 5v regulator to my 9v battery pack, and wire its ground and output to one of the 9v connectors.
- Add a 0.1uf decoupling capacitor across the other 9v connector, and a 47uf capacitor on C1 if need be.
- I think I can probably get away without a capacitor on the input of the 7805 since I'm running off batteries, but if I need to stick one on there that'll be easy enough.
Now my question to you is this... will this work? Can the Pro Mini handle 200mA, seeing as it was only designed with a regulator that could put out 100mA?
Also, if I'm not mistaken the Arduino's Vcc and Gnd pins can only handle 200mA each. I assume that includes what the processor needs as well? In which case I need to subtract 50mA for that, leaving me with, at most, 150mA to source from the Arduino's pins?
I guess if that's the case, it'll have to do. At least then I might have 100mA with which to power my array.