Project

General

Profile

Wiki » History » Version 109

Frédéric Blanc, 2024-10-21 11:22

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