Bonjour à tous,
Je suis à la recherche d'exemples de codes en C qui traitent de régulateurs numériques.
Merci à celles et ceux qui pourront me transmettre des informations
Bonjour à tous,
Je suis à la recherche d'exemples de codes en C qui traitent de régulateurs numériques.
Merci à celles et ceux qui pourront me transmettre des informations
Qu'est ce que P+D et P+I (régulateurs numériques) pour toi?Envoyé par Dark-Lab
car chez moi P+D et P+I veulent dire Proportionnel-Dérivateur et Proportionnel-Intégrateur et se sont des correcteurs pour automates programmables donc qui n'a quasiment rien à voir avec le C ...
Merci d'apporter quelques précisions à ta requête,
Cordialement, Jean
Ex-Président des reposteurs ;
Jeune et ancien taverneux à la fois ;
See you and take good care mates
Lo,
Si tu veux, on peut aussi appeller ca correcteur, j ai l'impression que c'est simplement une différence de language, mais on parle bien de la meme chose.
Dans mon cas, je ne travail pas avec des automates programmables mais avec un microcontroleur de chez motorola. Je dois réaliser un asservissement pour un télémanipulateur. Cet asservisement, je le réalise en C, avec certaine partie en assembleur. Voila pour le principe.
J ai déja fait des essais de mon code avec une partie purement proportionnel. Et maintement je dois rajouter une partie dérivatrice pour le placement de mon système.
Donc si je comprends bien tu veux les algorythmes des correcteurs PI et PD codés en C...
Si c'est cela que tu veux, il faudrait que tu récupères les algorythmes qu'effectuent ces correcteurs et que tu code ces calculs en C...
Je vais essayer de retrouver ca de mon côté
Bonne continuation,
Jean
Ex-Président des reposteurs ;
Jeune et ancien taverneux à la fois ;
See you and take good care mates
Lo,
Merci beaucoup, c est cela meme.
J ai deja fait quelques recherches, mais les algos sont différents à chaques fois. Je suis en train de faire une synthèse de ce que je possède deja.
encore merci
Salut
J'ai travaillé sur la régulation en température d'une cuve avec un micro à coeur 51. J'ai recherché pas mal de temps, et j'ai trouvé un algo qui fonctionne pas mal. Le problème, c'est qu'il faut te taper qql essais pour déterminer tous les coéfficients du régulateur à PID (KP, KI et KD).
En voici les sources simplifiées :
avec :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 // Calcul du régulateur PID while(20ms) { th_value = read_therm() ; // Lecture de la température old_ch_p = ch_p ; // Mémorisation de l'ancienne Proportionnelle ch_p = consigne - th_value ; // Calcul de la Proportionnelle ch_i += ch_p ; // Calcul de l'Intégrale ch_d = ch_p - old_ch_p ; // Calcul de la Dérivée ch_pid = ch_p*KP + ch_i*KI + ch_d*KD ; // Régulateur à PID ch_pwm = (ch_pid*PWM_CYCLE)/1000 ; // Calcul de la PWM timer_chauffe(ch_pwm) ; // PWM appliqué au transistor }
consigne = température de régulation (1/16 degrés)
th_value = température mesurée (1/16 degrés)
ch_p, ch_i et ch_d = variable de PID
KP, KI et KD = Coefficients
ch_pwm = valeur de PWM à appliquer sur une R chauffante
Note our la formule du calcul de la PWM, j'ai bricolé un peu...(j'avoue!)
En espérant que cela t'aide un peu... :-)
- Une réponse vous a été utile ? Remerciez son auteur en cliquant le pouce vert !
- Travailler dur n'a jamais tué personne, mais pourquoi prendre le risque (Edgar Bergen)
Lo,
Merci Beaucoup à toi ca me rend un grand service cet algo.
Quant aux différents coefficient, je les ai deja calculé.
Salut.
Je viens de retrouver mes documents (dans mon bordel ) et voici qql adresses où j'ai trouvé les informations sur les PIDs :
http://www.ancr.org/fichtech/action/pid/
http://perso.wanadoo.fr/philippe.bau...equadiff3.html
Bonne chance !
- Une réponse vous a été utile ? Remerciez son auteur en cliquant le pouce vert !
- Travailler dur n'a jamais tué personne, mais pourquoi prendre le risque (Edgar Bergen)
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager