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

probleme de generation de signal à partir d'un PIC



  1. #1
    Vincent_69

    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 ++

    -----

  2. Publicité
  3. #2
    L'illuminé

    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 !

  4. #3
    DavidDB

    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.

  5. #4
    Bigonoff

    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

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

    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.

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
Découvrez nos comparatifs produits sur l'informatique et les technologies.