http://opalkelly.com/

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

0 Members and 4 Guests are viewing this topic.

Offline Rick Law

  • Super Contributor
  • ***
  • Posts: 2084
  • Country: us
PREFACE

So, this little low cost ($15USD) MingHe B3603 DC/DC buck unit has been getting some interest here.  Initially, I merely waned to write a post about careless use of the SET key can be fatal to stuff connected to this unit.  However, this board is pretty good and I didn't want to just say something negative and leave.  So, this post grew into this "mini review".  The SET key issue is in Section III.3.

[attached picture of unit]

The B3603 is a digitally controlled CC/CV board providing constant voltage and current limit.  It accepts 6V to 40V input and outputs from 0V up to Vin minus 2V.  By spec, it can support up to 3A, but driving it at max would be somewhat wishful thinking.  I have done 2A sustained without problem, and 2.7A for brief period (15 minute-ish).  It may be able to run 2.7A sustained but I have not been brave enough to try.

In a nut shell, if you want to power some stuff within 5%, this is a great little unit.

I. How well is it built?
II. How well does it work?
III. Calibration
IV. User Interface
V. The Serial Port
VI. How noisy is it?
VII. Wish list
VIII. Last words

Typical first and second questions are: 1. How well does it work? and 2. How well is it built?   So let's get into the shorter of the two first.

I. How well is it built?

I will address the construction quality alone and leave the quality of the design to someone with more knowledge of electronic design and the schematic.

I.1 The good

The quality matches that of typical low cost Chinese boards.  The unit consists of two boards of different quality.  The main board is almost perfect visually.  The bad and the ugly are with the daughter card.  The daughter board with the LED and MCU is below par.  The spread of solder is about 90% consistent and parts are well aligned on both boards.

[attach picture top board side 1]


[attach picture bottom board side 1]


I.2 The bad

I found two problems, both from parts likely hand-soldered.  The four tac-switches have bad solder distribution.  However, even looking very carefully, I was able to found only one questionable joint visually.  The component side of the questionable joint has sure-good contact but the under side looks dry and insufficient solder.    The daughter card underside picture "top-board-side-2" has a yellow arrow pointing at the problem joint.  The second problem is with the pin header and is relatively minor problem: 1 of the 16 pins has visibly less solder.  Less but still adequate and it is certainly making good contact.  Doesn't look good but works.  (Next section will discuss the red arrows)

[attach picture top board side 2]


[attach picture bottom board side 2]


The SMD joints appear to have much better consistency.  They all have good shinny surfaces and all appear to have adequate solder and joint quality.  I can't find any questionable SMD joint to comment on.

I.3 The ugly

This problem appears to be common for this model.  I see the same issue on at least three different pictures each from a different eBay vendor - all appears to be on the daughter board only.  You can see it best on the attached picture top-board-side-2 (red arrows).   On top of the solder mask, there is reflective transparent enamel like protective layer.  The application of this layer is inconsistent.  At some parts, it lumps up, and at other parts it doesn't cover the board fully and the edge is dried and flaking.  The quality of the joints is good so with or without this protective layer I do not expect problems there.  It just looks messy.

[attach picture top board side 1]


II. How well does it work?

With this digital controller, the quality of the regulation remains with the buck regulator whereas the MCU's ADC and Shunt dominates the accuracy of the setting and of the display.  So, First, the component choice:
- MCU is STM 8S003F3 (10bit ADC +- 1LSB from page 1 of spec),
- Buck is LM2596S (+-4% from page 1 of spec),
- two MCP6002 rail-to-rail Op-Amps to do its work,
- two 74HCT595 shift-register to drive the two 4 digit 7segment LED,
- a 0.05ohm shunt for current measurement (probably 1%).

From the most up-to-date spec (2014 in both cases), the ADC with has +- 1 LSB error and the LM2596s (TI version) has load and line regulation of below 4% error.  Not knowing exactly how it uses the Op Amps, I cannot factor them in.

With 10 bit ADC, 1 LSB is 0.1% range which is small comparing to the 4% of the LM2596.  So if one assumes a perfect design, up to 4% error can be expected from these two critical components.  Unless you have really bad luck, the 1% component error in other components will fit inside the worst case +-4%.

II.1 How well does it regulate?

The voltage regulation is about what one would expect out of an LM2596s.  It is very similar to other Chinese made CC/CV boards I have.  The line regulation is good and the load regulation not so good.  That said, this board does better with noise than the other boards I have.

I use my UT61E as benchmark.  As necessary, I rounded the UT61E's reading to 2 digits after decimal to compare against the board's reading.  The UT61E was calibrated against the DMM-Check-Plus at 5V and 1mA.

At no or low (0-50mA) load, the UT61E measured voltage is < +- 3 digits of displayed voltage.  For example, if the unit displays 05.00V, my UT61E will read between 4.97V to 5.03V; and at 20.00V shown, my UT61E (with rounding) will read between 19.97V to 20.03V.  I have yet to see it exceed +- 3 digits (with rounding) at low-load and mostly it is +- 2 digits or less.

For a 10bit ADC, they are doing really well getting it to within +-00.03V.  Mathematically, 1023 counts for 36V translate to 0.0352V per count.  The observed deviation of <+-0.03V is below that of math rounding error alone even if we ignore the +-1 LSB and Op Amp error.  It would be reasonable to assume they use averaging and/or other techniques to improve the accuracy some.

The picture changes at higher current.
@0mA 8.67V is 8.696V  (on my UT61E)
@500mA  8.67V is 8.63V (0.5%)
@1000mA 8.67V is 8.577V (1%)
@1500mA 8.67V is 8.579V (1%)
@2000mA 8.67V is 8.494V (2%)
(During tests, the UT61E was connected to the board directly so any drop along the power-carrying cable is excluded.)

It is what I've seen with other LM2596 boards, when the load is heavy,   If I understand the LM2596s' spec correctly, load and line regulation is only within 4%, so the reading above is within the component specs.

I.2 Current

Current reading and regulation is considerably affected by the temperature of the shunt.  At higher current, the heat-induced resistance change come into play more and more significantly.  It needs a shunt with better temp-co and/or better cooling.

Initially confused by the readings, I added an ADS1115 to read the shunt directly displaying both the shunt's mV and use another MCU to translate the mV into corresponding mA.  The actual shunt voltage drop is accurately measured by the board when compared to my ADS1115 (PGA set to 250mV) and my UT61E's mV measurement.  However, the temperature change alters the shunt resistance making the mA reading wilder and wilder.

I use 4 readings for each comparison:
- Two for the internal shunt: the B3603's reading, the ADS1115 reading the shunt's mV and also translated to mA to display.
- Two "actual current output" with two different DMM's: my UT61E's mA/10A as direct current meter, and second DMM measures current using an external 0.1ohm shunt with cooling fan.

The B3603 and ADS1115 measurements match (since both are measuring the hot shunt).  The two DMM's current measurements also match each other.  But the 2 DMM's matching measurements are different from the ADS1115 and B3603's matching measurements.  That means the resistance of the shunt changed.

The internal shunt current measurement will start up matching (at low current and cool system) the external DMM/Shunt measurement.  As current increases and by about 1A, the reading becomes noticeable different (>5mA delta), by 1.5A the shunt get hot enough the delta approaches and exceeds 10mA.  The reading will continue to change for a few minutes until the shunt fully warms up for that level of current.   If I aim a fan at the internal shunt, the readings will close with the DMM mA measurement slowly confirming that the temperature of the shunt was causing the error.

While I have played with this most significantly, I did not collect Temp Vs Current data.  It took me a while to realize how much the temperature was affecting the reading so the early readings without temperature logged are basically useless.  Thus, I am left with my observations only.

My observation is that the reading (at low current) is within 1-2% of actual (using UT61E as mA meter and 10A meter).  At high current (1A+), it is within 2-3% of actual and increases as it gets warmer at higher current still.  With a fan on the B3603's shunt, it got better but not better than 1-2%.  If the unit is calibrated warm, it will be accurate at high current and error increases as current decreases.  Lower current does not creating enough heat to warm the shunt.

Total observation time is about 15-30 hours spread over a few of weeks with ranges from 0mA to 2.5A, and from 0V to 30V+.  I am comfortable in estimating current reading variation is 2-4%.

III. Calibration

The unit came calibrated well (meaning: I fiddle and fiddle and can't get it much better).  One can do more calibrations; however, accuracy is limited by the 10bit ADC.

III.1 Factory reset to get factory calibration

As wrong calibration can really mess up your day, when in doubt, "reset to factory" I found on the Chinese user manual is probably the best bet:
- Press and hold SET till you see F1.
- UP arrow to F6 and press OK to enter
- At r--n display, UP arrow to change n to y and press OK.

III.2 How to calibrate

Long press the SET key takes the unit into calibration mode.  The UP, DOWN allow one to choose from F1 to F6 and OK key enters that particular calibration.  While not inside F1 to F6, press SET again exits.

The other F functions are:
F1/F3, F1 for voltage reading, F3 for voltage regulation
F2/F4, F2 for current reading, F4 for current regulation
F5 is to save your calibration.

The calibration is done by repeating loops of telling the unit how far off it is at low and high.  Low and high points are 2.00V and at 30.00V for voltage, and 200mA / 1.2A for current.

So in each loop, you UP/DOWN the 2.00V to closest to actually DMM measured value (then SET and then OK), continues to the high to -change-SET-OK- and back to low.  You continue in this loop until both low and high points are closest to actual.  When both are closest, you would be pressing OK without SET as you would have accepted the displayed values without having SET to set a new closest.  This "only OK"is the signal to the unit you are doing with that particular calibration.  Once done, you UP key to the next F number until F1, F2, F3, and F4 are done,

The calibration is a frustrating exercise with F2 and F4.  The system is so busy with something unknown that it most likely will miss your UP/DOWN press.  Holding UP/DOWN too long however kicks it into REPEAT resulting in massive increase or decrease.  When it does that, now you have to start over: slowly getting it back to that correct value a bit at a time while it seem to tries its best to ignore your key press.

Credit: these info originally from a forum post in http://forum.fonarevka.ru/archive/index.php/t-15496-p-2.html
Author "SAV"wrote a brief description which I based my experiment on, and SAV credited the original info source as Jonathan at AtomicWorkshop.

III.3 Why is SET dangerous to the connected device?

Before I understood the undocumented F1 to F6 display, I mistakenly thought F1 was related to the extended function 0, 1, and 2 described in the manual under "Fully Functional Usage".  Instead, F1 is an undocumented calibration function.
 
I started the unit for normal use to power some 5V stuff.  After pressing SET a bit too long and F1 was displayed, this is what I thought:
- Extended function option 1 to enable load/store settings is on, fine,
- press OK to start
- 02.00(V) is now displayed, fine, the unit was set to 2V from last use.
- I need 5V, so I set it to 05.00, that looks good,
- press OK to go at 5V… Yikes!

This is what the system did when F1 was displayed:
- OK is pressed, go into calibration for F1
- the low point is 02.00 (Volts) so start sending out 2V for calibration
- User changed it to 0.500, fine
- OK is pressed, so user is done for the low point calibration
- Now start the high point, so send out 30V and show 30.00

Shooting 30V down 5V components is not pretty.  The first incidence I blew just a cheap TP4056 board and didn't even realize what I did - as I watch the blue LED dim, I just thought it was a bad TP4056 board.  Days later, the second time seeing the F1, 02.00, I reset it to the 5V I need then OK, it shows 30.00 and the loud pop that followed called me to action to learn what the F1..F6 means.  The partial list of casualties:
- 1st accident: TP4056 charger board (just this one victim the first time)
- My LCD (20x40) popped and smoked (the pop caused me to research)
- The I2C adaptor for the LCD
- The MCU
- The DS3231
- Adafruit ADS1115 breakout board

So, be careful with that SET key.  Don't press SET too long and if F1 shows up, power off and back on.

IV. User Interface

Awful until you get use to it.  It doesn't do much, but still can be confusing.  Read the manual carefully.  Error can be fatal to your equipment.

Be particularly careful holding the keys too long: holding the SET too long will kick it into calibration mode which with a bounce of your finger on OK will shoot out the most it can give to try to get 30V.  Enough to fry most 5V stuff with 30V.

If F1 or F(any-number) shows up, best to turn the unit off and start over until you are familiar with the unit.

V. The Serial Port

The unit has serial port.  Some units are labeled and some like mine is not.  The left most 4pin set on the daughter card is the serial.
Top VDD (square hole)
2nd Tx
3rd Gnd
4th Rx (botton)
By raw experimentation, I found 38400 7,N,1 shows "pppx"on power down but can't get it to response.  I suspect it is for initial testing/loading.  I can get as far as receiving "ppp"as a power down message but beyond that I cannot get it to do anything.


VI. How noisy is it?

It depends on your power source.  It will clean up your power source some, and add some from the unit itself.  For me, this one is the better than another LM2596 boards I have.

I found that when the source is closest (least bucking) to the needed voltage, my noise is least.  That may be just my laptop power bricks.  I found that the second worst is when I buck a lot and the number one worst is over drawn from the power-brick.  In general, I found the unit adds some noise and reduce some power-source noise.  Mostly, I get less noise than the original power-source.

First, my Hantek6022BE has ground noise of about 20mV.  So, the first 20mV may be from the scope's imperfection.  I use four power sources, and output at 5V 100mA, 5V via resistor to get 995mA.  For each output, I took two pictures one at higher frequency to show switching noise, the other at slow time division to show lower frequency noise.  I use a 56uF to filter out the DC to look at the noise alone.

At times, I am not sure I can call it noise.  As seen in the first group of tests using battery-power, since SLA has no component, the "source noise"come from the battery voltage drop due to load drawn by B3603 and not "noise"from switching or component noise in the power source for B3603.  However, the B3603's load will see it as noise coming from the B3603, so noise it is.
 
1. 12V SLA battery (and laptop on battery as well) to ensure I am not passing noise from power source down to the B3603 This one also shows 0V output that others don't.
2. 15V Toshiba laptop power
3. 19.5V Sony laptop power - this shows how B3603 performs when using power source with more noise
4.  15V Toshiba+19.5V Sony - this shows power source with even more noise.

GREEN trace is source and YELLOW trace is the B3603 output.  With that said, I will let the pictures of the scope display do the further talking about noise.

So, scroll down to look at the attached pictures...
[attach picture 0V from 12V long]
[attach picture 0V from 12V]
[attach picture 5V 1A from 12V]
[attach picture 5V 1A from 15V]
[attach picture 5V 100mA from 15V]
[attach picture 5V 100mA from 15V long]
[attach picture 5V 100mA from 19.5V]
[attach picture 5V 100mA from 34.5V]

VII. Wish list

- I wish calibration is entered by two-key simultaneous long press or during power-up only.
- I wish option settings would not require power up/down cycle.
- I wish it has both V and Amp are displayed at the same time.
- I wish it uses a rotary encoder to adjust the digit's value and the key changes the amount of each click of the encoder.  Perhaps each click of the encoder can be 1, 10, 100.  Holding it to go from 00.00 to 36.00 takes a very long time.
- A heat sink on the shunt would be good - or at least put the shunt where there is more air flow.  As it is, you can't do enough adjustment to have better accuracy with both low and hi current. I am thinking about doing that as a project, and make my ADS1115 to be an external display to this unit.  My ADS1115 can show current from shunt already, I can add Volts and Watts as well.

VIII. Last words

Not great nor lab grade, but for the $, it is very good, it is well worth around $15(USD).  Good value for the money.  Now that I know what the F1 is for, I would not mind this unit at all and would buy it again if I need another one.

Hope you find this info useful
Rick

EDIT: Typo on MCU partnumber.  Also, added temperature info as reply.
« Last Edit: February 12, 2015, 04:07:57 AM by Rick Law »
 
The following users thanked this post: bitwelder, Brutte

Offline poida_pie

  • Regular Contributor
  • *
  • Posts: 119
  • Country: au
Thanks for this good and informative review.
 

Offline baruch

  • Regular Contributor
  • *
  • Posts: 78
  • Country: il
I'm interested in seeing if I can make it work with the serial interface, so far not much success. I did find that the four bottom holes are for the STM8 programmer (SWIM protocol), there is a Vdd, Gnd, SWIM and RST which is all that is needed for this protocol. I don't have handy an STM8 programmer (STLink) but maybe someone has and can try it out.

I'm hoping to be able to read the firmware and try to figure from the code how the serial works. This also assumes that the flash is not locked out for read.
 

Offline rob77

  • Super Contributor
  • ***
  • Posts: 1821
  • Country: sk
nice review !  :-+ :-+ thanks for your time invested into this !  :-+

just one piece of advice ;) never ever have anything connected to a power supply (except a voltmeter and a dummy load of course) when calibrating/adjusting it ;)
 

Offline Rick Law

  • Super Contributor
  • ***
  • Posts: 2084
  • Country: us
nice review !  :-+ :-+ thanks for your time invested into this !  :-+

just one piece of advice ;) never ever have anything connected to a power supply (except a voltmeter and a dummy load of course) when calibrating/adjusting it ;)

Well...  I was not really trying to calibrate it!  It was the press SET key too long mistake that send me into the calibration mode.  (I edit the original post just now to make it clearer that I was not trying to calibrate.)  That is why I originally wanted to write the post to warn other B3603 users.  F1=fatal=frying component=... and has nothing to do with "full function" option 1.

Stupid UI, could have chosen anything else but F.  F just implies it has something to do with functions in fully functional mode that is in the user manual...  Still, it is a nice little unit.

Good general advice (on not connecting anything when calibrating) however.

(For this unit you do need to connect a power drain when calibrating current ... something that can eat 1.2A)
« Last Edit: January 20, 2015, 07:56:59 AM by Rick Law »
 

Offline amyk

  • Super Contributor
  • ***
  • Posts: 4935
CAL1~CAL6 would probably be a good message instead... and a CAL0 option to "exit without saving changes"?

Somewhat reminds me of this:
https://www.eevblog.com/forum/reviews/hakko-fx-888d-decalibrated-(doh!)/
 

Offline bdivi

  • Regular Contributor
  • *
  • Posts: 83
  • Country: bg
I bought myself one B3603 and ran some tests.

The unit seems well engineered including the software (which is not very common for Chinese design). Given one LED display and four buttons the interface is intuitive and easy to learn.

Performance wise the accuracy is pretty good out of the box and I even went trough one calibration cycle that made the voltages and currents to within one count compared to my meters. Surely the current shunt has some temperature coefficient but it stays within 0.3% from cold at 1A.

I am planning to put it in a box with a 20V laptop supply as an addition to my collection.

Overall very pleased with the price/performance.
 

Offline macboy

  • Super Contributor
  • ***
  • Posts: 1436
  • Country: ca
That "inconsistent" "enamel like protective layer" is no such thing. It is, in fact, just leftover flux from the hand-soldering of the through hole parts: switches and connector/header pins.
 

Offline Rick Law

  • Super Contributor
  • ***
  • Posts: 2084
  • Country: us
That "inconsistent" "enamel like protective layer" is no such thing. It is, in fact, just leftover flux from the hand-soldering of the through hole parts: switches and connector/header pins.

I couldn't tell what it is...    So I took a guess from my less than adequate experience.

I bought myself one B3603 and ran some tests.
...
Performance wise the accuracy is pretty good out of the box and I even went trough one calibration cycle that made the voltages and currents to within one count compared to my meters. Surely the current shunt has some temperature coefficient but it stays within 0.3% from cold at 1A.

I am planning to put it in a box with a 20V laptop supply as an addition to my collection.

Overall very pleased with the price/performance.

By the way, a fan does wonders in keeping the shunt cool.  I've been planning/assessing a shunt replacement, so I have been collecting some base line data.  Based on initial assessment, I see delta (with/without fan) at [email protected] and [email protected]  I will post more details after I analyze it further.
 

Offline bdivi

  • Regular Contributor
  • *
  • Posts: 83
  • Country: bg
Running furher tests on the unit I noticed oscillation in current limiting mode with currents above 1.5A.

This oscillation causes another weird problem: when increasing the voltage with 4Ohm load resistor the current can go all the way to 3A before droping to 1.7A, however when the voltage is already high (say 15V) connecting the load resistor imediately brings the current down to 1.7A.

I will play with the capacitors to see if there is an improvement - the original ones are far from high quality low ESR types that are required by the datasheet.
 

Offline Rick Law

  • Super Contributor
  • ***
  • Posts: 2084
  • Country: us
What follows is data on temperature of the shunt.

Preface

Because of my initial expectation, I did not collect shunt-reading data vs warming time.  So, up to this point I had no hard data other then recollection of observations.  I am considering a shunt upgrade, so I want to collect some hard data to help me make an assessment.

The data I collect is to see: at a fixed current, how much the shunt reading changes as it warm up or cool down and how long the heat up and cool down take.  The actual shunt-mA verses "real" measurement itself is not important as calibration can make sure they match at a particular temperature.

The setup is to load the B3630 with a fixed load, and use a FAN to cool it down (or not) at fixed cycles.  So fan On/Off makes the shunt cold/hot giving me an idea of how big a temperature-induced error it is, and how long it takes for it to settle.

I selected 1.96A for my first run based on my initial work.  From experimentation, the best cycle time is 8 minutes FAN ON (cool to equilibrium) and 35 minutes FAN OFF (warm to equilibrium).  Equilibrium is when reading stops changing: airflow cooling = heat gained by current flow.  A longer 8hr run was made at a lower 1.6A.

Summary of Results:

Doing calibration at different temperature cannot reduce the error; it merely changes the nature of the error.  Calibration done at high shunt temperature means error starts high and reduces as the shunt heats.  Calibration done at low shunt temperature means error starts low and increases as the shunt heats.

Assuming the system is calibrated at room-temperature w/o fan, if current jumps from <500mA (cool) to around 2A, you can expect current reading error almost immediately.  Error continues to increase as it warms for the next 20-30 minutes or so without fan.  The swing is about 2.7% at 1.96A, and 2.2 % at 1.6A.

With a good size fan (2.5" pc case fan 1-2inches from the shunt), the heat related error is not eliminated but greatly reduced to 0.8% at 1.96A amd 0.6% at 1.6A.  Without fan, the error is 3.5% (2.7+0.8%) at 1.96A and 2.8% (2.2+0.6%) at 1.6A.
 
At the initial 1.96A test, the regulator is too hot to touch.  At 1.6A second run, the regulator is warm and touchable.  Thus regardless of whether current reading accuracy is important, when over 1.6A, a fan is a good idea.

Details of test:

The set-up

The B3603 supplies a fix load of a pair of 1ohm 5W resistors in series.  The B3603 voltage is adjusted to achieve the desired test current.  A current-sensing 0.1ohm is also in series but not used for current sensing.  A UT61E is connected in series with the load to measure the actual current using the 10A range.   

An Arduino reads the B3603's shunt voltage using an ADS1115.  It also converts the mV reading to mA and displays (logs) both every 0.4 seconds.   The mA reading from ADS matches the B3603 displayed mA within 1 digit in all observations.

The Arduino also controls a relay that turns on/off the 2.5" PC-case fan.   The Arduino reports the data to the PC at 0.4 second interval and the UT61E reports data at 0.5 second interval.  Every 1 second, the PC logs the latest reading of the UT61E current (10A range) and the Arduino reading.

[attach setup photo]


The B3630's load resisters sits a foot below and a foot away so load cooling fan does not increase airflow at the shunt over natural convection.  The 0.1ohm current sense resistor at the load takes no role in measurement as the UT61E measure the current using the 10A range.

[attach load photo]


Resulting data:

At 1.96A, cooling is about 3 minutes and warming up takes about 30 minutes to reach equilibrium.  The reading swings by 2.7% between equilibrium-cool and equilibrium-hot. 

At equilibrium-cool (ie:with fan) the reading is about 16mA (.8%) higher than when shunt is at room temperature (ie:when first powered on).  Thus total change from heat is 3.5%.


[attach photo 1.96A graph]


At 1.6A, cooling and warming up time doesn't change significantly. 15 seconds (from 3 minutes) faster in cooling to equilibrium-cool and about 3 minute faster (from 30 minutes) to heat to equilibrium-hot.  The reading swings by 2.2% between equilibrium-cool and equilibrium-hot.

At equilibrium-cool (ie:with fan) the reading is about 10mA (.6%) higher than when shunt is at room temperature (ie:when first powered on).  Thus total change from heat is 2.8%

I added an LM35z to measure the air temperature near the shunt.  It is at and almost touches the far end of the shunt.  Far is the side far from the fan, so the fan is still blowing over the entire shunt.

[attach photo 1.6A graph]




My thoughts:
I collected these data to assess if I want to upgrade the shunt.  Hope this data is of use to you as well.

My goal is to be fan-less below 1.5A and keep error as low as possible.  I am not sure about the temp-co of the stock shunt, along with not knowing the exact temperature swing, it is hard to judge.  So, I "back of the envelop" it.  At 1.6A, fan/no-fan changes resistance 2.2%, that is 22,000ppm.  I see many if not most shunts operates only up to 175C.  So, assuming an impossibly high 220C swing, it would still need a 100ppm shunt to achieve that 22000ppm.  So, if I get a 75ppm shunt, it has to help.  As to how much that would help, I have no idea.  I suspect (guess work) it may be a 500-1000ppm low price stuff.  A 44C change for 500ppm would change it by 2.2%.  If that is the case, a 75ppm would help greatly.  Only doing it would tell me if it really helps…
« Last Edit: February 04, 2015, 12:56:44 PM by Rick Law »
 

Offline Rick Law

  • Super Contributor
  • ***
  • Posts: 2084
  • Country: us
Running furher tests on the unit I noticed oscillation in current limiting mode with currents above 1.5A.

This oscillation causes another weird problem: when increasing the voltage with 4Ohm load resistor the current can go all the way to 3A before droping to 1.7A, however when the voltage is already high (say 15V) connecting the load resistor imediately brings the current down to 1.7A.

I will play with the capacitors to see if there is an improvement - the original ones are far from high quality low ESR types that are required by the datasheet.

Interesting.  I just tried it with my setup for shunt test - already got a 2ohm fan cooled load.

I current-limit it to 1.8A, I see some noise - a saw-tooth 200mVpeak 50khz.  Over a few minutes, it did started to have a 300mVpeak oscillation with wildly changing frequency.  Is that what you see?

Can you post a scope picture?   The oscillation I just saw is the kind I've seen before with other CV buck and with a home made CV-buck one under high current draw.    I am interested in this as I could not solve the problem with my home made CV buck.

Please keep us posted.
 

Offline bdivi

  • Regular Contributor
  • *
  • Posts: 83
  • Country: bg
First attachment is current limiting at 1.6A - 2kHz oscillation around 90mV pp
Second is 2.9A limit  - 4kHz oscillation again 90mV pp
The third screen is when the major oscillation kicks in - it is almost 300mV pp and 30kHz.

I think the small oscillations are normal behaviour of the LM2596 with high currents.
The large oscillation is probably a problem with the opamp current limiting control loop.

This is with new low esr capacitors so I cannot do much more without the schematics.

After all I can sefely use it with currents bellow 1A.
 

Offline Rick Law

  • Super Contributor
  • ***
  • Posts: 2084
  • Country: us
First attachment is current limiting at 1.6A - 2kHz oscillation around 90mV pp
Second is 2.9A limit  - 4kHz oscillation again 90mV pp
The third screen is when the major oscillation kicks in - it is almost 300mV pp and 30kHz.

I think the small oscillations are normal behaviour of the LM2596 with high currents.
The large oscillation is probably a problem with the opamp current limiting control loop.

This is with new low esr capacitors so I cannot do much more without the schematics.

After all I can sefely use it with currents bellow 1A.

What you posted confirmed that we are talking about the same thing.   I've seen with this and other LM2596 based boards including a home-built with the Chinese made XL4015 which is a LM2596 functional compatible.

With the larger oscillation, I might have wrongly chalked that up to over-drawing on the power brick since I typically saw it in the 12V-13V range at high amp with Toshiba 16V 4A power source.  To reproduce what you said with 1.8A, I was merely at 4-5V range.   Clearly my initial thought on it being over-taxing the power source is wrong.

On other CV boards at higher volt (and amp), I have seen that oscillation hitting a point of way over 1V.

After I wrap up what I am doing with temperature testing, I would get into that to see what I can learn there.  This is a problem worth learning more about.  Good thing you pointed it out!
 

Offline bdivi

  • Regular Contributor
  • *
  • Posts: 83
  • Country: bg
Same issue found by DadHav on youtube

Once the current goes above 2.6A it drops dow n to 1.5A and respectively the voltage. I am not sure the author is visiting our forum but if he does he can share the details.
 

Offline baruch

  • Regular Contributor
  • *
  • Posts: 78
  • Country: il
I hooked the unit to an stlink hoping to peek into the firmware and it seems to be locked out, all I can read are 0x71 bytes which seems to indicate the unit is read-locked (as can be somewhat expected but I was hoping).
 

Offline baruch

  • Regular Contributor
  • *
  • Posts: 78
  • Country: il
Just found a nice reference to the pinouts of the mainboard to the controller board pinouts: http://forum.banggood.com/forum-topic-20302.html

Now I need to read on stm8 programming and to find the pinouts from the external pins to the stm8 pins to figure out how to write my own firmware. Wish me luck!

(luckily I have ordered two such units just for such an occasion, I can use one and hack the other)
 

Offline Rick Law

  • Super Contributor
  • ***
  • Posts: 2084
  • Country: us
Just found a nice reference to the pinouts of the mainboard to the controller board pinouts: http://forum.banggood.com/forum-topic-20302.html

Now I need to read on stm8 programming and to find the pinouts from the external pins to the stm8 pins to figure out how to write my own firmware. Wish me luck!

(luckily I have ordered two such units just for such an occasion, I can use one and hack the other)

Great find!

I was about to spend time mapping the pins.  This sure save me effort.  In that short thread, the one who posted the pinouts was talking about redoing the control board with an Arduino NANO.  I was  kicking around that idea as a project.  That would be kind of interesting to do and I can implement many of the enhancements I wish it got.
 

Offline baruch

  • Regular Contributor
  • *
  • Posts: 78
  • Country: il
Using an Arduino or any other board would be simpler than reverse engineering the STM8 board but if I could do that I would also get to use the screen and buttons. I'm looking to working with the STM8 with the serial and controlling the pins and then figuring out how to do the 7-segment screens with the '595.
 

Offline Rick Law

  • Super Contributor
  • ***
  • Posts: 2084
  • Country: us
Using an Arduino or any other board would be simpler than reverse engineering the STM8 board but if I could do that I would also get to use the screen and buttons. I'm looking to working with the STM8 with the serial and controlling the pins and then figuring out how to do the 7-segment screens with the '595.

Yeah, but there is still a lot of reverse engineering to do before one can sit down and write a program.

The pinout in the link you posted is a good starting point, it confirms some of my suspicion / expectation on how it may work, but one still needs to find out how it actually works,  and what the exact is the slope & intercept of the sense-volt vs actual, sense-current vs actual.  The numbers in the pinout diagram does not evaluate to actual (I tried immediately after seeing your posted links; I have different a & b for my y=ax+b than in the pinout photo).  So calibration may impact those constants as well.

Until reverse engineering is done to the point where we have a "guide book" / "user manual" level description, we are not ready to make an "arduino replacement control board".  By user-manual level, I mean things such as "to control out V, set PinX to Vout/456+123V.  And this level of detail is needed with all the different functions of the board and not just Vout.

There are 3 pins unlabelled pins.  They also need to be identified.  In the end, it could be more work than building from sratch --- but, this could be a fun thing to do.

Rick
 

Offline baruch

  • Regular Contributor
  • *
  • Posts: 78
  • Country: il
There is still things to document like the pinouts from the MCU to the control points and the unknown pins are indeed of interest. I did verify that the two bottom pins on either side always show 3.15V and that this comes from the top-board. That last pin is a mystery but for all I can see it is always 0V.

The slopes should be calibrated per device in any case so I'm not too worried about them, I'll use some sensible defaults starting with whatever checks out on my device(s) and then add calibration in the software for the slope and offset. These calibrations will be needed even if you hook up an Arduino to control it, that would need to be calibrated anyway. I can think of maybe using an arduino to control it initially in order to handle the bottom board control as well and to learn from it since reverse engineering the top board would be quite some more work but I do assume also that the control part from the STM8 to the external pins should be not much harder on the STM8 compared to an Arduino since I will only need to figure out how the wiring to them works and I can leave out the buttons and the displays unused for now and just use it all through the serial and then go on to add the buttons, leds and displays later on.

A large part of the fun is the mystery itself :-)
 

Offline Rick Law

  • Super Contributor
  • ***
  • Posts: 2084
  • Country: us
There is still things to document like the pinouts from the MCU to the control points and the unknown pins are indeed of interest. I did verify that the two bottom pins on either side always show 3.15V and that this comes from the top-board. That last pin is a mystery but for all I can see it is always 0V.
...
A large part of the fun is the mystery itself :-)

The two bottom pins on either side?  I am confused.  Let's use pin numbers.
Attached is a picture with pin numbers.



Pin 8, 15, and 16 are the unidentified.  8 and 16 are the bottom pins.  Do you mean they are 3.15V?
From the board trace, I have:
Pin 8 to pin 13 of MCU, the Port C3 pin.
Pin 15 connects to the Txd pin header pin (and no where else) and MCU
Pin 16 connects to the Rxd pin header pin (and no where else) and MCU

Pin 8 and 16 (Rxd) are the bottom pins, they cannot possibly be 3.15V since RxD connects to just the pins headers of RxD and no where else.  There is no visible connection between the MCU and the Txd/Rxd!  No wonder I can't get any TTL-RS232 signal except on power off - I see a few P's coming out.  'p' is 0x70=0111 0000b.  I wonder how could that come out.  I am confused.  I have to dig further.

EDIT - Corrected by striking out words above on no visible connection from pin 15,16 to MCU.  I found the trace that connects TxD and RxD header pins to the MCU at UART1 MCU-pin 2 and 3

Note that the board I have doesn't have silkscreen printed TxD and RxD.  Perhaps mine is a different revision.

Oh, an additional note - on the base board (with the voltage regulator and all) I see no visible trace going to Pin 8, 15, or 16.  But there is a possibility that the female pin header itself is covering up a thin trace.  Peeking at the base of the pinheader, I found that unlikely there is a thin trace there because peeking there I can also see the edge of the hole.
« Last Edit: February 20, 2015, 10:23:06 AM by Rick Law »
 

Offline neslekkim

  • Super Contributor
  • ***
  • Posts: 1224
  • Country: no
I found this picture somewhere

and usermanual, and calibration guide, also some usermanual stuff here: http://henrysbench.capnfatz.com/henrys-bench/minghe-b3603-user-manual-table-of-contents/

Edit: Oh, that was the picture linked above :)
« Last Edit: February 12, 2015, 05:09:53 AM by neslekkim »
 

Offline baruch

  • Regular Contributor
  • *
  • Posts: 78
  • Country: il
I just checked with a logic analyzer and it seems that port 16 and 15 have some serial data going in them. It generally seemed that the decoding provided in the link I pointed is incorrect with regard to some (if not most) of the pins 9-16. I believe pin 14 is connected to the serial out of the 74HC595. I still need to verify that and it confuses me why it seems to be connected directly to pin 13.
 

Offline baruch

  • Regular Contributor
  • *
  • Posts: 78
  • Country: il
My logic analyzer seems to pick something on almost all of the right pins (9-16) and pin 16 which should be UART TX doesn't seem to have any meaningful serial data on it. I'm quite baffled there.
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf