Robovolc⚓
Contexte
Le Robovolc est équipé d'un capteur de température industriel (PT100) qui est approprié pour travailler dans des conditions extrêmes (-200°C à +900°C). Pour les missions en cours , les scientifiques estiment que les valeurs de températures extrêmes sont comprises entre -70°C et +200°C. En sachant que ces valeurs doivent être traitées ensuite par le convertisseur analogique numérique d'un microcontrôleur dont la gamme de tension sera comprise entre 0 et 5V, il faut, pour avoir une précision maximale, que la sortie Vout soit proche de 0 pour une température de -70°C et proche de 5V pour une température de 200°C.On se propose donc de vérifier que la structure proposé répond au cahier des charges et s'il y a bien adaptation de la chaîne d'acquisition aux caractéristiques des grandeurs à acquérir.Le capteur mis en œuvre est une sonde à résistance de platine PT100.

Étude théorique⚓
Le schéma structurel, disponible ici, montre différents étages à base d'AOP. L'étude théorique portera donc sur ces différents étages. Les tensions d'alimentation sont telles que : VCC = 5V, VCC2 = 8V, VCC3 = -8V
Sonde PT100⚓
A partir des documents ressources listés ci-dessous :
Thermométrie par sonde platine
Mesure de température par sonde Pt100
Rechercher les relations qui lie la résistance Rt de la sonde à la température T.
Afin de simplifier l'étude, on n'utilisera par la suite que la relation pour les températures positives.
Générateur de courant constant⚓
On donne : UD1 = 0,61V ; UD2 = 3,53V ; VebQ1 = 0,67V Cette structure (montage de gauche) est équivalente à un générateur de courant constant (montage de droite).
Pourquoi doit-on alimenter la sonde à courant constant ?
En utilisant les lois de base de l'électricité, démontrer que le courant circulant dans R2 est constant et égal à 1,58mA.
Démontrer que le courant circulant dans la sonde est sensiblement égal à celui circulant dans R2.
Déterminer l'expression de Vcap.
À partir de l'expression de la résistance de la sonde en fonction de la température, calculer la valeur de cette résistance Rt à 0°C, à -70°C et à +200°C.
En déduire les valeurs de Vcap.
Dans un tableur créer un tableau de trois colonnes pour la température T (°C), la résistance Rt (Ω) et la tension VCap (mV). Faire varier la température sur toute la plage du cahier des charges par pas de 10°C. Compléter les colonnes pour la résistance et la tension.
Amplification de VCap⚓
Déterminer l'expression littérale de VA en fonction de VCap et des résistances du montage.
Quelle est la structure réalisée par ce montage ?
Déterminer la valeur de l'amplification Av du montage.
En déduire la plage de variation de VA.
Rajouter une colonne VA (V) à votre tableau et la compléter.

Référence de tension de décalage⚓
Rappel : à une température de -70°C doit correspondre une tension de sortie Vout = 0V, et à +200°C Vout = 5V.
Quel est le type de la diode D3, et quel est son rôle ?
Déterminer la valeur de R10 pour avoir Vref égale à la tension VA à la température de -70°C (VD3 = 3,52V).
Pour régler avec précision VR, R10 sera remplacé par un potentiomètre multitours, donner sa valeur normalisée dans la série E6.
Quel est le nom de la structure réalisée par U1:B ?
Justifier sa présence.
Décalage de tension⚓
Déterminer l'expression littérale de VD en fonction de VA et VR et des éléments du montage sans simplification.
On pose R6 = R7 = R8 = R9. Simplifier VD.
Quelle est le nom de la structure réalisée par ce montage.
Calculer VD pour une température de -70°C.
Quelle est le rôle de ce montage.
Rajouter une colonne VD (V) à votre tableau et la compléter.
Correction du gain⚓
Déterminer l'expression littérale de Vout en fonction de VD et des éléments du montage.
Quelle est le nom de la structure réalisée par ce montage.
Calculer VD pour une température de +200°C.
Quelle valeur doit prendre Vout à la température de +200°C.
Déterminer alors la valeur de l'amplification.
À quelle valeur doit-on régler RV1.
Rajouter une colonne Vout (V) à votre tableau et la compléter.
Synthèse⚓
Proposer un schéma fonctionnel de ce montage, et une explication du rôle de chaque fonction.
Simullation : Proteus⚓
Simuler l'ensemble du montage sous Proteus.
Comparer les valeurs de l'étude théorique (tableur Calc) avec la simulation.
Attention :
Pour la simulation il est important de procéder progressivement (étage par étage) en simulant et en comparant les valeurs des différentes tensions par rapport à celles calculées en théorie (tableur calc). Une fois qu'un étage est validé, on ajoute le prochain on re-simule ...
Restitution de l'information : Affichage de la température sur un LCD⚓
On désire afficher la température avec le montage suivant. La sortie de la carte d'acquisition est reliée à une entrée analogique de la carte.
Le microcontrôleur de la carte réalisera la conversion A/N et le calcul de la température, l'afficheur LCD 2 lignes de 16 caractères LM016L réalisera l'affichage.
Librairie : LiquidCrystal
Cette librairie permet à une carte Arduino de contrôler un afficheur LCD alphanumérique standard à cristaux liquides basé sur le circuit intégré Hitachi HD44780 (ou compatible), ce qui est le cas de la plupart des afficheurs alphanumériques LCD disponibles.
L'information circule via une interface parallèle : Le micro-contrôleur utilise plusieurs broches à la fois pour contrôler l'affichage.

Ces broches de l'afficheur sont composées de :
La broche RS (Register Select) Sélectionne le registre (données ou instruction) dans lequel les données doivent être écrites.
La Broche R/W (Read/Write) qui sélectionne le mode d'écriture ou de lecture.
La Broche E (Enable) qui rend possible l'écriture vers les registres.
Les 8 broches de données (D0-D7). Données transmises vers l'afficheur lorsque l'on écrit ou lues par le micro-contrôleur lorsque l'on lit.
La broche de contraste Vo ajuste de contraste en fonction de sa valeur comprise entre 5V et GND.
La broche LED Backlight contrôle le rétro-éclairage
Les broches d'alimentation (+5V et GND) alimentent le circuit.
La librairie LiquidCrystal simplifie grandement l'utilisation de l'afficheur. L'utilisateur n'a pas à se soucier du processus qui gère la modification de l'état des différentes entrées. L'afficheur LCD considéré ici peut être contrôlé en mode 4 ou 8 bits pour les données (D0-D7). En mode 4 bits 7 broches au total devront être reliées à l'ARDUINO alors qu'en 8 bit il faudra 11 broches. Pour afficher du texte sur l'écran le mode 4 bits est suffisant.
Constructeurs : Avant le setup(), un objet de la classe LiquidCrystal doit être instancié. 4 constructions sont possibles :

Paramètres du constructeur :
rs: le numéro de la broche de l'Arduino qui est connecté à la broche RS de l'afficheur LCD.
rw: le numéro de la broche de l'Arduino qui est connecté à la broche RW de l'afficheur LCD (optionnel)
enable: le numéro de la broche de l'Arduino qui est connecté à la broche E(nable) de l'afficheur LCD
d0, d1, d2, d3, d4, d5, d6, d7: les numéros des broche de l'Arduino connectées respectivement aux broches de données de l'afficheur LCD. Les broches de données d0, d1, d2, and d3 sont optionnelles; si elles sont omises, le LCD pourra être contrôlé en utilisant seulement les quatre broches de données d4, d5, d6, d7 (mode 4 bits). Ces paramètres entiers (const int) doivent être définis en amont dans le programme.
Écriture :
![]()
Permet l'écriture soit d'une chaîne de caractères (''texte'') soit des valeurs de variables (char, byte, int, long, float ou string)
Exemple :
On souhaite utiliser un afficheur LCD de 2x16 caractères en mode 4bits.
Matériel :
Carte Arduino
Afficheur LCD (du type Hitachi HD44780 driver)
Circuit :
Pour connecter le LCD à l'Arduino :
LCD RS → broche 12
LCD Enable → broche 11
LCD D4 → broche 5
LCD D5 → broche 4
LCD D6 → broche 3
LCD D7 → broche 2
Les broches aux extrémités d'un potentiomètre de 10K sont reliées au +5V et au GND. La broche du milieu est, elle, reliée au Vo (pin3).
Programme : Extrait de l'exemple "HelloWorld" fournit par la bibliothèque LiquidCrystal :
// include the library code:// initialize the library by associating any needed LCD interface pin// with the arduino pin number it is connected toconst int rs = 12, en = 11, d4 = 5, d5 = 4, d6 = 3, d7 = 2;
LiquidCrystal lcd(rs, en, d4, d5, d6, d7);
void setup() {
// set up the LCD's number of columns and rows:lcd.begin(16, 2);
// Print a message to the LCD.lcd.print("hello, world!");
}
void loop() {
// set the cursor to column 0, line 1 // (note: line 1 is the second row, since counting begins with 0):lcd.setCursor(0, 1);
// print the number of seconds since reset:lcd.print(millis() / 1000);
}
Simuler cet exemple dans un nouveau projet proteus
Câbler cet exemple et tester.
Mise en œuvre du LCD pour l'affichage de la température⚓
A partir de l'exemple de la section précédente, dans un nouveau projet Proteus, réaliser un programme permettant l'affichage de la température acquise par l'entrée analogique de la carte Arduino.






