Autosensing charger?

I actually have no intention nor the time to work on something like this for now. It requires a lot of resources. That was just an idea which meant to use and build upon the great open source projects we already have.

There is nothing remotely close to proprietary in using an open source CAN protocol messages combined with an open source BMS :slightly_smiling_face: In fact DieBieMS already has a great CAN messaging system in place based on the Vesc, and all it takes is to expand on it. Everything is there to see.

7 Likes

If we used USB C PD input to an internal cccv boost then it would accomplish this goal, but super duper slow lol. For compact board where you don’t want a huge charger it makes sense, big boards should probably be paired with a large charger anyways.

You would still need to choose the charging voltage though. We’d just be supplying the charger with power a different way.

2 Likes

I said it was internal, so the PD charger always gives 20V or maybe 48V someday. Then the cccv boost inside the board would be set of the correct voltage always.

This isn’t really the point of this topic. Sorry to derail to the PD topic, it just kinda accomplished this universal charger idea.

1 Like

Yes, you you said internal but you did not say internal to what. I assumed you meant internal to the charger since that was the thread topic. But you meant internal to the board. In that case, I agree…USB PD offers a great opportunity for up to 100W-140W (as of now) charging.

2 Likes

I came to say almost exactly this idea above, but I’ve got an issue with (or I’m misreading) the second part on implementing it:

When you say switch the output on and off on a normal charger do you mean

  1. A fully normal 16S charger that just has a big mosfet after it controlled by the arduino, that high frequency modulates the power down to the correct level? or
  2. A power supply made up of many individual smaller supplies (in for example a ladder of 1S voltages) that can individually be switched on? So no high frequency, just on or off
  3. Something else

If it’s 1, you’d need a decent amount of design work to actually implement it. It’s not trivial to digitally filter the switched output of an already switch mode supply, and even more so to run the control loop without having unwanted interactions with the existing loop in the supply. I think it would require a decent knowledge of the donor/master/bulk 16S supply, and a high efficiency medium frequency high power mosfet plus drive circuitry, and a basic LC bulk filter, a bit like this

for number 2 idk if I’ve misunderstood, but it would be almost comically complex IMO. You’d need individual supplies that can be tri-state switched between series connection to the next supply, shunted to the output bus, or off. These wouldn’t need to be high frequency at all (relays could work but mechanical failure and physical size), but would need to pass at least a few amps each and withstand ~60V. They’d also need to each get their own logic out on the MCU with digital control coordinating the timing to avoid shoot-through, or do it analog and build in a bunch of predictable delay so transitions run in the right order, either way it’s work. On top of that, you’d need conservatively 4-8 separate mains fed converters. To get a 10, 12, 13, 14, 15, 16S selectable one you’d need at minimum 6 supplies of 3 different voltage outputs. In the diagram I sketched out the tri-state thing once and from there a red box indicates a copy-paste, and arranged it in a sort of sensible 10S + 1S + 1S… up to 16S.

Usual disclaimer: I’m not certain that I’m right here and am liable to miss something obvious, could be that I know just enough to be dangerous

4 Likes

What I was thinking of would fall into option 3 :stuck_out_tongue: Since I know the chargers I have gotten for my 12s packs work by providing a constant current until the target voltage is reached, I figure that a 1A 16s charger could be connected to a 12s pack as long as it was disconnected once the pack reached the 12s target voltage. So the Arduino would monitor the pack voltage and disconnect the charger at the appropriate time.

Idk exactly how the charger circuits are setup and if that would work without causing at least extra wear on the cells though. Id look into those things before attempting that kind of implementation.

4 Likes

Sounds promising. Why would arduino disconnecting charger be any different then the BMS doing the same thing? Am I missing something?

1 Like

It could certainly get close to working well, the main issue is that a normal charger doesn’t just go full ham until final voltage it has a characteristic curve that more closely matches the cell.

Veeery roughly: go full current (ie constant current mode) up until 80-90% charge, then the cell reaches its full voltage (constant voltage mode) but still takes a smaller current. This is CC-CV charging, constant current then constant voltage. If you cut off a charger designed for a higher voltage, it won’t have the CV section at the end. There’s been a case made in another thread that other charge curves work just as well/better/fine but just as safe/whatever, but IMO CC-CV is the better plan

1 Like

Definitely better if you want a full charge but simply cutting off at a selected voltage can also work. Doing this is the same as using a CC/CV charger but unplugging it when you see the pack has hit 50.4V (for 12S).

Using a 16S supply and cutting off at 50.4V (for a 12S pack) will give the pack an estimated 85%-90% charge since the slower CV stage, where the pack is “topped off”, is skipped. But that can actually help to increase the life of the cells (by how much I can’t say) if the reduced range you’ll get is acceptable.

3 Likes

Thats a good point. I dont use BMS’s so I didnt think of that but from what @mr.shiteside and @Battery_Mooch say, It sounds like you could just connect a 16S charger to a 12S pack that has a BMS that cuts off the charge port when pack voltage is reached and you will get close to a 80%-90% charge :thinking:

You just have to really, really trust that BMS to work properly.

Otherwise you’ll charge those cells to 5.6V each. That could cause a fire and complete destruction of the pack. It could even burn out the BMS (and then cause the pack to catch fire) since it might have been designed to only “see” cells charged up to 4.2V and each channel could have a 5V max rating or something like that.

The BMS could have a pack rating below 16S too. Go over that lower rating (12S?) and things could get ugly.

2 Likes