DIY Electric Car Forums banner

NG3 chargers can't current limit on lithium batteries?

60270 Views 144 Replies 21 Participants Last post by  jollmo
We've been using an NG3 charger for the last several years to charge our lead acid pack. We originally had Electric Conversions install an optional low current mode switch on the NG3 so that we could charge on a standard 15 amp outlet while at work.

We're in the process now of upgrading our pack to lithium. Before we purchased the new batteries we had contacted Electric Conversions regarding modifying our NG3 to handle the lithium batteries. They said they would be able to modify the charging profile for our configuration.

Now, after just receiving the charger back from Electric Conversions we noticed that the low power option had been removed from our unit. They failed to mention this little detail to us. I contacted them and all I was told was we can't current limit on lithium batteries and it would take to much time to do. If you can current limit on lead acid why not lithium? If the hardware of the NG3 supports current limiting on lead acid it should be just as capable of current limiting on lithium. I realize that it might require a separate charging profile or something but it can be done.

My plan now is to figure out the profile programming of the NG3 and modify it myself. I have a lot of professional experience in reverse engineering electronic systems and feel that it can be done. I know a lot of people have been down this path before on here and have found some decent information. If anyone has information about the NG3 charger that would help speed up the process it would be appreciated.

Two lessons here, NG3s don't currently have a current limiting capability on lithium and avoid Electric Conversions. After reading some of the other posts on here, I'm not the only one to have problems with this company.
1 - 4 of 145 Posts
> 2. WRT the current calculations - my charger is 230V 19A in, 144V 18A
> out. Can I just use say 19 ma per bit rather than your 11 ma? or do I
> have to measure it?
> 3. Also, will I need to change the .047 divisor for the digital_pot_bits
> setting (line 154)?


The way I figured mine out was to hard code the digital_pot_bits (line ~152) to a specific value. I then enabled the output and measured the actual current with a clamp on current meter as well as the voltage that was measured by the chip on line ~172. This means using the debugger to view the current_bits in the watch variables.
Can I measure the current by using the heater trick? Can the charger limit itself even through a short? I guess the voltage will be wrong without having the pack though.

> I am assuming the Voltage constants won't need to change since it's
> still 144V...

Since you have a 144V system your constants should (I say should but I can't guarantee) be the same. What you have to verify though is that the voltage variable (line ~185) is seeing the correct pack voltage. The way to verify this is to measure your pack voltage with a meter, then use the debugger to get the voltage value seen in the watch variables.
So this I can't do until I have the pack set up. It's going to be a pain debugging this in the car - I'll need a 30 meter USB cable for the PICkit 3 :D
Switch positions 6 and 7 are the ones that work, not 3 or 4 as I originally thought. I'll figure out the switch later.
I also have a 16-pos switch - a PT65 506L508; the board it's on is labelled "ZR87A1s".

Switch Bit - Jumper - PORT C Bit
0          - AH     - RC1
3          - TP     - RC2
2          - C1     - RC3
1          - C0     - RC4
I believe this means (although I don't have my replacement chip yet so I can't test it - correct me if I'm wrong) that we (or just me if yours is different :)) should use

unsigned char get_switch() {
      return TP << 3 |
             C1 << 2 |
             C0 << 1 |
See less See more
Unfortunately, I don't have a switch on my board so I won't be much help.
Sorry - this was aimed at RWAEX, who mentioned that he has a switch that sounds like mine.

Anyway - I've now received my chip, and have plugged it all in on the bench. With nothing plugged in to the charger output, should I be able to see the voltage? The internal A/D input is getting readings (0xBD), but I'm not seeing anything on the actual output connector.

I guess this is where I need some light-bulbs or something?

[edit] More about the rotary switch - I seem to have it right, except that I don't get TP (should be the high bit of the switch value) set i.e. I get 0-7 twice as I go from 0-F on the switch. I'll be checking that I have the switch installed correctly, but does anyone have any other suggestions? (the switch works correctly - checked with a meter...)

[edit again] I may have found the problem - the initialisation function sets ANSELC = 0xE6 (line ~285) which if I'm reading the datasheet right is making LED1/2, SOFT_START, and RC2 into analog inputs (the 0x02 bit is ignored). I changed it to 0xE0 and now I get 0-F from the switch. This would presumably be different if you're going to use a temperature probe on the TP input, which I assume is its original purpose.
See less See more
Dave - I think I'm going to wait until I have the batteries hooked up - a combination of worsening eyesight, somewhat shaky hands and trying to use meter probes to poke tiny wee pins surrounded by high voltages leads me to think that I might be better off when the things I need to probe are bigger :)

If I hook up the batteries, and then set everything as low as it will go and work up, I hope I won't be able to damage anything...

Bob - if it matters, your numbers lead me to believe that your switch is the same as mine. You should find the following subsets:

Program   C0.C1  Switch
1         0.0    0,2,4,6
2         0.1    8,10,12,14
3         1.0    1,3,5,7
4         1.1    9,11,13,15
In any case, I'm probably going to remove the hex switch and use one of the jumpers as a BMS HV cut-off just in case, and one as a switch to select 10A or 20A charge rate.
See less See more
1 - 4 of 145 Posts