Fri, 18 Jan 2019 12:33:39 +0100
[hp34970a] fixes and improvements on the protocol description
47
c2a88ad9de68
[ZPB30A1] new blog about the ZPB30A1
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
1 | ========================= |
c2a88ad9de68
[ZPB30A1] new blog about the ZPB30A1
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
2 | ZPB30A1 Electronic Load |
c2a88ad9de68
[ZPB30A1] new blog about the ZPB30A1
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
3 | ========================= |
c2a88ad9de68
[ZPB30A1] new blog about the ZPB30A1
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
4 | |
c2a88ad9de68
[ZPB30A1] new blog about the ZPB30A1
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
5 | :Author: David Douard |
c2a88ad9de68
[ZPB30A1] new blog about the ZPB30A1
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
6 | :Category: Electronics |
c2a88ad9de68
[ZPB30A1] new blog about the ZPB30A1
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
7 | :Tags: ZPB30A1, electronic load, test equipment |
c2a88ad9de68
[ZPB30A1] new blog about the ZPB30A1
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
8 | |
c2a88ad9de68
[ZPB30A1] new blog about the ZPB30A1
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
9 | A few weeks ago, I purchased a cheap electronic load from AliExpress |
c2a88ad9de68
[ZPB30A1] new blog about the ZPB30A1
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
10 | (`this one`_ to be precise). It's a ZHIYU model ZPB30A1. It's |
c2a88ad9de68
[ZPB30A1] new blog about the ZPB30A1
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
11 | specifications are: |
c2a88ad9de68
[ZPB30A1] new blog about the ZPB30A1
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
12 | |
c2a88ad9de68
[ZPB30A1] new blog about the ZPB30A1
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
13 | - constant current mode |
c2a88ad9de68
[ZPB30A1] new blog about the ZPB30A1
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
14 | - max voltage: 30V |
c2a88ad9de68
[ZPB30A1] new blog about the ZPB30A1
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
15 | - discharge current: 0.2A to 9.99A (+/- 0.7% + 1 digit) |
c2a88ad9de68
[ZPB30A1] new blog about the ZPB30A1
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
16 | - max dissipated power: 60W |
c2a88ad9de68
[ZPB30A1] new blog about the ZPB30A1
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
17 | - voltage measurement error: 1% + 2 digits |
c2a88ad9de68
[ZPB30A1] new blog about the ZPB30A1
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
18 | |
c2a88ad9de68
[ZPB30A1] new blog about the ZPB30A1
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
19 | It supports 2 operation modes: |
c2a88ad9de68
[ZPB30A1] new blog about the ZPB30A1
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
20 | |
c2a88ad9de68
[ZPB30A1] new blog about the ZPB30A1
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
21 | - electronic load: in this mode, you can set the current and the |
c2a88ad9de68
[ZPB30A1] new blog about the ZPB30A1
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
22 | minimum voltage above which it beeps; in this mode, it display the |
c2a88ad9de68
[ZPB30A1] new blog about the ZPB30A1
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
23 | measured voltage and set current. |
c2a88ad9de68
[ZPB30A1] new blog about the ZPB30A1
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
24 | - battery capacity test mode: in this mode, you set the discharge |
c2a88ad9de68
[ZPB30A1] new blog about the ZPB30A1
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
25 | current and the lower voltage limit at which the discharge test |
c2a88ad9de68
[ZPB30A1] new blog about the ZPB30A1
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
26 | stops. It displays the total discharged capacitu (in Ah) and energy |
c2a88ad9de68
[ZPB30A1] new blog about the ZPB30A1
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
27 | (in Wh). |
c2a88ad9de68
[ZPB30A1] new blog about the ZPB30A1
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
28 | |
c2a88ad9de68
[ZPB30A1] new blog about the ZPB30A1
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
29 | .. image:: {filename}images/ZPB30A1/zpb30a1.jpg |
c2a88ad9de68
[ZPB30A1] new blog about the ZPB30A1
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
30 | :alt: Overall view of the ZPB30A1 electronic load |
c2a88ad9de68
[ZPB30A1] new blog about the ZPB30A1
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
31 | |
c2a88ad9de68
[ZPB30A1] new blog about the ZPB30A1
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
32 | The device looks pretty nice and reasonably well built. It can do 4 |
c2a88ad9de68
[ZPB30A1] new blog about the ZPB30A1
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
33 | wire measurements. |
c2a88ad9de68
[ZPB30A1] new blog about the ZPB30A1
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
34 | |
c2a88ad9de68
[ZPB30A1] new blog about the ZPB30A1
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
35 | The device itself is built around a single ST W60N10 N channel MOS |
c2a88ad9de68
[ZPB30A1] new blog about the ZPB30A1
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
36 | transistor (100V, 60A, 200W) and a STM8S005K6 microcontroller. |
c2a88ad9de68
[ZPB30A1] new blog about the ZPB30A1
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
37 | |
c2a88ad9de68
[ZPB30A1] new blog about the ZPB30A1
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
38 | .. image:: {filename}images/ZPB30A1/zpb30a1_board.jpg |
c2a88ad9de68
[ZPB30A1] new blog about the ZPB30A1
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
39 | :alt: Main PCB of the ZPB30A1 electronic load |
c2a88ad9de68
[ZPB30A1] new blog about the ZPB30A1
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
40 | |
c2a88ad9de68
[ZPB30A1] new blog about the ZPB30A1
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
41 | The shunt resistor is a 10mΩ wire. A very small value that explains |
c2a88ad9de68
[ZPB30A1] new blog about the ZPB30A1
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
42 | the rather big minimal current of 200mA (which means a voltage drop as |
c2a88ad9de68
[ZPB30A1] new blog about the ZPB30A1
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
43 | low as 2mV). |
c2a88ad9de68
[ZPB30A1] new blog about the ZPB30A1
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
44 | |
c2a88ad9de68
[ZPB30A1] new blog about the ZPB30A1
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
45 | .. image:: {filename}images/ZPB30A1/zpb30a1_mosfet.jpg |
c2a88ad9de68
[ZPB30A1] new blog about the ZPB30A1
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
46 | :alt: Main transistor of the ZPB30A1 electronic load |
c2a88ad9de68
[ZPB30A1] new blog about the ZPB30A1
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
47 | |
c2a88ad9de68
[ZPB30A1] new blog about the ZPB30A1
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
48 | One nice thing with this device is the fact that every component value |
c2a88ad9de68
[ZPB30A1] new blog about the ZPB30A1
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
49 | is written on the PCB: no need to use the magnifier to read the SMD |
c2a88ad9de68
[ZPB30A1] new blog about the ZPB30A1
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
50 | parts values. |
c2a88ad9de68
[ZPB30A1] new blog about the ZPB30A1
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
51 | |
c2a88ad9de68
[ZPB30A1] new blog about the ZPB30A1
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
52 | The bottom side of the PCB is pretty empty besides the ground plane. |
c2a88ad9de68
[ZPB30A1] new blog about the ZPB30A1
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
53 | |
c2a88ad9de68
[ZPB30A1] new blog about the ZPB30A1
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
54 | .. image:: {filename}images/ZPB30A1/zpb30a1_bottom.jpg |
c2a88ad9de68
[ZPB30A1] new blog about the ZPB30A1
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
55 | :alt: Bottom side of the PCB of the ZPB30A1 electronic load |
c2a88ad9de68
[ZPB30A1] new blog about the ZPB30A1
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
56 | |
c2a88ad9de68
[ZPB30A1] new blog about the ZPB30A1
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
57 | |
c2a88ad9de68
[ZPB30A1] new blog about the ZPB30A1
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
58 | The most annoying thing is the minimum current of 200mA, which pretty |
c2a88ad9de68
[ZPB30A1] new blog about the ZPB30A1
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
59 | hight. It's obviously not designed for small battery or PSU |
c2a88ad9de68
[ZPB30A1] new blog about the ZPB30A1
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
60 | testing. |
c2a88ad9de68
[ZPB30A1] new blog about the ZPB30A1
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
61 | |
c2a88ad9de68
[ZPB30A1] new blog about the ZPB30A1
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
62 | Another thing is that its limited to CC mode only (does not provide |
c2a88ad9de68
[ZPB30A1] new blog about the ZPB30A1
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
63 | constant resistance mode nor constant voltage). It's a bit unfortunate |
c2a88ad9de68
[ZPB30A1] new blog about the ZPB30A1
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
64 | since it's probably only a matter of software. |
c2a88ad9de68
[ZPB30A1] new blog about the ZPB30A1
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
65 | |
c2a88ad9de68
[ZPB30A1] new blog about the ZPB30A1
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
66 | Also, the usability is quite rough. For example, to choose the |
c2a88ad9de68
[ZPB30A1] new blog about the ZPB30A1
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
67 | operating mode (between CC charge and battery capacity test mode), you |
c2a88ad9de68
[ZPB30A1] new blog about the ZPB30A1
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
68 | have to power off the device and power it on holding the start/stop |
c2a88ad9de68
[ZPB30A1] new blog about the ZPB30A1
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
69 | button down. |
c2a88ad9de68
[ZPB30A1] new blog about the ZPB30A1
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
70 | |
c2a88ad9de68
[ZPB30A1] new blog about the ZPB30A1
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
71 | The last missing feature, for me, is that there is not "output" port |
c2a88ad9de68
[ZPB30A1] new blog about the ZPB30A1
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
72 | allowing to capture the values when doing a battery discharge |
c2a88ad9de68
[ZPB30A1] new blog about the ZPB30A1
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
73 | test. The good news is that there is unpopulated port. Looks like some |
c2a88ad9de68
[ZPB30A1] new blog about the ZPB30A1
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
74 | ISP/serial port directly connected to the microcontroller. Pins are |
c2a88ad9de68
[ZPB30A1] new blog about the ZPB30A1
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
75 | labelled as G, R, T, L, F and Vc. G stands for ground, and Vc is |
c2a88ad9de68
[ZPB30A1] new blog about the ZPB30A1
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
76 | obvious. R and T might be Rx and Tx of a serial port. F and L are not |
c2a88ad9de68
[ZPB30A1] new blog about the ZPB30A1
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
77 | obvious. |
c2a88ad9de68
[ZPB30A1] new blog about the ZPB30A1
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
78 | |
c2a88ad9de68
[ZPB30A1] new blog about the ZPB30A1
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
79 | So I've probed a bit to see if there are any signals. |
c2a88ad9de68
[ZPB30A1] new blog about the ZPB30A1
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
80 | |
c2a88ad9de68
[ZPB30A1] new blog about the ZPB30A1
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
81 | The overall (messy) setup was: |
c2a88ad9de68
[ZPB30A1] new blog about the ZPB30A1
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
82 | |
c2a88ad9de68
[ZPB30A1] new blog about the ZPB30A1
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
83 | .. image:: {filename}images/ZPB30A1/overall_setup.jpg |
c2a88ad9de68
[ZPB30A1] new blog about the ZPB30A1
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
84 | :alt: Overall testing setup for the ZPB30A1. |
c2a88ad9de68
[ZPB30A1] new blog about the ZPB30A1
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
85 | |
c2a88ad9de68
[ZPB30A1] new blog about the ZPB30A1
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
86 | During this test, the electronic load was sunking almost 1A at 30V, |
c2a88ad9de68
[ZPB30A1] new blog about the ZPB30A1
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
87 | thus dissipating around 30W. The MOSFET transistor was getting a bit |
c2a88ad9de68
[ZPB30A1] new blog about the ZPB30A1
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
88 | hot. I measured 65°C with my cheap IR thermometer. |
c2a88ad9de68
[ZPB30A1] new blog about the ZPB30A1
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
89 | |
c2a88ad9de68
[ZPB30A1] new blog about the ZPB30A1
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
90 | The F pin shows a square signal at 50kHz, and there is some activity on |
c2a88ad9de68
[ZPB30A1] new blog about the ZPB30A1
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
91 | the T pin. I've used my new Rigol DS1054Z scope to try to find out if |
c2a88ad9de68
[ZPB30A1] new blog about the ZPB30A1
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
92 | the signal is meaningful. And after playing a bit with the Serial |
c2a88ad9de68
[ZPB30A1] new blog about the ZPB30A1
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
93 | decoder, I finally found that: |
c2a88ad9de68
[ZPB30A1] new blog about the ZPB30A1
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
94 | |
c2a88ad9de68
[ZPB30A1] new blog about the ZPB30A1
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
95 | .. image:: {filename}images/ZPB30A1/DS1Z_serial.png |
c2a88ad9de68
[ZPB30A1] new blog about the ZPB30A1
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
96 | :alt: Serial signal on the T pin. |
c2a88ad9de68
[ZPB30A1] new blog about the ZPB30A1
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
97 | |
c2a88ad9de68
[ZPB30A1] new blog about the ZPB30A1
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
98 | When the ZPB30A1 was actually set up like this: |
c2a88ad9de68
[ZPB30A1] new blog about the ZPB30A1
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
99 | |
c2a88ad9de68
[ZPB30A1] new blog about the ZPB30A1
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
100 | .. image:: {filename}images/ZPB30A1/zpb30a1_setup.jpg |
c2a88ad9de68
[ZPB30A1] new blog about the ZPB30A1
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
101 | :alt: Testing setup for the ZPB30A1. |
c2a88ad9de68
[ZPB30A1] new blog about the ZPB30A1
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
102 | |
c2a88ad9de68
[ZPB30A1] new blog about the ZPB30A1
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
103 | So the measured voltage is constantly written on the serial port at |
c2a88ad9de68
[ZPB30A1] new blog about the ZPB30A1
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
104 | 115200 baud, 8N1. The third value is 1 when it is normally operating, |
c2a88ad9de68
[ZPB30A1] new blog about the ZPB30A1
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
105 | and 0 when the voltage is below the limit. |
c2a88ad9de68
[ZPB30A1] new blog about the ZPB30A1
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
106 | |
c2a88ad9de68
[ZPB30A1] new blog about the ZPB30A1
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
107 | However, in battery discharge mode, there is nothing on the serial |
c2a88ad9de68
[ZPB30A1] new blog about the ZPB30A1
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
108 | line. |
c2a88ad9de68
[ZPB30A1] new blog about the ZPB30A1
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
109 | |
c2a88ad9de68
[ZPB30A1] new blog about the ZPB30A1
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
110 | Now, I have to solder a socket in there. Then the next step will be to |
c2a88ad9de68
[ZPB30A1] new blog about the ZPB30A1
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
111 | see if we can send commands to the ZPB30A1. I may need to learn a bit |
c2a88ad9de68
[ZPB30A1] new blog about the ZPB30A1
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
112 | about the ST microcontroller... |
c2a88ad9de68
[ZPB30A1] new blog about the ZPB30A1
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
113 | |
c2a88ad9de68
[ZPB30A1] new blog about the ZPB30A1
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
114 | |
c2a88ad9de68
[ZPB30A1] new blog about the ZPB30A1
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
115 | |
c2a88ad9de68
[ZPB30A1] new blog about the ZPB30A1
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
116 | .. _`this one`: http://fr.aliexpress.com/item/New-Constant-current-electronic-load-9-99A-60W-1-30V-battery-capacity-teste-free-ship/32571919265.html |
c2a88ad9de68
[ZPB30A1] new blog about the ZPB30A1
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
117 | |
c2a88ad9de68
[ZPB30A1] new blog about the ZPB30A1
David Douard <david.douard@logilab.fr>
parents:
diff
changeset
|
118 |