Bienvenue aux nouveaux arrivants sur FantasPic !

- Pensez à lire les règles durant votre visite, il n'y en a pas beaucoup, mais encore faut-il les respecter .
- N’hésitez pas à faire des remarques et/ou suggestions sur le Forum, dans le but de l'améliorer et de rendre vos prochaines visites plus agréables.
- Vous pouvez regarder votre "panneau de l'utilisateur" afin de configurer vos préférences.
- Un passage par "l'utilisation du forum" est recommandé pour connaître les fonctionnalités du forum.

--- L’équipe FantasPic ---
Forum général sur le langage C !

Modérateur : Jérémy

tension de reference externe pic16f877a
dyli
Débutant
Débutant
Messages : 33
Enregistré en : février 2017

#1 Message par dyli » dim. 26 févr. 2017 10:07

Bonjour tout le monde,

Encore 2 questions sur pic 16f877a,

Pour configurer une tension de référence externe de 2.5V pour adc, si je mets ADCON1 = 82 , est ce que c'est juste? Selon le datasheet du pic 16f877a

Ma 2eme question: Si la tension de reference externe est configurée, est ce qu'il faut mettre l'instruction ' ADC_Get_Sample' en suite 'ADC_Read'

ou je procède comme une conversion classique?


merci

tension de reference externe pic16f877a
Gérard
Avatar de l’utilisateur
Expert
Expert
Messages : 1640
Âge : 65
Enregistré en : septembre 2015
Localisation : Alsace - Haut-Rhin

#2 Message par Gérard » dim. 26 févr. 2017 11:04

Réponse pour la 1re question.
J'ai vérifié, 82 est en hexa (pas en décimal). Avec cette valeur, tu n'auras pas de référence externe. Regarde ici page 128
Déj à,faut dire si tu souhaites convertir entre 5V et 2,5V ou entre 2,5V et 0V. Ta référence sera Vref+ ou Vref-.
Pour la 2e question, je n'en sais rien.
Le 18/04/19 je suis devenu papy de jumeaux, le 01/09/23 une petite cousine des jumeaux est née.

tension de reference externe pic16f877a
Jérémy
Administrateur du site
Administrateur du site
Messages : 2722
Âge : 44
Enregistré en : juillet 2015
Localisation : Dans le sud
Contact :

#3 Message par Jérémy » dim. 26 févr. 2017 11:14

 ! Message de modération :
Bonjour dyli,

Merci de mettre le lien de la DS de ton PIC,( procédure) le s membres auront plus de facilités à te répondre !


Pour ta deuxième question, l'un ou l'autre fera l'affaire . ADC_Read fait l’initialisation en plus que ADC_get_Samples ! mais en principe il vaut mieux le faire avant :wink:

Ton 82 c'est du décimal ?
C'est en faisant des erreurs, que l'on apprend le mieux !!!

tension de reference externe pic16f877a
paulfjujo
Avatar de l’utilisateur
Expert
Expert
Messages : 2589
Âge : 73
Enregistré en : juillet 2015
Localisation : 01800
Contact :

#4 Message par paulfjujo » dim. 26 févr. 2017 14:23

bonjour,


dans les versions precedentes de MikroC
ADC_Read ne supportait pas les references externes ADC ..
il fallait faire une int de bas niveau et utiliser ADC_Get_Sample();

avec la nouvelle mouture MikroC 7.01
il y a une init specifique

Code : Tout sélectionner


void ADC_Init_Advanced
(char reference);
_ADC_EXTERNAL_VREFH High voltage reference set to Vref+ pin. 
qui devrait initialiser ADCON1 
!


parametre ADCON1 (datasheet)
0x81 1000 0001
PCFG3-0 = 0001 A A A A VREF+ A A A RA3 VSS 7/1


nota: 0x81 ou autres variantes en fonction du nb d'entree ANA / entre TOR de la config 0x83 ...

Ref positive sur RA3 = +2,5V
ref negative=VSS=0V
Aide toi, le ciel ou FantasPic t'aidera

tension de reference externe pic16f877a
dyli
Débutant
Débutant
Messages : 33
Enregistré en : février 2017

#5 Message par dyli » dim. 26 févr. 2017 14:57

Rebonjour,

merci a tous les trois de m'avoir répondu,

Oui, la valeur de 82 est en hex page 128 du ds. datasheet
Donc je souhaite une vref de 0 a 2.5 V.
J'ai la version lite de Mikroc 6.5.
Par contre paulfjujo, quand tu dis ADCON1 vaut 0x81, y a pas de vref+ ou je me trompe peut-etre?
Quand ADCON1 vaut 0x82, sous AN3 on trouve un Vref+

tension de reference externe pic16f877a
paulfjujo
Avatar de l’utilisateur
Expert
Expert
Messages : 2589
Âge : 73
Enregistré en : juillet 2015
Localisation : 01800
Contact :

#6 Message par paulfjujo » dim. 26 févr. 2017 17:15

dyli a écrit :Par contre paulfjujo, quand tu dis ADCON1 vaut 0x81, y a pas de vref+ ou je me trompe peut-etre?
Quand ADCON1 vaut 0x82, sous AN3 on trouve un Vref+


le +Vref est donné par la valeur mise sur l'entree Ana AN3 !
il a d'autres valeurs que 0x81 possible, suivant le nb d'entree ANA desirées !
mais 0X82 ne va pas.


RA3_as_Vref.jpg
Vous n’avez pas les permissions nécessaires pour voir les fichiers joints à ce message.
Aide toi, le ciel ou FantasPic t'aidera

tension de reference externe pic16f877a
dyli
Débutant
Débutant
Messages : 33
Enregistré en : février 2017

#7 Message par dyli » dim. 26 févr. 2017 18:04

Bonsoir paulfjujo,

Merci ! j'avais mal interprété ce tableau, j'ai tout compris ADCON1=81, j 'ai corrigé le code et ca fonctionne. merci encore.


Retourner vers « Langage C »

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 43 invités