Bonjour, cliquez-ici pour vous inscrire et participer au forum.
  • Login:



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

probleme de generation de signal à partir d'un PIC

  1. Vincent_69

    Date d'inscription
    juin 2003
    Localisation
    Lyon
    Messages
    17

    Question probleme de generation de signal à partir d'un PIC

    Bonjour,
    j'essaie de faire un générateur de signal carré à partir d'un microcontrolleur PIC 18F452. La fréquence de ce signal doit pouvoir etre modifiée et en gros comprise entre 1kHz et 10kHz.
    J'utilise un timer et une interruption d'overflow pour les basculement de niveau.
    Mais pour pouvoir changer la période, j'ai pensé à faire varier la valeur de départ de TMR0 (TMR0L, pour l'instant). Ainsi je pouvais obtenir 255 valeurs différentes (entre 0x00 pour une fréquence d'env 1KHz et 0xFE pour 10KHz) avec un pas raisonnable (environ 35Hz). Or, j'ai remarqué à l'oscillo, qu'en augmentant TMR0L de 1 la fréquence n'augmentait pas, et pire que la relation TMR0L <> fréquence n'etait pas linéaire.
    Et ça je ne me l'explique pas ... Pourquoi ?

    Merci ++
     


    • Publicité



  2. L'illuminé

    Date d'inscription
    mai 2004
    Localisation
    Arras
    Âge
    32
    Messages
    146

    Re : probleme de generation de signal à partir d'un PIC

    Peux tu décrire ce que tu fais exactement ?
    Moi j'aurai fait comme ça :

    0 - Mettre 255 dans TMR0H
    1 - Effacer TMR0L + flag d'overflow.
    2 - Remplir d'une certaine valeur, valeur d'overflow, TMR0L.
    3 - Complémenter, via un ou exclusif, la ligne d'un port quelconque, dès qu'il y a overflow. Et reboucler à l'étape 1.

    En organisant le programme, on peut trouver des optimisations (du genre ou et quand effacer le flag, ...) !
    Heureux est l'étudiant qui, comme la rivière, peut suivre son cours sans sortir de son lit !
     

  3. DavidDB

    Date d'inscription
    juillet 2004
    Messages
    1 199

    Re : probleme de generation de signal à partir d'un PIC

    Salut,
    Pourquoi utiliser le timer0 pour générer un signal carré ?
    Alors que le 18F452 possède un PWM qui permet de faire un signal carré de manière transparente pour le programme avec une fréquence maximal de 156KHz.
    .
    En utilisant le module PWM, tu dois t'occuper uniquement du changement de fréquence. c'est quand même plus facile.
    .
    Si tu veux vraiment faire ton signal carré de manière software(sans erreur de programmation), il faut aller chercher la note d'application(AN654) de Microchip qui donne le programme pour implémenter un PWM software.
    .
    Voici le lien :
    http://www.microchip.com/stellent/id...pnote=en011070
    .
    David.
     

  4. Bigonoff

    Date d'inscription
    janvier 2003
    Localisation
    Belgique
    Messages
    951

    Re : probleme de generation de signal à partir d'un PIC

    Salut
    ------

    Tu peux utiliser, comme indiqué, le module PWM (tu as des infos dans mon cours-part2).

    Tu peux aussi utiliser le timer 2, qui dispose d'un registre de "reload" (PR2), c'est plus simple.

    Si tu veux utiliser le timer0, alors tu dois ajouter au contenu du timer la valeur d'offset, et ce à chaque passage dans la routine d'interruption :

    movlw offset
    addwf TMR0L,f

    et pas

    movlw offset
    movwf TMR0L

    qui ne tient pas compte du temps écoulé depuis le déclenchement de l'interruption.

    De plus, tu dois vérifier que le temps restant avant la prochaine interruption soit suffisant pour éviter de louper des cycles.

    A+
    Bigonoff
    Vive l'Internet libre
     

  5. DavidDB

    Date d'inscription
    juillet 2004
    Messages
    1 199

    Re : probleme de generation de signal à partir d'un PIC

    Salut,

    Bien oui, ce fameux ADDWF pour le TMR0, je n'ai plus osé en parler .....

    C'est vrai que le TMR2 permet de créer un signal carré "plus facilement" qu'avec le PWM si on ne connaît pas bien ce module.

    David.
     


    • Publicité




    • Publicité




Poursuivez votre recherche :




Sur le même thème :




 

Discussions similaires

  1. Commutation de "puissance" à partir d'un signal logique
    Par RVmappeurCS dans le forum Électronique
    Réponses: 1
    Dernier message: 07/10/2007, 04h35
  2. Controller un PIC à partir d'un PC par bluetooth
    Par Boulbaga dans le forum Électronique
    Réponses: 17
    Dernier message: 11/07/2007, 14h35
  3. envoie d'un signal a partir du FPGA
    Par douds26 dans le forum Électronique
    Réponses: 4
    Dernier message: 31/05/2007, 15h52
  4. affichage à partir d'un PIC: LCD/Digits
    Par jim@ dans le forum Électronique
    Réponses: 14
    Dernier message: 10/05/2007, 13h22
  5. traitement de signal a base d'un pic
    Par khalid dans le forum Électronique
    Réponses: 12
    Dernier message: 23/11/2005, 20h44


Les tags pour cette discussion