Giter VIP home page Giter VIP logo

cheali-charger's Introduction

Welcome to cheali-charger!

This project is an alternative firmware to a variety of lipo chargers,
see hardware.

Don't use it if You don't need to
(not everything is implemented yet).

Any feedback is very welcome!
http://groups.google.com/group/cheali-charger

Features

  • Li-ion, LiPo, LiPo-4.30V, LiPo-4.35V, LiFe:
    • charging
      • terminates charging when the current lowers to 10% of Ic (by default, adjustable in battery settings)
    • fast charging
      • terminates charging when the current lowers to 20% of Ic
    • charging + balancing
    • discharging
    • balancing
    • storage
    • storage + balancing
  • NiCd and NiMH:
    • charging, method: -dV/dT
    • discharging
    • cycling
  • NiZn:
    • charging
    • fast charging
    • charging + balancing
    • discharging
    • balancing
  • Pb: - not well tested!
    • charging
    • discharging
  • Internal resistance display
    • single cell resistance
    • whole battery resistance
    • battery leads resistance
  • Internal and external temperature monitoring
  • Overcharge and overdischarge monitoring
  • Input voltage monitoring
  • Memory for 30 batteries
  • LogView support
  • CALIBRATION!

WARNING

Please CALIBRATE charger before use!
Use an external temperature probe
(if You like your house ;) )

ALWAYS connect the power supply first, then the battery!

ALWAYS disconnect the battery before disconnecting the power supply!

Hardware

WARNING: You can get two chargers with the same name but different CPUs even if you buy from the same seller.
Only chargers with a atmega32 or M0517LBN CPU are supported.

Atmega32 CPU:

  • G.T. POWER A6-10 200W
  • IMAX B6 Charger/Discharger 1-6 Cells
  • AC/DC Dual Power B6AC 80W RC Balance Charger/Discharger
  • Turnigy A-6-10 200W Balance charger & discharger
  • Turnigy Accucel-6 50W 5A Balancer/Charger w/ Accessories
  • Turnigy Accucel-8 150W 7A Balancer/Charger
  • Turnigy MEGA 400Wx2 Battery Charger/Discharger (800W)
  • Thunder T610 Balance Charger/Discharger
  • Redox Beta 50W 5A charger (at least later model with yellow soldermask)
  • ... many more

Nuvoton NuMicro M0517LBN CPU:

  • IMAX B6 Charger/Discharger 1-6 Cells

Unsupported due to old or uncommon CPU See #106

Usage:

After flashing your charger the first thing you should do is to reset the charger to its default settings ("options"->"reset default") and then calibrate it, now your charger is ready to use.

programming you charger:

  • select a free battery slot (indicated as 1., 2.,...)
  • go to "edit battery"
  • change battery type "Bat:"
  • set battery voltage (number of cells) "V:"
  • set battery capacity "Ch:"
  • set charge current "Ic:"
  • set discharge current "Id:"
  • set time limit "Tlim:" (can be unlimited)
  • press "create name"

charing/discharging...:

  • select battery
  • select program: "charge", "discharge"...
  • you should see a "info" screen,
    (if you hear beeps, check your battery connections)
  • hold "start" button for 2s to start the program
  • charger is working now, press "inc", "dec" to see more screens
  • to exit the program press "stop"
  1. informations about settings
  2. charging NiMH and NiCd batteries

Calibration

Connect a NOT fully charged LiPo battery to the main leads
and the balance port, if you don't own a battery with a
balance connector, just connect a regular one (~4V)
to the main leads and the balance port first two pins
(pin "0" <--> Bat-, pin "1" <--> Bat+).

go to: "options"->"calibrate":

  • voltage calibration: go to "voltage"
    • use a voltmeter to measure voltage on all cells and the power supply voltage (Vin)
      and set voltage on Vin, Vb1, Vb2, .., Vb6
      • only Vb1 is mandatory, battery main leads and balance port must be connected
      • you need to change at least one value (this will copy V1-6 voltage to Vbat)
  • charge current calibration:
    • connect your amperemeter in series with the battery, use the 10A(20A) input
    • disconnect balance port
    • go to "I charge"
      • go to: "50mA" (100mA on some versions)
        press "start" button (current flow should be visible on amperemeter)
        press "Inc", "Dec" buttons until the amperemeter shows 50mA (100mA on some versions)
        press "start" button to save the setting
      • go to: "1000mA"
        press "start" button
        press "Inc", "Dec" buttons until the amperemeter shows 1000mA
        press "start" button to save the setting
        WARNING: the battery will be charged with high current!
  • discharge current calibration: go to "I discharge"
    Repeat the same steps as before
    WARNING: the battery will be discharged with high current!
  • when needed: external (or internal) temperature probe calibration: go to "temp extern" ("temp intern") You have to set two calibration points

Done.
If you have any problems with calibration, go to "options"->"reset default" and try again.

Troubleshooting

  1. After flashing I see "options" and some strange characters in the second line (for example: squares), what should I do?
    • reset the charger to default settings (go to: "options"->"reset default" and press the "start" button)
  2. I get "calib. error": see this.
  3. Occasionally when the power is turned on, the error "eeprom error: 2 yes" pops up (or any other number): see #291
  4. After flashing charger doesn't work (display shows squares):
    • download the *.hex again, use the "RAW" button in github
    • check the sha1 sum of the file, compare it with *.sha1:
  5. [Atmega32 CPU] Sha1 sum is correct and the charger still doesn't work (display shows squares):
    • reset atmega32 fuses using avrdude:
      • windows: avrdude.exe -patmega32 -cusbasp -Uhfuse:w:0xc5:m -Ulfuse:w:0x3f:m
      • linux: avrdude -patmega32 -cusbasp -Uhfuse:w:0xc5:m -Ulfuse:w:0x3f:m

Useful materials

Mailing list

If you have any questions or suggestions please write to us at: cheali-chargerATgooglegroups.com
or visit: http://groups.google.com/group/cheali-charger
The mailing list is open for all.

Have fun!

cheali-charger's People

Contributors

chaitanya1416 avatar cy-arduino avatar dkisselev avatar ireun avatar johslarsen avatar joshgarde avatar l29ah avatar leo-pl avatar mill1000 avatar mogoreanu avatar njozsef avatar s-trace avatar sasam avatar shafr avatar smeat avatar specing avatar stawel avatar sustmi avatar timgates42 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

cheali-charger's Issues

bal4 bal5 voltage not constant the calibration progress

Hi Pawel
I observed the voltage calibration cell4 and cell5 voltage on 200W and 400W chargers.
All chargers represents the effect.

If selected 4 or 5 cell, voltage increase +0,05V-0,1V
if deselect, voltage down 0,05V-0,1V

What is wrong
Best regards
Jozsef

Error flashing

I flashed my charger with hex file, it booted fine. Then I changed fuse bits like howto says. After that, I could not communicate with charger. It shows solid pixels on first row, blank on second row. I cannot flash charger or change fuse bits back. I just ordered a new charger because I think it is bricked. Please help me figure out what happened. I will spend time trying things. I checked connections, rebooted. I get the same response from the usbasp when the programmer cable is not connected to it. It is like it is not plugged in. I also posted to Google groups. Maybe we can prevent this from happening to other people? Thank you!

Turnigy Accucel-6

Is support for the Turnigy Accucel-6 also possible?
I might be a bit naive, but wasn't that also just a copy of the same basic design?
It was a clone of some common design, but it might have been a different family, I'm not sure now.

Different calibration value dependent used for calibration lipo cells

Hi Pawel.
Gyuri("reverse-engineer" for the 200-400W schematic) discovered the problem.

Measured data dependent for cellnumber:

sample values for calibration dependent different lipo cells.
50mA 1000mA
2S 259 3817
3S 261 3848
6s 264 3950
8s 266 4019

This problem not only for the calibration.
SMPS current is different too, but displayed current value it seems good, but ampermeter.
I dont understand: displayed value is a measured "real" value? Or simple reversecalibrationvalue from smps setvalue? (AnalogInputs::Iout)

value up to 10% different for 8 cells charger.

50W 6 cells charger error only 0.1-1%

This problem mathematically problem or other hardware design?

current measurement resistors:
50W-0.05ohm
200W-0.021ohm
400W-0.012ohm

Please help. Thank you.
Best regards
Jozsef

Balancer::isStable is not true. Need timeout or other....

Hi Pawel

I testing the 200W charger is maximal current (10A).
After up the 10A constantly 'm' character is displayed. Not B or other.
therefore not balancing.
m 1:3.900V
2:3.901V3:3.902V

If reduced the 9900mA is OK. 'm' is flashing.

please help me.
I think is good the timeout or other method.

Interest:
this situation each charging-mode

charging and charging and balance.

THX
Best regards
Jozsef

bool Balancer::isStable(const uint16_t stableCount)
{
for(uint8_t c = 0; c < cells_; c++) {
if(AnalogInputs::getStableCount(AnalogInputs::Name(AnalogInputs::Vb1+c)) < stableCount)
return false;
}
return true;
}

maximal charge current limited. Dependent calibration points.

Hi Pawel.
This bug is reconstruct method.

My accucel 6 good SMPS calibration point datas: 50mA=880, 1A=11000

steps: (need discharged 3s lipo)
lipo cht: 4400mA, ic:maximum_vaue

start charge:
stabilized Ic only 2927mA (should be 3968mA)

stop charge, calibration point (p2) decrease 5000. (this false value but does no matter (440mA))
start charge
iC 3927mA calculated value. Good calculation.

SMPS definition (temporary for testing)

define SMPS_UPPERBOUND_VALUE 65000

define MAX_CALIBRATION_SMPS_VALUE (SMPS_UPPERBOUND_VALUE/5)

I thinking (please teach me)
the problem is reversecalibration() method?

Thx
Jozsef

I overwrite the lines: on the Thevenin.cpp
//TODO:
// if(i > 32000) return 32000;
if(i > 65000) return 65000;
if(i < 0) return 0;
return i;

this is good idea?
I can see it works.

Discharge limit

Today I burned one mosfet with 200W charger and 4S lipo. There is no discharge amperage limit. It should be auto limited to 20W depends on voltage.

Storage or Storage+Balance is very slow the charge/discharge is done with less than 1C

I noticed that in the storage or storage+balance mode if the charger needs to charge the LiPo to reach the 66% of charge it doesn't charge it not even at 1C.
For example on a 1300mah LiPo it was charging at ~350mah and this makes the process take hours to complete. Shouldn't it be charging at least at 1C?

What I do now it to charge and stop manually around 66% and then run the storage program but if I get distracted and it passes that value then again I have to wait hours because the discharge rate is even more slow.

charge limit

I have this issue
I calibrate my accucell 6 , imax b6 clone , turnigy 200w and my icharger 106b+ whith the same Multimeter
when i charge a 4s with the Icharger , the charge on the battery is 16.810v
but the others whith cheali charger firmware get 16.780

Unsense keyboard

Hi Pavel.
I tested two charger (MEGA400 and accucel6)
Both charger produced the effect.

After charging+balancing complete and displayed "program complete".
wait etc 6 hours (overnight :-)

Morning: not sense the button press. (only power off and on again)

This is "secret keyboard lock" or ....

Thank you
Jozsef

current settings and working current not equal

Hi Pawel

my problem is own 200W and 400W chargers.
situation: setting C 8000 Ic 5000 (fully discharged battery)
after starting the charge, maximal current is 4500-4600mA

If reduce setting current 2200mA is also 1900mA charging current.

I messed up something? Or calibration problem?
I modified these charges p0 and p1 point (100mA-3A and 100mA-5A).
Thank you.

------2014.01.17.
Tested and measured Mega200x2 V2 and mega400x2 current control and current measurement.
I think that non-linearity the full scale the smps control or/and measurement.

possible solution the more calibration points (maybe 5-6 point) or Ignoring measurement (if possible)

Or displayed mA value not from Iout. (quick and dirty)

Does not work on a IMAX B6 - clone charger

Hi,

I flashed my IMAX B6 - clone charger like the pic shows
img_20140628
But the only screen I got is squares in first row and nothing in second row. Seems that the program does not work well.

I tried ‘cheali-charger-imaxB6-clone-0.32.hex’, ‘cheali-charger-imaxB6-original-0.32.hex’ (sha1 sum confirmed) and several ones in ‘njozsef/cheali-charger-test1’, and got the same results.

My fuse setting is BOOTRST: 1 (unprogrammed), EESAVE: 0(programmed). The charger worked well after flashing the ‘ImaxMod.hex’ or ‘noname_flash.bin.hex’ in ‘njozsef/cheali-charger-test1 / hex / stock_fw-s / stock.zip’.

Did I do something wrong or what else should I do? Thanks :)

runstorage need doubleclick to stop

Hi Pawel
for storage mode stopping need twice press STOP button.
If this is normal operation , then please close this issue.
Thanx
Jozsef

program.cpp:150
Strategy::statusType Program::runStorage(bool balance)

too fast serial speed with cp21xx serial-USB device

Hi Pawel
Today tested the logview the usb-serial cable with cp21xx chipset.
if serial data "debug" mode or "ext. debug".
19200baud good but samelost packet on cannel2, channel3 data.
Normal mode same lost some packets all speed.
Putty monitoring all ok all speed (dont understand)
Sorry the worst english.

one logview serial line is:
10:23:15,167 [A] $1;7;2789.9;11481;395;305;453;350;0;0;15227;3824;3944;3713;109;75;49;127;31;146;0;0;0;305;22;60

is line end normal? or crc problem?

red led is represent failed line (maybe). green led is packet ok.
http://www.youtube.com/watch?v=IPuHNE9njmA

other:
rx pin is common with fan control.

Interested implementation on arduino softwareserial library with tx only mode.
http://forum.arduino.cc/index.php?topic=112013.0

or avr sample
http://efundies.com/avr/avr_usart_init.htm

// Enable receiver and transmitter
UCSRB = (1<<RXEN)|(1<<TXEN);

Best regards
Jozsef

balance timer not stopped (v0.31)

Hi Pawel

Balance timer not stopped if the "program complete".
Only if "b" letter visible.
http://www.youtube.com/watch?v=QtdhZ49mARM&feature=youtu.be
Only if the "program end" and balance phase "b" is at once.

I guess it does not turn off the balance control.
After a long time the cells decreases volts 30 minutes after end at cell:4.14V. I measured current the main battery cable. zero.
Current measure on balance port i can not do it. there is no cable.sorry
may only lot of consume a cell-measuring device.

Hight capacity battery pack charghing+balancing stopped with too high end current

Hi Pawel.
I using the 32Ah pack for charging (4 parallel 8Ah 5s pack).
Th pack is new, perfectly balanced (I use the fantastic cheali software :-)

The pack charging but stopping because 2A the near the end (minimal balancing time but good condition new battery).
setup Ic: 20A. set capacity: 32000mAh.

It would be a good option "Supercharge+balance" charging mode.
I think with set lower setMinI=200mA or lower.
What do you think?

Thx.
nj

Current calibration button repaetely too high.

Hi Pawel

This is issue not one priority problem but safety notes.

if press and hold button on the current calibration menu
quickly exceeds the hardware limit.
should be off the button acceleration or keyboard repeat

Compatibility On Thunder AC680?

I also have this thunder AC680 that appears to have the same board
the software menus also are the same as the imax versions stock
do you think the firmware would also work?

p6280349
p6180322s

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.