• Howdy! we're looking for donations to finish custom knowledgebase software for this forum. Please see our Funding drive thread

Converting cheap China SMPS into Li-Ion charger


1 mW
Jul 23, 2022

I've been reading all throughout threads like this one and this one but could not really find any concrete ways to hack a 'hiccup' SMPS so as to make it behave like a 'current limited' SMPS (despite the comprehensive work and explanations from #heathyoung, #fechter and #NeilP)

I am currently trying to hack a Meishile SMPS S-200-36 to make it charge a 10S4P Li-Ion battery pack (880W).

I first tweaked the RV1 pot to tune Vout up to 42V (10S4P/Li-Ion) : quite easy, no need to adjust the TL431 bias resistors to offset the adjustment, RV1 was sufficient to obtain 42V.

Then I tried to tweak R1 (Isense resistor) to make the SMPS stop hiccuping once it's connected to the battery pack (the initial current demand is surely in excess of 5.5A, resulting in the PWM controler to hiccup for protection).
From the initial 0.1R value, I tried 0.2R, 0.5R but also 0.05R down to 0.02R ... to no avail, still hiccuping.

Meanwhile, I also reverse-engineered the PWM controller and DC output stages of the SMPS to make everything more clear in my mind ...
But now, I am stranded ... I don't know what to do or test more so as to master the hiccuping.
I am pretty sure the initial rush current demand from the Li-Ion BMS is not that high (certainly >5.5A, though) and is definitely transient
I also think that the SMPS mosfets could temporarily cope with it ... well, that's my guess ;)

Has someone any clue ?
True current limiting is tricky if you want to maintain a specific voltage.

However you can reduce the voltage differential so during CC stage you just stay a bit above where the battery is at...

Some know how to add resistors, or use thinner wire gauge but to me that's fire risky.

Best really is to buy devices that have proper current limiting built in.

Bad for the batteries to charge too fast also.
> True current limiting is tricky if you want to maintain a specific voltage

No, I don't ...
I just want the SMPS-charger to stick to & follow the battery voltage as long as the CC phase lasts.
Then, once reached 42V, the CV stage starts and the charging current slowly decreases.
I can assure you that this is the way all Chinese SMPS with a 'current limiting' feature work, I already hacked a lot of them !
I am quite sure that this 'hiccup-featured' S-200-36 SMPS would behave like that too ... if it weren't for its bloody hiccupping !
You'd need to change the design so that instead of shutting down on overcurrent (probaby by stopping PWM), it reduces voltage (by reducing PWM duty cycle instead).

IIRC that's what the stuff in the first post you linked is supposed to do for that Meanwell PSU, but my brain is too tired to hold enough of the schematics in my head and compare them right now. :(

Typically there is feedback from the output stage (secondary, DC output) back to the input (primary drive side of the transformer) via an optocoupler to help accomplish this.

This is the datasheeet for a version of that PWM control chip; I don't know if it's exactly the same one or not:
View attachment 188 433 _.pdf
Hopefully it will help figure out how the chip works in the system now, so you can create feedback from the output to just decrease the PWM duty cycle (lowering the voltage) rather than shutting PWM off entirely.
Thx for the .PDF, @amberwolf :thumb: , the one I had was not so exhaustive.

It definitely let me understand the problem maybe comes not from Hiccuping generated by the PWM controller but from the feedback loop (TL431 and opto-isolator FL817).

I noticed that when I connect a well discharged battery (e.g. ~35V) on my 42V-tweaked SMPS then the feedback loop will immediately start to OSCILLATE, hence the variation of the voltage output that I thought was hiccuping but that is maybe not !
The output voltage first decreases to ~35V (to match the battery voltage) but soon after a sort of LVP (low voltage protection) kicks in from the TL431 making the whole PS oscillate between zero-volt and 35V (protection ?).
Reversely, if I set the output voltage of the SMPS to say 38V (instead of 42V), this protection will NOT kick in, and the charging process will start normally, that is : NO OSCILLATION and PROPER 5.5A CURRENT (CC) flowing thru the battery !

As if the TL431 voltage detection cell was not correctly configured for 42V, which is probable since the SMPS was intially designed for 36V (S-200-36). I tried to tweak R15 and R12 but to no avail, so far.

Any clue ?
If the FB pin of the PWM chip variably controls the amount of PWM based on voltage input to it, then it means that on shutdown it is getting whatever voltage from the opto that causes it to do that. You'd need to change the input to the opto to cause it apply a variable voltage of the correct range to create the right PWM to give the right voltage output based on load, rather than shutting down.

I dont know enough about how the detection / reference circuit (that feeds the opto input) is designed to change it to do this...but you could reference the similar circuit from a charger or PSU that does work the way you want, to create the right circuit for this one to give the right feedback signal.

Alternately, look at the D/R circuit for a higher voltage unit of the same type, and see which components are different and in what way, to do the same kind of change to this unit's D/R.
I don't have much experience with these controllers, but isn't the max voltage for the TL431 36V? Now you've set the output a bit higher so maybe the TL431 starts conducting when it shouldn't?
amberwolf said:
...) it means that on shutdown it is getting whatever voltage (...) You'd need to change the input to the opto (...) based on load, rather than shutting down.

I am not quite sure I understand what you mean by 'shutdown', do you refer to the 'hiccuping' mode I am complaining about (cycling oscillations from 36V to zero-volt) ?
@thepronghorn yes I thought about that and I placed a zener in the supply line to reduce the A-K voltage but it hasn't changed anything to the oscillations ...
Here's a thread with some schematics to change a hiccup-mode meanwell psu to work as a charger; it might be adaptable for your purpose. There's also links to other threads with theory and info that may be useful.

@amberwolf : yes, that's been my roadmap for the past 3 weeks ... as well as this very instructional page !

Since I inserted a shunt resistor + BC347 NPN transistor across the TL431 regulator, I have no more hiccuping oscillations, the ouput current is now stable @5A or so once connected to my 880W 10S Li-Ion battery (I've used for the shunt a 4W/0.15R resistor that I had somewhere handy) --> 0.7V / 0.15R ~ 4.7A
I am now considering hacking a bunch of modded Meanwell SMPS's that sit on my shelves (they are set to 14.6V/20-30A). These SMPS are all 'hiccuping' and I suppose they won't hiccup anymore with this mod !
But as these SMPS's are supposed to deliver more current (20-30A) than the one I have just fixed, I guess that I will have to use very low value shunts, like 1mR and the likes, and then amplify the voltage across it with a LM324 opamp, so as to reach the 0.7V threshold required on the base of the transistor to short the TL431.

I will post my results here !
The Meanwell limiter circuit I designed will work for this. It uses a very low resistance shunt and a LM358 op amp to amplify the signal but otherwise works like your transistor hack.

I’m on my phone now so hard to find the thread.
@fechter : I owe you much you know, you saved my life after days of wandering :p !
I think (one of) the thread(s) you meant is this one ... do you think of anything else for me to read ?