bug dans ADC avec PIC16F1847
Posted: Tue Feb 21, 2012 8:33 am
Salut,
Je voudrais réaliser à un thermomètre digital. Pour cela j'utilise le LM35 comme sensor
de température. Exemple, quand il fait 22,8°, il y a 228mV à la sortie du LM35 que j'amplifie via un AOP par 5. Soit une tension de 1,14V.
Cette tension je l'applique à une entrée AN d’un PIC16F1847 sur la broche 2 qui correspond à ADC3. Je gère cette entrée avec le programme fourni dans les exemples de Flowcode 4.3 qui s'appelle :
« 4.Voltage as Float.hex »
et que j'ai adapté à mes besoins.
C'est-à-dire, j'ai activé un ADC(0) et choisi comme connexion ADC3 qui correspond à l'entrée AN3 sur broche 2. J'ai raccordé sur le portB un LCD et changé les propriétés
par de 4X20.
j'ai mesuré directement sur la broche 2 du PIC16F1847 qui correspond au ADC3 et j'y ai mesuré 1,14V, ce qui est correcte.
Lorsque j’utilise la macro Lire_comme tension, l'afficheur LCD ne m'affiche pas 1,14V mais une fois 1,249254 puis 2,497297 puis 0.00000 puis par fois 3,747839 d'une façon tout à fait aléatoire.
La température change si je chauffe le LM35 avec mes doigts, la tension monte bien sur mon voltmètre mais le LCD affiche toujours les mêmes trucs bizarres.
j'ai déjà essayé d'autres AN ( pour ADC0 ET ADC3 ) portA broches 2 et 17 même problème.
j'ai changer le PIC par un neuf même problème.
j'ai pris un autre modèle de PIC le PIC16F88 même brochage que le PIC16F1847 , mais là rien ne s'affiche ( l'écran est bien allumé avec le bon contraste )
Remarque : lorsque j'utilise un autre programme d'exemple "5.Voltage as string" j'ai sur l'affichage LCD : AN1:AN1:AN1:AN1:AN1:... sur la ligne 0 de mon LCD bizarre non ??
Il y a bien un bug dans le composant ADC pour le PIC16F1847.
Seul la lecture « Lire_comme un octet » qui fonctionne mais ce n’est pas ce dont j’ai besoin.
J’ai la version Flowcode 4.5.18.74 professionnelle.
merci de me venir en aide.
Je voudrais réaliser à un thermomètre digital. Pour cela j'utilise le LM35 comme sensor
de température. Exemple, quand il fait 22,8°, il y a 228mV à la sortie du LM35 que j'amplifie via un AOP par 5. Soit une tension de 1,14V.
Cette tension je l'applique à une entrée AN d’un PIC16F1847 sur la broche 2 qui correspond à ADC3. Je gère cette entrée avec le programme fourni dans les exemples de Flowcode 4.3 qui s'appelle :
« 4.Voltage as Float.hex »
et que j'ai adapté à mes besoins.
C'est-à-dire, j'ai activé un ADC(0) et choisi comme connexion ADC3 qui correspond à l'entrée AN3 sur broche 2. J'ai raccordé sur le portB un LCD et changé les propriétés
par de 4X20.
j'ai mesuré directement sur la broche 2 du PIC16F1847 qui correspond au ADC3 et j'y ai mesuré 1,14V, ce qui est correcte.
Lorsque j’utilise la macro Lire_comme tension, l'afficheur LCD ne m'affiche pas 1,14V mais une fois 1,249254 puis 2,497297 puis 0.00000 puis par fois 3,747839 d'une façon tout à fait aléatoire.
La température change si je chauffe le LM35 avec mes doigts, la tension monte bien sur mon voltmètre mais le LCD affiche toujours les mêmes trucs bizarres.
j'ai déjà essayé d'autres AN ( pour ADC0 ET ADC3 ) portA broches 2 et 17 même problème.
j'ai changer le PIC par un neuf même problème.
j'ai pris un autre modèle de PIC le PIC16F88 même brochage que le PIC16F1847 , mais là rien ne s'affiche ( l'écran est bien allumé avec le bon contraste )
Remarque : lorsque j'utilise un autre programme d'exemple "5.Voltage as string" j'ai sur l'affichage LCD : AN1:AN1:AN1:AN1:AN1:... sur la ligne 0 de mon LCD bizarre non ??
Il y a bien un bug dans le composant ADC pour le PIC16F1847.
Seul la lecture « Lire_comme un octet » qui fonctionne mais ce n’est pas ce dont j’ai besoin.
J’ai la version Flowcode 4.5.18.74 professionnelle.
merci de me venir en aide.