IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C Discussion :

[Débutant] Régulateur "P+D" & "P+


Sujet :

C

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    19
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : Suisse

    Informations forums :
    Inscription : Mars 2003
    Messages : 19
    Points : 15
    Points
    15
    Par défaut [Résolu][Débutant] Régulateur "P+D" & "P+
    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

  2. #2
    Futur Membre du Club
    Inscrit en
    Avril 2003
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Avril 2003
    Messages : 10
    Points : 6
    Points
    6
    Par défaut Re: [Débutant] Régulateur "P+D" & "P+I&qu
    Citation Envoyé par Dark-Lab
    qui traitent de régulateurs numériques.
    Qu'est ce que P+D et P+I (régulateurs numériques) pour toi?

    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

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    19
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : Suisse

    Informations forums :
    Inscription : Mars 2003
    Messages : 19
    Points : 15
    Points
    15
    Par défaut
    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.

  4. #4
    Futur Membre du Club
    Inscrit en
    Avril 2003
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Avril 2003
    Messages : 10
    Points : 6
    Points
    6
    Par défaut
    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

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    19
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : Suisse

    Informations forums :
    Inscription : Mars 2003
    Messages : 19
    Points : 15
    Points
    15
    Par défaut
    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

  6. #6
    Membre éclairé
    Avatar de Elijha
    Homme Profil pro
    Ingénieur développement matériel électronique
    Inscrit en
    Avril 2003
    Messages
    314
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement matériel électronique
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Avril 2003
    Messages : 314
    Points : 742
    Points
    742
    Par défaut
    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 :
    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
      }
    avec :
    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)

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    19
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : Suisse

    Informations forums :
    Inscription : Mars 2003
    Messages : 19
    Points : 15
    Points
    15
    Par défaut
    Lo,
    Merci Beaucoup à toi ca me rend un grand service cet algo.
    Quant aux différents coefficient, je les ai deja calculé.

  8. #8
    Membre éclairé
    Avatar de Elijha
    Homme Profil pro
    Ingénieur développement matériel électronique
    Inscrit en
    Avril 2003
    Messages
    314
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement matériel électronique
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Avril 2003
    Messages : 314
    Points : 742
    Points
    742
    Par défaut
    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)

+ Répondre à la discussion
Cette discussion est résolue.

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo