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

probleme stabilité pic ... (CEM ???)



  1. #1
    nordiste

    probleme stabilité pic ... (CEM ???)


    ------

    salut,

    je suis etudiant en geii, j'ai realisé personellement une carte a base de pic 16F877A. j'utilise un quartz 10MHz.

    mon circuit est basique, il n'y a rien de branché sur les E/S sauf 2 leds (RD0 et RD1).

    j'ai mis les condos de 10pf sur les pattes du quartz. j'ai mis un petit condo d'environ 1uF entre les pattes d'alim du pic, le mclr est relié au +.

    le pic est bien regle en HS.

    le prog du pic consiste a allumer une led et a faire clignter l'autre ... (programmé en ccs)




    void main (void)
    {
    output_high(PIN_D1);
    output_high(PIN_D0);
    while(1)
    {
    output_toggle(PIN_D0);
    delay_ms(250);

    }
    }


    mon probleme est que cela ne fonctionne pas ...
    le pic demarre de temps en temps, si je touche les cables d'alim (partie denudee) ca se met en route, si je passe ma main au dessus du pic ca fonctionne, si je touche les pattes du pic sa fonctionne.

    sinon, ca plante ...


    j'ai essayé deux type d'alimentation :
    alim stabilisée
    4 piles LR6 rechargeables



    je tiens a signaler que c'est le 4eme pic que j'essaye, j'ai essayé ave un 18F458, j'ai le meme probleme.

    d'ou peux provenir le probleme ?
    merci d'avance pour vos indications, marc.

    -----

  2. Publicité
  3. #2
    Toufinet

    Re : probleme stabilité pic ... (CEM ???)

    As tu essayé de mettre une capacité plus grande entre les pattes d'alim du PIC ?

  4. #3
    nordiste

    Re : probleme stabilité pic ... (CEM ???)

    salut, j'ai essayé de mettre un condo chimique 100uF sur un connecteur de la carte mais rien ne change.

    mais le connecteur n'est pas a proximité directe avec le pic. (environ 5cm)

    merci,marc

  5. #4
    nordiste

    Unhappy Re : probleme stabilité pic ... (CEM ???)

    salut,
    je viens de realiser une nouvelle carte, le probleme persiste.


    en fait quand je passe un doigt ou tout autre objet (meme du verre) au desus du pic, il s'arrete et il preprend des qu'il n'y a plus rien.

    etant donné que j'ai utilisé plusieurs supports et j'ai essayé un support tupile, je ne pense pas que ce soit de l'ordre mecanique.

    j'ai aussi changé tous les condos, rien n'as changé ..
    je vous joint le typon au as ou ...





    merci pour l'aide.
    marc

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

    Re : probleme stabilité pic ... (CEM ???)

    Salut Nordiste !

    J'ai déjà eu ce problème similaires avec différents PICs (le dernier en date était un 18f1320).

    La mauvaise nouvelle est qu'à chaque fois la cause était différente, la bonne est que chacune a sa solution.

    Voici les probables raisons et leurs solutions :

    1) Mauvaise programmation du composant.
    -> Depuis que je n'utilises plus de programmateur JDM, plus de soucis !

    2) Compilateur bogué ou mal configuré.
    -> Ayant testé SDCC à ses débuts, j'ai pu me heurter à ce genre de comportements étranges. Depuis que j'utilise uniquement MPASM et C18, plus de problèmes.

    3) Problèmes de masses.
    -> Constaté sur un montage alimenté par une alim stabilisée, et relié à un PC derrière un onduleur de marque douteuse... Depuis que mon PC est alimenté directement, plus de soucis.

    4) Problèmes de routage des pistes.
    -> Pistes transportant un signal PWM de puissance, ou une alim à découpage "faite maison", juste à côté du quartz... Ou juste un MCLR relié à un Vcc qui a fait 4 fois le tour du PCB ...
    Là : pas de solutions miracle, mais quelques astuces assez simples à mettre en oeuvre, et efficaces dans la grande majorité des cas :
    - Rajouter une résistance-capa sur le MCLR
    - Désactiver la fonction Brown Out Reset
    - Activer le Power-Up Timer

    Voilà, j'espère que tu trouveras dans ce message de quoi solutionner ton problème, car ayant vécu ça, je sais que c'est aussi décourageant que désagréable. Voir son montage fonctionner selon la vitesse du vent de dehors et la position de ses mains autour n'a jamais fait partie de ce qui se fait de plus exaltant en électronique...

    A +

  8. #6
    RISC

    Re : probleme stabilité pic ... (CEM ???)

    Nordiste,

    Tes problèmes sont également symptomatiques d'un PB souvent sous estimé : la connection de toutes les broches ou tout au moins l'initialisation de toute les broches :

    1/ Dans tous les circuits CMOS, TOUTES les entrées sans exception doivent être connectées à un potentiel.

    2/ Une alternative parfois utilisée à 1 est de programmer les broches inutilisées en sortie dès le RESET

    Au niveau configuration des PIC et pour concevoir des systèmes robustes, il est conseillé d'activer autant que possible toutes les protections diverses :
    * Watchdog
    * Brown out Reset
    * Stack over/under flow reset
    * oscillateur switch over (basculement sur le RC interne si l'oscillateur externe a un PB
    ...

    Il faut ensuite écrire un bon "RESET handler " destiné à déterminer lors du RESET la raison...ca permet de comprendre beaucoup de choses sur les instabilités ;=)

    Perso, je fais cela avec l'allumage de différentes LEDs pour savoir quelle est la raison du RESET .

    Bonne chance dans tes recherches ;=)

    PS : comme l'a dit Lolomatic...il y a toujours une raison précise pourqu'un PIC ne se comporte pas comme prévu...et c'est dans 99,99999% des cas le HW ou le SW qui en est la cause...alors bonne recherche ;=)

  9. Publicité
  10. #7
    invite03481543

    Re : probleme stabilité pic ... (CEM ???)

    Salut,

    il faudrait que tu postes l'intégralité de ton programme car tel que tu l'as donné ça ne peut pas fonctionner.
    Il peut y avoir des problèmes dans ce que tu n'as pas posté notamment les initialisations et les déclarations pour le compilateur (quartz,...)

    10pF pour le quartz est trop faible, en général on prend plutôt 22pF, mais bon tout dépend du quartz.

    Comme l'a dit RISC je crois, les entrées non utilisées doivent être initialisées soit avec les pull-up internes quand ils sont disponibles soit avec des pull-up externes (10K au +5V).

    Le reset est important aussi selon le temps de montée de l'alim.
    Si la tension monte lentement le montage suivant s'impose:

    Le mieux est de mettre une 10K au +5V, un 100nF à la masse, le commun des 2 sur l'entrée du reset, c'est le minimum pour un fonctionnement à coup sur et une initialisation réussie.
    Si tu as une 1N4148 tu l'as place entre les bornes de la 10K elle déchargera le 100nF à l'extinction de l'alim 5V.

    Le Power-On Reset met le compteur programme (PC) à 0000h, où se trouve la première instruction du programme.
    Il met aussi le registre STATUS (03h ou 83h) à 0001 1xxx (x=valeur indéterminée)


    Tiens nous au courant.
    @+

  11. #8
    Jack
    Modérateur

    Re : probleme stabilité pic ... (CEM ???)

    la capa de découplage au plus près des bornes d'alim du pic est plutôt une 100nF.

    A+

  12. #9
    nordiste

    Re : probleme stabilité pic ... (CEM ???)

    salut,

    voila mon programme complet :

    #include <16F877A.h>
    #use delay(clock=10000000)


    void main (void)
    {
    output_high(PIN_D1);
    output_high(PIN_D0);
    while(1)
    {
    output_toggle(PIN_D0);
    delay_ms(250);

    }
    }


    je programme directement sous icd2.
    je cofigure HS, WDT off, PUT ON, BOD oN, LVP ENABLE


    si je teste le proc d'une autre application sur cette platine, il n'est pas stable non plus.
    si je teste le pic sur l'auttre application, il est table.

    par contre le condo de decouplage que j'ai installé est de 4uF environ... est-ce que cela peut causer ce probleme ?

    j'ai realisé une ouvelle carte ave uniquement 1 pic et tt ce qui lui faut. il n'est pas stable.

    merci, marc

  13. #10
    RISC

    Re : probleme stabilité pic ... (CEM ???)

    Nordiste,

    Concernant la configuration des "configuration bits" je te conseille de prendre l'habitude de les configurer DANS ton programme. La raison est très simple : si tu fais cela dans MPLAB, tu ne te souviendras plus dans 1 semaine, 1 mois ou plus....

    Si tu fais cela dans ton programme, a chaque fois que tu assembleras ton programme ou que tu le compileras, la configuration sera toujours celle que tu as choisie dans ton logiciel ;=).

    Ci-joint un petit exemple de la façon de procéder pour le PIC16F877A (en assembleur Microchip)

    __CONFIG ( _RC_OSC & _WDT_OFF & _PWRTE_OFF & _BODEN_OFF & _CP_OFF & _LVP_OFF & _CPD_OFF & _WRT_OFF & _DEBUG_OFF )

    (ce n'est bien sur qu'un exemple, tu dois vérifier les bits et choisir ceux qui sont à 1 ou à 0)

    D'ailleurs je me suis aperçu dans la toute dernière version de MPLAB (MPLAB7.52) que Microchip a ajouté une toute petite boite (à cocher / décocher juste en dessous de la barre des menus au dessus des bits de configuration) qui est automatiquement cochée quand un programme modifie les bits de configuration. De cette manière on ne risque pas de les changer par erreur et il est clair que les bits de configuration utilisés sont bien ceux du programme et pas ceux de l'interface de MPLAB ;=)

    Peux-tu nous dire comment tu programmes les bits de configuration ?

    (mets les dans ton PROG ;=)

    a+
    Dernière modification par RISC ; 10/03/2007 à 08h31.

  14. #11
    invite03481543

    Re : probleme stabilité pic ... (CEM ???)

    Citation Envoyé par nordiste Voir le message
    salut,

    voila mon programme complet :

    #include <16F877A.h>
    #use delay(clock=10000000)


    void main (void)
    {
    output_high(PIN_D1);
    output_high(PIN_D0);
    while(1)
    {
    output_toggle(PIN_D0);
    delay_ms(250);

    }
    }


    je programme directement sous icd2.
    je cofigure HS, WDT off, PUT ON, BOD oN, LVP ENABLE


    si je teste le proc d'une autre application sur cette platine, il n'est pas stable non plus.
    si je teste le pic sur l'auttre application, il est table.

    par contre le condo de decouplage que j'ai installé est de 4uF environ... est-ce que cela peut causer ce probleme ?

    j'ai realisé une ouvelle carte ave uniquement 1 pic et tt ce qui lui faut. il n'est pas stable.

    merci, marc
    Je ne connais pas ton compilateur C (CCS), mais je ne vois pas les initialisations des registres TRIS, comment veux tu que ton µC oriente convenablement ses ports en entrée ou en sortie?
    D'ailleurs je ne vois aucune initialisation du tout, ce qui dans le cas d'un µC est forcément une faute.

    As-tu regardé du coté reset comme je te l'ai indiqué?

    @+

  15. #12
    RISC

    Re : probleme stabilité pic ... (CEM ???)

    Nordiste,

    J'ai également vu que tu as activé le LVP (LVP ENABLE). Sous ICD2, en mode déboguage, il faut impérativement désactiver LVP.

    a+

    PS : Comme l'a précisé HULK, il faut initialiser un certain nombre de registres. Regarde la documentation du PIC16F877A chapitre 4.1 page 41. Tu peux également consulter les exemples donnés par CCS ;=)

  16. Publicité
  17. #13
    freepicbasic

    Re : probleme stabilité pic ... (CEM ???)

    les capas de 10pf sur le quartz sont trop faibles.
    Les pics indiqués 04 overclockés en 20Mhz fonctionnent avec 15pf.
    Et les HS marqués 20 avec 33pf.
    A+, pat

  18. #14
    nordiste

    Re : probleme stabilité pic ... (CEM ???)

    salut,
    merci pour vos reponses nombreuses.

    le compilo ccs configure automatiquement le port en sortie quand on utilise la fonctionction output_high, output_low et output_toggle.

    je n'ai donc pas besoin de les configurer par avance ?

    pour les condos du quartz, j'ai toujours mis un 10 pF et ca a toujours fonctionné .

    j'ai trouvé l'erreur.

    le port B est en l'air, je pensais que les resistances de pullup etaient activés par defaut.
    je les ai toutes reliees au 0V et tout fonctionne (stable).

    par contre je voulais savoir quel est le probleme gen,ere par un condo inadapté sur les pattees du quartz ?

    merci d'avance, marc

  19. #15
    Shaiton

    Re : probleme stabilité pic ... (CEM ???)

    Bonjour,
    juste pour préciser l'utilisation de CCS :
    C'est un compilo puissant, mais le problème c'est qu'on n' à pas la source de ses fonctions...
    le #use delay(clock=10000000) configure automatiquement les registres timer on peut donc utiliser les fonction delay_ms() delay_us() etc, #use RS232(....) configure la liaison serie automatiquement, avec laquelle on a les fonctions fprintf(...) etc.

    Dans un sens c'est tres bien pour programmer rapidement, mais dans un autre, quand le programme se complique, il faut voir si il n'y a pas de conflit entre les programmes qu'on à ecrit, et ceux de CCS. (mon prob non solutionné de l'USB doit venir de là... pareil pour la liaison serie..)
    La difficultées est donc de savoir ce que fait (ou ne fait pas) CCS.

    Pour le quartz, je ne peux pas expliquer pourquoi ca marche mieux avec une plus grande valeur, juste préciser que c'est donné dans la datacheet.. (15 ou 33pf)
    Après, on voit aussi un montage avec une resistance supérieur à 1Mohm en parallele du quartz.. Quelqu'un la met??
    Le Geek Sportif !

  20. #16
    RISC

    Re : probleme stabilité pic ... (CEM ???)

    Citation Envoyé par Shaiton Voir le message
    Pour le quartz, je ne peux pas expliquer pourquoi ca marche mieux avec une plus grande valeur, juste préciser que c'est donné dans la datacheet.. (15 ou 33pf)
    Après, on voit aussi un montage avec une resistance supérieur à 1Mohm en parallele du quartz.. Quelqu'un la met??
    Les oscillateurs sont souvent causes de problèmes par ce que l'on a pas la documentation du fabricant... Pour chaque quartz, le fabricant spécifie les valeurs des condensateurs et de la résistance en parallèle en fonction :
    a/ du type d'entrée (niveaux CMOS / TTL)
    b/ de la tension de fonctionnement

    Pour la résistance parallèle, elle est généralement présente dans le microcontroleur, c'est la raison pour laquelle on a pas besoin de l'ajouter à l'extérieur. Il y a parfois également une résistance série qu'il faut ajouter en fonction du quartz.

    En général 10pF est une valeur trop petite pour les QUARTZ mais acceptable pour les résonnateurs céramiques.

    Le mieux c'est de lire la datasheet du PIC car tout cela est expliqué en détails...
    Pour le PIC16F877A, voir le chapitre 14.2 pages 145 et 146 ;=)

    Ton PIC est maintenant armé pour les parasites de tous types surtout si tu actives les différentes protections supplémentaires (watchdog, brownout,...). C'est la différence entre un produit robuste et un produit lambda ;=)

  21. #17
    invite03481543

    Re : probleme stabilité pic ... (CEM ???)

    J'ajoute qu'un quartz possède 2 résonances, une série et une parallèle, puisque celui-ci est modélisable par un circuit RLC série et une capa en parallèle à ses bornes, les 2 capa ajoutées permettent d'accorder parfaitement le circuit sur ces fréquences en minimisant les harmoniques indésirables.
    Une valeur trop grande peut empêcher l'oscillation, une valeur trop petite peut déclencher des fréquences indésirables et provoquer des incohérences de la base de temps du µC.

    La résistance série ne doit pas être trop élevée car elle diminue le facteur de qualité du quartz.
    Elle est destinée à diminuer la dérive thermique en limitant le courant aux résonances.
    @+

Discussions similaires

  1. problème de stabilité d'une monture eq5
    Par juan76 dans le forum Matériel astronomique et photos d'amateurs
    Réponses: 5
    Dernier message: 17/12/2007, 13h09
  2. probleme en CEM
    Par FREIND dans le forum Électronique
    Réponses: 13
    Dernier message: 28/10/2007, 09h09
  3. probleme de stabilite du à l' indole
    Par HB02 dans le forum Chimie
    Réponses: 1
    Dernier message: 06/06/2007, 16h33
  4. Réponses: 5
    Dernier message: 09/04/2007, 14h22
  5. Problème de CEM?
    Par jetster dans le forum Électronique
    Réponses: 3
    Dernier message: 01/02/2006, 20h11
Découvrez nos comparatifs produits sur l'informatique et les technologies.