Hi, Stawel!
1) Concerning ADC mV measurment algorithm you are right. I understand, that 1mV resolution not possible with 10bit ADC, but averaging method you implemented realy increases voltage resolution (I think 2-3 mV actualy). In cheali-charger it realy works!
2) Concerning NiZn charging. I found manufacturers recomendations for NiZn charging process. Recomended strategy is constant current and constant voltage like for LiPo, but maximum voltage for NiZn is 1.9V instead of 4.2V for LiPo .
I used this type of battery about 2 years and found, that balancer is also nessesary for them, like for LiPo. It is no factory chargers for NiZn packs with series schems. All NiZn chargers charges cells individualy or in parallel. It is not suitable for me to disassemble battery pack every time. So I am interested in your open source project.
3) About factory IMAX B6 charge+balance mode. I soldered LEDs with 2kOhm resisters to each pin 25,26,32,9,11,16. LEDs flashes periodically during ALL charging process! So factory firmware version balancer works allways when LiPo battery is charging (not only at the end). Balancer periodically makes pauses for several seconds. I think during this pauses ADC measures real cells voltages on a balance port and knows voltage drops on balancing wires and plug.
4) Concerning charging+balancing at the same time problems.
1. ...............the voltages seen by atmega32 on the balance port are strongly affected .......VOLTAGE DROP on balancing wires and plug, causing by current throw balancing resistors (120Ohm/6=20Ohm). For LiPo this current is about 200mA. For NiZN it is about 80mA. This effect could be considered using 2 measurements 1-when each balancing resistor ON and 2-when it OFF. It will give us voltage error (voltage drop). We can use this information in programm and it won't "blindly" charging.
2. ..............when you discharge one cell on a lipo, the voltages on the nearby cells rises.......As I understand, It is not absolutely correct statement. Voltage rises on LOWER NOT SHUNTED nearby cell and decreases on UPPER SHUNTED cell. VOLTAGE drop subtracts from UPPER SHUNTED cell voltage and adds with LOWER NOT SHUNTED cell voltage. All middle shunted cell voltages are changing neglectable (only small residual current flows throw their balancing wires (If 1 shunted cell voltage is 4.2V and 2 shunted cell is 4.1V residual current is Ir=( 4.2V-4.1V)/20Ohm=5mA). But it also can be considered by 2 ADC measurement method (discribed above).
Thanks for hint about adding extra type NiZn battery to programm without changing Lilo mode!
I'll try to do this.
2. ..............when you discharge one cell on a lipo, the voltages on the nearby cells rises.......As I understand, It is not absolutely correct statement. Voltage rises on LOWER NOT SHUNTED nearby cell and decreases on UPPER SHUNTED cell. VOLTAGE drop subtracts from UPPER SHUNTED cell voltage and adds with LOWER NOT SHUNTED cell voltage. All middle shunted cell voltages are changing neglectable (only small residual current flows throw their balancing wires (If 1 shunted cell voltage is 4.2V and 2 shunted cell is 4.1V residual current is Ir=( 4.2V-4.1V)/20Ohm=5mA). But it also can be considered by 2 ADC measurement method (discribed above).
Thanks for hint about adding extra type NiZn battery to programm without changing Lilo mode!
I'll try to do this.no no, It's like I said: "when you discharge one cell on a lipo, the voltages on the nearby cells rises",connect a 20 Ohm resistor to a cell and measure the voltage on the nearby cells,You will see a voltage rise in the mV range.(I even asked a chemist by email what's going on, but never got an answer)But I'm not sure if it's really a problem.
Hi, Stawel!
I think, that all errors in cell voltage measurements in general caused by voltage drops on balance wires and plug. It also can caused by changing voltage drop on internal battery resistance when balancing resistor swithes on and cross talk between ADC chanels through 4051 multiplexer (MuR described. Thanks MuR!). I think that other LiPo phenomen which rises voltage on nearby cells during discharging other cells does not exist.
If synchronous charge balance mode (like in factory IMAX B6 firmware) is implemented, this significant errors (tens of mV) will take place only at first stage of process (balance resistors will be switched frequently). By the end of charging with balancing (when LIPo cell voltages will be close to 4.2V, or NiZn cell voltages will ~1.9V) this errors will be very small, because cells voltage unbalance overcome at first stage and balancing resistors will be switch on rarely. High precision cell voltage control at the first stage of charging when cell voltage is low( 3.7...3.9V(LiPo), or 1.6...1.7V(NiZn) is not very important at all.
Today I found one strange bug in my cheali-charger. I used LiPo storage mode whith 6S 5Ah battery. The first cell voltage was indicated "unknow" all the time. Other 5 cells voltages were indicated correct. It is interesting, that before and at first second I switched on the button "Start" it displayed correct voltage of first cell, but then disappeared and appeared "unknow". It's a permanent bug. It appears in other modes "discharge" and "storage+balance" .In other LiPo modes "charge" ,"fast charge" and "balance" it's ok.
Regards, mars.
I've added the NiZi battery type to the charger,but haven't tested it, unfortunately I don't have any NiZi batteries.2013/8/12 mars <buav...@gmail.com>
Hi, Stawel!
I think, that all errors in cell voltage measurements in general caused by voltage drops on balance wires and plug. It also can caused by changing voltage drop on internal battery resistance when balancing resistor swithes on and cross talk between ADC chanels through 4051 multiplexer (MuR described. Thanks MuR!). I think that other LiPo phenomen which rises voltage on nearby cells during discharging other cells does not exist.
If synchronous charge balance mode (like in factory IMAX B6 firmware) is implemented, this significant errors (tens of mV) will take place only at first stage of process (balance resistors will be switched frequently). By the end of charging with balancing (when LIPo cell voltages will be close to 4.2V, or NiZn cell voltages will ~1.9V) this errors will be very small, because cells voltage unbalance overcome at first stage and balancing resistors will be switch on rarely. High precision cell voltage control at the first stage of charging when cell voltage is low( 3.7...3.9V(LiPo), or 1.6...1.7V(NiZn) is not very important at all.
After implementing communication with the monitoring software (probably LogView)I'll rewrite the balance-charge procedure.
Today I found one strange bug in my cheali-charger. I used LiPo storage mode whith 6S 5Ah battery. The first cell voltage was indicated "unknow" all the time. Other 5 cells voltages were indicated correct. It is interesting, that before and at first second I switched on the button "Start" it displayed correct voltage of first cell, but then disappeared and appeared "unknow". It's a permanent bug. It appears in other modes "discharge" and "storage+balance" .In other LiPo modes "charge" ,"fast charge" and "balance" it's ok.
Regards, mars.This is actualy not a bug, the voltage during discharge falls below 0V (on the first pin)
so the ADC can't see it, the measured voltage has a big error, so it's not dispayed.But it's not a big problem when discharging.I'm changing: "unknown" to "n.a."