Project

General

Profile

Wiki » History » Version 120

Frédéric Blanc, 2024-11-06 14:52

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