Project

General

Profile

Wiki » History » Version 112

Frédéric Blanc, 2024-11-06 13:59

1 1 Frédéric Blanc
h1. Wiki
2
3 42 Frédéric Blanc
!{width: 30%}https://redmine.laas.fr/attachments/download/4815/Face%20AV%20PS.jpg!
4 43 Frédéric Blanc
5 42 Frédéric Blanc
!{width: 30%}https://redmine.laas.fr/attachments/download/4814/Face%20AR%20PS.jpg!
6
7 41 Frédéric Blanc
{{toc}}
8
9 110 Frédéric Blanc
h2. DPS version 2411
10
11 111 Frédéric Blanc
h3. Driver
12
13
14 112 Frédéric Blanc
[[Driver DPH5005:Wiki|Driver Light DPH5005]]
15 111 Frédéric Blanc
16 110 Frédéric Blanc
h3. Version a base de module DPH5005 [[Wiki#DPH5005]]
17
18
h3. Fabrication
19
20
[[Boitier]] 
21
22
h3. Interface USB <-> Modbus (RS485)
23
24
!clipboard-202411061355-f3ozb.png!
25
26
Solution au problème de ttyUSB0, il faut faire:
27
28
<pre><code class="shell">
29
sudo apt remove brltty
30
</code></pre>
31
32
33
https://askubuntu.com/questions/1403705/dev-ttyusb0-not-present-in-ubuntu-22-04
34
35 11 Frédéric Blanc
h2. Modbus / RS485 isolated
36
37 25 Frédéric Blanc
!clipboard-202404091540-4btca.png!
38
39 50 Frédéric Blanc
https://arduino103.blogspot.com/2021/10/decoder-une-trame-rs485-loscilloscope.html
40
41 25 Frédéric Blanc
h3. non isoler
42 24 Frédéric Blanc
43
!clipboard-202404091414-fugem.png!
44
45 21 Frédéric Blanc
!clipboard-202404081517-wbjgq.png!
46
47 27 Frédéric Blanc
h4. Fusibles réarmables
48
49
!clipboard-202404091611-8b8z9.png!
50
51 23 Frédéric Blanc
h3. Texas Instruments ISOW14x2 Isolated RS-485 DC-DC Converter
52 22 Frédéric Blanc
53
!clipboard-202404081533-dzk67.png!
54
55 18 Frédéric Blanc
h3.  ANALOG DEVICES LTM2881CV-5#PBF
56
57 19 Frédéric Blanc
!clipboard-202404051942-kmfn5.jpg!
58
59 18 Frédéric Blanc
Transceiver, RS422, RS485, 20 Mbps, 1 Driver, 1 Récepteur, 4,5 à 5.5V, 0 à 70°C, LGA-32
60
61
Code Farnell 4023829
62
63
h3. ADM2865E Power Isolated, RS-485 Transceivers
64 12 Frédéric Blanc
65 1 Frédéric Blanc
!clipboard-202404041435-zyzea.png!
66 12 Frédéric Blanc
67 13 Frédéric Blanc
|Code Farnell|Référence Fabricant	|Fabricant / Description|
68 12 Frédéric Blanc
|4023816	|ADM2865EBRNZ	|ANALOG DEVICES  Transceiver, RS422, RS485, 25 Mbps, 1 Driver, 1 Récepteur, 3 à 5.5V, -40 à 105°C, WSOIC-28|
69
|1456395	|SM712.TCT	|SEMTECH  Diode TVS, SM, Bidirectionelle, 12 V, 26 V, SOT-23, 3 Broche(s)|
70
|1515786	|BLM15HD182SN1D	|MURATA  Perle de ferrite, 0402 [1005 Metric], 1.8 kohm, 200 mA, BLM15H, 2.2 ohm, ± 25%|
71
|1867958	|08053D106KAT2A	|KYOCERA AVX  Condensateur céramique multicouche CMS, 10 µF, 25 V, 0805 [Métrique 2012], ± 10%, X5R|
72
|2443238	|BLM18HE601SN1D	|MURATA  Perle de ferrite, 0603 [1608 Metric], 600 ohm, 800 mA, BLM18H, 0.25 ohm, ± 25%|
73 11 Frédéric Blanc
74 37 Frédéric Blanc
h3. Module de communication d'isolation, ADUM3201 + B0505XT TTL à RS485
75
76
!clipboard-202404231543-s8vft.png!
77
78
*Attention RX sur TX*
79
80 83 Frédéric Blanc
h3. DFR0845 
81
82
!clipboard-202407041533-yroi0.png!
83 90 Frédéric Blanc
!clipboard-202407121501-bz7ns.png!
84 83 Frédéric Blanc
Ce module de transfert de signal RS485 vers UART actif et isolé est livré avec des circuits de protection tels que l'isolation de puissance et le TVS. Compatible avec la plupart des contrôleurs principaux, il présente les caractéristiques d'une vitesse de communication rapide, de performances stables et fiables, d'une sécurité élevée, etc., et peut être appliqué à divers capteurs industriels, équipements de contrôle industriel ou applications nécessitant une conversion de signal RS485.
85
https://wiki.dfrobot.com/Gravity_Active_Isolated_RS485_to_UART_Signal_Converter_SKU_DFR0845
86
87 84 Frédéric Blanc
 N° Mouser :
88
426-DFR0845 
89
www.gotronic.fr
90 85 Frédéric Blanc
Code: 37411
91
https://fr.farnell.com
92 1 Frédéric Blanc
Code Commande :
93 88 Frédéric Blanc
3974134
94 84 Frédéric Blanc
95 28 Frédéric Blanc
h3. RS485 I2C
96
97
!clipboard-202404120929-wdgmq.png!
98
99 20 Frédéric Blanc
h2. XY5005E
100
101 40 Frédéric Blanc
com le port 4 broches JST 1.25 ne semble pas avoir de TX, ni de RX. Il n'y a pas non plus de menu pour le chois de l'adressage
102 20 Frédéric Blanc
103
!clipboard-202404081443-iygma.png!
104 39 Frédéric Blanc
!clipboard-202404241236-ulutn.png!
105 38 Frédéric Blanc
!clipboard-202404241234-m5crk.png!
106
107 14 Frédéric Blanc
h2. XY6015L Step-Down Regulated Power Supply
108 1 Frédéric Blanc
109
!clipboard-202403251011-lfrn1.png!
110
111 4 Frédéric Blanc
µC AT32F421  ARM® Cortex®-M4 core
112
Ctrl EG1163S BUCK DC-DC de Rectification synchrone 300kHz
113
MOS NCE82H140
114
115 81 Frédéric Blanc
h2. DPS5005
116
117
!clipboard-202406181357-wvt60.png!
118
119
120
121
Module d'alimentation à afficheur LCD réglable en tension de 0 à 50 Vcc et en intensité de 0 à 5 A. L'écran couleur de 1,44'' offre un affichage particulièrement détaillé et complet des informations.
122
123
https://www.gotronic.fr/art-alimentation-programmable-dps5005-29294.htm
124
125 86 Frédéric Blanc
h3. modification port com
126
127
La vitesse de communication par défaut du port série DPS5005 est de 9 600 bauds, mais vous pouvez la modifier en alimentant l'alimentation tout en maintenant le bouton V/M1 enfoncé. Lorsque la modification est effectuée, appuyez deux fois sur le bouton « set » pour enregistrer la nouvelle configuration.
128
129 91 Frédéric Blanc
h3. Firmware alternatif
130
131
https://github.com/kanflo/opendps
132 92 Frédéric Blanc
https://redmine.laas.fr/attachments/4885
133 91 Frédéric Blanc
134 87 Frédéric Blanc
h3. Brochage port com
135
136
!clipboard-202407121448-7reos.png!
137
138 1 Frédéric Blanc
h2. DPH5005
139 107 Frédéric Blanc
140
h3. Driver
141
142 109 Frédéric Blanc
[[Driver DPH5005:Wiki|Driver Light DPH5005]]
143 81 Frédéric Blanc
144
!clipboard-202406181358-4or4r.png!
145
146
Module d'alimentation à afficheur LCD 1,44" réglable en tension de 0 à 50 Vcc et en intensité de 0 à 5 A. Ce module délivre un signal de sortie haute résolution réglable par paliers de 10 mV et de 1 mA.
147
148
https://www.gotronic.fr/art-alimentation-programmable-dph5005-31537.htm
149
150 31 Frédéric Blanc
h3. Modbus
151
152 1 Frédéric Blanc
!clipboard-202404121322-qk0l1.png!
153 32 Frédéric Blanc
154 53 Frédéric Blanc
voir documentation document:"protocol -english translation V1.2"
155
156 64 Frédéric Blanc
|_.function code|_.Definition|_.Operation (binary)|
157 52 Frédéric Blanc
|0x03|Read register data|Read data from one or more registers|
158
|0x06|Write a single register|Write a set of binary data to a single register|
159
|0x10|Write multiple registers|Write multiple sets of binary data to multiple registers|
160
161 61 Frédéric Blanc
|\5=. *0x03 Read the function of the host format* |
162 57 Frédéric Blanc
|address code|function code|Register start address |Number of register
163
 addresses n (1 ~ 32)|CRC Check code|
164 54 Frédéric Blanc
|1 byte|1 byte|2 byte|2 byte|2 byte|
165
166 62 Frédéric Blanc
|\5=. *0x03 Read function Slave returns format*|
167
|address code|function code|Returns the number of bytes 2 * n|Register data|CRC Check code|
168
|1 byte|1 byte|1 byte|2*n Bytes|2 byte|
169 52 Frédéric Blanc
170 63 Frédéric Blanc
|\5=. *0x06 Write a single register function in host format*|
171
|address code|function code|Register address|Register data|CRC Check code|
172 1 Frédéric Blanc
|1 byte|1 byte|2 byte|2 byte|2 byte|
173 64 Frédéric Blanc
174 65 Frédéric Blanc
|\5=. *0x06 Write a single register function from the machine to return the format*|
175 64 Frédéric Blanc
|address code|function code|Register address|Register data|CRC Check code|
176
|1 byte|1 byte|2 byte|2 byte|2 byte|
177
178 68 Frédéric Blanc
|\6=. *0x10 Write function host format*|
179 67 Frédéric Blanc
|address code|function code|Register start address|Number of register addresses
180
n (1 ~ 32)|Write the number of bytes 2 * n|Register data|CRC Check code|
181 66 Frédéric Blanc
|1 byte|1 byte|2 byte|2 byte|1 byte|2*n byte|2 byte|
182
183
|\5=. *0x10 Write function slave return format*|
184 67 Frédéric Blanc
|address code|function code|Register start address|Number of register addresses
185 66 Frédéric Blanc
n (1 ~ 32)|CRC Check code|
186
|1 byte|1 byte|2 byte|2 byte|2 byte|
187 63 Frédéric Blanc
188 69 Frédéric Blanc
Protocol register description (single register address data for double-byte data)
189 70 Frédéric Blanc
190 102 Frédéric Blanc
|name|Description|number of bytes|Decimal point|unit|Read and write|XY6015L|DPS5005|dps_modbus.py|
191
|U-SET|Voltage setting|2|2|V|R/W|0x0000|0x0000|voltage_set|
192
|I-SET|Current setting|2|2|A|R/W|0x0001|0x0001|current_set|
193 103 Frédéric Blanc
|UOUT|Output voltage display value|2|2|V|R|0x0002|0x0002|voltage|
194
|IOUT|Output current display value|2|2|A|R|0x0003|0x0003|current|
195
|POWER|Output power display value|2|2|W|R|0x0004|0x0004|power|
196
|UIN|Input voltage display value|2|2|V|R|0x0005|0x0005|voltage_in|
197
|LOCK|Key lock|2|0|-|R/W|0x0006|0x0006|lock|
198
|PROTECT|Protection state|2|0|-|R|0x0007|0x0007|protect|
199 76 Frédéric Blanc
|CVCC|Constant voltage constant current state|2|0|-|R|0x0008|cv_cc|
200 106 Frédéric Blanc
|ONOFF|Switch output|2|0|-|R/W|%{color:red}0x0012%|%{color:red}0x0009%|onoff|
201 105 Frédéric Blanc
|B_LED|Backlight brightness level|2|0|-|R/W|--|0x000A|b_led|
202 76 Frédéric Blanc
|MODEL|Product number|2|0|-|R|0x000B|model|
203
|VERSON|Firmware version number|2|0|-|R|0x000C|version|
204
|EXTRACT_M|Quickly bring up data sets|2|0|-|W|0x0023|extract_m|
205
|U-SET|Voltage setting|2|2|V|R/W|0x0050|voltage_set2|
206
|I-SET|Current setting|2|3|A|R/W|0x0051|current_set2|
207
|S-OVP|Overvoltage protection|2|2|V|R/W|0x0052|s_ovp|
208
|S-OCP|Overcurrent protection value|2|3|A|R/W|0x0053|s_ocp|
209
|S-OPP|Over power protection value|2|1、2|W|R/W|0x0054|s_opp|
210
|B-LED|Backlight brightness level|2|0|-|R/W|0x0055|b_led2|
211
|M-PRE|The data is called to update the output|2|0|-|R/W|0x0056|m_pre|
212
|S-INI|Power on the output switch|2|2|-|R/W|0x0057|s_ini|
213 75 Frédéric Blanc
214 76 Frédéric Blanc
h3. dps_modbus.py
215 69 Frédéric Blanc
216 79 Frédéric Blanc
|commande|Description|
217 78 Frédéric Blanc
|voltage_set|Voltage setting|
218
|current_set|Current setting|
219
|voltage|Output voltage display value|
220
|current|Output current display value|
221
|power|Output power display value|
222
|voltage_in|Input voltage display value|
223
|lock|Key lock|
224
|protect|Protection state|
225
|cv_cc|Constant voltage constant current state|
226
|onoff|Switch output|
227
|b_led|Backlight brightness level|
228
|model|Product number|
229
|version|Firmware version number|
230
|extract_m|Quickly bring up data sets|
231
|voltage_set2|Voltage setting|
232
|current_set2|Current setting|
233
|s_ovp|Overvoltage protection|
234
|s_ocp|Overcurrent protection value|
235
|s_opp|Over power protection value|
236
|b_led2|Backlight brightness level|
237
|m_pre|The data is called to update the output|
238
|s_ini|Power on the output switch|
239 77 Frédéric Blanc
|read_all|Read data as a block, much faster than individual reads|
240
|write_voltage_current|write voltage & current as a block|
241
|write_all|write block|
242
243
244 31 Frédéric Blanc
245 1 Frédéric Blanc
Slave Address: 1..247 ( *0: broadcast* )
246 31 Frédéric Blanc
Function code: see later
247
Data: 0..252 byte(s)
248 33 Frédéric Blanc
*CRC16-MODBUS* : see https://crccalc.com/ for code.
249 48 Frédéric Blanc
https://github.com/LacobusVentura/MODBUS-CRC16
250 1 Frédéric Blanc
251 34 Frédéric Blanc
h3. test commande
252
253 97 Frédéric Blanc
h4. XY6015L
254 46 Frédéric Blanc
255 45 Frédéric Blanc
sur /dev/ttyACM0
256 1 Frédéric Blanc
257 46 Frédéric Blanc
Broadcast Power ON
258 1 Frédéric Blanc
<pre><code class="shell">
259 35 Frédéric Blanc
echo -ne "\x00\x06\x00\x12\x00\x01\xE9\xDE" > /dev/ttyACM0
260 34 Frédéric Blanc
</code></pre>
261
262 36 Frédéric Blanc
Broadcast Power OFF
263
<pre><code class="shell">
264
echo -ne "\x00\x06\x00\x12\x00\x00\x28\x1E" > /dev/ttyACM0
265
</code></pre>
266 1 Frédéric Blanc
267 45 Frédéric Blanc
sur /dev/ttyUSB0
268 1 Frédéric Blanc
269 46 Frédéric Blanc
Broadcast Power ON
270 45 Frédéric Blanc
<pre><code class="shell">
271
echo -ne "\x00\x06\x00\x12\x00\x01\xE9\xDE" > /dev/ttyUSB0
272
</code></pre>
273
274
Broadcast Power OFF
275
<pre><code class="shell">
276
echo -ne "\x00\x06\x00\x12\x00\x00\x28\x1E" > /dev/ttyUSB0
277 1 Frédéric Blanc
</code></pre>
278 97 Frédéric Blanc
279 98 Frédéric Blanc
h4. DPS5005 or DPH5005
280 36 Frédéric Blanc
281 99 Frédéric Blanc
*BAUD Max 9600*
282
sur /dev/ttyACM0
283
284
Broadcast Power ON
285
<pre><code class="shell">
286 100 Frédéric Blanc
echo -ne "\x00\x06\x00\x09\x00\x01\DE\xE9" > /dev/ttyACM0
287 99 Frédéric Blanc
</code></pre>
288
289
Broadcast Power OFF
290
<pre><code class="shell">
291 100 Frédéric Blanc
echo -ne "\x00\x06\x00\x09\x00\x00\x1E\x28" > /dev/ttyACM0
292 99 Frédéric Blanc
</code></pre>
293
294 104 Frédéric Blanc
DPS07 Power OFF
295
<pre><code class="shell">
296
echo -ne "\x07\x06\x00\x09\x00\x00\xAE\x59" > /dev/ttyACM0
297
</code></pre>
298
299 99 Frédéric Blanc
sur /dev/ttyUSB0
300
301
Broadcast Power ON
302
<pre><code class="shell">
303 101 Frédéric Blanc
echo -ne "\x00\x06\x00\x09\x00\x01\DE\xE9" > /dev/ttyUSB0
304 99 Frédéric Blanc
</code></pre>
305
306
Broadcast Power OFF
307
<pre><code class="shell">
308 101 Frédéric Blanc
echo -ne "\x00\x06\x00\x09\x00\x00\1E\x28" > /dev/ttyUSB0
309 99 Frédéric Blanc
</code></pre>
310
311 30 Frédéric Blanc
h3. notice
312 15 Frédéric Blanc
313
presser [SW] pendant 2s pour accéder aux paramètres 
314
!clipboard-202404041503-e5ifh.png!
315
316 6 Frédéric Blanc
h2. GUI Python
317
318 9 Frédéric Blanc
h3. venv — Création d'environnements virtuels
319 6 Frédéric Blanc
320
<pre><code class="shell">
321 8 Frédéric Blanc
$ python3 -m venv venv
322 6 Frédéric Blanc
</code></pre>
323
324
Pour activer l'environnement, exécutez
325
326
<pre><code class="shell">
327
source venv/bin/activate
328
</code></pre>
329
330 7 Frédéric Blanc
<pre><code class="shell">
331
. venv/bin/activate
332
</code></pre>
333
334 51 Frédéric Blanc
sous Windows
335
<pre><code class="shell">
336
env\Scripts\activate.bat
337
</code></pre>
338
339 9 Frédéric Blanc
Vous devrez « quitter » ou « désactiver » votre environnement virtuel à l'aide de la commande 
340 6 Frédéric Blanc
341
<pre><code class="shell">
342
deactivate
343
</code></pre>
344
345
346
347 1 Frédéric Blanc
https://docs.python.org/fr/3/library/venv.html
348
349 16 Frédéric Blanc
h3. pyqt5
350
351
<pre><code class="shell">
352
pip3 install pyqt5 --config-settings --confirm-license= --verbose
353
</code></pre>
354
355 17 Frédéric Blanc
https://stackoverflow.com/questions/73714829/pip-install-pyqt5-it-cannot-go-on
356 16 Frédéric Blanc
357 9 Frédéric Blanc
h3. XY6015L_pyGUI
358
359 44 Frédéric Blanc
lancement de l'interface
360
361
<pre><code class="python">
362
python dps_GUI_program.py
363
</code></pre>
364
365 9 Frédéric Blanc
!clipboard-202404041117-w53xm.png!
366
367
configuration du port com
368
369
le port série peut être corrigé en modifiant le paramètre "port_set" dans "dps5005_limits.ini".
370
371
372
<pre><code class="shell">
373
[SectionZero]
374
The parameters below limit the code from incorrectly transmitting extreme values entered by the user:
375
if threshold exceeded value defaults to zero:
376
This file may be adapted for other versions of 'DPSxxxx' power supplies:
377
378
[SectionOne]
379
#leave empty "" for automatic port scanning or set serial port e.g. "/dev/cu.wchusbserial1410" or "/dev/ttyUSB0":
380
port_set: "/dev/ttyACM0"	#
381
382
#The parameters below limit the code from incorrectly transmitting extreme values entered by the user:
383 1 Frédéric Blanc
#if threshold exceeded value defaults to zero:
384 10 Frédéric Blanc
...
385 9 Frédéric Blanc
</code></pre>
386
387 93 Frédéric Blanc
h2. SCPI
388
389 94 Frédéric Blanc
h3. SCPI parser
390
391
À propos de l'analyseur SCPI
392
393
La bibliothèque SCPI Parser vise à fournir une capacité d'analyse des commandes SCPI côté instrument. Toutes les commandes sont définies par leurs modèles, par exemple : "STATus:QUEStionable:EVENt?".
394
395
Les codes sources sont publiés avec une licence BSD simplifiée open source.
396
397
La bibliothèque d'analyseurs SCPI est basée sur ces normes:
398 95 Frédéric Blanc
*SCPI-99
399
IEEE 488.2-2004*
400 94 Frédéric Blanc
401
402 93 Frédéric Blanc
https://github.com/j123b567/scpi-parser
403
404 9 Frédéric Blanc
h2. Sources
405 5 Frédéric Blanc
406 82 Frédéric Blanc
https://profimaxblog.ru/dps_update/
407 26 Frédéric Blanc
https://www.circuitstate.com/tutorials/what-is-rs-485-how-to-use-max485-with-arduino-for-reliable-long-distance-serial-communication/
408 29 Frédéric Blanc
http://xj900diversion.free.fr/bus/I2C%20-%20RS-485%20adapter.htm
409 5 Frédéric Blanc
https://github.com/AntaresAdroit/RDTech_PS_Comm
410
https://github.com/lambcutlet/DPS5005_pyGUI
411
https://github.com/kbs3056/XY6015L_pyGUI