Rechercher : dans
Par :

Convertisseur analogique/numerique

Dernière réponse le 20 mar 2009 à 22:30:16 soniaaa, le 16 mar 2008 à 14:21:24 
 Signaler ce message aux modérateurs

Bonjour,
je vais programmer un pic 16f876 avec le logiciel ISIS, j'ai une idee mais j pa compris comment faire la partie programmation d'un convertisseur analogique/numerique. l'entree est dans le port RA0/AN0 d'une temperature qui ne depasse pas 900degré, le probleme c'est comment comparer la temperature figé dans l'EEPROM et celle trouver dans le four a qui je vais faire mon projet. et merçi d'avance

Configuration: Windows XP
Firefox 1.5.0.6

Meilleures réponses pour « convertisseur analogique/numerique » dans :
L'analogique et le numérique VoirQuelle est la différence entre analogique et numérique ? Les phénomènes qui nous entourent sont quasiment tous continus, c'est-à-dire que lorsque ces phénomènes sont quantifiables, ils passent d'une valeur à une autre sans discontinuité. Ainsi,...
Carte son VoirIntroduction à la carte son La carte son (en anglais audio card ou sound card) est l'élément de l'ordinateur permettant de gérer les entrées-sorties sonores de l'ordinateur. Il s'agit généralement d'un contrôleur pouvant s'insérer dans un...
Transmission de données - La transmission numérique de données VoirIntroduction à la transmission numérique La transmission numérique consiste à faire transiter les informations sur le support physique de communication sous forme de signaux numériques. Ainsi, des données analogiques devront préalablement être...

1

balou01, le 16 mar 2008 à 15:03:58

Je comprend pas toutes la question...

Tu veux savoir comment convertir de l'analogique en numérique ou savoir comment récupéré la température de ton four ???

Répondre à balou01

3

soniaaa, le 17 mar 2008 à 00:34:03
  • +1

BONJOUR
bon je veux savoir comment convertir de l'analogique en numerique, c'est a dire convertir de la temperature trouvé par le four en une tension, et si ilya une chute de temperature( moins de 900 degré) ça va sonner dans une sirene qui est activé par le pic 16f876.
et merçi

Répondre à soniaaa

2

le père, le 16 mar 2008 à 15:47:36

Bonjour

Pour utiliser le CAN du PIC 16F876, il faut :

(je ne parle pas des interruptions ici)

1 - lire la datasheet http://ww1.microchip.com/downloads/en/DeviceDoc/30292c.pdf
2 - Configurer le convertisseur grâce au registre en fonction des E/S analogiques / digitales dont tu as besoin
Selectionner l'horloge (bits ADCS1:ADCS0 de ADCON0) : selon l'horloge du PIC
Mettre en marche le convertisseur (bit ADON de ADCON0)

3 - lire la datasheet http://ww1.microchip.com/downloads/en/DeviceDoc/30292c.pdf

4 - Selectionner ton entrée analogique (bits CHS2:CHS0 de ADCON0) et attendre "un peu" (2 TAD, voir datasheet)

5 - lire la datasheet http://ww1.microchip.com/downloads/en/DeviceDoc/30292c.pdf

6 - lancer une conversion en mettant à 1 le bit GO/DONE de ADCON0
attendre la fin de la conversion en attendant que GO/DONE retombe à 0
lire le résultat dans (ADRESH:ADRESL)

7 - lire la datasheet http://ww1.microchip.com/downloads/en/DeviceDoc/30292c.pdf

8 - si tu lis toujours la même voie, recommence en 6 ; si tu changes de voie, recommence en 4

les étapes 1,3,5, et 7 sont de loin les plus importantes

Répondre à le père

4

soniaaa, le 17 mar 2008 à 01:08:24
  • +1

Merçi pere!
mais je ve savoir apres la conversion de la temperature en une tension avec ces instructions ke vous m'avez donné,comment je lis la temperature figé dans EEPROM DU PIC et la COMPARER surtout avec celle trouver dans le four,car en cas de chute de temperature du four çava activer une sirene.
et merçi encore d'avance

Répondre à soniaaa

5

le père, le 17 mar 2008 à 08:14:21

Bonjour

Pour lire une donnée dans l'EEPROM, il n'y a pas grand chose à faire et tout est expliqué dans la datasheet (tu veux que je répète l'adresse ?) avec un exemple de programme (6 instructions !).
Pour comparer la température lue sur la capteur avec celle lue en EPROM, tu as l'instruction SUBWF dont le fonctionnement est détaillé dans la même datasheet.
Le seul point qui peut être un peu délicat est éventuellement de traduire la tension mesurée en degrés celsius, si tu en as réellement besoin mais pour ça il faut connaître la relation température - tension et toi seule la connais. Du moins, tu devrais la connaître.

Répondre à le père

6

soniaaa, le 17 mar 2008 à 13:59:10

Salut !!!
svp en utilisant le CAN du pic 16f876 et en comparant avec l'instruction 'subwf', je veux savoir la valeur recue par le capteur dans kel registre se trouve(c a dire dans kel regstre sera reçue) pour faire ma comparaison.

et merçi encore!

Répondre à soniaaa

7

le père, le 17 mar 2008 à 18:56:45

je veux savoir la valeur recue par le capteur dans kel registre se trouve
Je veux bien t'aider, mais de là à te dire à quelle page il faut ouvrir la doc (qui est très claire) et quelle ligne il faut lire... Je ne crois pas que ce soit un service à te rendre

Répondre à le père

8

soniaaa, le 17 mar 2008 à 23:57:48

Movlw 900
subwf toto,f ; toto = toto-900, C=1 si toto >=900
btfsc STATUS,C
goto toto_superieur_egal_900; ici toto < 900
toto est normalement la valeur reçue par le capteur c ça?
qui est normalent le registre ADRESL ou ADRESH?
si c faux donnez moi la page de datasheet a qui j'aurai la reponse...
et toujours merçi!!!

Répondre à soniaaa

9

le père, le 18 mar 2008 à 12:12:41

Bonjour

Effectivement, ça ressemble à ça, mais il y a quelques problèmes :

1- Le convertisseur mesure une tension. Le résultat de la conversion n'est certainement pas directement des degrés celsius, tu ne peux pas le comparer directement avec 900 ! Tu dois connaître la relation entre la température et la tension mesurée pour pouvoir interprêter le résultat de la mesure.
Ensuite, deux possibilités :
Si ton 900 doit toujours rester 900, tu calcules une fois à la main la tension correspondant et donc le résultat de conversion correspondant. C'est ce nombre là que tu mets dans ton EEPROM et c'est avec celui-là que tu fais ta comparaison. C'est le plus facile, mais c'est probablement trop figé
Si le 900 doit être réglable, il faut programmer dans le PIC la loi de conversion température / mesure CAN pour pouvoir refaire ce calcul à chaque changement du seuil ou à chaque mesure, selon le sens de la conversion. De plus, si tu fais la conversion dans le bon sens, ça te permet d'afficher la température (en as-tu besoin) ?

2- pour l'utilisation du SUBWF, léger malaise : l'instruction ne travaille que sur un octet, pas question de faire une comparaison avec 900 en une seule instruction. D'ailleurs le MOVLW 900 sera rejeté par l'assembleur, il ne peut pas faire 'tenir' 900 dans un octet !
Il faut enregistrer les données sur 2 octets. tu compares d'abord les poids forts, s'ils sont différents le résultat de la comparaison est dans C ; s'ils sont égaux tu compares les poids faibles

3- résultat dans ADRESL ou ADRESH ?
ça dépend... de comment tu as configuré le convertisseur. Si tu n'as pas besoin de beaucoup de précision, une conversion sur 8 bits peut suffire et tu n'as à te soucier que d'un seul des deux registres

Répondre à le père

10

slt tout le monde, le 19 mar 2008 à 22:14:51

Bonsoir,
comment enregistrer les données en 2octets?Et comparer les poids forts?
merci d'avance.

Répondre à slt tout le monde

15

 chabbeh, le 20 mar 2009 à 22:30:16

Salut
j'ai besoin d'un programme en c pour convertir un signale analogique en signale numerique à l'aide d'un pic 16f877

Répondre à chabbeh

11

soniaaa, le 20 mar 2008 à 01:16:29

Bonjour et merçi pere!

Pere, j'ai utilisé la methode de figeage de 900 (qui correspond à 32.5714mV exactement) parce que je ne connais pas la methode d'affichage de temperature sur un lcd et utiliser le clavier mais j vraiment besoin, mais aparement la methode de figeage de seulement 32.571 (900degré)n'est pas bien faisable..

Donc pour programmer du clavier une temperature qui doit se convertir a chaque fois en une tension je dois utiliser kel instructions? (j'en ai 150degré correspond à10mV et j'en ai aussi 1050degré correspond à 38mV) et l'alarme doit se declencher dans le plage de 898degré a peu pres jusqu'à 902 degré presk...........Est ce ke je dois des le debut programmer mon clavier et apres je programme la loi de conversion température / mesure CAN ou comment? POUR cette LOI est ce ke vous pouvez m'aider un peu sur les instructions!!!!
je crois donc lors d'utiliser cette loi,la temperature envoyé par le clavier doit etre systematiquement etre enregistrer dans EEPROM donc j'utilise a cet instant SUBWF mais cette fois avec la tension convertie(ne depasse pas normalement les 8 bits car max 38mv) et qui va faire la conparaison entre celle enregistré et celle reçue par la sonde du four ki est reçu dans le registre ADRESH( c'est lui de 8 bits non?)

Répondre à soniaaa

12

soniaaa, le 20 mar 2008 à 01:31:42

Bonjour!

pére j vraiment besoin de vous envoyer le shema ke j fait en ISIS mais comment? est ce que vous pouvez me donner votre e_mail? si vous acceptez vous pouvez me repondre sur mon e_mail et merçiiiiii en tous cas:)
mon e_mail: sonia_1408@hotmail.fr

et merçii d'avance!!

Répondre à soniaaa

13

hendiri, le 24 oct 2008 à 14:13:12

Slt 5 jour je leui donner la solution

Répondre à hendiri

14

lesoleil4x4, le 30 jan 2009 à 21:16:45

Pour une conversion analogique(temperature) en un signal numerique vous avez besoin:
-capteur de temperatur soit cts ou ctn
-connecteur DB9
-multiplixeur analogique 4051
-miltiplixeur digital 74157

Répondre à lesoleil4x4
Collection CommentÇaMarche.net