Author Topic: B3603 DC/DC Buck Converter mini review and how the SET key could be fatal...  (Read 172511 times)

0 Members and 3 Guests are viewing this topic.

Offline baruch

  • Regular Contributor
  • *
  • Posts: 78
  • Country: il
I haven't attempted to progress at all on this project. I've switched back to another project of mine with a friend. I'm following the progress here when it's done and will be happy to compare notes if someone wants to discuss something on the topic or try my firmware on his device.

I have never bothered to implement the button control at all, I since learned that I was missing some option flag to take away the SWIM port for the button and I might get back to make the buttons work as well but that will have to wait a bit.

I also never really made the screen work since both of the units that I have had their screen go bust, or at least one has the screen busted and one has the regulation busted. I might try to replace the inductor and see if that would help on the regulation busted device or take the screen from that unit into the screen busted device.

I also got now the 0.1Ohm 3W resistors I ordered and can probably test and calibrate the current control. For some reason my multimeter shows these as 1.6Ohm and I have no idea if the meter is wrong or I got wrong resistors.
 

Offline Rick LawTopic starter

  • Super Contributor
  • ***
  • Posts: 3487
  • Country: us
...
I also got now the 0.1Ohm 3W resistors I ordered and can probably test and calibrate the current control. For some reason my multimeter shows these as 1.6Ohm and I have no idea if the meter is wrong or I got wrong resistors.
...

Just so you have a gauge to see if your DMM gone to the nut house:

Best would be if you can de-solder the 0.05 ohm and use that as guide.  But I did some measurement of stuff in circuit so you can compare without de-soldering.  The B3603 is disconnected without any external wiring.  The screws (of Vin/Vout grounds are screwed in firm) without any wire in them.

These are REL numbers - ie:The probe resistance has already been subtracted off
Of course such small resistance is hard to be precise. 

(1)
I measured the resistance between Vin ground and Vout ground at the screws of the connector block - DMM probes against the screws at the top and the screws are in firm w/o cables.  The 0.05 ohm is still in circuit.  That resistance between the two grounds at the screws (top) should be about 0.07 to 0.09 ohm.  Note:  I first shorted the two grounds (Vin ground and Vout ground) briefly to eliminate any possible remaining charge in any capacitors across this is in-circuit measurement.  Between the two ends of the 0.05ohm in-circuit I got 0.05 to 0.06ohm.

(2)
Between pin 11 and Vin Ground top-of-screw is about 0.01 ohm to 0.03 ohms.  Pin 11 connects to the low side of the 0.05 ohm via a short trace about 1-2cm which then connects to Vin ground plate.  So that 0.01 ohm is really the trace+pinHeader connection resistance.

(3)
R13 is a 100ohm, that resistor in-circuit measures 99.3 ohm on my DMM.  R13 is just next to pin 13 and pin 14 on right of the female header pins.

Those are the "low ohm numbers" I can see on something we mutually have.  If you found another thing on the board you want to measure and compare, just post it here or PM me, I will measure it so you can compare.

Hope this helps in determining the sanity of your DMM.

...
I also never really made the screen work since both of the units that I have had their screen go bust, or at least one has the screen busted and one has the regulation busted. I might try to replace the inductor and see if that would help on the regulation busted device or take the screen from that unit into the screen busted device.
...

If you have a scope, do put the internal 5V to a scope and see if you observe spikes and how high.  Per datasheet, the opAmps in there are only rated to 6V.  The shift registers are rated to 7VI had spikes as high as 7.6V.  I suspect that is the reason my LED display doesn't work anymore.  The individual segments of the LED works when I apply power to them individually (well, kind of, 2 segments lights up), but the display doesn't work.  I think the 7.6V spikes I had on Unit1 killed the shift registers and made some damage to the opAmps.  Even with the controller from Unit2, it is more noise than Unit2.  So I think the shift registers are dead.  I just can't get a good connection of my scope to it when the board is plugged in.  I may just replace the shift registers and see what happens.

If you do have spike nearing 6V, take out the inductor and use an external supply.  Up until yesterday when I got my replacement XL1509, I was using an external regulated 5V power supply.  That works very well.  In my case, I took out the XL1509, but taking out the inductor should also cut the 5V so you can connect the external 5V to pin 9 to 12 as ground and pin 13 or 14 as +5V.

I have ordered a pair of shift registers and I will make an attempt to repair my unit 1 (original one with dead LED).

I haven't attempted to progress at all on this project. I've switched back to another project of mine with a friend. I'm following the progress here when it's done and will be happy to compare notes if someone wants to discuss something on the topic or try my firmware on his device.

I have never bothered to implement the button control at all, I since learned that I was missing some option flag to take away the SWIM port for the button and I might get back to make the buttons work as well but that will have to wait a bit.
...

I made some progress but my "control buttons" on my Arduino based controller is just a routine to set an integer value to input specific variables.  That allows me to control Vout at +-1mV.  My slope/intercept is hard coded.

The stumbling block I came across is noise.  Without serial active, I can get my DMM/ADC to read +-2mV to +-3mV of the voltage I set.  Both DMM and ADC do averaging on samples.  Looking at the output on the scope, the output has a 80+ mV noise.  It is in general about 20%-30% higher than the stock controller.  At some settings, the stock noise would be 130mV and my controller would be 150mV-ish.

So that begs the question, what is the point of having +-1mV (15 bit PWM) setting resolution when the darn thing is sitting on top of 100mV noise?  That kind of "cooled my heels."

...I might get back to make the buttons work as well but that will have to wait a bit...

My big thing was serial - both monitoring and perhaps receiving control signal via serial.  Once serial is active, I get about another 100mV+ instability - a pulse of higher voltage at the frequency of Serial.print() which I do at screen update every 500ms.  In eliminating the LCD, I took that down to just Serial.print().  But Serial.print() causes much higher instability than the LCD.

USB serial presents a ground level problem.  The controller will be sitting at ground that is I(out)*R(sense) below external ground.  To avoid that, I got the Nano working with Bluetooth.  Bluetooth adds over 100mV+ instability to the system even when not serial-printing.  So I am  at 200mV instability without printing.  At Serial.Print (connected and printing), every 500ms, I get a Vout delta of 300mV or more.

I could probably solve all those problems.  I can separate the controllers: Volt-controlling function with one subsystem and the I/O with another subsystem.  Even if that works, I would still have at around the stock-controller level of noise - that would be +-100mV-ish.  The increase level of resolution (15 bit PWM) would have been worth it if it could be achieved by single simple system.  But when it needs multiple subsystems to eliminate interfering noise from each other (16bit adc separate, 15bit pwm separated, I/O subsystem separated, screen management separated due to ram limitation...).  All that trouble would make it difficult to be worth while.

I started this Arduino controller so I can get a quick replacement to my dead LED.  That worked but not so user-friendly and not so noise-free.  With none of the other things I want being easy, I too am taking it slow - doing it for fun alone instead of hoping to making it useful soon.  Fun and learning doesn't need a return.  Doing it for use means the usefulness has to exceed the trouble of making it work.

Rick
« Last Edit: April 12, 2015, 04:00:28 am by Rick Law »
 

Offline baruch

  • Regular Contributor
  • *
  • Posts: 78
  • Country: il
Thanks for the test points, they measure out quite the same (1 was equal, 3 was 88.8), I re-measured my resistor and it is hard to get a steady hand but sometimes I can get it to show numbers at around 0.1 to 0.4 and other times it fluctuates. When I tried last time I used another probe with aligator clips and that was constant but measured 1.6, maybe the clips are the problem.

I don't have a scope to measure the noise and am not that concerned with the noise level for now to worry about it.

I stopped at the buttons stage since I mostly wanted the serial for automation. If the serial is causing noise and the shared ground is yet more problems you can consider using opto-isolators for the communication part and disconnect the laptop from the b3603.
 

Offline Rick LawTopic starter

  • Super Contributor
  • ***
  • Posts: 3487
  • Country: us
Thanks for the test points, they measure out quite the same (1 was equal, 3 was 88.8), I re-measured my resistor and it is hard to get a steady hand but sometimes I can get it to show numbers at around 0.1 to 0.4 and other times it fluctuates. When I tried last time I used another probe with aligator clips and that was constant but measured 1.6, maybe the clips are the problem.

I don't have a scope to measure the noise and am not that concerned with the noise level for now to worry about it.

I stopped at the buttons stage since I mostly wanted the serial for automation. If the serial is causing noise and the shared ground is yet more problems you can consider using opto-isolators for the communication part and disconnect the laptop from the b3603.

You are welcome!  You now know it was not your DMM going nut-so...  #1 being same is good.  I purposely went as far from the low-side of the 0.05 as I can to get close to the 0.1ohm.  That being the same is a good thing.

Testing the internal 5V is less to reduce the noise but more to ensure no further damage.  I think my Unit1 was damaged by the 7.6V spikes.  I didn't know I had an issue until the LED display died.  I am almost sure (but not positive) that the dead of the display and the extra noise is caused by the 7.6V spike from the internal 5V.

I already ordered (and received) the opto.  Thing is, it gets too complicated to be worth while as a "do for use" project.  So, I am treating it as a "do for fun & learn" project.  Any of these "extras" would have made it even harder to fit on the "top board" form factor.  So I got a lot less excited about it now that I have a replacement to work with instead of just the one with the dead display.

I have an idea about separating the PWM generation.  I will give that a shot later today.
 

Offline baruch

  • Regular Contributor
  • *
  • Posts: 78
  • Country: il
I'm now playing with an STM8S103F3 unit I received (ordered 2, got 5) and looking to maybe make it into the next control board by using a rotary encoder and a two-line LCD screen. I got the rotary encoder working so now I have up/down and a switch, if I can get the I2C working with the LCD I'll have an improved unit in terms of control and state.

I needed to use a variable power supply for some testing and found that while the serial is great for automated testing I need manual finger based control for simple cases like that.
 

Offline Rick LawTopic starter

  • Super Contributor
  • ***
  • Posts: 3487
  • Country: us
I suppose we should not be surprise that there is revisions on a design.  Since I blew the display on my first unit, I now have a second which I also blew but less bad.

I just noticed these two units are slightly different.  These are the differences I noticed so far.

Top (component side) view:

1. The inductors and the capacitors are of different color.  The buttons are different.  Those may be a good indicator of vintage.

2. The inductors for the internal 5V are removed for repair, note that the capacitor there are different value.  If I read it right, Unit 1 (left) uses 100uF and Unit 2 uses 220uF.  I have a through-hole inductors I am using (waiting for Mouser for part).  The same inductor on Unit 1 is 1/3 more noise than when on Unit 2.  Note that both units' internal 5V was shorted.  Unit 1 for one or more times.  Unit 2 shorted once.  Unit 1 went through stress test and more abuse, so the noise delta may be due to other reasons.

3.  Look at R11 R13 at the lower-right corner of the bottom-board.  There is an extra trace there for unit 2.  I have not yet discern where that goes.

4.  On the LED/MCU board, note that Unit 2 has Rx Tx Vcc Gnd printed on the PCB and unit 1 has nothing printed.

Bottom view:

1. Unit 1 serial starts 20130 (left), unit 2 serial starts 20135 (right), so I assume unit 1 is older than unit 2.  Unit 1 is ordered from a supplier in the USA.  Unit 2 came from China.  But I don't know if unit 1 is the older design.  (I got unit 1 first).

2. The logos are different

3. The traces on the left of the logo (to pin 9 to pin 16) are different.  Further up around Vout, the traces are different.  Unit 1 has pin 9, 10, 11, 12 all connected to the ground plate right at where the pins are soldered.  Unit 2 has pin 9 and 10 connected to the ground plats, and pin 11 and 12 are connected to R050 (low side) at the same point where the trace came down from top layer to the same ground plate on the bottom.

4. The traces under Vout are different (top left side of the board bottom)

5. Shift registers on Unit 1 are removed for repair of the LED display.  Waiting on parts.

I have to trace the identified the trace differences to see if it is a merely a layout change or actually changed connections/components.  There may be more differences

 

Offline Asim

  • Regular Contributor
  • *
  • Posts: 171
I wonder if there is noise difference between the two versions .

Another project is consuming my time, but will get back to this project
« Last Edit: April 19, 2015, 08:19:24 pm by Asim »
 

Offline Rick LawTopic starter

  • Super Contributor
  • ***
  • Posts: 3487
  • Country: us
I wonder if there is noise difference between the two versions .

Another project is consuming my time, but will get back to this project

I can tell you for sure there is a noise difference, but I don't think I can quantify it.  It may not be significant.  I will know more once I repair both units - unit 2 bottom board and unit 1 top and bottom.  I am waiting on parts for permanent repair.

I know I cannot quantify it because I unknowingly ran unit 1 in damaged state for a while, so there may be other unknown damages thus results may not reflect an undamaged board with new layout.

Let's call the "internal 5V" supplied by the XL1509 circuit I5V for short.

Having temporarily repaired the I5V with through-hole parts instead of SMD, I am able to match unit 1 and unit 2's I5V performance (noise profile).  I can only match them if I change unit 1's 100uF output capacitor back to 220uF like the older-design unit 2.  By measurement, the 100uF give 10-30mV more I5V noise but better transient response (Better transient response according to theory but not tested.  That might have been the reason for switching).

Intellectually, I know the I5V noise will work its way to Vout.  In working the Arduino based control board, I can see in reality the I5V noise directly affecting Vout noise.  But, I5V noise is dampened at Vout - ie: 30mV I5V noise has less than 30mV impacts on Vout.

I am waiting on the real SMD parts to finalize the repair.  I know I can repair the bottom boards.  I am hoping unit 1's top board repair works as well so I can test them as a package (instead of using unit 2's top board on unit 1 which is only half the picture.)  I'll know more once the next round of repairs are done.

Stay tuned, I will share with you what I am about to learn.

Rick
 

Offline Rick LawTopic starter

  • Super Contributor
  • ***
  • Posts: 3487
  • Country: us
OK!  Got the inductors from Mouser & Shift Registers from Tayda at the same time.

Both my B3603 are back!  They were damaged by shorting the internal 5V.  Immediately after shorting Unit2's 5V, I noticed a sudden increase in noise and decrease in Vout stability while working on the Arduino based control board.  I hunted the problem to the internal 5V.

Unit1: dead display, sick internal 5V
Unit ran for a long time before I knew of the damage.  Even when the LED display burned out, I did not realize the internal 5V damage until Unit 2 was damaged.  The internal 5V has 7V to 7.6V sharp spikes at XL1509 switching frequency.  After repairing the internal 5V, I attack the dead display.  The shift register was what died and killed the display - it is now back!  I am pleased my diagnosis was right.

Comparing to oscilloscope printouts I used to begin this thread, it is has a less noise than now - that could be due to a modification made or  I might have taken those print outs after I shorted the 5V the first time. 

Unit 1 is better than before but not as good as unit 2.  Unit 1 and unit 2 has the same XL1509 noise profile but has more Vout noise than unit 2, I assume this is due to possibly the OpAmp while didn't died with the 7.6V spike but is now less perfect.

Unit2: sick internal 5V
Unit2 is now comparable to before damage.  This unit I noticed the short right the way and briefly.  5V was spiking to just around 6V.  The display was working.  Unit 2 is about 10% less noise than unit 1.

* Modification made

The internal 5V supplied by the XL1509 works the internal OpAmps and controls.  Noise in the XL1509 will work its way to Vout.

Unit 1 and Unit 2 are different revisions.  On the XL1509 Unit 1's revision changed the capacitor from 220uF to 100uF perhaps to increase stability.  I experimented with increasing the inductor and the capacitor to decrease noise with the XL1509 and thus reduce Vout noise.  I found using 200uH with 220uF works great with noise but transience response may be too slow.  It could and did occasionally go into oscillation.  100uH with 220uF seem marginal as its stabilty depends on which 220uF capacitor I used.  Figuring the 20% tolerance was at play, I use a known "below nominal" capacitor.  I have a 220uF measured at just 180-190uF.  Using this "185uF" and a 100uH, I found it very stable and the XL1509 noise profile matches that of unit 2.  Unit 2 has the other revision with 220uF.

If one really want to trim the noise a bit, one can get 10x100uH and use the highest, or get 10x220uF and use the smallest.  Experiment with 120-150uH is also a possibility.  Using a known below-nominal capacitor as I am now may be ill-advise.  So, I think I may want to try 150uF and or other caps next time I order parts.
 

Offline Rick LawTopic starter

  • Super Contributor
  • ***
  • Posts: 3487
  • Country: us
I just did a small hardware mod  >:D

One problem with the b3603 is, if you connect power, the output will be on for a small period of time (even if the unit is turned off). This is a hardware bug, and happens because the 5V switching reg is starting up too slowly to disable the LM2596 from the beginning.

Solution: solder an additional pull up resistor between pin6 (easier access tha ~OE) and Vin+ on the bottom board to ensure that the output is off and remove R16 on the top board. This resistor has to be at least 10k, because otherwise you could exceed the absolute max injected current of the stm8 with 40V Vin. I used a 100k resistor. R16 has to be removed, because otherwise we'll get an unintended voltage divider.

Quote
Did anyone evaluate the dynamic performance of this device?
If noone does it, I'll test it at the end of next week. Btw we should be able to tweak the performance by changing R34, R35, C14 (current) and R20, R19, C10 (voltage).

@baruch I think you got the idea behind my drawing

I updated the schematic again, because the bottom board had lost it's component labels. ::)

@Flex, I am about to implement this hardware mod.  Any ill-effects you may have noticed since you made the change?

Thanks
Rick

EDIT (2015.04.28)  Anyone else tried this mod?
I just did the mod and it doesn't not seem to work.  It works only if the system has been off for a while.  When the system was off for just a second or a few seconds, this mod doesn't work.

- I have a push button Vin switch to turn ON/OFF
- an LED+resister at Vout - no switch at Vout

If the system has been off for a while (minutes), it works.  If the system was off for mere a few seconds; switching on Vin, I can see the LED blink on for a second or so.  Seem muted (not staying on as long) with the mod, but the pulse of power came just the same.
« Last Edit: April 28, 2015, 10:40:15 pm by Rick Law »
 

Offline icpart

  • Regular Contributor
  • *
  • Posts: 66
  • Country: bg
Hi guys. Very interesting thread. Too bad that I see it to late.
I draw most of circuit some time ago, but I have only handwritten drawings at moment on A4 papers. If someone interesting I can scan them and post them here.

For now i will start to read from beginning the whole thread. It seems to be very interesting postings here  :).
 

Offline rr100

  • Frequent Contributor
  • **
  • Posts: 339
I just want to say this is a fantastic little bugger!
I was always fascinated by those universal power supplies that could deliver (very, VERY roughly) 3-4.5-6-9-etc volts but this is just a dream. I tried to get by recently with a "USB" powerpack that also had 9 and 12V output but this just isn't the same. Beyond all the details about precision, noise levels and so on this is getting the job done. I've had the stupidly old Microsoft mouse not recognizing the NiMh battery after a long vacation ... feed it 1.5A for a 20-40 seconds and we're back in bussiness. I've got a "female Dell power connector" in the mail and this small thing is coming with me! It'll charge/power anything up to 15V or so while provide more info than any other "normal" charger/power supply.
 

Offline Rick LawTopic starter

  • Super Contributor
  • ***
  • Posts: 3487
  • Country: us
I just want to say this is a fantastic little bugger!
I was always fascinated by those universal power supplies that could deliver (very, VERY roughly) 3-4.5-6-9-etc volts but this is just a dream. I tried to get by recently with a "USB" powerpack that also had 9 and 12V output but this just isn't the same. Beyond all the details about precision, noise levels and so on this is getting the job done. I've had the stupidly old Microsoft mouse not recognizing the NiMh battery after a long vacation ... feed it 1.5A for a 20-40 seconds and we're back in bussiness. I've got a "female Dell power connector" in the mail and this small thing is coming with me! It'll charge/power anything up to 15V or so while provide more info than any other "normal" charger/power supply.

Welcome to the club (of B3603 owners)...

Actually, it will do well beyond 15V.  It will go all the way to 34V (I've tested) and should go by specs to 36V.  Just make sure your Vin is at least 3V > Vout and Vin<40V.

The noise level is better than my initial post - typically about 10-30% less noise than the scope pictures I posted.  My first unit has a problem that I was not aware of, and since fixed.  It was the LED dying that alerted me of the problem and tracked it down.
 

Offline rr100

  • Frequent Contributor
  • **
  • Posts: 339
Thank you for the welcome!

And thank you for the work you put into this, I would say at least one order of magnitude above the people who actually wrote the manual... not that I'm complaining about them, not at all - I'm sure having a decent technical writer on payroll would mean doubling the price...

I said 15V because I plan to use it with (work) laptop's power supply, this is my dream portable "lab" CV/CC power supply. If needed probably I can use it with two 15V laptop power PSes (I don't know how well they take it but shouldn't be so bad, especially that we're talking much lower currents compared with what they're designed to do).

I'll report with more thorough tests and real numbers but I can't complain about mine. It does pretty well voltage-wise under 1V (well, not really down to 0) and for lower values is about 1 (at most 2) counts out; for larger voltages it is about 1% or better. Can't complain.
 

Offline Rick LawTopic starter

  • Super Contributor
  • ***
  • Posts: 3487
  • Country: us
Thank you for the welcome!
...
I said 15V because I plan to use it with (work) laptop's power supply, this is my dream portable "lab" CV/CC power supply. If needed probably I can use it with two 15V laptop power PSes (I don't know how well they take it but shouldn't be so bad, especially that we're talking much lower currents compared with what they're designed to do).
...

I use 2 laptop power bricks.  I have a 15V (low noise) which I connect normally.  A 19.5V when I need a bit higher voltage.  And when I need really high, I would serially connect the 15V+19.5V.  This is what I use to get the 30V out required for calibration.

On one occasion (just to see if it works), I connected by two 19.5V giving it a 39V - just below the 40V max.  The 39V in get me the max 36V out.

Word of suggestion if you intend to gang up the laptop power-bricks to make a higher voltage V-in.  Serial connect the power-bricks first and measure the combined Vout before you plug it into the B3603 as V-in.  At no-load or low-load, some of them gives much higher voltage.  I have heard some laptop power bricks having 3-5V swing.   So, if you have a pair of 20V each with a 5V swing, you end up shooting 50V into the B3603.  That will cook it.
 

Offline Asim

  • Regular Contributor
  • *
  • Posts: 171
It has been three months since my last post, during that time I worked out some problems with the code, received the ADC & DAC, designed a PCB.

But for some reason the DAC didn't work with me so I ditched the project for a month or so.( i was frustrated with the DAC)

I came back to it and now I setteled on using the 16 bit pwm as my " alternative DAC"

I got it working and by today I have a semi functioning uncalibrated unit. I will post some photos tomorrow or after tomorrow when I get the chance, for now I will just sleep 😁
 

Offline Rick LawTopic starter

  • Super Contributor
  • ***
  • Posts: 3487
  • Country: us
It has been three months since my last post, during that time I worked out some problems with the code, received the ADC & DAC, designed a PCB.

But for some reason the DAC didn't work with me so I ditched the project for a month or so.( i was frustrated with the DAC)

I came back to it and now I setteled on using the 16 bit pwm as my " alternative DAC"

I got it working and by today I have a semi functioning uncalibrated unit. I will post some photos tomorrow or after tomorrow when I get the chance, for now I will just sleep

I had some issue with the DAC also (12 bit MCP4725).  Perhaps the low pass filter for Vout-Adj and Iout-adj & the ADC seem to be interfering each other causing some mild oscillation.  I too switched over to PWM on the ATMEGA.  I use 15bit PWM instead of 16; matching the resolution of my ADC (ADS1115).

Mine got to a state where my controller is working well to 15bit resolution but no RS232, and the UI merely suitable for "test-mode".  I kind of abandoned the project because it was like enhancing a laptop's 1024x800 display to 1600x1200.  Could be done but so much has to be done that makes it not worthwhile.

My big thing was logging and RS232 control.  I had problems with noise when Serial.print() is going.  I had hope the Bluetooth would change the picture since I cut the common ground with the PC, but it didn't help.  Serial.print() was changing the V+ on the controller enough that the PWM-integration changed ever so slight and got magnified when it get to Vout.  Mostly, it was impact on how the rise-time of the PWM.  Sometimes, it won't fully rise before fall should begin.  I considered a separately powered PWM generation circuitry, but that is just too much to make it worthwhile at least for the time being.

This Arduino-based controller for now is my "when nothing else more interesting found" project.
 

Offline Asim

  • Regular Contributor
  • *
  • Posts: 171
For me it is worth it to continue this project, the portable B3603 mod I did before is my only power supply at home, it served me well and it lasts for 2 months with one charge. That's why I want to improve it so it has a better user inteface while keeping the small size of the unit.

Attached is the orginal pcb i made that uses the dac, i am still using the same board, nothing a bodge wire and resistors and capacitors can't fix
 

Offline rr100

  • Frequent Contributor
  • **
  • Posts: 339
What controller you used to charge/protect you LiIons?

Asking just out of curiosity, having some portable "lab" power supply was quite a sexy idea, however I can't imagine when I could use it in "real life". I do have plenty of "naked cells", e-bike power packs and so on but there is just something special about this 50g thing you can use together with a laptop power supply to do any job under 15V or so, any voltage, charging LiIon, trickle charge car battery overnight, etc.

Before this I've had in my ultra-portable kit a bus pirate and a TTL-PC serial voltage converter. The bus pirate could actually feed quite safely 3.3V and 5V (you could even charge a couple AAs in a pinch, or do many things with a bit of wire and scotch tape) but this, this is taking it to a totally new level. Both in terms of power an usability.
 

Offline Asim

  • Regular Contributor
  • *
  • Posts: 171
What controller you used to charge/protect you LiIons?

Asking just out of curiosity, having some portable "lab" power supply was quite a sexy idea, however I can't imagine when I could use it in "real life". I do have plenty of "naked cells", e-bike power packs and so on but there is just something special about this 50g thing you can use together with a laptop power supply to do any job under 15V or so, any voltage, charging LiIon, trickle charge car battery overnight, etc.

Before this I've had in my ultra-portable kit a bus pirate and a TTL-PC serial voltage converter. The bus pirate could actually feed quite safely 3.3V and 5V (you could even charge a couple AAs in a pinch, or do many things with a bit of wire and scotch tape) but this, this is taking it to a totally new level. Both in terms of power an usability.


Here is a post I put some time ago, it shows the the power supply unit & the charging circuit ( it is a module I bought from ebay) 
 

Offline PeterFW

  • Frequent Contributor
  • **
  • Posts: 577
  • Country: de
    • Stuff that goes boom
Hello!
Do you have to save the calibration?

I have run through the calibration routine and the unit works like it should but after power cycling the unit resets and the factory calibration is loadet again (wich is out of spec).

Greetings,
Peter
 

Offline PeterFW

  • Frequent Contributor
  • **
  • Posts: 577
  • Country: de
    • Stuff that goes boom
Ok... after a bit of dicking around, after i thought i have nothing to loose i found it.

Select "F5" and then change to "Y" with the up/down keys and hit "OK" to save it.

Edit:
The INA226 i put on the output makes this thing nearly "self calibrating", if you can call a cheap chinese board that.
« Last Edit: April 21, 2016, 03:29:23 am by PeterFW »
 

Offline Rick LawTopic starter

  • Super Contributor
  • ***
  • Posts: 3487
  • Country: us
Glad you find the problem.  The UI is indeed lacking.  Coupled with the small 4 digit 7 segment LED which doesn't give a lot of feedback, it is hell to use.

I found that you often have to calibrate the HI (30V), then go back to LOW (2V) a few cycles to get to the closest. 

Bare in mind, you should adjust the display accuracy first (F1/F2) so it is displaying the voltage as accurate as possible, then go do the regulation part (F3/F4).  Otherwise, for example, if your display is off by 10%, adjusting the regulated voltage to match the display will result in it being 10% off.

Rick
 

Offline PeterFW

  • Frequent Contributor
  • **
  • Posts: 577
  • Country: de
    • Stuff that goes boom
Glad you find the problem.  The UI is indeed lacking.  Coupled with the small 4 digit 7 segment LED which doesn't give a lot of feedback, it is hell to use.

Indeed, when i first got the unit i was happy to see it had a UART port and thought that i can maybe remotely control it.
That would solve so many problems.

Quote
Bare in mind, you should adjust the display accuracy first (F1/F2) so it is displaying the voltage as accurate as possible, then go do the regulation part (F3/F4).  Otherwise, for example, if your display is off by 10%, adjusting the regulated voltage to match the display will result in it being 10% off.

Thanks!
I shorted the output to calibrate the current reading and put a resistor on the output to get the current regulation.
Is this the way it should be done? As far as i can tell, the unit seems to work reasonably well now.
 

Offline Rick LawTopic starter

  • Super Contributor
  • ***
  • Posts: 3487
  • Country: us
As far as I can tell, the UART is connected to the MCU.  But it is either ignoring it or the commands are so cryptic I cannot figure out how to get it to communicate.  I managed to read a character from it during power up/down at 38400,N,1 (If I recall the setting correctly).  That could be just noise in the system.  I don't recall exactly.  I tried sending it 'B' for begin, and continued to cover the entire alphabet.  I tried some guesses like "V=1.234".  It was fruitless.  I have abandoned the effort.

- - -

As to current reading calibration, you just need to make sure you have something to chew up the power it puts out.  You do need to "match" the reading with the real current, so you need a current meter or a DMM with current measurement.  Since you are doing it without a DMM, you may be doing it wrong.

You match the "real current" (DMM reading) with the B3603 display by adjust the display value to the real. 

Say your are doing the LO (200mA).  The B3603 will sets its output to 200mA, say your DMM said it is 250mA, so you adjust the display value to the "real" current which is 250.  Once you stop fiddling the value, the B3603 adjusts it output again to what it thinks is 200mA.  Say your DMM now say it is 195mA, you adjust the B3603 to read 195mA.  Now the B3603 increase it a bit again to what it thinks is 200mA.  Each cycle the difference reduces.  You stop when it starts to increase - do one more cycle which should bring the delta back down.  Typically, you would bounce around an error like 2 digits high or 1 digit low.  Once you get it to closest-match to the "real" reading from your DMM, you move to adjusting the HI.  (note: the first cycle I would leave it at +-2mA or more, read on).  For now, let say you matched it to exactly 200mA.

Now you adjust the HI value which is 2A.  Once that matched, you will find your LO (200mA) not matching again.  You do the LO again, but you would find the HI off a bit again.

Each cycle, the delta decreases.  Eventually, you got both HI and LO to as close to real as possible.  Once you are done with the display (ADC reading) part, you calibrate the output (regulation) part.  Adjusting that may have a small affect on the display part.  So you may want to do it again until the deltas are within your tolerance.

Do not expect both LO and HI to match exactly to real world.  Given that it is a 10 bit ADC, and the machine doing software over sampling to increase it a bit (I think probably to 12 bit).  It is is indeed 12 bit, perfect world would give you 1/4096 resolution which means you could in theory get all 4 digits to match.  But it really is not that stable so do not expect it to match exactly.  As you adjust, your current sense resistor (and your load resistor) would both heat up enough very quickly to mess up the reading anyhow.

I typically calibrate with a PC fan cooling it.  So when I need better current reading or running over 1.5A, I put the fan on.  Even with that, adjusting 2A/200mA is difficult.  It heats up during 2A adjustment and cools as during 200mA adjustment making it very taxing on your patience.

I upgraded the current-sense to a better one with better temp-co.  It helps but not by much.  Search back a few reply for a result-report on the current-sense resister replacement.
« Last Edit: April 21, 2016, 06:24:05 pm by Rick Law »
 
The following users thanked this post: PeterFW


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf