Question sur mise en oeuvre PWM PIC18F
Répondre à la discussion
Affichage des résultats 1 à 3 sur 3

Question sur mise en oeuvre PWM PIC18F



  1. #1
    invitec75dddab

    Question sur mise en oeuvre PWM PIC18F


    ------

    Bonjour à tous,

    Je viens ici pour la première fois pour vous exposer mon problème. Je souhaite commander un servomoteur à l'aide d'un PIC18F4550. J'ai étudié la partie servo et j'ai bien compris qu'on le commande avec des temps haut compris généralement en 1 et 2 ms. En ne dépassant pas 20ms. Je me suis donc dit facile je vais faire une pwm de 50hz sauf que quand j'ai commencé à lire la datasheet sur la pwm j'ai trouvé la formule suivante:
    T=Tquartz×Valeur du pré-compteur fixe × Valeur du pré-compteur réglable × (Valeur définie + 1)
    Etant donné que mon micro est cadencé à 48Mhz je ne peux pas descendre à 50hz. Du coup je suis bloqué et je ne vois pas comment faire. Je me suis dit que je peux utiliser deux timers un pour faire l'état haut et un autre l'état bas sauf que pour faire 1,2 ms à l'état haut je ne sais pas faire (faut peut être faire en virgule fixe?). Voilà je sais pas s'i il existe des solutions pratiques pour ce genre de problème?

    En attendant de partager vos idées avec vous bonne fête du 1 er mai à tous!

    -----

  2. #2
    paulfjujo

    Re : Question sur mise en oeuvre PWM PIC18F

    bonjour,

    faire 1,2 ms à l'état haut je ne sais pas faire (faut peut être faire en virgule fixe?)
    exemple si le cycle MCU est de 1µS avec Q=4MHz
    pour faire 1,2mS .. demander au timer d'armer son flag d'interruption tous les 1200 cycles soit 1200µS
    ex: timer16 bits à initialiser à 65536-1200=64936
    on met le bit à l'etat haut au moment de l'init Timer
    et on met le bit à l'etat pas sur la montee du flag 'interrupt timer...


    exemple avec RB0 et Timer0 16 bits

    Code:
    Timer0=64936;
    LATBbits.LATB0=1;
    while(INTCONbits.TMR0IF==0); // wait 1200µS
    LATBbits.LATB0=0;

    avec 48MHz , timer0 16 bits prescaler=16
    charger tmr1 avec 28036 => 50mS
    Dernière modification par paulfjujo ; 01/05/2014 à 16h02.

  3. #3
    invitec75dddab

    Re : Question sur mise en oeuvre PWM PIC18F

    Je constaste que je n'ai pas répondu. Merci beaucoup pour la réponse.

    Dsl pour le retard (très très tardif).

Discussions similaires

  1. Mise en oeuvre d'un bus CAN
    Par invitea961ebf1 dans le forum Électronique
    Réponses: 2
    Dernier message: 07/01/2013, 15h06
  2. Mise en oeuvre de ma VMC DF
    Par invite9615b11b dans le forum Habitat bioclimatique, isolation et chauffage
    Réponses: 0
    Dernier message: 18/02/2009, 23h01
  3. mise en oeuvre bus PCI
    Par invitea714b6ba dans le forum Électronique
    Réponses: 1
    Dernier message: 16/02/2009, 22h16
  4. mise en oeuvre d'un optocoupleur
    Par invite64a2ced1 dans le forum Électronique
    Réponses: 11
    Dernier message: 15/11/2008, 23h34
  5. Mise en oeuvre des composites
    Par invite667e73ab dans le forum Technologies
    Réponses: 6
    Dernier message: 03/12/2007, 09h20
Dans la rubrique Tech de Futura, découvrez nos comparatifs produits sur l'informatique et les technologies : imprimantes laser couleur, casques audio, chaises gamer...