Project

General

Profile

Wiki » History » Version 111

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

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