Note de ce sujet :
  • Moyenne : 0 (0 vote(s))
  • 1
  • 2
  • 3
  • 4
  • 5
Lineariser la sortie Triac en mode découpe Sinus
#21
Merci Laurent53 pour cette optimisation.
Répondre

#22
(Hier, 09:18 AM)Mike a écrit : Par curiosité j'ai tracé les courbes du polynôme de Lolo et de x - sin(x) afin de comparer.
Voici le résultat obtenu.



Attached FilesThumbnail(s)
[Image: attachment.php?thumbnail=5538]   

oui mais moi c etait pour x varie entre  0 et 2*PI essaye la meme chose avec la correction que j ai dit au premier poste    avec cette fonction ->   x + 16*sin(2*PI* x/100)    

ca c est la theorie sinon le code est simple pas de sinus a calculer ou calcul complexe  juste 2 a 3 lignes de codes pour la correction PID
Répondre

#23
Ta théorie ne tient pas debout. Au lieu de palabrer sors nous les lignes de codes pour linéariser ça sera plus utile
Le code est si facile ça devrait aller vite, je ne comprends pas pourquoi André ne l a pas déjà fait


   
On est encore très loin.
Répondre

#24
(Hier, 10:28 PM)Lolo69 a écrit : Ta théorie ne tient pas debout. Au lieu de palabrer sors nous les lignes de codes pour linéariser ça sera plus utile
Le code est si facile ça devrait aller vite, je ne comprends pas pourquoi André ne l a pas déjà fait



On est encore très loin.

c est pas ma théorie .c est juste des maths j ai pas sorti cette equation comme ca .
j ai juste simplifier 100/2*pi  qui vaut 15.9.....  a 16 car le pid   c est en nombre entier.
pour le code  dans 16*sin(2*PI* x/100)    on a 4 symetries faut juste faire un tableau de 25 int8 avec les valeurs de correction . et additionner ou soustraire la valeur du tableau au pid.
Répondre

#25
Ton approche est très intéressante car digne d un programmeur hors pair qui maîtrise la discretisation 
 j y avait pensé, mais je ne trouve pas ça « élégant » ça veut dire faire des interpolations linéaires entre 2 points avec des cassures aux jointures.
En terme de précision ok ça passe  , en temps processeur c est pas mieux et il faut encore remplir des tables et donc un peu de RAM.  J ai horreur de ça ;-)
Ça veut dire aussi linearisation après être passé en Int là aussi ça crée des pulses sur le PID ( donc du filtrage donc du retard de phase) et perte de continuité dans la commande. La méthode polynôme permet indirectement de passer à une régulation derrière la virgule … pour une ouverture calculée et affichée à 5 le polynôme est capable d ajuster le retard entre 4,5 et 5,49 réel

Chacun son point de vue je trouve plus simple de rajouter une ligne pour un polynôme

J ai hâte de pouvoir comparer le résultat des 2 approches, en attendant bon routage à tous.

PS: J'ai remis à jour la modif de code dans les pages précédentes pour prendre en compte les remarques eclairées de Mike et Laurent53, merci à eux
Répondre

#26
Bravo Lolo69 et Mike pour cette linéarisation de la courbe puissance triac = f (pourcentage).

La méthode employée (polynôme) est certainement la plus rapide.

Cela va améliorer le comportement de la boucle d'asservissement qui devient linéaire, ce qui n'était pas le cas avec la découpe sinus par le triac.

De plus il devient plus agréable de constater la linéarité entre le pourcentage et la puissance comme cela est le cas dans les modes demi-sinus, multi-sinus et train de sinus.
1 ESP32 V16.02 Modifié pour 2 modules JSY-194-MT (affichage puissances onduleurs)
Ballon 1800W 
1 onduleur SOLAX Hybride 7.5 G4, PV 5025Wc,  4 Batteries de 3 kWh 
1 onduleur SOLAX X1-BOOST 5000 G4, PV 3400Wc en conf micro-grid
1 ESP32 + Aduino UNO + carte "Pedro home made" pour charge VE

Répondre



Atteindre :


Utilisateur(s) parcourant ce sujet :
1 visiteur(s)

Moteur MyBB, © 2002-2026 Melroy van den Berg.