NOM :
Bus I2C
La donnée analogique d'un capteur de température PT100 est convertie par un CAN MCP3421 ( paramétré sur n=16 bits) qui a en sortie un bus I2C (Slave) géré par un microcontrôleur PIC18F2620 (Master) .
Théorie
1. Calculer le quantum q du CAN ( q = Vref / 2n ) Vref = 2,048V
2. Si la température est de 20°C déterminer la valeur de la résistance de la PT100 (voir fichier table pt100.pdf ). En déduire la tension aux bornes de la sonde ( U = RPT100 * I avec I = 1mA)
3. Le registre interne du CAN MCP 3421 a été programmé avec le code binaire suivant :
registre 1 0 0 0 1 0 0 1
signification
A partir du document technique MCP3421 , donner la signification de chaque bit de ce registre
Bac Pro SN option RISC – Veynes 1/4
NOM :
4. Calculer la tension obtenue à l'entrée du CAN avec le gain programmé et la sonde PT100 à 20°C
5. Calculer la valeur binaire N sur 16 bits obtenue en sortie du CAN et la convertir en hexa.
Simulation
1 . Installer le compilateur C18 (mplabc18-3.47) et ouvrir ensuite le projet TP_MCP3421.mcp Ajouter les fichiers header p18f2620.h ; stdio.h ; i2c.h ; math.h dans l'onglet header files de MPLAB (ces fichiers sont nécessaires pour la compilation du programme ( voir les « include » du programme)
Les fichiers .h sont dans C:\Program Files (x86)\Microchip\mplabc18\v3.47\h Compiler ce projet pour générer le fichier binaire TP_MCP3421.hex
Fermer MPLAB.
Vérifier que ce fichier .hex est bien dans votre dossier.
Signature Professeur :
2. Lancer le logiciel ISIS de Proteus et ouvrir le fichier TP_MCP3421.dsn
Faire un clic droit sur le microcontrôleur PIC 2620 puis edit properties puis ajouter le fichier TP_MCP3421.hex dans l'onglet program file pour insérer le programme .
Paramétrer la sonde PT100 à +20°C
Lancer l'animation par le touche lecture (Play)
Après 2s environ , appuyer sur la touche pause et imprimer (copie d'écran) le moniteur I2C Debug
Commenter les valeurs hexa obtenues. (attention les données ne sont pas dans le même ordre que dans l'exemple de lecture du bus I2C ci-dessous .)
Donner l'adresse du CAN MCP3421 : Donner la donnée convertie par ce CAN : Convertir cette donnée en décimal :
En déduire la tension obtenue à l'entrée de ce CAN :
Bac Pro SN option RISC – Veynes 2/4
Validation Professeur :
NOM :
En déduire la tension Vsonde obtenue aux bornes de la sonde PT100 (tenir compte du gain du MCP3421) :
En déduire la résistance de la sonde PT100 ( RPT100 = Vsonde / I avec I = 1 mA)
Rsonde =
A partir de la table de la sonde PT100 , donner la température mesurée : R PT100 =
Température mesurée =
Vérifier que la mesure de la température (donnée par le terminal de la simulation) est cohérente avec votre calcul (température obtenue à partir de la table de conversion)
Ensuite stopper l'animation et agrandir la fenêtre du graphe.
Imprimer le graphe obtenu .
Sur le graphe, donner le code binaire de l'adresse du MCP3421, le code de programmation du registre interne du MCP3421 , le code binaire obtenu en sortie de ce CAN ainsi que les bits d'acquittement A (acknowledge) , Start S et Stop P
Les valeurs binaires de la ligne SDA se lisent sur les fronts descendants du signal d'horloge SCL Cycle écriture du MCP3421 : envoi de l'adresse du MCP3421 + configuration du registre interne pour paramétrer le CAN (mode 12 à 18 bits , gain et mode de conversion)
Bac Pro SN option RISC – Veynes 3/4
Validation professeur :
Front descendant
NOM :
Cycle lecture du MCP3421 : envoi de l'adresse du MCP3421 + lecture de la conversion du CAN + configuration du registre interne pour paramétrer le CAN (mode 12 à 18 bits , gain et mode de conversion)
A partir de votre graphe , donner la valeur binaire du registre de configuration du MCP3421 et en déduire le paramétrage programmé .
registre
signification
Convertir en hexadécimal l'adresse du MCP3421 et la donnée convertie par la CAN . Adresse du MCP3421 =
Donnée convertie par le CAN =
Vérifier que la donnée est cohérente avec la donnée obtenue avec le terminal d'ISIS.
Bac Pro SN option RISC – Veynes 4/4
Front descendant