Project

General

Profile

Wiki » History » Version 113

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

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