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 ---
On parle des Pics, sans rapport avec le langage ou la programmation

Modérateur : Jérémy

échec de lecture d'une entrée analogique PIC MikroC
EmnaBz
Membre
Membre
Messages : 12
Enregistré en : juin 2021

#1 Message par EmnaBz » mer. 2 juin 2021 10:47 lien vers la Data-Sheet : Cliquez ici

Salut tout le monde, je suis nouvelle dans ce forum et c'est mon premier poste.
Je fais la programmation d'un PIC18F6393 pour lire la valeur de la pression d'un capteur de pression (MPX4250D) mais la simulation ne fonctionne toujours pas convenablement, pas de réponse dans le portA (lié au capteur).
Je vous transfère le code et une capture de la simulation , je ne trouve pas où se trouve le problème, peut être que j'ai des fautes dans la configuration ADC, je vous laisse la parole et merci pour votre aide!
Code:
unsigned short segment[10]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90}; //déclaration des paramètres des 7 segments
unsigned short d1,d2,d3,d4;
unsigned int val,i;
float OK,y=0,pka;
void bcd_2_7seg(unsigned x);
void affichage(unsigned short a , unsigned short b , unsigned short c , unsigned short d);

void bcd_2_7seg(unsigned x){
d1=x/1000;
d2=(x/100)%10;
d3=(x/10)%10;
d4=x%10;
}

void affichage (unsigned short a , unsigned short b , unsigned short c , unsigned short d){
portf.f1=0;portf.f2=0;portf.f3=0;portd=segment[a];portf.f0=1;delay_ms(1);
portf.f0=0;portf.f2=0;portf.f3=0;portd=segment[b];portf.f1=1;delay_ms(1);
portf.f0=0;portf.f1=0;portf.f3=0;portd=segment[c];portf.f2=1;delay_ms(1);
portf.f0=0;portf.f1=0;portf.f2=0;portd=segment[d];portf.f3=1;delay_ms(1);
}



void main() {
trisd=0x00; // configurer le port D comme sortie
trisa.f0=1; //configurer le port A comme entrée
porta=0x00; //initiatlisation du portA
trisf.f0=0; trisf.f1=0; trisf.f2=0; trisf.f3=0; //configuration de qq pins de F comme sortie
portd=0x00; //initialisation du port D

ADC_Init();
delay_ms(250);
adcon1=0b00001110;
while(1){
val = ADC_Read(0);
pka=(((val*5)/1023)-0.04)/0.00369;
y=pka;
bcd_2_7seg(y);
affichage(d1,d2,d3,d4);
}
}
Vous n’avez pas les permissions nécessaires pour voir les fichiers joints à ce message.

échec de lecture d'une entrée analogique PIC MikroC
Temps-x
Avatar de l’utilisateur
Expert
Expert
Messages : 2595
Enregistré en : juillet 2016
Localisation : Terre

#2 Message par Temps-x » mer. 2 juin 2021 12:35 lien vers la Data-Sheet : Cliquez ici

Bonjour EmnaBz, et tout le forum,

Soit le bienvenue sur le forum,

As tu le fichier de simulation, si oui, mets le en téléchargement, qu'on puisse l'examiner.

Je connais pas grand chose dans ce langage, car je pratique que ASM, mais j'arrive à lire ton code,

Pour que ça fonction voici les registres qu'il faut paramétrer.

TRISA = =B'00000001' ==> ==> entrée sur RA0
ADCON0 = B'00000000' ==> ==> sélection du canal RA0
ADCON1 = B'00001110' ==> ==> tension de référence de l'adc, alimentation du pic, et considérer RA0 comme Analog input
ADCON2 =B'00100100' ==> ==> jutifier à gauche = 0 ou jutifier à droite = 1, temps 8 TAD, vitesse conversion FOSC/4

Pour lancer l'acquisition en version ASM

Code : Tout sélectionner


      bsf ADCON0
,ADON                     ; on lance l’acquisition (charge du condensateur)
      
      nop                                 
; petite pause de quelle que micro-seconde
      nop                                 
;
      nop                                 ;
      nop                                 ;
      nop                                 ;
      nop                                 ;
      nop                                 ;      
      
      bsf ADCON0
,GO                       ; lancer la conversion A/D

      btfsc ADCON0
,GO                     ; si le bit GO est à 1 on va à la ligne 1        
      bra 
$-D'2'                          ; convertion n'est pas terminer     

      bcf ADCON0,ADON                     ; fin de conversion, éteindre convertisseur     



En ASM le résultat de la conversion se trouve dans les registres ADRESH et ADRESL,

De plus en ASM il faut faire une conversion pour pouvoir l'afficher sur tes afficheurs.

Une fois configurer ça doit fonctionner, avant de mettre un capteur essai avec un potentiomètre relié entre + et - avec entrée sur RA0

Depuis combien de temps que tu programme des Pics ?

==> A+
:roll: Les requins, c'est comme le langage ASM, c'est le sommet de la chaîne alimentaire. :wink:

échec de lecture d'une entrée analogique PIC MikroC
EmnaBz
Membre
Membre
Messages : 12
Enregistré en : juin 2021

#3 Message par EmnaBz » mer. 2 juin 2021 16:31 lien vers la Data-Sheet : Cliquez ici

Merci Temps-x pour votre réponse et vos efforts fournis!
J'ai utilisé le MikroC pour la programmation.
J'ai bien utilisé la même configuration que vous avez mentionné et c'est le même résultat dans la simulation comme dans l'image attachée dans le cas d'utilisation du capteur de pression, sinon pour le potentiomètre c'est fonctionnel !(jcp si ça fonctionne convenablement ou pas mais les valeurs dans l'afficheur varient instantanément avec les variations du pot). Merci !
Maintenant jcp comment résoudre le problème du capteur..
Sinon je rencontre toujours une erreur d'extension lors de l'attachement du fichier de simulation :?
En fait c'est dans le cadre de mon projet de fin d'études et c'est mon 2ème projet en programmation d'un PIC, le 1er était beaucoup plus simple.
Merci encore , vos effors sont fructueux.

échec de lecture d'une entrée analogique PIC MikroC
Temps-x
Avatar de l’utilisateur
Expert
Expert
Messages : 2595
Enregistré en : juillet 2016
Localisation : Terre

#4 Message par Temps-x » mer. 2 juin 2021 17:08 lien vers la Data-Sheet : Cliquez ici

Re

Pour le capteur je crois qu'il faut passer par un petit ampli, reste à voir, sinon il est possible qu'il faut paramètre le capteur dans votre logiciel de simulation :wink:

==> A+
:roll: Les requins, c'est comme le langage ASM, c'est le sommet de la chaîne alimentaire. :wink:

échec de lecture d'une entrée analogique PIC MikroC
Gérard
Avatar de l’utilisateur
Expert
Expert
Messages : 1640
Âge : 65
Enregistré en : septembre 2015
Localisation : Alsace - Haut-Rhin

#5 Message par Gérard » mer. 2 juin 2021 18:12 lien vers la Data-Sheet : Cliquez ici

Bonjour,

Si ça fonctionne avec le potentiomètre et pas avec le capteur, c'est le capteur qui est en doute.
As-tu un lien vers le capteur?
Il faut peut-être adapter l'impédance entre le capteur et le PIC, avec un ampli.
Le 18/04/19 je suis devenu papy de jumeaux, le 01/09/23 une petite cousine des jumeaux est née.

échec de lecture d'une entrée analogique PIC MikroC
paulfjujo
Avatar de l’utilisateur
Expert
Expert
Messages : 2589
Âge : 73
Enregistré en : juillet 2015
Localisation : 01800
Contact :

#6 Message par paulfjujo » mer. 2 juin 2021 20:09 lien vers la Data-Sheet : Cliquez ici

bonsoir,


le capteur est sensé donner 20mV/KPa
1 bar => 100 Kpa
2 bars => 200KPa => 200*20=4000mV

verifier si en mettant un potar (entre 0 et +Vcc) curseur sur l'entree RA0 on evolue de 0 à pres de 5000 sur l'affichage7 seg.

copie ecran Proteus :
103.2 sur l'afficheur de pression (simulé) .. correspond à quoi 103.2mV ou KPa ou ???
... je n'utilise pas de simulateur

:sifflotte: il faudrait une pompe à velo pour simuler le capteur !
Aide toi, le ciel ou FantasPic t'aidera

échec de lecture d'une entrée analogique PIC MikroC
EmnaBz
Membre
Membre
Messages : 12
Enregistré en : juin 2021

#7 Message par EmnaBz » mer. 2 juin 2021 23:29 lien vers la Data-Sheet : Cliquez ici

Merci à tous pour vos réponses!
Je vais travailler sur l'adaptation alors..
Mr Paulfjujo, oui en utilisant le pot l'afficheur affiche exactement des valeurs de 10 à 5409. Sinon pour la valeur sur l'afficheur du capteur ça correspond à 103.2kPa. Mais le problème consiste du fait qu'en connectant le capteur au PIC, la pin A0 ne fonctionne guère (l'aide visuel du pin est éteint), on dirait que c'est pas lié au capteur.

échec de lecture d'une entrée analogique PIC MikroC
paulfjujo
Avatar de l’utilisateur
Expert
Expert
Messages : 2589
Âge : 73
Enregistré en : juillet 2015
Localisation : 01800
Contact :

#8 Message par paulfjujo » jeu. 3 juin 2021 09:36 lien vers la Data-Sheet : Cliquez ici

bonjour,

EmnaBz a écrit :...l'aide visuel du pin est éteint), on dirait que c'est pas lié au capteur.


qu'est-ce que cette aide visuel ?

Test reel avec un vrai capteur ou en mode simulation ?
Aide toi, le ciel ou FantasPic t'aidera

échec de lecture d'une entrée analogique PIC MikroC
EmnaBz
Membre
Membre
Messages : 12
Enregistré en : juin 2021

#9 Message par EmnaBz » jeu. 3 juin 2021 14:02 lien vers la Data-Sheet : Cliquez ici

Bonjour,
Non en mode simulation, je parle des indications entourées par le rouge dans l'image attachée à ce message.
Excusez mon mauvais choix des mots, en fait je suis débutante et je connais pas trop le vocabulaire adéquat du logiciel proteus.
Merci
Vous n’avez pas les permissions nécessaires pour voir les fichiers joints à ce message.

échec de lecture d'une entrée analogique PIC MikroC
venom
Avatar de l’utilisateur
Confirmé
Confirmé
Messages : 953
Âge : 38
Enregistré en : avril 2016
Localisation : Klyntar
Contact :

#10 Message par venom » jeu. 3 juin 2021 18:40 lien vers la Data-Sheet : Cliquez ici

Bonjour EmnaBz et bonjour à tous.
Tu sais ça reste de la simulation. Parfois les petits voyant ne s'allume pas, cela ne veux pas dire que le montage ne fonctionne pas. Par exemple dans le cas où tu balance beaucoup d'infos. L'ordi ne peut simuler tout les impulsions électriques.

Et j'ai appris via ce forum, que la simu ba ça reste de la simu. :-D
J'avais des projets qui ne fonctionnait pas sous simu et fonctionner très bien en dur et inversement. :?

C'est a en perdre la tête mais bon ça fait partie du jeu :wink:

Le mieux serait une breadboard minimum.

Au faite soit la bienvenue parmi nous :sifflotte:






@++
Mon site web
Mon discord : venom#4888


Retourner vers « Généralités sur les PICs »

Qui est en ligne

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