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

Commande d'un servoMoteur avec PIC16F877



  1. #1
    Electro_Red

    Commande d'un servoMoteur avec PIC16F877


    ------

    Bonjour tout le monde,

    Je travaille sur la commande de l'angle d'un servoMoteur HS322-HD,
    je vaudrais une rotation en 3 angles (0°, +50 et -60°).

    Si vous voyez le code en MicroC, j'essaye de donner des impulsions (calculées d'après des formules citées dans la Datasheet).
    Mais j'ai rencontré un problème!! le moteur tourne mais pas avec la précision désirée!!

    while (1) {
    PORTC.F2=1;
    delay_us(2000);
    PORTC.F2=0 ;
    delay_ms(22);
    delay_ms(2000);
    PORTC.F2=1 ;
    delay_us(1500);
    PORTC.F2=0 ;
    delay_ms(22);
    delay_us(500);
    delay_ms(2000);
    PORTC.F2=1 ;
    delay_us(900);
    PORTC.F2=0 ;
    delay_us(100);
    delay_ms(23);
    delay_ms(2000);
    PORTC.F2=1;
    delay_us(1500);
    PORTC.F2=0;
    delay_ms(22);
    delay_us(500);
    delay_ms(2000);
    }


    Merci

    -----
    "Et au-dessus de tout homme détenant science, il y a en un plus savant"

  2. Publicité
  3. #2
    jojo150393

    Re : Commande d'un servoMoteur avec PIC16F877

    salut!
    je te conseil d'utiliser une pwm qui est beaucoup plus précis que d'utiliser un une temporisation beaucoup moins précis et plus lourd.

  4. #3
    Franck-026

    Re : Commande d'un servoMoteur avec PIC16F877

    Sauf que fabriquer une PWM avec une frquence de 50Hz (20ms typique pour un servo type RC), c'est impossible avec un PIC qui tourne aux frequences usuelles entre 1 et 20MHz... Voir le tableau des frequences minimales de PWM...
    Et sauf info, la tempo est de loin une solution precise des l'instant qu'on la programme avec soin et methode...

    Question: queles sont les largeurs d'impoulsion pour debattement plein? 500µs jusqu'a 1.5ms? ou autre largeur? Et quelle est la periode maximale entre deux impulsions?

  5. #4
    Electro_Red

    Re : Commande d'un servoMoteur avec PIC16F877

    Bonjour,

    Merci pour vos réponses,

    En fait je l'ai fait avec la commande PWM, notant la fréquence minimal qui peut être générée avec le PIC16F877 et un quartz de 4Mhz est de l'ordre de 250 Hz.
    En utilisant cette fréquence, le moteur tourne avec précision, mais on entend un son étrange (une sorte de vibrations)!!
    et pour cela j'ai essayé de construire mon PWM avec une période à peu près 24 ms.
    ça tourne mais avec des angles inférieures à celles désirée!!

    Merci
    "Et au-dessus de tout homme détenant science, il y a en un plus savant"

  6. A voir en vidéo sur Futura
  7. #5
    guillaume83

    Re : Commande d'un servoMoteur avec PIC16F877

    Bonsoir,
    ajuste les tempos pour avoir la valeure désirée.
    @+

  8. #6
    Franck-026

    Re : Commande d'un servoMoteur avec PIC16F877

    un servo, c'est 20ms maximum... en general, on envoie les donnees toutes les 15ms jusqua 20ms MAXI

  9. Publicité

Discussions similaires

  1. Commande d'un servomoteur
    Par invite2313209787891133 dans le forum Électronique
    Réponses: 4
    Dernier message: 18/06/2012, 23h00
  2. Commande radio d'un servomoteur
    Par torjemen dans le forum Électronique
    Réponses: 7
    Dernier message: 07/11/2011, 21h46
  3. Commande d'un vérin avec un PIC16F877
    Par psychobyob dans le forum Électronique
    Réponses: 2
    Dernier message: 19/04/2011, 00h06
  4. commande d'un servomoteur
    Par bahroo dans le forum Électronique
    Réponses: 4
    Dernier message: 16/02/2010, 12h15
  5. inverseur de commande d'un servomoteur
    Par omzo86 dans le forum Électronique
    Réponses: 6
    Dernier message: 23/03/2009, 16h19
Découvrez nos comparatifs produits sur l'informatique et les technologies.