Project

General

Profile

Wiki » History » Version 84

Frédéric Blanc, 2024-07-08 19:20

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
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.
58
https://wiki.dfrobot.com/Gravity_Active_Isolated_RS485_to_UART_Signal_Converter_SKU_DFR0845
59
60 84 Frédéric Blanc
 N° Mouser :
61
426-DFR0845 
62
www.gotronic.fr
63
Code: 37411
64
65 28 Frédéric Blanc
h3. RS485 I2C
66
67
!clipboard-202404120929-wdgmq.png!
68
69 20 Frédéric Blanc
h2. XY5005E
70
71 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
72 20 Frédéric Blanc
73
!clipboard-202404081443-iygma.png!
74 39 Frédéric Blanc
!clipboard-202404241236-ulutn.png!
75 38 Frédéric Blanc
!clipboard-202404241234-m5crk.png!
76
77 14 Frédéric Blanc
h2. XY6015L Step-Down Regulated Power Supply
78 1 Frédéric Blanc
79
!clipboard-202403251011-lfrn1.png!
80
81 4 Frédéric Blanc
µC AT32F421  ARM® Cortex®-M4 core
82
Ctrl EG1163S BUCK DC-DC de Rectification synchrone 300kHz
83
MOS NCE82H140
84
85 81 Frédéric Blanc
h2. DPS5005
86
87
!clipboard-202406181357-wvt60.png!
88
89
90
91
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.
92
93
https://www.gotronic.fr/art-alimentation-programmable-dps5005-29294.htm
94
95
h2. DPH5005
96
97
!clipboard-202406181358-4or4r.png!
98
99
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.
100
101
https://www.gotronic.fr/art-alimentation-programmable-dph5005-31537.htm
102
103 31 Frédéric Blanc
h3. Modbus
104
105 1 Frédéric Blanc
!clipboard-202404121322-qk0l1.png!
106 32 Frédéric Blanc
107 53 Frédéric Blanc
voir documentation document:"protocol -english translation V1.2"
108
109 64 Frédéric Blanc
|_.function code|_.Definition|_.Operation (binary)|
110 52 Frédéric Blanc
|0x03|Read register data|Read data from one or more registers|
111
|0x06|Write a single register|Write a set of binary data to a single register|
112
|0x10|Write multiple registers|Write multiple sets of binary data to multiple registers|
113
114 61 Frédéric Blanc
|\5=. *0x03 Read the function of the host format* |
115 57 Frédéric Blanc
|address code|function code|Register start address |Number of register
116
 addresses n (1 ~ 32)|CRC Check code|
117 54 Frédéric Blanc
|1 byte|1 byte|2 byte|2 byte|2 byte|
118
119 62 Frédéric Blanc
|\5=. *0x03 Read function Slave returns format*|
120
|address code|function code|Returns the number of bytes 2 * n|Register data|CRC Check code|
121
|1 byte|1 byte|1 byte|2*n Bytes|2 byte|
122 52 Frédéric Blanc
123 63 Frédéric Blanc
|\5=. *0x06 Write a single register function in host format*|
124
|address code|function code|Register address|Register data|CRC Check code|
125 1 Frédéric Blanc
|1 byte|1 byte|2 byte|2 byte|2 byte|
126 64 Frédéric Blanc
127 65 Frédéric Blanc
|\5=. *0x06 Write a single register function from the machine to return the format*|
128 64 Frédéric Blanc
|address code|function code|Register address|Register data|CRC Check code|
129
|1 byte|1 byte|2 byte|2 byte|2 byte|
130
131 68 Frédéric Blanc
|\6=. *0x10 Write function host format*|
132 67 Frédéric Blanc
|address code|function code|Register start address|Number of register addresses
133
n (1 ~ 32)|Write the number of bytes 2 * n|Register data|CRC Check code|
134 66 Frédéric Blanc
|1 byte|1 byte|2 byte|2 byte|1 byte|2*n byte|2 byte|
135
136
|\5=. *0x10 Write function slave return format*|
137 67 Frédéric Blanc
|address code|function code|Register start address|Number of register addresses
138 66 Frédéric Blanc
n (1 ~ 32)|CRC Check code|
139
|1 byte|1 byte|2 byte|2 byte|2 byte|
140 63 Frédéric Blanc
141 69 Frédéric Blanc
Protocol register description (single register address data for double-byte data)
142 70 Frédéric Blanc
143 76 Frédéric Blanc
|name|Description|number of bytes|Decimal point|unit|Read and write|Register address|dps_modbus.py|
144
|U-SET|Voltage setting|2|2|V|R/W|0x0000|voltage_set|
145
|I-SET|Current setting|2|2|A|R/W|0x0001|current_set|
146
|UOUT|Output voltage display value|2|2|V|R|0x0002|voltage|
147
|IOUT|Output current display value|2|2|A|R|0x0003|current|
148
|POWER|Output power display value|2|2|W|R|0x0004|power|
149
|UIN|Input voltage display value|2|2|V|R|0x0005|voltage_in|
150
|LOCK|Key lock|2|0|-|R/W|0x0006|lock|
151
|PROTECT|Protection state|2|0|-|R|0x0007|protect|
152
|CVCC|Constant voltage constant current state|2|0|-|R|0x0008|cv_cc|
153
|ONOFF|Switch output|2|0|-|R/W|0x0009|onoff|
154
|B_LED|Backlight brightness level|2|0|-|R/W|0x000A|b_led|
155
|MODEL|Product number|2|0|-|R|0x000B|model|
156
|VERSON|Firmware version number|2|0|-|R|0x000C|version|
157
|EXTRACT_M|Quickly bring up data sets|2|0|-|W|0x0023|extract_m|
158
|U-SET|Voltage setting|2|2|V|R/W|0x0050|voltage_set2|
159
|I-SET|Current setting|2|3|A|R/W|0x0051|current_set2|
160
|S-OVP|Overvoltage protection|2|2|V|R/W|0x0052|s_ovp|
161
|S-OCP|Overcurrent protection value|2|3|A|R/W|0x0053|s_ocp|
162
|S-OPP|Over power protection value|2|1、2|W|R/W|0x0054|s_opp|
163
|B-LED|Backlight brightness level|2|0|-|R/W|0x0055|b_led2|
164
|M-PRE|The data is called to update the output|2|0|-|R/W|0x0056|m_pre|
165
|S-INI|Power on the output switch|2|2|-|R/W|0x0057|s_ini|
166 75 Frédéric Blanc
167 76 Frédéric Blanc
h3. dps_modbus.py
168 69 Frédéric Blanc
169 79 Frédéric Blanc
|commande|Description|
170 78 Frédéric Blanc
|voltage_set|Voltage setting|
171
|current_set|Current setting|
172
|voltage|Output voltage display value|
173
|current|Output current display value|
174
|power|Output power display value|
175
|voltage_in|Input voltage display value|
176
|lock|Key lock|
177
|protect|Protection state|
178
|cv_cc|Constant voltage constant current state|
179
|onoff|Switch output|
180
|b_led|Backlight brightness level|
181
|model|Product number|
182
|version|Firmware version number|
183
|extract_m|Quickly bring up data sets|
184
|voltage_set2|Voltage setting|
185
|current_set2|Current setting|
186
|s_ovp|Overvoltage protection|
187
|s_ocp|Overcurrent protection value|
188
|s_opp|Over power protection value|
189
|b_led2|Backlight brightness level|
190
|m_pre|The data is called to update the output|
191
|s_ini|Power on the output switch|
192 77 Frédéric Blanc
|read_all|Read data as a block, much faster than individual reads|
193
|write_voltage_current|write voltage & current as a block|
194
|write_all|write block|
195
196
197 47 Frédéric Blanc
/dev/ttyACM0 ou /dev/ttyUSB0
198 32 Frédéric Blanc
baud rate *115200*
199 31 Frédéric Blanc
200 1 Frédéric Blanc
Slave Address: 1..247 ( *0: broadcast* )
201 31 Frédéric Blanc
Function code: see later
202
Data: 0..252 byte(s)
203 33 Frédéric Blanc
*CRC16-MODBUS* : see https://crccalc.com/ for code.
204 48 Frédéric Blanc
https://github.com/LacobusVentura/MODBUS-CRC16
205 31 Frédéric Blanc
206 1 Frédéric Blanc
207 34 Frédéric Blanc
h3. test commande
208
209 1 Frédéric Blanc
210 46 Frédéric Blanc
211 45 Frédéric Blanc
sur /dev/ttyACM0
212 1 Frédéric Blanc
213 46 Frédéric Blanc
Broadcast Power ON
214 1 Frédéric Blanc
<pre><code class="shell">
215 35 Frédéric Blanc
echo -ne "\x00\x06\x00\x12\x00\x01\xE9\xDE" > /dev/ttyACM0
216 34 Frédéric Blanc
</code></pre>
217
218 36 Frédéric Blanc
Broadcast Power OFF
219
<pre><code class="shell">
220
echo -ne "\x00\x06\x00\x12\x00\x00\x28\x1E" > /dev/ttyACM0
221
</code></pre>
222 1 Frédéric Blanc
223 45 Frédéric Blanc
sur /dev/ttyUSB0
224 1 Frédéric Blanc
225 46 Frédéric Blanc
Broadcast Power ON
226 45 Frédéric Blanc
<pre><code class="shell">
227
echo -ne "\x00\x06\x00\x12\x00\x01\xE9\xDE" > /dev/ttyUSB0
228
</code></pre>
229
230
Broadcast Power OFF
231
<pre><code class="shell">
232
echo -ne "\x00\x06\x00\x12\x00\x00\x28\x1E" > /dev/ttyUSB0
233
</code></pre>
234 36 Frédéric Blanc
235 30 Frédéric Blanc
h3. notice
236 15 Frédéric Blanc
237
presser [SW] pendant 2s pour accéder aux paramètres 
238
!clipboard-202404041503-e5ifh.png!
239
240 6 Frédéric Blanc
h2. GUI Python
241
242 9 Frédéric Blanc
h3. venv — Création d'environnements virtuels
243 6 Frédéric Blanc
244
<pre><code class="shell">
245 8 Frédéric Blanc
$ python3 -m venv venv
246 6 Frédéric Blanc
</code></pre>
247
248
Pour activer l'environnement, exécutez
249
250
<pre><code class="shell">
251
source venv/bin/activate
252
</code></pre>
253
254 7 Frédéric Blanc
<pre><code class="shell">
255
. venv/bin/activate
256
</code></pre>
257
258 51 Frédéric Blanc
sous Windows
259
<pre><code class="shell">
260
env\Scripts\activate.bat
261
</code></pre>
262
263 9 Frédéric Blanc
Vous devrez « quitter » ou « désactiver » votre environnement virtuel à l'aide de la commande 
264 6 Frédéric Blanc
265
<pre><code class="shell">
266
deactivate
267
</code></pre>
268
269
270
271 1 Frédéric Blanc
https://docs.python.org/fr/3/library/venv.html
272
273 16 Frédéric Blanc
h3. pyqt5
274
275
<pre><code class="shell">
276
pip3 install pyqt5 --config-settings --confirm-license= --verbose
277
</code></pre>
278
279 17 Frédéric Blanc
https://stackoverflow.com/questions/73714829/pip-install-pyqt5-it-cannot-go-on
280 16 Frédéric Blanc
281 9 Frédéric Blanc
h3. XY6015L_pyGUI
282
283 44 Frédéric Blanc
lancement de l'interface
284
285
<pre><code class="python">
286
python dps_GUI_program.py
287
</code></pre>
288
289 9 Frédéric Blanc
!clipboard-202404041117-w53xm.png!
290
291
configuration du port com
292
293
le port série peut être corrigé en modifiant le paramètre "port_set" dans "dps5005_limits.ini".
294
295
296
<pre><code class="shell">
297
[SectionZero]
298
The parameters below limit the code from incorrectly transmitting extreme values entered by the user:
299
if threshold exceeded value defaults to zero:
300
This file may be adapted for other versions of 'DPSxxxx' power supplies:
301
302
[SectionOne]
303
#leave empty "" for automatic port scanning or set serial port e.g. "/dev/cu.wchusbserial1410" or "/dev/ttyUSB0":
304
port_set: "/dev/ttyACM0"	#
305
306
#The parameters below limit the code from incorrectly transmitting extreme values entered by the user:
307 1 Frédéric Blanc
#if threshold exceeded value defaults to zero:
308 10 Frédéric Blanc
...
309 9 Frédéric Blanc
</code></pre>
310
311
h2. Sources
312 5 Frédéric Blanc
313 82 Frédéric Blanc
https://profimaxblog.ru/dps_update/
314 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/
315 29 Frédéric Blanc
http://xj900diversion.free.fr/bus/I2C%20-%20RS-485%20adapter.htm
316 5 Frédéric Blanc
https://github.com/AntaresAdroit/RDTech_PS_Comm
317
https://github.com/lambcutlet/DPS5005_pyGUI
318
https://github.com/kbs3056/XY6015L_pyGUI