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

Asservissement en vitesse sur PIC



  1. #1
    Magneau

    Question Asservissement en vitesse sur PIC


    ------

    Bonjour,

    Je souhaite réaliser un asservissement en vitesse sur un PIC 16f877A.
    Je dispose de deux moteurs qui sont commandés par des ponts en H.
    Il y a aussi un codeur sur chaques roues avec 30 encoches.

    J'ai relié les deux codeurs aux broches RB4 et RB5 pour détecter les impultions par interruptions.

    J'ai donc un problème cela ne va t'il pas trop ralentir l'execution du programme principal?
    Un asservissement type PI suffit-il ou vaut-il mieux un PID?
    Les interruptions sur B4-B7 se font elles sur front montant ou sur chaques front?

    Mon idée de base était d'utiliser une interruption timer (toutes les 100 ms) et venir lire le nombre de tour effectués par les moteurs, mais après je bloque notamment avec les correcteurs ect ...

    Merci de votre aide!

    -----
    Dernière modification par Magneau ; 10/05/2007 à 15h30. Motif: oubli important

  2. #2
    obi76

    Re : Asservissement en vitesse sur PIC

    Je pourrai pas répondre à toute ta question, mais j'aurai peut etre deux éléments de réponse :
    Les interruptions sur le port B sont sur front montants OU descendant (selon la valeur d'un parametre dans le registre). Par défaut c'est montant.
    pour l'asservissement, si la sortie du moteur est un signal en crénaux je te suggère de faire un convertisseur fréquence/tension (avec un 555 tu peux ressortir des pics de largeur constante lorsque tu met un front montant en entrée, un filtre passe bas ensuite).
    Le 877 ayant des entrées analogiques il te suffit de comparer la valeurt de la tention en entrée à la valeur voulue et voilà.
    Ou alors encore plus simple, tu prend un AO, tu rentre la tension qui servirra de commande sur l'entrée non inverseuse, la sortie du fréquence/tension sur l'inverseuse, la sortie sur un bon gros MOSFET et roulez jeunesse ^^

    Pour la vitesse d'execution ça dépend de la vitesse ou est censé tourner ton moteur... Ce proc monte à 40Mhz (si je dis pas de bêtises) donc la vitesse d'éxécution reste grande devant la vitesse des interruptions (à vérifier mais ça doit etre le cas). Sauf si ton moteur monte à 1000 tours/s, là c'est sur que ça suivra plus...

    L'interet du convertisseur frequence/tension est que quelque soit la vitesse du moteur ton asservissement sera valable
    Dernière modification par obi76 ; 10/05/2007 à 23h28.

Sur le même thème :

Discussions similaires

  1. Asservissement de position d'un moteur par PIC
    Par The Viking dans le forum Électronique
    Réponses: 7
    Dernier message: 01/06/2007, 14h37
  2. asservissement PWM par PIC
    Par jim@ dans le forum Électronique
    Réponses: 6
    Dernier message: 22/05/2007, 14h06
  3. asservissement de vitesse par PIC
    Par jim@ dans le forum Électronique
    Réponses: 31
    Dernier message: 06/05/2007, 18h47
  4. [Brun] tete asservissement + audio sur vhs
    Par marc.mcd dans le forum Dépannage
    Réponses: 2
    Dernier message: 27/01/2007, 13h54
  5. asservissement d'un moteur DC par un pic 16f877
    Par massinissa dans le forum Électronique
    Réponses: 1
    Dernier message: 17/05/2006, 02h33