Introduction: Android Current Monitor for Automotive Parasitic Drain Diagnosis
I built this a long time ago to find out why my car battery would die after sitting for a few days..
It used to be as simple as pulling all the fuses and measuring the current draw on each one. cars only had a dozen or so fuses and they were easy to check.
Now there are 2 or more fuse boxes and 20 or so computers that talk to each other constantly. Not so simple anymore.
I built the software in MIT App Inventor studio. The code is shown here but the complete aia project file may be downloaded directly from my github site here.
Supplies
You will need:
- An ACS-712 Module rated to suit your needs.
- An HC-06 Bluetooth Serial Module
- a small Arduino board. An uno would work fine or a mini. I like the AT-Tiny85 but I just happen to have a lot of them on hand.
Step 1: AI2 Block Code
The Android software is pretty simple.
I do make use of TaiFunTools extensions. As can be seen in the screenshots they make simple work of taking screenshots and disabling the screensaver. Unfortunately that means I can't upload it to the MIT gallery.......
You can grab the project file from my github page here...
Someday I'd like to add scaling to the display and graduations on the axes. I did have a scale on the vertical axis but it is disabled in the designer. It was only for one sensor and I have to make 3 of them so they will switch with the module selected...
Data logging would be good for really hard to spot issues. Luckily all my problems were quick to duplicate. While talking about upgrades, maybe a better numeric display of the values. I even looked at using a seven segment font but I was more focused on fixing my car than adding features to the software.
If you'd like to add features you can import the code into AI2 or if you just want to try it out quickly there is an APK file attached that you can sideload.
The cyan trace is voltage and goes from 0V at the bottom of the screen up to the max voltage.
The red trace is current and is 0A at the center line of the display. it can go Pos(up) or Neg(down) from there up to the max current.
Attachments
Step 2: AT-Tiny85 Arduino Board
I used an AT Tiny85 board that I had originally published here in an instructable for a Pastel yard light. It can easily be programmed with the Arduino IDE. The board is available on Etsy here but with all the extra components needed it is easy enough to just hand wire on perfboard....
I've used many of these since I first got a couple of Tiny85 based Digispoark boards.
Rather than having the software poll for data I just used a small pot to control the pause in the main loop. I figured the device logging the data would add the timestamps to the data. If you make it poll for data then you can add a nice timebase slider to the app.
I had to add a small RC filter to the ADC lines to clean up the traces. Turns out the ACS712 modules respond pretty quickly. I noticed the "fuzziness" of the traces when connecting a battery maintainer to the car..
There are 3 different versions of the ACS712 module commonly available, 5A 20A & 30A. I ended up building two of these. One with a 5A and another with a 30A board. The 30A version is easy to spot as it has the larger fuse holder...
I use pot magnets attached to the base to keep them from moving around when I need to start the car. Also makes storing them easy...
Attachments
Step 3: Optional Low Pass Filters
I added low pass filters to the ADC lines measuring Voltage and Current. I thought it made the display crisper.
If you have an RC substitution box like this you can easily experiment with different values.
I probably could have done some averaging in software but for less than $.0.25 I chose the hardware route.
You can even make these switchable
Step 4: Optional External Bluetooth LED
I added an external led to the HC-06 module.
You can see in the pictures where I soldered 2 wires directly to the chip on the HC-06 board.
Not really needed but it does help to be sure it is paired correctly if you cant see the led on the module.......
Step 5: Finding a Suitable Enclosure
I picked up a bunch of these plastic project boxes from a surplus house really cheap because they had no lids.
No problem there I just 3D printed a lid with mounting ears for the pot magnets.
Any case you want would be ok as long as it's plastic so the bluetooth radio can connect...
Step 6: Using It
I made a small video of it connected to an ATV where you can see the lighting circuit draw...
You do have to pair your device first before loading the app.
- Tap the battery monitor icon.
- When the main screen appears Tap the Bluetooth icon in the upper left.
- It will list any previously paired Bluetooth device.
- Tap the device you wish to connect to.
- The main screen will appear with data streaming in....
You can see the inrush current of the bulbs and the battery voltage slowly dropping over time. There was a tine Harborfreight battery maintainer connected but that can barely supply any current...
I added the coaxial power plug to allow it to be powered from a standard 12V wall wart power supply.
That allows you to use it for testing other low voltage electronics and since the ACS module is fully isolated you can measure high side or low side current draw.
One very nice feature of the ACS module is it's bidirectional current sense ability.
I've even used this device to "watch" a HiTec Battery charger first discharge and then charge a battery.....