Bienvenu(e)! Identification Créer un nouveau profil

Recherche avancée

pic18f4550 adc et interruption diificulté

Envoyé par mick 
Re: pic18f4550 adc et interruption diificulté
dimanche 25 juin 2006 16:21:44
Bonjour , j'ai pas tester de tension continue mais je vais le faire et je vous metterai au courant.
Sino pour le graphique j'essai de faire sur excel par exemple:
j'ai mon logiciel qui me donne ca:
le buffer 0 vaut 255 0 0 34 1 36 1 19 1 89 0
le buffer 1 vaut 255 0 3 255 3 164 3 126 2 15 3
le buffer 2 vaut 255 0 3 255 3 163 3 127 2 15 3
le buffer 3 vaut 255 0 3 255 3 165 3 129 2 15 3
le buffer 4 vaut 255 0 0 35 0 38 0 33 0 23 0
le buffer 5 vaut 255 0 0 35 0 36 0 33 0 23 0
le buffer 6 vaut 255 0 0 35 0 33 0 32 0 22 0
le buffer 7 vaut 255 0 3 255 3 157 3 124 2 16 3
donc je prend par exemple la 4eme colone et je rendre toute cette valeur sur execl et je clique sur l'icone graphe :
en y j'ai les chiffre de la 4eme colonne
en x j'ai le nombre de valeur (ici de 1 à 8).
Voila comment je procéde pour faire le graphe, ext ce correcte??.
Merci

Re: pic18f4550 adc et interruption diificulté
lundi 26 juin 2006 11:48:53
Oula... Je suis pas un expert dans excel moi, normallement tu mets les valeurs dans une colonne et tu lui dis de sortir un graphe...
Re: pic18f4550 adc et interruption diificulté
lundi 26 juin 2006 13:27:29
bonjour
Pour excel c bien ce que vous avez dit mais moi j'ai détaillé.
Sino je viens de tester une tension continue donc j'ai toujour la meme valeur qui défile donc je pense que l'ad fonctionne?
pour 5v il donne des valeur autour de 230
pour 4v des valeur autour de 128
pour 3v des valeur autour de 100
pour 2v des valeur autour de 190
pour 1v des valeur autour de 240
et quand je met 0v il met 0.
Que pensez vous ?

Mais par contre je ne comprend pas pourquoi la valeur ne diminue pas lorsque je diminue la tension de 5v à 1v.

Sino pour l'userinit j'ai modifié:

TRISD = 0x00;
TRISBbits.TRISB6 = 0; // pin 0 output
TRISA = 0xff;
ADCON0 = 0x01; // ADC Control Register 1: Enable (turn on ADC)
ADCON2 = 0b11101000;// ADC Control Register 2: 12 TAD (accuracy), FOSC (freq of cpu)
ADCON1 = 0x0a; //AN0: analog input to convert

merci



Modifié 1 fois. Dernière modification le 26/06/06 15:10 par mick.
Re: pic18f4550 adc et interruption diificulté
mercredi 28 juin 2006 11:10:19
Le conversion AD ont lieu sur 10 bits, que valents les deux autres bits?
Re: pic18f4550 adc et interruption diificulté
mercredi 28 juin 2006 13:52:21
Bonjour
c'est la question que je me pose aussi puisque lorsque j'atteint 5V toute mes valeur plafonne à 255.Mais parcontre j'ai remarquer que le premier buffer fonctionne comme un compteur de 0 à 3 et il s'incrémente à chaque fois que
le deuxieme buffer atteint 255.
D'ou le bufer 2 se remet à zéro 4 fois et lorsque le buffer 1 est 3 le buffer 2 stabilise à 255.
Donc pour moi lorsque le buffer 1 est à 3 et que le buffer 2 est à 255 ceci equivaut à 1024.
Mais je ne vois pas c dû à quoi?
Est ce que il y aurait une explication logique avec ce compteur pour les 2 bits perdu??
Re: pic18f4550 adc et interruption diificulté
mercredi 28 juin 2006 14:17:18
ben le premier buffer c'est les 2 bits de poid fort de la conversion...

Ta conversion a lieu sur 10bits soit 1024

bit 9 = 512 (buffer 1)
bit 8 = 256 (buffer 1)
bit 7 = 128 (buffer 2)
bit 6 = 64 (...)
...
...
...
...

faut que tu regardes sur 10 bits, si tu veux ne t'occuper que de 8 bits il faut que tu changes l'alignement dans ADCON1 left en right je pense
Re: pic18f4550 adc et interruption diificulté
mercredi 28 juin 2006 14:46:45
slt
No moi ce que je veux c'est sur 10 bits parcontre je n'atteint que 255 et ca ne va pas plus haut et pour l'alignement je suis bien sur left et je crois que c'est sur le rigistre ADCON2 qu'on définit l'alignement.
Je ne comprend pas pourquoi je ne vois que sur 8 bits??il y a un probléme.....
Re: pic18f4550 adc et interruption diificulté
mercredi 28 juin 2006 18:10:34
Mais parce que tu ne regardes QUE LES BITS DE POIDS FAIBLE et que les 2 BITS DE POIDS FORT sont DANS LE BUFFER 1...

registre de bits est sur 8 bits il ne saurait donc te renvoyé une valeur 0-1023 c'est impossible, donc il te renvoie une valeur 0-3 et une valeur 0-255, 0-3 c'est le poid fort et 0-255 c'est le poid faible
Re: pic18f4550 adc et interruption diificulté
lundi 3 juillet 2006 07:46:54
bonjour
Comment je dis faire pour voir les dix bits pour voir de 0-1023?
Y a t il des config à faire au niveau des registres?
Sino on fait une multiplication du buffer 1 avec le buffer 3 lorsque le buffer 1 est superieur à 0 ; c'est a dire par exemple le buffer 1 est a 3 et le buffer 3 est à 255 donc on obtient la 1020.???

Ah oui et puis comment on pourrait savoir si l'envoi vers le pc est terminer car moi il le fait on continue?
Par exemple j'envoi 10 bits de données et ensuite j'aimerais qu'il s'arrete dés lors qu'il à finit l'envoi de ces 10 bits.

J'ai essayer le mode sleep, usb suspend mais ca ne marche pas; le pc ne detecte la cate.

merci




Modifié 2 fois. Dernière modification le 04/07/06 14:52 par mick.
Re: pic18f4550 adc et interruption diificulté
jeudi 6 juillet 2006 16:38:37
Salut,

Dans ton pic tu as deux registre adresh et adresl je pense, ce sont dans ces registres que tu trouveras les 10 bits de la convertion, en suite tu décales les 2 bits de poid fort de 8 vers la gaucheet tu additionnes les 8 bits de poid faible, et tu obtiendras ta valeur... A noter qu'un exemple de ce genre de conversion est disponible sur le site...


Pour l'envoie de 10 bits et un stop, désolé, mais je ne connais pas le driver de microchip donc je ne sais pas t'aider

Benjamin
Seuls les utilisateurs enregistrés peuvent poster des messages dans ce forum.

Cliquez ici pour vous connecter