PIC16F690 : Cherche explication (et solution) Phénomène CURIEUX
Répondre à la discussion
Affichage des résultats 1 à 26 sur 26

PIC16F690 : Cherche explication (et solution) Phénomène CURIEUX



  1. #1
    Tronic19

    PIC16F690 : Cherche explication (et solution) Phénomène CURIEUX


    ------

    Bonjour à tous,

    J'aurais besoin de spécialistes en analyse pour comprendre mon problème.

    Voici mon cas "Special" :

    Je cherche à faire clignoter simultanément des leds, et ceci sur deux
    platines différentes. La Synchronisation venant de la même source d'alimentation. (Alimentées par la même alim)
    Je n'ai aucun problème pour coder ceci....(je code en C)

    Mon défaut:

    Aprés la mise en route, mes leds sont parfaitement synchronisées
    (clignotement à la seconde) et tout fonctionne parfaitement...
    Cependant , au bout de quelques minutes les clignotements commencent à ce desynchroniser lentement...

    Mes Tests:
    - Utilisation d' IRQ : Idem
    - Utilisation de Quartz Externe (Ai essayé, 4 Mhz, 12 et 20 Mhz) : Idem
    - Modification du code... : Idem

    Rien n'y fait...

    Questions:
    D'ou vient ce phénomène ??? Mon programme est similaire dans
    les 2 cartes, donc les instructions prennent le même temps !
    Je n'ai qu'un PIC , Quartz et diodes ? Qui puisje incréminer ?

    MERCI d'AVANCE POUR VOS AIDES...

    -----

  2. #2
    cherwam07

    Re : PIC16F690 : Cherche explication (et solution) Phénomène CURIEUX

    Ba envoi le code

  3. #3
    Tronic19

    Re : PIC16F690 : Cherche explication (et solution) Phénomène CURIEUX

    Voici le Code:

    #include <16F690.h>

    #FUSES NOWDT //No Watch Dog Timer
    #FUSES HS //Quartz 4Mhz Connecté entre Xin et Xout
    #FUSES NOPROTECT //Code not protected from reading
    #FUSES NOBROWNOUT //No Reset when brownout detected
    #FUSES MCLR //Master Clear pin enabled
    #FUSES NOCPD //No EE protection
    #FUSES NOPUT //No Power Up Timer
    #FUSES NOIESO //Internal External Switch Over mode enabled
    #FUSES NOFCMEN //Fail-safe clock monitor Not enabled

    #use delay(clock=4000000)

    char cpt_tick = 0;
    char cpt_loop = 0;

    #int_RTCC
    void RTCC_isr(void)
    {
    cpt_loop++;
    if(cpt_loop > 10)
    {
    cpt_loop=0;

    if(cpt_tick == 1)
    {
    cpt_tick = 0;
    output_low (PIN_C0);
    }else{
    cpt_tick = 1;
    output_high (PIN_C0)
    }
    }

    }


    void main()
    {
    //Paramétrage PIC.
    setup_adc_ports(NO_ANALOGS|VSS _VDD);
    setup_adc(ADC_OFF);
    setup_spi(FALSE);
    setup_timer_0(RTCC_DIV_256);
    //setup_timer_0(RTCC_DIV_1); //
    setup_timer_1(T1_DISABLED);
    setup_timer_2(T2_DISABLED,0,1) ;
    setup_comparator(NC_NC_NC_NC);// AntiBug Compilo.

    enable_interrupts(INT_RTCC);
    enable_interrupts(GLOBAL);

    for(;
    {
    }

    }

  4. #4
    jiherve

    Re : PIC16F690 : Cherche explication (et solution) Phénomène CURIEUX

    Bonsoir
    Le quartz était il commun?
    Qu'est ce qui synchronise les deux micro au démarrage?
    Qu'est ce qui assure que les diviseurs partent du même état?
    Pour synchroniser deux machine il faut un signal du même bois, c'est par exemple ce à quoi servent les signaux de synchronisation en vidéo et dans bon nombre de transmission.
    Il faudrait donc que l'un des PIC génère un top de synchro et l'envoie à l'autre.
    Aujourd'hui tu te situes dans un mode plésiochrone(ou mésochrone) alors qu'il faudrait que ton système soit isochrone.
    JR
    l'électronique c'est pas du vaudou!

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

    Re : PIC16F690 : Cherche explication (et solution) Phénomène CURIEUX

    Bonsoir,
    Le quartz n'est pas commun, il y a un quartz sur chaque carte.
    (4mhz en +/- 30ppm)

    Le Top départ est donné par les alimentations...

    Normalement un quartz est trés stable ? On fait bien de la seconde avec du 32.768 khz ?

    Comment se fait il que cette stabilitée ne soit pas conservée dans le temps ?
    => C'est l"essence de ma question...

    D'ou vient cette dérive constatée ?

    Ps: Dans mon projet, je ne peux pas synchroniser les cartes, elles doivent
    fonctionner avec le même départ d'alimentation.

    Quelqu'un aurai une solution ?

    Tronic19

  7. #6
    electronsa

    Re : PIC16F690 : Cherche explication (et solution) Phénomène CURIEUX

    bonsoira priori) :la liaison! :longueur des liaisons,blindage:la diaphonie doit etre la cause:faire un essai avec 10 cm de liaison!

  8. #7
    jiherve

    Re : PIC16F690 : Cherche explication (et solution) Phénomène CURIEUX

    Re
    Aucune chance car il est impossible d'avoir un comportement au reset identique, les seuils des circuits de reset doivent varier dans un ratio de plusieurs dizaines de %.
    30 ppm quartz de course !
    Les interruptions sont activées, comment sont elles resynchronisées?
    Le traitement des interruptions est il déterministe?
    Je ne connais pas les PIC , aussi suis je un peu dérouté car la routine d'it ne comporte aucun retour d'interruption est ce normall?
    Les IT peuvent elles être ré entrantes?
    c'est quoi cpt tick?
    Qu'est ce qui fait évoluer sa valeur?
    JR
    l'électronique c'est pas du vaudou!

  9. #8
    Tronic19

    Re : PIC16F690 : Cherche explication (et solution) Phénomène CURIEUX

    Re,

    => Côté cable de liaison, c'est du trés court car actuellement en protos.
    (Pas plus de 10 cm)

    => Je ne pense pas qu'il y ait de la ré entrance sous les IT.
    (Sinon, c'est un défaut du compilo)

    => A Titre d'info , je rappelle que tout est "Clean" durant les premières minutes...et que c'est uniquement dans le temps que cela se dégrade...
    (C'est pour moi le plus étrange, car je ne vois pas ce que le compilo peut générer comme comme 'flottant' entre deux cartes similaires...)

    => cpt_tick est un "char" (variable)... Mon libélé n'est pas top je reconnais ;d)
    (il s'agit juste d'un booleen permettant de faire changer l'etat de ma sortie)
    il est activé au bout de 10 tours dans l'interruption RTCC (comptee par cpt_loop)

    Je mettrais en ligne demain le code ASM généré par le compilo...si ca peut aider..

    Merciiiiii

    Tronic19

  10. #9
    invite2562e666

    Re : PIC16F690 : Cherche explication (et solution) Phénomène CURIEUX

    Bonsoir,

    Je ne connais pas les pics, mais si le programme est identique et que tu as une dérive, c'est qu'ils n'oscillent pas à la même fréquence, ce qui peut être le cas si ils oscillent sur un oscillateur interne.

    N'aurais tu pas oublié de configurer un registre pour sélectionner le quartz comme source d'horloge ?

    th.

  11. #10
    Tronic19

    Re : PIC16F690 : Cherche explication (et solution) Phénomène CURIEUX

    Bonsoir;

    Cela a été ma première hypothèse... qui c'est avérée fausse.
    (Le pic16f690 possède un registre de sécurité permettant de repasser en horloge interne si défaillance du quartz ... J'ai bien sur désactivé ce
    registre...NOFCMEN)

    De plus, en réalisant un simple court-circuit sur les oscillateurs(quartz), je me suis assuré de leur bonne activité (mon programme se stoppe)...

    Tronic....
    Mystere toujours...

  12. #11
    Gérard

    Re : PIC16F690 : Cherche explication (et solution) Phénomène CURIEUX

    Bonjour,

    La dérive doit être présente dès la MST mais tu ne le vois pas, elle est trop petite pour être détectée à l'oeil nu.

    Tu devrais faire un essai avec un quartz pour les 2 cartes.

    La solution devrait être, comme dit plus haut, en générant un signal de synchro de temps en temps pour que les 2 µC se remettent en phase.

  13. #12
    f6bes

    Re : PIC16F690 : Cherche explication (et solution) Phénomène CURIEUX

    Bjr Tronic19,
    Tu as l'IMPRESSION qu'au départ c'est synchrone (tu te fies à tes yeux), mais tu ne peux voir un décalage trés minime qui va s'incrémenter au fil du temps.
    Si tu attends assez longtemps, devrait meme y avoir "opposition de phase" à un moment donné (leds éclairées/éteintes)
    Prét à parier que si tu passes tes signaux à l'oscillo, tu va voir la différence dés le départ.
    Une seule source "quartz" ( message Gérard) est préférable.
    A+

  14. #13
    jiherve

    Re : PIC16F690 : Cherche explication (et solution) Phénomène CURIEUX

    Bonjour
    Deux quartz à +-30 ppm (rien ne prouve que cette précision puisse être atteinte avec l'oscillateur du PIC ni que les quartz oscillent dans le même mode série ou //) cela fait que les fréquences peuvent différer de 60ppm
    ramené à la seconde cela fait 60µs (car dT/T = -dF/F) donc comme l'écart va se cumuler 3,6ms au bout d'une minute 36ms au bout de 10mn etc etc.
    L'écart sera visible dès qu'il avoisinera la soixantaine de mS.
    C'est un problème classique donc solution classique => synchronisation dure
    Et je répète ton initialisation ne dépend que du Reset : il n'y a aucune chance pour que cela soit synchrone au démarrage, comme F6bes le suggère jette un oeuil avec un oscillo.
    JR
    l'électronique c'est pas du vaudou!

  15. #14
    DAUDET78

    Re : PIC16F690 : Cherche explication (et solution) Phénomène CURIEUX

    Si je comprend bien tu as deux cartes identiques avec le même programme avec sur chacune un quartz, un PIC et une LED?
    et tu t'étonnes qu'il y a un glissement ? et tu trouves ça curieux ?

    Tu as déja mis cote à cote deux montres à Quartz qui sont exactement à la même heure. Et regarde les secondes au bout de 24 heures ......

    Si tu veux qu'elles ne glissent pas, il faut les synchroniser régulièrement (c'est la solution des horloges avec DCF77).... ou utiliser une horloge atomique (c'est la solution des satellites GPS)
    J'aime pas le Grec

  16. #15
    Tronic19

    Re : PIC16F690 : Cherche explication (et solution) Phénomène CURIEUX

    Bonjour à tous,

    Rep à jiherve,
    Deux quartz à +-30 ppm (rien ne prouve que cette précision puisse être atteinte avec l'oscillateur du PIC ni que les quartz oscillent dans le même mode série ou //) cela fait que les fréquences peuvent différer de 60ppm
    ramené à la seconde cela fait 60µs (car dT/T = -dF/F) donc comme l'écart va se cumuler 3,6ms au bout d'une minute 36ms au bout de 10mn etc etc.
    L'écart sera visible dès qu'il avoisinera la soixantaine de mS.
    Ok pour cela, mais mon oscillation (clignotement) n'est précis quà la seconde... soit 1 Hz (si je ne me trompe)...
    Comment une dérive de 36 ms (au bout de 10 minutes) peut elle être vue ?
    (Ceci est pour moi pas possible avec une fréquence aussi basse....
    Je devrais conserver ma stabilité , Non ??)

    Rep à Daudet,

    Je tiens à préciser que je ne requier pour mon projet qu'une "synchronisation" durant 8 Heures (Maximum)... Aprés ce délai, la dérive ne me dérange pas...
    (Je comprends bien sur ton allusion pour 24h, mais en seulement 8h, 2 montres dérivent moins que mes cartes (pourtant plus évoluées) ...)

    De plus,
    mon gros soucis est que je dois réussir cet synchro par "alimentation"...car c'est mon seul et unique moyen de synchroniser mes cartes... (2 fils d'arrivées)...

    Pour info, j'ai déja vu un système synchronisé avec alimentation à l'étranger...et cela fonctionnait... (pour 8 heures en tout cas)...

    Si quelqu'un a des idées géniales...je suis preneur ...

  17. #16
    DAUDET78

    Re : PIC16F690 : Cherche explication (et solution) Phénomène CURIEUX

    Tu as une erreur 60 ppM, si tes deux quartz ne sont pas du même lot, les condensateurs et les PICs itou, c'est pas anormal comme résultat. Si tu as vu fonctionner un truc sur 8 heures, c'est pas anormal. Si ce n'est pas un quartz, mais un boitier indépendant à quartz, il y a moins de dispersion. Ou alors tu peux jouer sur les deux capacités du quartz pour ajuster
    J'aime pas le Grec

  18. #17
    Tronic19

    Re : PIC16F690 : Cherche explication (et solution) Phénomène CURIEUX

    Quelqu'un pourrait il me confirmer mon calcul SVP:

    +/-30 ppm (=+/-30 millionnièmes) correspond à une précision ou une stabilité de +/-0,003%.
    Pour un quartz de 4 Mhz, j'ai une dérive possible max de 120 ppm(Soit 120 Hz)

    => Donc sur une journée mon quartz peut dériver de : 1/120 = 8.33 ms

    Mon calcul est il correct ?
    La valeur en ppm est elle bien par jour (trou de mémoire) ?

    Merci d'avance...

  19. #18
    DAUDET78

    Re : PIC16F690 : Cherche explication (et solution) Phénomène CURIEUX

    Précision et stabilité ... c'est pas la même chose !
    Si tu as une "erreur" de 0,000030 soit 30 ppM
    tu as une erreur de 24*60*60 *0,00003 =2,6 secondes (ce qui est classique pour une montre)
    J'aime pas le Grec

  20. #19
    Tronic19

    Re : PIC16F690 : Cherche explication (et solution) Phénomène CURIEUX

    Merci Daudet pour ta rectif...

    Donc, si calcul est bon : 24 x 3600s (par heure) x 0.00003 = 2.592 s de dérive. (par jour)
    Si je continue, cela correspond dans mon cas pour 8 Heures à :
    2.592s/3 = 864 ms de dérive pour 8 heures de fonctionnement...

    => 108 ms / heure... donc..

    (Si je cumule les deux erreurs à l'opposé, je trouve un écart de 216 ms/diff temps au bout d'une heure...)
    D'ou pour moi, une erreur visible à l'oeil ! C'est colossal !

    Ais je bien tout calculé ?

    Si c'est le cas , comment endiguer ce phénomène ? Quartz plus pointu ?
    Possibilté par soft d'ajuster cette dérive ?

    Merci.

    Tronic.

    Ps: J'ai juste un doute, le ppm ne tiens pas compte de la Fréquence ? D'aprés ton calcul, on aura la même
    dérive temps avec n'importe quel Freq. de quartz... Correct ?
    Dernière modification par Tronic19 ; 17/08/2008 à 18h44.

  21. #20
    DAUDET78

    Re : PIC16F690 : Cherche explication (et solution) Phénomène CURIEUX

    Citation Envoyé par DAUDET78 Voir le message
    Tu as une erreur 60 ppM, si tes deux quartz ne sont pas du même lot, les condensateurs et les PICs itou, c'est pas anormal comme résultat.
    tu n'as pas répondu et je te proposais une solution
    J'aime pas le Grec

  22. #21
    Tronic19

    Re : PIC16F690 : Cherche explication (et solution) Phénomène CURIEUX

    Quelle solution ?
    Triage des quartz (lots) : pas possible
    Ajuster les capas des quartz : pas possible.

    Je peux prendre une meilleure tolérance sur mes capas. associées
    au quartz... cela pourrais améliorer ?
    Qu'en penses tu ?

    Tronic.

  23. #22
    DAUDET78

    Re : PIC16F690 : Cherche explication (et solution) Phénomène CURIEUX

    C'est une bidouille ou un truc à fabriquer en 10000 exemplaires? Si c'est pour un truc en série, tu achétes un module oscillateur avec la spécification en précision et en dérive dont tu as besoin
    J'aime pas le Grec

  24. #23
    jiherve

    Re : PIC16F690 : Cherche explication (et solution) Phénomène CURIEUX

    Bonsoir,
    Onc' Daudet() a tout bon , et Onc'JR aussi comme d'hab
    Il faut synchroniser avec un signal BF pour limiter la dérive , ce problème a été résolu à la préhistoire de la télévision!
    Si tes circuits ont une alim commune n'est il pas possible d'échanger un autre signal?
    JR
    l'électronique c'est pas du vaudou!

  25. #24
    DAUDET78

    Re : PIC16F690 : Cherche explication (et solution) Phénomène CURIEUX

    Citation Envoyé par jiherve Voir le message
    Si tes circuits ont une alim commune n'est il pas possible d'échanger un autre signal?
    A que c'est pas idiot ça ! tu alimentes tes deux cartes en redressé brut (de brut). Localement, tu sorts un signal de synchro à 100 Hz, tu filtres, tu stabilises et ça fait papa-maman ....
    J'aime pas le Grec

  26. #25
    BastienBastien
    Invité

    Re : PIC16F690 : Cherche explication (et solution) Phénomène CURIEUX

    Bonsoir,

    Citation Envoyé par DAUDET78 Voir le message
    A que c'est pas idiot ça ! tu alimentes tes deux cartes en redressé brut (de brut). Localement, tu sorts un signal de synchro à 100 Hz, tu filtres, tu stabilises et ça fait papa-maman ....
    Génial. Je crois que dans l'électronique aussi, il y a de la "création". Il faut parfois de l'imagination, de la créativité, pour solver certains problems.

    +

  27. #26
    Tronic19

    Re : PIC16F690 : Cherche explication (et solution) Phénomène CURIEUX

    MERCI MILLE FOIS A TOUS !!

    Ton idée est parfaite pour la synchro. 100 Hz, je vais tenter cela...
    Merci encore pour votre aide à tous !

    Cordialement

    Tronic19'

Discussions similaires

  1. [Zoologie] Explication d'un phénomène étrange...
    Par argema dans le forum Biologie
    Réponses: 2
    Dernier message: 09/02/2008, 19h01
  2. Curieux phénomène d'extrusion de glace
    Par Nina71 dans le forum Physique
    Réponses: 6
    Dernier message: 30/11/2007, 13h39
  3. Curieux phénomène d'extrusion de glace
    Par Nina71 dans le forum Science ludique : la science en s'amusant
    Réponses: 8
    Dernier message: 28/11/2007, 10h14
  4. Cherche explication
    Par invitec71cac47 dans le forum Chimie
    Réponses: 1
    Dernier message: 22/07/2007, 16h58
  5. Explication d'un phénomène
    Par invitebf1b2f4b dans le forum Physique
    Réponses: 11
    Dernier message: 27/02/2005, 19h39
Découvrez nos comparatifs produits sur l'informatique et les technologies.