Page 1 of 1

bug dans ADC avec PIC16F1847

Posted: Tue Feb 21, 2012 8:33 am
by pilou8830
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.

Re: bug dans ADC avec PIC16F1847

Posted: Tue Feb 21, 2012 12:26 pm
by Benj
Bonjour,

L'entrée ADC ne doit pas être fluctuant comme celui-ci. Avez-vous un potentiomètre vous pouvez utiliser pour tester l'entrée du CAN est la lecture de la valeur correctement? Vous devriez être en mesure de connecter le potentiomètre entre VDD et VSS, puis utiliser l'eau du robinet centre pour se connecter à votre épingle ADC. Ce sera alors de confirmer si le problème est matériel ou logiciel. Je vous ai donné l'exemple de programme d'un test rapide ici avec un potentiomètre et il fonctionne bien.



Hello,

The ADC input should not be fluctuating like this. Do you have a potentiometer you can use to test the ADC input is reading the value correctly? You should be able to connect the potentiometer between VDD and VSS and then use the centre tap to connect to your ADC pin. This will then confirm if the problem is in hardware or software. I have given the example program a quick test here with a potentiometer and it is working well.

Re: bug dans ADC avec PIC16F1847

Posted: Tue Feb 21, 2012 10:01 pm
by pilou8830
j'ai essayé avec un potentiomètre sur la pin 4 qui correspond au ADC(5), mais cela ne fonctionne pas non plus.
Avec comme lecture : en octet, en entier ou en flottant. L'affichage LCD affiche 0 ou 0.000000 ou 1.258000 mais le plus souvant 0.000000 ou 0
Quand je mesure au voltmètre directement sur la pin 4 du PIC, j'ai entre 0,04V et 4,99V suivant la position du potentiomètre c'est bien donc un problème software, non ?

j'ai joint le fichier hex pour que vous puissiez voir et aussi une capture d'écran de mon programmateur de PIC. Y a-t'il une erreur?

bien à vous

Re: bug dans ADC avec PIC16F1847

Posted: Wed Feb 22, 2012 12:00 am
by medelec35
Salut pilou8830,
config.png
(82.45 KiB) Downloaded 1815 times

Martin

Re: bug dans ADC avec PIC16F1847

Posted: Wed Feb 22, 2012 9:16 am
by pilou8830
cela ne change rien! hélas

Re: bug dans ADC avec PIC16F1847

Posted: Wed Feb 22, 2012 9:48 am
by medelec35
Désolé juste réalisé
Cela devrait résoudre votre problème :
http://www.matrixmultimedia.com/mmforum ... 973#p27866

16F1847 utilise également PIC_ADC_23.c

PIC_ADC_23.c dans
Flowcode V4/Components répertoire,
overwriting fichier d'origine

Sorry just realised
This should solve your problem:
http://www.matrixmultimedia.com/mmforum ... 973#p27866

16F1847 also uses PIC_ADC_23.c

PIC_ADC_23.c into
Flowcode V4/components directory,
overwriting original file.

Martin

Re: bug dans ADC avec PIC16F1847

Posted: Wed Feb 22, 2012 12:44 pm
by pilou8830
OUI OUI OUI !

ça fonctionne maintenant, en remplaçant le fichier existant par celui que tu as donné merci beaucoup?

:D :D

Re: bug dans ADC avec PIC16F1847

Posted: Wed Feb 22, 2012 1:28 pm
by medelec35
C'est super!
Merci pour la mise à jour nous



That's great!
Thanks for the updating us.


Martin