-
09/05/2007 - 22h31 Platipu$ -
10/05/2007 - 01h24 f6bes
Re : Faire fonctionner un PIC18F252
Bjr Plat.....
La broche 10 et (9) correspond à l'oscilllateur quartz du PIC.
Apparemment le PIC n'oscille pas, sauf à toucher la broche 10 qui fait démarrer l'oscillateur.
Probléme à ce niveau donc.
Les valeurs des condos sont elles correctes ?
Soudures séches , mal réalisées?
Cordialement
"Bonjour" et "Merci" (pour ceux qui oublient!!) -
10/05/2007 - 07h30 HULK28
Re : Faire fonctionner un PIC18F252
F6bes à raison, tu peux aussi mettre une résistance de 10K entre le MCRL et le + pour assurer un bon reset à ton µC, plutôt que de mettre un condo directement au +.
"Le temps met tout en lumière." Thalès -
10/05/2007 - 19h27 Platipu$
Re : Faire fonctionner un PIC18F252
Bonjour HULK28,  Envoyé par f6bes Les valeurs des condos sont elles correctes ? Les condos font 23,8µF(au capacimètre)  Envoyé par f6bes Soudures séches , mal réalisées Le montage est sur une plaque d'essai
Par contre, et j'ai oublié de le préciser , je n'avais pas de 4MHz, j'ai mis un quartz 6MHZ(acheté récemment). Je voulais juste voir si le µC fonctionnait donc la fréquence n'a pas d'importance (pour moi) dans ce montage. Est-ce la cause du fait qu'il ne démarre pas ?  Envoyé par HULK28 tu peux aussi mettre une résistance de 10K entre le MCRL et le + pour assurer un bon reset à ton µC, plutôt que de mettre un condo directement au +. A moins que je n'aie pas compris ce que tu dis , mais je ne vois pas où il y a un condo entre MCLR et le +5V, le seul condo (hors oscillateur) est le 100nF et il est entre le + et la masse.
De plus, si je met une résistence de 10K entre le MCLR et le +5V, le µC ne fonctionne pas.
Merci de votre aide,
Mikaël
-
10/05/2007 - 21h17 alrj
Re : Faire fonctionner un PIC18F252
 Envoyé par Platipu$ Les condos font 23,8µF(au capacimètre) Si tu as réellement des condensateurs de 23,8 microFarads pour le quartz, il y a une erreur d'à peu près un facteur un million.
Ces condensateurs devraient faire, à la louche, entre 15 et 33 picoFarads.
-
10/05/2007 - 22h30 Platipu$
Re : Faire fonctionner un PIC18F252
Oups, désolé, je voulais écrire 23,8pF...
je faisait autre chose en même temps.
-
11/05/2007 - 06h40 HULK28
Re : Faire fonctionner un PIC18F252
Le MCLR est la borne de reset et doit être reliée au +5V par une résistance de 10K, et un condo à la masse de 100nF pour que le µC soit correctement initialisé quelque soit le temps de monté de l'alim.
Si le fusible de programmation a été déclaré en XT, le quartz de 6MHz ne pose pas de problème sauf peut-être pour ton programme si tu utilises des timings mais ce n'est pas boquant pour autant.
Ensuite il faudrait voir ton programme si il est en état de démarrer "normalement".
"Le temps met tout en lumière." Thalès -
15/05/2007 - 23h13 Platipu$ Re : Faire fonctionner un PIC18F252
Bonjour et merci de l'aide,
J'utilise IC-Prog et que je programme en C avec SDCC.
Voici le code pour essai: Code: #define __18F252
#include <pic18F252.h>
void main(void) {
int i;
TRISBbits.TRISB7=0;
PORTBbits.RB7=0;
while(1) {
PORTBbits.RB7=1;
for (i=0;i<10000;i++);
PORTBbits.RB7=0;
for (i=0;i<10000;i++);
}
} Comment déclarer le fusible de programmation en XT (ou en une autre config)
J'ai essayé vos recommendations et toujours rien...
Je poursuit mes recherches
@+
-
16/05/2007 - 08h16 HULK28
Re : Faire fonctionner un PIC18F252
Ta led va s'allumer et s'éteindre tous les 6,6ms compte tenu que tu as un quartz de 6MHz et que ta boucle compte 10000, je doute qu'en effet tu vois quelque chose bouger...
Augmente la condition de fin de boucle à par exemple 300000 en déclarant un long int pour i.
Diminue la résistance de 470 Ohms à 150 Ohms.
Ta led devrait normalement s'allumer à la fréquence de 5Hz.
@+
"Le temps met tout en lumière." Thalès -
19/05/2007 - 10h04 Platipu$
Re : Faire fonctionner un PIC18F252
Bonjour HULK28,
J'ai réalisé ce que tu me préconisais, mais toujours rien. Je me suis donc penché sur la question suivante : "comment configurer le PIC ?".
J'ai trouvé un site qui donnait un exemple de code pour faire clignoter une led, mais qui contenait en plus des ligne de code pour programmer le pic (fréquence d'horloge, etc...), et maintenant ça marche. Par contre, lorsque je regarde la sortie sur mon oscillo, j'ai l'impression que le rapport cyclique n'est pas constent (-0 à +20%). Je copierais le code dès que je rentrerais chez moi (là je suis en déplacement).
@+
-
21/05/2007 - 19h55 Platipu$ Re : Faire fonctionner un PIC18F252
Me revoilou,
J'ai conservé mon programme de base : Code: #define __18F252
#include <pic18F252.h>
void main(void) {
int i;
TRISBbits.TRISB7=0;
PORTBbits.RB7=0;
while(1) {
PORTBbits.RB7=1;
for (i=0;i<10000;i++);
PORTBbits.RB7=0;
for (i=0;i<10000;i++);
}
} J'ai donc une LED et une résistance en série sur la pate 28 du PIC, je scrute la sortie avec mon oscillo.
Mais comme je l'ai dis plus haut, ça marchais pas !
Je me suis donc inspiré d'un bout de code preésent sur le site suivant : http://sjeffroy.free.fr/Prog__PIC/SDCC/sdcc.html: Code: #define FOSC 10000000L
Code char at __CONFIG1H _conf0 = _OSC_HS_PLL_1H & _OSCS_OFF_1H;
Code char at __CONFIG2L _conf1 = _BODEN_OFF_2L & _PUT_ON_2L;
Code char at __CONFIG2L _conf1 = _WDT_OFF_2H;
Code char at __CONFIG2L _conf1 = _LVP_OFF_4L & _BACKBUG_OFF_4L & _STVR_OFF_4L; Maintenant, ça marche, le LED s'allume et j'ai un signal carré T=25ms sur l'oscillo. Cependant, je constate que la période n'est pas stable, à savoir qu'elle augmente par sursauts, passant parfois à 30ms.
J'ai essayé sur un autre oscillo, mais même problème.
Celà peut-il venir de ma sonde ?
celà vient-il du compilateur/assembleur ?
Du fait que le montage est sur une plaque lab ?
De plus, je n'arrive pas à trouver la signification exacte de ces lignes de configuration , où puis-je trouver la liste exhaustive de ces codes, pour mieux comprendre comment configurer mon PIC ? Merci d'avance de votre aide. -
22/05/2007 - 07h01 HULK28
Re : Faire fonctionner un PIC18F252
Tu utilises un quartz de 6MHz mais la directive donnée au µC est ici de 10MHz, il faut donc corrigé cette valeur à #define FOSC 6000000L.
Les autres directives sont les fusibles de configuration dont tu trouveras les explications dans la datasheet du µC.
"Le temps met tout en lumière." Thalès -
22/05/2007 - 18h36 Platipu$ Re : Faire fonctionner un PIC18F252
OK HULK28, erreur de débutant en effet
Pour corriger, j'ai pris un quartz 10MHz, sans changer le code, ça revient au même...
Pour les bits de config, j'arrive à trouver "CONFIG1H" et autres, mais pas par ex "_OSC_HS_PLL_1H".
Après avoir bien lu la datasheet, j'arrive à comprendre ce qui est demandé dans le programme ci-dessus, mais je ne parviens pas à trouver comment la reconstruire.
A par ça, mon problème de stabilité du temps de cycle semble être dû à la synchro de l'oscillo (sachant que c'est la seule application dans laquelle j'ai ce pb), mais je ne parviens pas à trouver la soluce....
| | |