Répondre à la discussion
Affichage des résultats 1 à 15 sur 15

régulateur PI numérique



  1. #1
    nouna1109

    régulateur PI numérique


    ------

    Salut,
    Je besoin d’implémenter un régulateur PI avec un pic 16f876 ,mon problème et la configuration de timer pour lancer une fonction de calcul avec une période
    régulier , la fréquence que je besoin est 20 KHZ
    quelqu’un peut peut m'aider avec un exemple en C

    merci d'avance

    -----

  2. Publicité
  3. #2
    gcortex

    Re : régulateur PI numérique

    Tu fait I = I + Erreur et tu récupères l'octet poids fort I1.
    Sortie = K.erreur + I1.

  4. #3
    nouna1109

    Re : régulateur PI numérique

    merci pour ta réponse
    mon problème n'est pas l'algorithme de PI
    l’intégrale I = gain Kp * la somme d'erreur mais le problème est la fréq échantillonnage pour lire les entrés analogique et calcule d'erreur il faut qu'il après chaque xx seconde je refaire le calcule

  5. #4
    carcan

    Re : régulateur PI numérique

    Hello !

    tu configures ton timer pour qu'il "déborde" toutes les 1 seconde (ou 0.1 seconde, ou 0.01 seconde).

    Puis tu comptes le nombre de passages, et quand la valeur correspond à xx secondes, tu lances ta routine acquisition + PI.
    Et tu n'oublies pas de remettre le compteur à 0

    A+
    Laurent

  6. #5
    nouna1109

    Re : régulateur PI numérique

    les xx secondes que je besoin de comptes c'est le temps(d'acquisition + PI) il faut que je ne dépasse pas cette période.
    Pour faire un système de régulation numérique il faut impérativement avoir une période fixe

  7. A voir en vidéo sur Futura
  8. #6
    gcortex

    Re : régulateur PI numérique

    L'ADC génère aussi des interruptions

  9. Publicité
  10. #7
    nouna1109

    Re : régulateur PI numérique

    comment je peux le configuré ?

  11. #8
    MiKL.66

    Re : régulateur PI numérique

    Bonjour,

    Citation Envoyé par nouna1109 Voir le message
    mon problème et la configuration de timer pour lancer une fonction ....
    quelqu’un peut peut m'aider avec un exemple en C
    D'une manière générale (je ne connais pas tous les compilateurs), la config du timer ne se fait pas en C.
    C'est propre à chaque compilateur.
    Comment veux tu qu'on t'aide si tu n'indiques pas ton compilateur ?

  12. #9
    nouna1109

    Re : régulateur PI numérique

    le compilateur est le picc

  13. #10
    MiKL.66

    Re : régulateur PI numérique

    C'est quoi "picc" ?
    Tu parles de la marque "CCS" ?

  14. #11
    nouna1109

    Re : régulateur PI numérique

    oui compilateur CCS PCWHD 4.110

  15. #12
    PA5CAL

    Re : régulateur PI numérique

    Bonjour
    Citation Envoyé par nouna1109 Voir le message
    Pour faire un système de régulation numérique il faut impérativement avoir une période fixe
    Soit dit en passant, il n'est impératif d'avoir une période fixe que lorsque cela fait partie des hypothèses de fonctionnement. Mais on peut très bien faire une régulation numérique avec des intervalles de temps variables si les calculs en tiennent compte. Toutefois, comme cela rajoute généralement du temps de calcul, cela ne présente pas souvent d'intérêt.


    Pour fixer la période, dans certains cas il est possible de ne pas utiliser de timer.

    Si le calcul de régulation et la conversion analogique-numérique sont menés simultanément, lorsque le temps de conversion est fixe et plus long que celui du calcul, on peut détecter de la fin de cette conversion par polling ou par interruption pour lancer le traitement du pas suivant.

    Lorsque le calcul est réalisé en assembleur, il est possible de contrôler précisément le temps qu'il prend. Dans ce cas, si le calcul et la conversion sont menés consécutivement avec un temps de conversion fixe, ou bien si le calcul et la conversion sont menés simultanément avec un temps de conversion plus court que celui du calcul, alors on peut assurer la périodicité souhaitée sans avoir recours à aucune interruption.

  16. Publicité
  17. #13
    MiKL.66

    Re : régulateur PI numérique

    Bonsoir,

    Voici une piste ...

    #include <16F876.h>
    #fuses INTRC_IO, WDT, PROTECT, NOLVP
    #use delay (clock = 4000000)

    #int_TIMER0
    void timer0_isr () // Période de 0,05 sec
    {
    set_timer0 (61);
    Flag = 1;
    }

    // puis dans le main ...
    setup_timer_0 (RTCC_INTERNAL|RTCC_DIV_256); // Prédiviseur: 256
    enable_interrupts (INT_RTCC); // Interruptions sur timer0 activées
    enable_interrupts (INT_TIMER1); // Interruptions sur timer1 activées
    enable_interrupts (GLOBAL);
    setup_oscillator (OSC_4MHZ); // Fréquence d'horloge interne

    // il suffit de traiter le Flag dans la boucle principale !

    J'espère que ça pourra t'aider.

  18. #14
    carcan

    Re : régulateur PI numérique

    Roohh MiKL,

    tu es trop gentil ... la moitié du devoir est fait là !!!!

    A+
    Laurent

  19. #15
    nouna1109

    Re : régulateur PI numérique

    merci pour ton aide ,mon problème est resoulu

Sur le même thème :

Discussions similaires

  1. je suis à la recherche d'un mode d'emploi d'un régulateur régulateur aeg E2 234 DIGIT 2
    Par sidonet dans le forum Habitat bioclimatique, isolation et chauffage
    Réponses: 0
    Dernier message: 13/05/2013, 21h28
  2. régulateur de température à commande numérique
    Par claudoz dans le forum Technologies
    Réponses: 1
    Dernier message: 16/10/2011, 19h19
  3. Régulateur DC/DC
    Par lagger dans le forum Électronique
    Réponses: 4
    Dernier message: 20/05/2011, 15h43
  4. Régulateur PID numérique
    Par Mouth85 dans le forum Électronique
    Réponses: 5
    Dernier message: 14/12/2010, 16h18
  5. régulateur numérique PID
    Par foufou19 dans le forum Électronique
    Réponses: 4
    Dernier message: 12/08/2009, 13h34