Accutool, the Turnigy Accucell 6 data grabber

The Accucell charger is one of many clones of this kind. They all seem to be similar, but a bit different. I only have Accucell 6, and developed this tool for it. If it works on another charger, please, let me know!

The hardware interface

If you have one of those chargers, you need to enable the "USB" output. This can be found under the "Program" menu. Do not try to connect our USB-UART converter until you have done this, as the output is temperature probe and might not be healthy for the driver or the converter.

The 'USB'/Temperature sensor switch

Also note, that the newer chargers seem to be missing this feature. I have bought a new one from Hobbyking sometime in 2013, and though it has nice lithium-anything internal resistant measurement, it does not send the data out (I guess the fault is only in the firmware, as the hardware seem to be identical).

When you have the output set up, the rest is simple. Connect the TX pin to RX pin on your converter, and GNDs together. Ensure your converter can handle 5V output from the charger!

UART pinout.

Install

The package is available via git (gitweb available):

`git clone git://git.krakonos.org/accutool.git`

There are few files, the Accucell.pm module, which handles the low-level stuff and the accutool executable, which is the front-end. You will need perl with some reasonable packages installed (the non-standard ones are Device::SerialPort and Text::CSV::Slurp).

Usage

Once you have everything connected, and the charger starts charging/discharging, it will send report every ~3s to the serial output. It's binary junk, but accutool will translate it for you. Suppose your charger is connected at /dev/ttyUSB0. Let's start capturing data.

krakonos@muskox ~/projects/accutool $ ./accutool -l foo.log -s /dev/ttyUSB0
Waiting for process start. got it
> 0,0,4,10,80,1,0,10,0,0.1,0.1,0,1,0.2,0.1,0,2,2,1,2.01,10,3,1,1,0.9,0.1,0,1250,0.10,4.14,000,000,12.33,000,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0,14900,36
[...]
Charger gone inactive, finishing...
Done reading file! Here are some stats on your battery:
  Battery capacity    6.94 Wh
        or            1.83 Ah
  Average current     0.20 A
  Average voltage     3.79 V
  Total time spent    9.16 h

After this, on of you these few stats, you have all the data in file foo.log, as a CSV. You can edit it, or throw it back into accutool to generate nice gnuplot chart:

krakonos@muskox ~/projects/accutool $ ./accutool -s foo.log --gnuplot vt,it,cap 
Done reading file! Here are some stats on your battery:
  Battery capacity    6.94 Wh
        or            1.83 Ah
  Average current     0.20 A
  Average voltage     3.79 V
  Total time spent    9.16 h

Here -s means to read from file, --gnuplot vt,it,cap means to plot voltage/time, current/time and capacity. The default is to display the result via the qt terminal. If you want it in file, use the -o option.

Sample gnuplot output (png).

The plot style is heavily inspired by the internet, unforunately, I don't remember the source. If it seems familiar, drop me an email and I'll gladly give you credit!