F1ATB forum
signal Pwm et 4-20ma - Version imprimable

+- F1ATB forum (https://f1atb.fr/forum_f1atb)
+-- Forum : Forum de F1ATB (https://f1atb.fr/forum_f1atb/forum-3.html)
+--- Forum : Routeur Photovoltaïque (https://f1atb.fr/forum_f1atb/forum-4.html)
+--- Sujet : signal Pwm et 4-20ma (/thread-736.html)



signal Pwm et 4-20ma - Lulu80 - 12-11-2024

bonjour a tous ,

En parcourant les forums, je suis tombé sur le site ( espagnol)  de Freeds qui propose un routeur solaire a base D’Esp 32 mais avec afficheur sur l’ESP en local, vous trouverez le détail sur : https://freeds.es. Il est clair que le routeur d’André présente beaucoup plus de possibilités et je le remercie au passage, toutefois je trouve que la possibilité d’avoir un écran en local est un plus sachant que André nous a déjà fait un écran déporté avec la maisonnette mais est-il envisageable de retrouver les infos de la maisonnette sur ce genre d’écran ?
Autre possibilité un compteur via  modbus 
Ce routeur permet visiblement de piloter la régulation de chauffe via un signal Pwm  ou variable en  0-3.3v avec transformation en 4-20 ma ( carte supplémentaire ) ce qui ouvre des possibilités vers du matériel plus robuste type industriel  a la place d’un gradateur Robodyn

Merci de vos retours


RE: signal Pwm et 4-20ma - Mike - 12-11-2024

Bonjour,
Concernant l'afficheur, certains membres en ont rajouté un, voir ici : https://f1atb.fr/forum_f1atb/thread-140.html
Il faut modifier quelques lignes de code mais tout est expliqué dans le premier message du fil ci dessus.


RE: signal Pwm et 4-20ma - 59jag - 13-11-2024

bonjour 
j ai modifié le code pour avoir une sortie 0 3,3v qui pilote un alimentation pour charger batterie lifepo4


RE: signal Pwm et 4-20ma - Lolo69 - 13-11-2024

@59jag
Je suis preneur de où tu as fait la modif au dela du parametrage du gpio en Dac. J ai du mal à trouver dans le programme la valeur en pourcent de la sortie triac
Pour une toute autre application j’hesite à utiliser un convertisseur pwm / 4-20 pi bricoler avec un transistor pour « amplifier le 0/3.3 volts
J ai remarqué que le DAC de l esp (8 bit) n est pas très précis sur les valeurs inférieures à 0.25 volts


RE: signal Pwm et 4-20ma - 59jag - 13-11-2024

(13-11-2024, 02:31 PM)Lolo69 a écrit : @59jag
Je suis preneur de où tu as fait la modif au dela du parametrage du gpio en Dac. J ai du mal à trouver dans le programme la valeur en pourcent de la sortie triac
Pour une toute autre application j’hesite à utiliser un convertisseur pwm / 4-20 pi bricoler avec un transistor pour « amplifier le 0/3.3 volts
J ai remarqué que le DAC de l esp (8 bit) n est pas très précis sur les valeurs inférieures à 0.25 volts

par exemple dans la derniere version la 12.06
 tu va dans Solar_Router_V12_06.ino 
après la ligne  482   if (PulseComptage[i] < PulseOn[i]) {
tu rajoutes        dacWrite(25, PulseOn[i]/PulseTotal[i]);  //seulement  pin25 ou 26 pour le DAC.
tu auras la pin 25  qui sortira une tension (0  a 3.2v  environ) seulement si tu a choisi le mode  multisinus.
après la ligne  486    digitalWrite(Gpio[i], OutOff[i]);  //Stop
tu rajoutes           dacWrite(25, 0);

         



RE: signal Pwm et 4-20ma - Lolo69 - 14-11-2024

Merci 59jag


RE: signal Pwm et 4-20ma - Lulu80 - 14-11-2024

est il possible d avoir une sortie pwm en 5 v pour piloter un relais type LSA H3P4OYB ( voir pièce jointe plus industriel )  a la place du robodyn  qui visiblement gere le zero crossing seul ?

merci de votre retour


RE: signal Pwm et 4-20ma - 59jag - 14-11-2024

dans la doc:
5). PWM control type: Refer to the PWM figure, may accept pulse signals, such as PLCs with variable duty ratio, don't need AD conversion, it is easy to use. The acceptable signal frequency range is 1KHZ-3KHZ. The signal input peak level is 4-24VDC. This product can be compatible with the 5V CPU interface of conventional industrial control card and conventional PLC interface.


mini 4volts  or l'esp32 max 3.3v  donc faudra adapter les niveaux

// Définition des paramètres PWM 
const int gpioPwm = 23;    // Broche PWM 
const int pwmChannel = 0;    // Canal PWM 
const int pwmFreq = 2000;    // Fréquence PWM (en Hz) 
const int pwmResolution = 8; // Résolution (8 bits = 0-255)

dans Solar_Router_V12_06.ino
a rajouter dans setup() 

ledcSetup(pwmChannel, pwmFreq, pwmResolution); // Attacher le canal PWM à la broche 
ledcAttachPin(gpioPwm, pwmChannel);

ligne 482 a la place de dacWrite(25, PulseOn[i]/PulseTotal[i]);

ledcWrite( pwmChannel , ((PulseOn[i] *255)/ PulseTotal[i]);

et pour stop 
ledcWrite( pwmChannel , 0);
a verifier j ai pas test.