DIY Electric Car Forums banner

NG3 chargers can't current limit on lithium batteries?

60282 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 - 20 of 145 Posts
Thanks for providing the schematic of the NG3 control board. Now I have a chance to replace the board with one which I'll design using discrete parts. I have been retired for 20 years and never did learn programming so I have to stick with the old fashioned way. I was stonewalled by the NG3 rep when i told him I had changed to lithium. I was always hopeful to get the Zivan reprogrammed, but in the meantime I designed a charger from scratch. It provides 10 amps at 135 volts. It starts with a button and stops when the current reduces to 1 amp. The hot parts are built on a heat sink and there is a fan. So far, so good. I have been thinking of making a 220v version so I could increase the current to 15 amps. BTW, my car is the 914 that I bought from Steve, who has a blog with lots of details of the car. My charger is modular and i will include schematics of each of the 5 modules after I learn how to convert them to pdf files. They are now *.eps.
I was able to convert my files to pdf. Now they are too big to insert. I'll work on that.

I shrunk the files.


I have my PIC and I am trying to learn how to use the tools. I have downloaded MLAB-X and the HI-TECH compiler and they are installed. I was able to load the text file in Notepad and edit the voltage to 135 volts. My control card has a 16 position switch plugged into the pins next to the socket. While I was waiting, and before I started trying to program, i tried to get the charger to start without the micro in the socket. There was one line from the ADM chip which stayed down and inhibited it from starting. These projects are supposed to teach us some humility.

My NG3 was originally with my 914 when it had 20 6v batteries, or 60 cells. My charger is open and I can see that there are two 470k resistors connected to the battery plus terminal. One goes to pin 12 and the other goes to pin 15 on the control board.

I want to set one of my switch positions to have a minimum current such that I can turn on the charger with a light bulb load to determine the output voltage without having the battery connected.

I have MPLAB-X up and some files loaded. I found that I can edit ngc.c to change the volts and amps but I don't yet know that all the files are in the right place.

I have loaded MPLAB-X and the Hi-Tech compiler. After many false starts I loaded the program from the firmware file and I was able to see the ngc.c file. I edited the CV lines to lower the voltage to fit my car. BTW, my charger has a 470k resistor between the battery and the control board. I clicked on the build and clean tab and numerous errors returned. My charger has a 16 position rotary switch connected to the programming pins. Only the first four positions of this switch are used.

If anyone has any ideas how to proceed, I'd like to know.

I have learned a few things. When I went to the firmware folder and clicked on the red icon, the program opened in MPLAB8 and the only error I saw was that I didn't have my pickit3 connected.

When I installed MPLAB-X and loaded the mplab legacy project with the same red icon, numerous errors appear.

It seems better to try to proceed with the first option. I was able to edit the voltage to 135 v. and I may be ready to connect my pickit3 and the chip and run. The nice thing about MPLAB-X is that there is a lot of hand holding along the way and MPLAB8 looks like it's made for the pros.

I have my PIC and I have been struggling to understand it. Finally I am using MPLAB 8.4 and the compiler v9.8. Note that I downloaded the compiler as a Pro version but in the Lite mode. That is the only way to get the right version. Then I loaded MPLAB and the compiler on a computer that had not been contaminated and connected the Picket3. It told me I had no target so I connected the chip. I put the chip in a breadboard and applied 5v. I continued until the screen said "program verified". Next, I put the chip in the charger with a dummy load of 2 light bulbs in series and applied power. The result was a beep, no fan and a yellow light. Oh, I edited the c file to 135 volts and saved it before any of the above. Does anyone know what I should do next?

My charger is an NG3 which was originally used on my 914 with lead. It charged the lead to about 140 volts. When I went to lithium, I only wanted 135 volts for 40 cells. Zivan was unresponsive, so I designed my own charger, 135 volts at a maximum of 10 amps. With this design, I am able to set the voltage with no load, then press a button to start the charging. It shuts off at one amp. I used an available chassis to mount everything and it is too big to fit under the hood, which the Zivan does nicely. It would be nice if the control board in the Zivan were on a removable connector. For a fixed application, there is very little justification for Pic control, but I would surely try to use the Pic before I would try to rip out the present control board. There is also the intriguing possibility I could learn something about programmable hardware. If I do, I may never be the same again.

I think I posted that I got a beep when I plugged in the chip. I can't repeat that. The programming indicates that it is complete. In the debug mode it seems to hang at the sounder, whether I single step or run. I went back and tested the original chip and it still works as it did, which voltage is too high for lithium.

In the programming and debug modes I have the chip mounted in a breadboard. I did learn that I can supply 5v from the picket or not. I also used an external power supply.

I have been able to program the chip and the report is that it is successful. Then I switched to the debugger and used the animate mode. It slowed down when it got to the sounder so I lowered the numbers temporarily and then the program stuck trying to set up the A/D. The line where it stopped is where it says to wait.

BTW, my windows do not show line numbers and that would be nice while chatting about the program.

With my latest attempt to program, I got a beep and a green light. My selector switch is in position 4 for which I have the minimum current set to zero.

A switcher like this should be able to operate with a minimum load. I know the rule of thumb is for a bleeder that provides 10% load, but my charger operates with a much lower load. I am providing the Zivan with two 100w bulbs in series for a load. There is a battery sense line on the control card but it is apparently sensitive to a voltage too high.

I still don't have a good debugging procedure down. I have tried both the mplab internal and the picket3. When programming, should I be in release mode?

The Mplab internal debugger I referred to is Mplab sim, which one of the tutorials suggested using.

I have had success in getting the supply to turn on. 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 have voltage! With a load of two 100w bulbs in series, the supply comes on. I am able to adjust the voltage from 155 to 189, a good range but far too high. I got a beep to start, and fans are on. I still get a green light. Is that correct?

I have line numbers displayed so I can follow the instructions to make changes. Also, what is the procedure for erasing the present program to write in the modifications?
I misspoke. The red is also on, making it yellow. I think that means it is in the CV stage, which it is. The voltage is too high, so I think the reference must be too high. I measured the voltage on the A/D pin and it was 4.2. That seems too high so I am going to try to lower it.

I still have not figured out the switch. I changed line 186 to 45/1024+125 and that had no effect, so I changed line 145 to /60. With this. the minimum output is 132v and I can easily adjust it to 135v. Also, the voltage on the A/D pin is1.85. Should I change line 145 to a lower number? What other lines, including comments, need to be updated?

My car is fully charged so I will need to drive it a few miles to check the current limit.

I think the confusion over the pins is that the rotary switch has the digital inputs reversed from what this program is using. I will check the logic levels of the four digital pins versus the switch position and report that.

Here's some data on the rotary switch, if you have one.

Program position 1 is switch position 6
2 8
3 7
4 9

I don't think you should put a heater load to test the CV settings. At startup, the switcher sees the whole supply voltage and you may violate the safe area. On my charger, I blew several IGBTs until I realized I had too big an output capacitor. When the charger is connected to the battery on the Zivan, the output cap is precharged. On mine, I just used a smaller cap, which is only needed for open, or nearly open, circuit testing.

Crunchtime has a better representation of rotary switch positions. I will use positions 6,8,7,and9. My 914 originally had 20 6 volt batteries. At 7 volts per battery, that would be 140 volts, so if the choice were 142, that would probably be right. The original program arrived at this voltage in stages.

We should all be grateful to Dave for providing us with a method to modify the Zivan. I have my micro working now but it's not because I understand it. I have had trouble getting the voltage to match what I want for my lithium pack. I went back to the control board schematic. It's analog, so I can read it. I made some assumptions, one, that the digital pot would be centered, and two, that the analog pot would have the same voltage. This results in the a/d pin being 2.52 volts. For my battery, it results in a ratio of 54. When I changed the number from 72 to 60, I was able to adjust my output to 135 volts. I think I will change it again to 54 and test that.

These are the results of my charger now. I have changed lines 145 and 186 to reflect the lower voltage of my system. I did not change line 147 because I don't understand it. My output voltage is adjusted to 135 volts. The voltage on the adc pin is 1.86, which is lower than it should be. The divided voltage from the battery, which is on one end of the analog pot, is 2.36 volts. The 470k resistor on the board has a 5% tolerance so there will be a variation here.
When I plug it in, I get a beep and the fans come on. There is a momentary red light, then both come on. The load is two 100 w bulbs in series. I can use it like it is after I check the current limit when it is connected to the battery, but I think there might be some tweaking left to do.

This forum seems to have gone dormant. I have finally reinstalled my Ng3 in the E914 and here's how it works. The charger was adjusted with a 600ma load to 135 volts, using what I believe to be my most accurate voltmeter. The battery voltage had been run down to 133 volts. When I connected the charger to the battery and applied power, the current went to 12.35 amps and the red light came on. When the voltage rose to about 134.5 the yellow came on and the the current kept decreasing. I disconnected when the current got down to 300ma so I don't know at what current the device goes to idle. If I ever take it apart again, I'll set the idle up somewhat.

Thanks again, Dave.

1 - 20 of 145 Posts