04/08/2021 at 19:10 •
I finally got the Rev.3 PCBs and the extra components to populate them. I decided to transfer the more expensive components from the Rev.1 and Rev.2 boards to save some money. This took some extra time, but worth it.
There are a lot of components, so it took some time to populate the board. I wish that I had ordered a paste mask stencil along with the PCBs as it would have save a lot of time with the solder paste syringe. I usually don't buy a stencil because it usually gets tossed when I have to do a revision.
The first function that I tested was that the battery LEDs did not light when a battery was not populated in the charging station. That works as designed.
Next, I tested the overall charging function (which should not have changed) and verified that the batteries in all four slots were being properly charged and the balance leads connected.
Finally, I tested the situation where three (or more) batteries are connected to the charger, but two of the batteries have swapped balance leads:
- I connected a 2.2Ah 3S LiPo into BAT1 and the balance lead connector for BAT1. This battery had a voltage of 11.7V.
- I connected a 2.2Ah 3S LiPo into BAT3, with a voltage of 11.6V, but connected its balance leads into the BAT4 connector.
- I connected a 2.2Ah 3S LiPo into BAT4, with a voltage of 11.93V, but connected its balance leads into the BAT3 connector.
I applied 100mA of charging current -- BAT3 LED lit, as expected. As the voltage increased on BAT3 the BAT1 LED turned on dimly. I put the scope on the BAT1 LED and found that it was oscillating with low duty cycle at about 200Hz. As I increased the charger current from 100mA to about 400mA the frequency increased and the duty cycle changed until the LED was no longer oscillating. This behavior was expected.
I increased the charging current to 1A, which is a more normal situation, and noticed that the BAT4 LED came on at full brightness when BAT4 began to charge. I backed off on the charger current and the LED turned off. When the voltage on the two charging batteries increased further the BAT4 LED lit. I was not able to get the BAT4 LED to oscillate. It appears that the Rev.3 design is functioning as intended and saving the balance lead PFETs from overdissipating when balance leads are connected improperly. I put my calibrated finger on the PFETs while they were experiencing current drain from the misconnected batteries -- I could not feel much increase in temperature.
At this point I believe that the design is pretty solid. I will publish the Gerbers and a BOM to the files section.
03/18/2021 at 18:16 •
I was nearly set to accept the second pass design as the final product until I started thinking about other stuff that could go wrong. I revisited the issue of when the user accidentally misconnects the balance leads between two batteries. I was completely wrong in my previous thinking that the balance lead PFET switches would survive -- they won't without some help. The problem doesn't become clear until you analyze what happens when three, or more, batteries are connected to the station and two of the batteries have misconnected balance leads. (The details section of this project must be corrected.)
Even before the charger is enabled, there is a problem. The lowest voltage battery will draw current from BAT1 and connect its balance leads to the charger balance leads. If two batteries have misconnected balance leads then it is possible for the battery with the higher voltage to have its balance leads connected to the lower voltage battery -- very bad.
What happens then is that the higher voltage battery dumps current into the low voltage battery without regard to any current limit. Fortunately, the internal battery resistance comes into play and the two batteries connect and disconnect at a rapid frequency until the voltages equalize, or the PFETs overheat and fail.
Things get worse when the charger begins charging the connected batteries. The added charger current tends to inhibit the internal battery resistance from disconnecting the balance leads and the PFETs fail quickly.
I verified the above scenario with simulation and experiments on the bench with controlled battery voltages. It's not pretty.
I think there is a solution. I added a comparator to sense if the first cell of a battery is above the voltage on the first cell balance lead that is connected to the charger and prevent the PFET switches from closing. This is a schematic of one of the channels with the comparator in place:
The MCP6546 is relatively cheap, open-drain, comes in a SOT23-5 package, and has built-in 3mV hysteresis. R61 and R62 create a voltage drop of between 70mV-100mV. If the batteries first cell voltage is higher than what is on the balance lead bus then the comparator pulls down on M56 and prevents the PFET switches from connecting. It's not foolproof. The battery voltages will eventually equalize and the PFETs will get connected, but there will be much less voltage and current to deal with so the PFETs should survive.
I seems to function correctly. I simulated it in LTspice with the schematic below:
A full blown implementation is too simulation intensive, so I simplified it a bit. The comparators are implemented with voltage controlled switches, S1 and S2.. I also had to use generic NMOS devices and diodes because the more complicated models were generating artifacts in the simulation. The charger is located in the upper-left -- just a current source and voltage clamp. I modeled the 2-cell batteries with large values of capacitance with 25m-50m Ohm series resistance tagged with an initial voltage condition.
The result of the simulation is shown in the plots below:
The full charging cycle takes place in 50ms. When the charger is engaged at 4A, it begins to charge the battery with the lowest voltage, BAT3, at full current. When BAT3 rises to 3.5V/cell the current begins to share with BAT1, but BAT1's STAT pin is held low by the comparator. This is normal charging operation because the STAT pin doesn't affect the behavior of the LTC4412. Note that BAT1's balance leads are not connected to the balance lead bus. Neither are BAT2's balance leads connected due to the mis-wiring.
When the voltage of the two batteries gets within 200mV of BAT2 (at about 34ms) the comparator allows the balance leads to connect and STAT1 is asserted. This causes current to flow from BAT2 into the other two batteries through the balance leads. Note also that the charger is not charging BAT2 at this point since its voltage is not equal to or below the other two batteries. The current through the PFET switches is less than 0.5A, which they can survive as a continuous condition with only 12.5mW of power dissipation. The balance leads of BAT1 are still not connected because the LTC4412 for BAT2 has not asserted its STAT pin.
The charger continues to charge the batteries until the voltage equalizes on all three batteries (at about 38ms). Then the STAT2 signal goes high and now all the balance leads are connected. The charging cycle will complete normally now.
Other Pass 3 changes:
I decided to add some circuitry to inhibit the charge LED indicators from lighting up if there was no battery present. There is a pullup resistor, R56, connected to the GND pin of the balance lead connector. The voltage at that pin feeds the gate of a 2N7002 NMOS transistor, M64, with it's drain connected to the STAT pin of the LTC4412. If there is no battery present M64 keeps the balance leads disconnected and the LED turned off. This is also helpful if the balance leads are attached before the battery lead since no current can flow inadvertently through the balance leads until the battery is connected to GND.
R60 and D17 provide ESD protection for M64.
03/10/2021 at 03:21 •
Not much to report about with these new PCBs, but I did learn something.
I added a LED to report the charging status of each battery. Unfortunately, I did not account for how dominant the BAT1 connection is. Here is the problem:
- If BAT1 is not the highest voltage of all the connected batteries, then when the charger begins to charge the unpopulated battery LEDs light up. I expected this.
- If Bat1 is the highest voltage of all connected batteries, then when the charger begins to charge, the unpopulated battery LEDs are not lit. I did not expect this, but it is not really a problem since the user knows which batteries are populated and can discount any activity from the LEDs of unpopulated batteries.
It is still better to know which batteries are charging and which are not.
The addition of resistors into the GND connection of the balance leads did not cure the problem of the charger claiming that the battery was reverse polarity when the last battery was removed from the parallel charging station.
02/09/2021 at 18:07 •
This project was delayed by other priorities for more than 3 weeks. I decided that the most prudent way to proceed was to just populate the BAT1 channel and the 5V regulator to see if the charger complained about anything when I tried to charge a battery. Before connecting a battery, I measured some voltages at the gates of the balance lead FETs, the charger input, and the voltage drop across M1 (the ideal diode PFET). All the voltages appeared to be correct, and the drop across M1 was only 25mV with a 2.5A load current (that's 10mOhm.) I also applied >25V at the battery and balance leads to make sure they were capable of 6S LiPo voltages.
The charger (a SkyRC Q200) did not complain and proceeded to charge the battery (a 1.6Ah/3S LiPo) without issue.
Then I populated all of the PCB and began testing the parallel charging function. I was not very rigorous about this testing. Basically, I just attached BAT1 and BAT2 and started the charger. When the green light lit I checked the cell voltages to see if there were any outliers. I did the same thing when adding BAT3 and BAT4. After all of the batteries were in place and the MATCH LED was lit, I stopped the charger and reset the charger current to 4X the battery Ah, which in this case was 6.4A. This channel of the charger was limited to 50W, so I could only get 4.2A from the charger at 12V output.
I swapped out the 3S batteries for 4 850mAh 4S LiPos. I charged these batteries from about 3.8V/cell to completion -- it took 35 minutes. I immediately checked all of the batteries using the battery meter function of the charger:
BAT1 - 16.78V (4.19, 4.20, 4.18, 4.20)
BAT2 - 16.77V (4.19, 4.20, 4.18, 4.20)
BAT3 - 16.76V (4.19, 4.19, 4.18, 4.20)
BAT4 - 16.77V (4.19, 4.19, 4.18, 4.20)
The batteries are within +/- 10mV, which is a pretty good result (though I'm not sure that the charger or parallel station had anything to do with that result.)
The only "glitch" that I noticed was that the charger would complain about a reverse battery insertion when I unplugged the last battery from the parallel station. That may be a result of the balance leads not grounded on the parallel station board -- I did not want any ground loops.
I also tested it with an old SkyRC B6 charger (50W single battery charger) and it worked just fine.
As far as I can tell, after some pretty basic testing, it works as intended. After playing with it for a couple of days I have a list of small changes:
- Add LEDs on each battery channel to indicate how many batteries are matching so the user can increase the charging current to speed up the process, if desired.
- Add resistors to the balance lead grounds to possibly prevent the complaint from the charger about reverse voltage.
- Both right-angle XT-60 connectors had to be placed on the bottom of the board because I got the connectivity wrong. If there is a revision, this should be corrected.
- Make some right-angle XT60 to XT30 adapters to allow for some more room when charging LiPos with short leads intended for quad copters.