Project

General

Profile

Wiki » History » Version 86

Frédéric Blanc, 2024-07-12 13:55

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