Project

General

Profile

Wiki » History » Version 88

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