PWM pour servomoteur PIC18F4431
Répondre à la discussion
Affichage des résultats 1 à 9 sur 9

PWM pour servomoteur PIC18F4431



  1. #1
    invite3df4a7fe

    PWM pour servomoteur PIC18F4431


    ------

    Bonjour,

    J'aurais voulu avoir des conseils ! Le PIC18F4431 dispose de 7 modules PWM mais si j'ai bien compris je ne peux pas configurer le duty cycle pour chaque module... pourtant sur MPLAB (compilateur XC8) il me propose de les contrôler indépendamment ou en mode complément.

    Code:
    Openpcpwm(PWM_IO_ALL | PWM_0AND1_COMPLI | PWM_2AND3_COMPLI | PWM_4AND5_COMPLI | PWM_6AND7_COMPLI, 0, 0xC, 0x80, 312, 0xffff);
    MPLAB ne me propose que 4 "SetdcXpcpwm()". Donc à quoi sert ces modes svp ?

    Et seriez vous comment je pourrais initialiser un servomoteur sans que celui ci à l'alimentation ne bouge dans tout les sens ?

    Je vous remercie pour votre aide !

    -----

  2. #2
    invite3df4a7fe

    Re : PWM pour servomoteur PIC18F4431

    Edit : Enfaîte désolé mais pour l'initialisation des servos, ils bougent beaucoup seulement quand je le reset avec le pickit sinon ça marche très bien quand j'alimente directement avec une alim. Cela doit être dû aux alimentations qui arrivent pas en même temps que la commande. Donc aucun problème !

    Mais je veux bien des renseignement sur ma première question

  3. #3
    invite5637435c

    Re : PWM pour servomoteur PIC18F4431

    Bonjour,

    comment sont câblés tes servos?
    Tu dois t'assurer qu'à la mise sous tension du PIC tes servos ne soient pas alimentés en même temps, au moins le temps que le bon niveau de commande envoyé par le µC soit bien stabilisé.
    Avec un schéma de ton montage se serait plus facile de te dire comment faire.

    @+

  4. #4
    invite5637435c

    Re : PWM pour servomoteur PIC18F4431

    Pour les duty cycles, il faut bien lire la doc, généralement une même base de temps est utilisée pour plusieurs PWM donc il n'est pas possible ou simple d'utiliser conjointement la même base de temps pour modifier plusieurs duty cycles.
    Il existe des solutions de modifications à la volée, si mes souvenirs sont bons en utilisant CCPx.

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

    Re : PWM pour servomoteur PIC18F4431

    Merci HULK28, le problème d'alimentation est réglé, c'étais juste un problème avec le Pickit sinon mes servos sont branché au 5V et la commande aux broches PWM du PIC directement.

    Justement je ne veux pas utiliser la même base de temps pour chaque PWM. J'aimerais contrôler le duty de chacun si c'est possible...

    Je ne suis pas connecté au broche CCP ! mais aux broches PWM. Elles sont différentes normalement.

  7. #6
    invite5637435c

    Re : PWM pour servomoteur PIC18F4431

    Il y a plusieurs solutions envisageables mais tout dépend du taux d'occupation de ton µC.

    La première que je vois possible est d'utiliser les temps morts (à 0V donc) pour utiliser la base de temps en association avec une deuxième pour créer la largeur d'impulsion de chaque servo, étant donné que le servo est positionné selon une durée de temps: période 200ms pour une durée de 1ms à 2ms max soit 198ms de temps libre on peut en faire des choses pendant 198ms avec un µC et piloter grand nombre de servo en même temps (ou presque) en tout cas de manière invisible pour chaque servo.

  8. #7
    invite3df4a7fe

    Re : PWM pour servomoteur PIC18F4431

    *20ms la commande

    J'ai 7 servomoteurs à contrôler... il s'agit d'un robot donc je dois être précis au niveau des angles. J'ai même 2 servo que j'aimerais contrôler en simultané. Tu es sur que sa ne vas pas poser problème ?

    Et pour PWM_0AND1_COMPLI ou PWM_0AND1_INDPEN tu connais la différence ? J'ai que le PWM 1 activé dans les 2 cas et rien sur l'autre.

  9. #8
    paulfjujo

    Re : PWM pour servomoteur PIC18F4431

    Citation Envoyé par HULK28 Voir le message
    ... période 200ms pour une durée de 1ms à 2ms max .
    c'est plutot 20mS en radio-commande ...

  10. #9
    invite5637435c

    Re : PWM pour servomoteur PIC18F4431

    Oui c'est exact 20ms, ça laisse encore beaucoup de marge pour faire du temps partagé.

Discussions similaires

  1. probleme pour controler mon servomoteur
    Par invite13dcd32e dans le forum Électronique
    Réponses: 5
    Dernier message: 27/10/2014, 20h15
  2. PIC18F4431 : Power Control PWM
    Par LTHOMAS dans le forum Électronique
    Réponses: 0
    Dernier message: 22/07/2009, 12h34
  3. Servomoteur HS-311 pour piloter une webcam
    Par invite2948897c dans le forum Électronique
    Réponses: 5
    Dernier message: 27/03/2009, 02h07
  4. Interruptions sur PIC18F4431
    Par invitef8253c81 dans le forum Électronique
    Réponses: 3
    Dernier message: 17/07/2008, 00h25
  5. Interruption et PIC18F4431
    Par invitec7ced588 dans le forum Électronique
    Réponses: 1
    Dernier message: 09/03/2006, 15h01
Dans la rubrique Tech de Futura, découvrez nos comparatifs produits sur l'informatique et les technologies : imprimantes laser couleur, casques audio, chaises gamer...