Project

General

Profile

Wiki » History » Version 87

Frédéric Blanc, 2024-07-12 14:48

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