Synchro 1s avec un PIC
Répondre à la discussion
Affichage des résultats 1 à 12 sur 12

Synchro 1s avec un PIC



  1. #1
    cubitus_54

    Synchro 1s avec un PIC


    ------

    Bonjour,

    J'ai un programme qui affiche l'évolution de la température sur un LCD graphique sur des durées de 1 h à 32 h.
    L'acquisition de la température dure 750ms ce qui fait que j'ai ajouté une tempo pour ajuster l'ensemble à 1 s

    J'ai une dérive d'une dizaine de minutes sur 24 h ce qui est pas trop mal. Mais j'aimerai si ce n’est pas une usine à gaz êtres plus précis.

    Vous auriez une idée pour obtenir une synchro à 1 Hz

    Merci

    -----

  2. #2
    cubitus_54

    Re : Synchro 1s avec un PIC

    Je n'ai pas précisé c'est un PIC 16F1847 qui tourne à 32MHz

  3. #3
    Gérard

    Re : Synchro 1s avec un PIC

    Tu pourrais utiliser un timer avec en entrée la fréquence du Qz. Le débordement génère une interruption, tu incrémentes une variable et tu devrais arriver à la seconde. J'ai fait ça avec un 16F877, je ne connais pas ton PIC.

  4. #4
    cubitus_54

    Re : Synchro 1s avec un PIC

    J'y ai pensé, mais je n'arrive pas à trouver pas comment obtenir une valeur de division entière
    j'ai soit 122.07Hz ou soit 15.259 Hz

    Est qu'une interruption durant la lecture de la température sur du OneWire peu poser problème ?

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

    Re : Synchro 1s avec un PIC

    Citation Envoyé par cubitus_54 Voir le message
    J'y ai pensé, mais je n'arrive pas à trouver pas comment obtenir une valeur de division entière
    j'ai soit 122.07Hz ou soit 15.259 Hz
    Salut,

    Tu utilises un timer sur une base de temps plus faible (par exemple 10ms) puis à chaque interruption tu incrémente jusqu'à arriver à 1000ms.
    Par exemple avec le tmr2, postcaler et prescaler à 1:8 et 1:64, ça fait une base de -> 32MHz / ( 4 * 8 * 64) = 15624Hz. Avec 156 incrément du registre, alors tu auras 10ms.

    Comment est géré ton oscillateur ? Un quartz/résonateur externe ou oscillateur interne ? L'interne a une erreur non négligeable.

    Citation Envoyé par cubitus_54 Voir le message
    Est qu'une interruption durant la lecture de la température sur du OneWire peu poser problème ?
    Si tu gères bien tes interruptions non.

  7. #6
    MiKL.66

    Re : Synchro 1s avec un PIC

    Citation Envoyé par cubitus_54 Voir le message
    J'ai une dérive d'une dizaine de minutes sur 24 h ce qui est pas trop mal
    Bonjour,

    une dizaine de minute par jour est plus que mauvais !
    Moi, j'ai une dérive de moins de 30 sec par mois, peut être que je suis dans des conditions idéales ...

    J'attends de voir tes réponses aux demandes d'amoniaque.

    Mickael

  8. #7
    cubitus_54

    Re : Synchro 1s avec un PIC

    J'ai fait un test.
    Timer 2
    Prescaler 1/16
    Postcaler 1/10
    Rollover 200

    soit 250 Hz

    J'ai généré une impulsion à la fin du cycle de comptage de 250 résultat 1,000 Hz à l'analyseur logique

    OK l'horloge principale est l'oscillateur interne, il est donné comme précis à 1% (calibré à la fabrication)

    Je vais l'intégrer dans mon programme et on verra sur un cycle s'il y a une grosse dérive...

    Pour la lecture de la température OneWire, il semble qu'il n'y a pas de souci.

    Merci pour le coup de puce, je vous tien au courant.

  9. #8
    amoniaque

    Re : Synchro 1s avec un PIC

    Bien joué .

    Citation Envoyé par cubitus_54 Voir le message
    OK l'horloge principale est l'oscillateur interne, il est donné comme précis à 1% (calibré à la fabrication)
    Fais gaffe à la T° qu'elle n'aille pas trop influencer le tout. Tu ne peux pas mettre de quartz ?

  10. #9
    cubitus_54

    Re : Synchro 1s avec un PIC

    Je n’ai pas de quartz qui va bien sous la main...

    Je vais laisser tourner le programme une paire d'heures, j'ai noté le top départ à 15h40:00, je vais vite voir s'il y a une dérive.

    Le montage a pour but de visualiser l'évolution de la température, sur une durée de plusieurs heures à 1 semaine maxi. Si j'ai une minute de dérive au bout d'une semaine, ce n’est pas important.

  11. #10
    Gérard

    Re : Synchro 1s avec un PIC

    Sur certains PIC, on peut calibrer l'oscillateur interne.

  12. #11
    RISC

    Re : Synchro 1s avec un PIC

    Salut,

    Beaucoup d'utilisateur n'ont toujours pas compris que l'horloge interne des microcontroleurs n'est pas un quartz....
    La datasheet spécifie toujours la dérive de l'oscillator interne en fonction de la température et de la tension.
    Si tu lis la datasheet tu verras dans la figure 30-6 que la dérive MAX garantie est de +/-2% de 0 à 60degC.
    La dérive que tu vois est NORMALE.

    La SEULE façon d'avoir quelque chose plus précis que cela est d'utiliser une référence de temps externe (quartz, info secteur,...).
    Pour le PIC16F1847 tu as 2 solutions ( figure 5-1 ) : un quartz principal externe ou un quartz 32kHz secondaire.

    Comme l'a dit Gérard tu peux aussi recalibrer l'oscillateur interne pour minimiser l'erreur dans TES conditions de fonctionnement mais les commentaires ci-dessus restent valablent
    La solution la plus rapide c'est le quartz...

    a+
    Dernière modification par RISC ; 31/08/2013 à 09h24.

  13. #12
    cubitus_54

    Re : Synchro 1s avec un PIC

    Bonjour,

    Je suis parfaitement d'accord.

    Je viens de faire un test de 3 h j'ai 40 s d'avance ce qui fait 3.6 % ce qui est pas trop mal pour ce que j'ai besoin de faire.
    Je laisse tourner le test pour voir si l'écart augmente et de combien.

    Je vais essayer avec OSCTUNE de ralentir un poil la fréquence pour voir.

Discussions similaires

  1. Stroboscope synchro avec ampli 15w
    Par inviteec5b2b6e dans le forum Électronique
    Réponses: 10
    Dernier message: 03/06/2011, 20h26
  2. Commande synchro de 2 PC avec 1 seul clavier
    Par invitedfaed372 dans le forum Électronique
    Réponses: 0
    Dernier message: 09/09/2008, 16h49
  3. synchro TV
    Par Jack dans le forum Électronique
    Réponses: 15
    Dernier message: 22/03/2006, 19h35
Découvrez nos comparatifs produits sur l'informatique et les technologies.