
At work, every 3months we have to come up with something that would "benefit" the worker and/or company
Using Arduino as it is easier to interface with and a much cheaper alternative overall.
This proposal is to make a battery voltage/current monitor because when the battery is in the case there is no way to "connect to it" and observe what is going on. The flat pack contacts also make it hard to interface with. I came across a housing fixture that someone had made that was meant for a totally different purpose, but they abandoned it and it was going to get thrown away. I took it and it will work perfectly for what I need it for. All I have to do is build my circuit, write the code, and test. Each number below correlates with the above picture on what it is...
#1 - using this as a functional "test board" for now and will be moving on to building a standalone circuit after the basic functions are worked out
#2 - The max input voltage to the analog pin for the Atmel328 chip is 5V. This is a simple voltage divider that is compensated for any "spikes" when initially powered up as far as voltage is concerned. I can put a 30V input and the code compensates that input voltage through the voltage divider network down-to approx 5V... in this case, the voltage divider is set for approx 4V and gives me about a 1V cushion, which works for this application just fine as I've tested for that. Since it is 30V compensated, I only put 21V in (NOTE: coming from the charger) so I have more than plenty of room plus the 1V on top of that. So anyways, the code compensates the voltage input signal at the voltage divider to read the actual voltage.
#3 - about a 13V NiMh battery pack that is the ultimate goal to monitor
#4 - Unit Under Test (NOTE: what the battery pack connects to and in a sense is also being monitored on how it is performing with the battery pack)
#5 - Battery charger, which is also being monitored to see if it is working like it should just by simply monitoring the voltage and current readings
#6 - LCD display giving the real time voltage/current readings
#7 - DMM monitoring the voltage divider network and it should NOT exceed the approx 4V. Remember, 5V is max allowed voltage on the analog input pins and I compensated 4V as my max to give that little bit of wiggle room for startup voltage. That is the best way that I can explain it.

In either case, you NEVER want to design something at it's lowest/highest values. In this case, if I was to design it for max 5V on the voltage divider, I would likely burn the analog input pin of the microController.
As you can see, the LCD is monitoring approx 13.3V and the DMM monitoring the voltage divider is not even at 2V yet. I could put a better "circuit protection" in, but I'm working with what I have right now and this should be more than good enough anyways for what it is.
Essentially, I'm monitoring the battery, UUT, and charger when all said and done. I told my supervisor that it will be a very useful tool to have when finally completed.
Finally, the current reading on the LCD display is wrong because it is not physically connected to the unit as far as reading the current value and the code hasn't been "tuned" yet to give the correct reading.
So far, the voltage reading reads down to 1.5V (and lower actually) all the way up to the max of 30V. The accuracy is pretty steady at roughly +/-0.25V, which is very acceptable in this particular case. I could make the code more accurate, but I'm fine with these readings and again, more than acceptable accuracy.