PREFACESo, 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.
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 goodThe 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.
I.2 The badI 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)
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 uglyThis 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.
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 CurrentCurrent 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. CalibrationThe 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 calibrationAs 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 calibrateLong 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.htmlAuthor "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 InterfaceAwful 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 PortThe 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...
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 wordsNot 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.