Documente Academic
Documente Profesional
Documente Cultură
UNI
VERSI
THASSAN 1ERSETTAT
ECOLENATI
ONALEDESSCI
ENCESAPPLI
QUES
KHOURI
BGA
2M ANNECYCLEI
NGNI
EUR
GNI
EELECTRI
QUE
MI
NI
PROJ
ET
Y
ACI
NEA.
AMKAS
S
OU
MI
NI
PROJ
ET
CAPTEURDETEMPRATURE
CAPTEURDETEMPRATURE
MI
NI
PROJ
ET:
THERMOMETREABAS
EDUARDUI
NO
REALI
SERPAR
ENCADREPAR
YACI
NEABDS
S
AL
AM
AMKAS
S
OU
DR.
N.
ELBARBRI
20122013
La
La temprature est une grandeur physique mesure laide dun thermomtre et tudie en thermomtrie.
Dans la vie courante, elle est relie aux sensations de froid et de chaud, provenant du transfert de chaleur entre le
corps humain et son environnement. En physique, elle se dfinit de plusieurs manires, comme fonction croissante du
degr dagitation thermique des particules, par lquilibre des transferts thermiques entre plusieurs systmes. La
temprature est une variable importante dans dautres disciplines. Il existe plusieurs mthodes de mesure de
temprature parmi ces mthodes la mthode lectrique.
En se basant sur la variation thermique de la valeur dune rsistance, sur leffet Seebeck ou sur la sensibilit
thermique de la frquence doscillation dun quartz.
Ces mthodes ont lavantage dune plus grande souplesse demploi.
Le fonctionnement des thermomtres rsistance et des thermistances est bas sur un mme phnomne
physique, savoir la variation de la rsistance lectrique dun conducteur avec la temprature.
Thermomtres rsistance :
Dune faon gnrale la rsistivit dun mtal ou dun alliage dpend de la temprature :
0 : rsistivit du matriau.
: sensibilit thermique.
R(0) : la rsistance 0C
A, B, C : paramtres qui dpendent de matriaux.
Thermomtres thermistance :
Une thermistance est un agglomrat doxydes mtalliques fritts, cest--dire rendus compacts
par haute pression exerce temprature leve, de lordre de 150 bars et 1000 C.
Il existe deux types de thermistance. Les CTN coefficient de temprature ngatif, et les CTP
coefficient de temprature positif.
Relation rsistance-temprature :
Avec
T0 =25C
3000K<B<5000K
.
Principe de
thermocouple :
Deux fils composs de mtaux diffrents sont raccords leurs extrmits et que lune delles est
chauffes, il se produit une circulation de courant continu dans le circuit. Cest leffet thermolectrique.
Aprs des recherches de linarit, de valeur de tension et de gamme de temprature,
les combinaisons les plus courantes sont.
Premier mtal
Second mtal
symboles
type
Limite en C
Force lectromotrice en V
Cuivre (Cu)
Constantan (C)
Cu/C
-192 +400
4277 100C
Fer (Fe)
Constantan (C)
Fe/C
-194 +870
27390 500C
Chromel (Cr)
Constantan (C)
Cr/C
+1000
37000 500C
Chromel (Cr)
Alumel (Al)
Cr/Al
+1370
41310 1000C
Platine (Pt)
Rhodium (Rh)
Pt/Rh
SRB
+1700
10450 1000C
Lm335 est un capteur de temprature prcis est facilement calibr. Il fonctionne comme
une diode zener dont la tension de claquage est directement proportionnelle la temprature
absolue avec un facteur proportionnel de +10mV/K. Avec une impdance dynamique inferieur
1.
Il peut fonctionner de -40C 100C sous un courant constant pouvant varier de 400A 5mA.
La tension ces bornes est de 2,98V 25C, le montage le plus utilis pour ce composant est
donne par la (figure I.1.3.1)
Fig. I.1.3.1
Un module Arduino est gnralement construit autour d'un microcontrleur Atmel AVR
(ATmega328 ou ATmega2560 pour les
versions rcentes, ATmega168 ou
ATmega8 pour les plus anciennes), et
de composants complmentaires qui
facilitent la programmation et
l'interfaage avec d'autres circuits.
Chaque module possde au moins un
rgulateur linaire 5V et un oscillateur
quartz 16 MHz (ou un rsonateur
cramique dans certains modles).
Le microcontrleur est pr-programm
avec un bootloader de faon ce qu'un
programmateur ddi ne soit pas
ncessaire.
Les modules sont programms au
travers d'une connexion srie RS-232,
mais les connexions permettant cette programmation diffrent selon les modles. Les premiers Arduino
possdaient un port srie, puis l'USB est apparu sur les modles Diecimila, tandis que certains modules
destins une utilisation portable se sont affranchis de l'interface de programmation, relocalise sur un
module USB-srie ddi (sous forme de carte ou de cble).
L'Arduino utilise la plupart des entres/sorties du microcontrleur pour l'interfaage avec les autres
circuits. Le modle Diecimila par exemple, possde 14 entres/sorties numriques, dont 6 peuvent
produire des signaux PWM, et 6 entres analogiques. Les connexions sont tablies au travers de
connecteurs femelle HE14 situs sur le dessus de la carte, les modules d'extension venant s'empiler sur
l'Arduino. Plusieurs sortes d'extensions sont disponibles dans le commerce.
Les modules non officiels BoArduino et Barebones , compatibles avec la technologie Arduino,
utilisent des connecteurs mle pour une utilisation aise avec des plaques de test.
Le logiciel de programmation des modules Arduino est une application Java, libre et multi-plateformes,
servant d'diteur de code et de compilateur, et qui peut transfrer le firmware et le programme au travers de
la liaison srie (RS-232, Bluetooth ou USB selon le module). Il est galement possible de se passer de
l'interface Arduino, et de compiler les programmes via l'interface en ligne de commande.
Le langage de programmation utilis est le C++, compil avec avr-g++ 3, et li la bibliothque de
dveloppement Arduino, permettant l'utilisation de la carte et de ses entres/sorties. La mise en place de
ce langage standard rend ais le dveloppement de programmes sur les plates-formes Arduino, toute
personne maitrisant le C ou le C++.
Le CAN convertit le signal analogique prsent sur une de ses 8 entres en son quivalent
numrique, cod sur 10 bits. Le signal numrique peut donc prendre 1024 valeurs possibles.
Les pattes AN2 et AN3 peuvent tre utilises comme rfrences de tension ou comme entres
analogiques standard. Les rfrences de tension tant dans ce dernier cas prises sur les tensions
dalimentations du ATmega :Vdd et Vss.(Vdd pour Vref+ et Vss pour Vref-) .
La conversion se passe en 2
temps :
1er temps le signal convertir est appliqu sur lentre convertir, ce signal doit
tre prsent
au moins pendant le temps Tacq(temps dacquisition environ 20S pour
5V ).
2me temps la conversion, approximations successives. Le temps de conversion
minimum est
de 12 TAD (TAD cest le temps de conversion dpendant de lhorloge
interne, typiquement
1,6S).
Valeurs reprsentes :
Les relations qui lient les valeurs analogiques et les reprsentations numriques sont :
Vref- : tension minimale analogique (rfrence ngative). Vref+ : tension maximale analogique
(rfrence positive). VIN : tension dentre numriser.
N : valeur numrique sur 10 bits.
Dans ce chapitre nous allons expliquer les diffrentes oprations et traitements effectues sur la
tension issus du capteur de temprature(LM335) pour la convertir en une valeur numrique gale la
valeur de la temprature afficher.
:
Le schma synoptique global donn dans la figure(III.1).
Bloque dalimentation
Affichage
A
R
D
U
I
N
O
R
Capteur de
Temprature
Fig. (III.1)
LabView
La tension issue du LM335 qui est une conversion dune temprature en une tension, qui
sera appliqu lentre du contrleur. Ce dernier est programm pour gnrer et afficher le rsultat des
grandeurs mesures sur afficheur 7 segments et lenvoyer par srie au LabView.
Pour affich le rsultat des grandeurs mesures on utilise des dcodeurs BCD (dcodeur
binaire/dcimale) est des afficheurs 7 segments diodes lectroluminescentes.
Se prsente sous forme dun circuit intgr 16 broches, il dispose de sorties collecteurs ouverts
autorisant une liaison directe avec les afficheurs anode commune, des entre supplmentaires sont
aussi prvues :
LT Lamp Test qui permet de vrifier le fonctionnement de lafficheur en allument tous les
segments si BI est 1 .
BI/RBO Blanking Input qui permet leffacement des segments de lafficheur quelque soit ltat des
autres entres.
RBI Ripple Blanking Input qui permet leffacement des 0 gauche si A, B, C, D sont 0
.
La plupart des crans LCD de ce genre se pilotent par une librairie trs clbre LiquidCrystal qui
ncessite 6 pins de larduino pour tre contrler. L'avantage de l'cran de FM1602C c'est qu'il peut tre
contrler par une simple liaison srie (seulement le TX, le RX n'tant pas utile vu que nous n'avous pas
de retour d'informations) en plus des pins classique prsent sur les autres crans LCD du march.
Il est disponible sous plusieurs couleurs (couleur de l'criture sur couleur de fond) :
Le PIC 16F88 intgr utilise l'UART de la carte pour optimiser la prcision de la communication
Dbit en bauds de la liaison srie rglable : 2400/4800/9600/14400/19200/38400. (9600 par
dfaut)
Vitesse de traitement jusqu' 10 MHz
La mmoire tampon "entrante" peut stocker jusqu' 80 caractres
Le transistor de rtroclairage peut grer jusqu' 1 Ampre
La modulation de la largeur d'impulsion du rtroclairage permet de commander directement la
luminosit du rtroclairage et la consommation lectrique
Le texte d'amorage peut tre modifi/activ/dsactiv via le microprogramme.
Pour utiliser ce module il suffit de lui envoyer des commandes dcrit dans ce document. Bien sr
faignant comme nous sommes, nous allons plutt utiliser cette librairie.
Tous les bloques du circuit sont alimentes par une tension +5V. Cette tension est gnre partir
du rseau 220V par le circuit suivant.
7805
VI
VO
5V
GND
C1
220V
9V
C2
C3
0V
Etage abaisseur : contient le transformateur abaisseur 9V, qui permet de passer dune
tension sinusodale de valeur leve une tension de mme forme mais de valeur plus
faible.
Etage redresseur : contient le pont de Greatz constitu par quatre diodes qui sert gard
que la partie positive (ou ngative) de la sinusode dentre.
Etage de filtrage : form de C1 (C1=2200F) pour rle de maintenir la tension de sortie
suprieure une certaine valeur. Les condensateurs (C2=220nF, C3=10F) sont conseilles
par le constructeur pour rduire les bruits HF et viter tout risque doscillation parasite du
rgulateur.
Etage de rgulation : contient le rgulateur de tension 7805, qui assure de gard la tension de
sortie constante quelque soit le courant demand.
Pour mesurer une temprature, nous avons le choix entre de nombreux capteurs : rsistances
coefficient de temprature positif ou ngatif, thermocouple, etc.
Linconvnient de la plupart de ces capteurs est que leur tension de sortie ne varie pas
linairement en fonction de la temprature, ce qui oblige une correction pour connaitre avec prcision
la temprature exacte.
Aujourdhui, il existe des capteurs semi-conducteur de grande prcision et sortie linaire, bon
march et faciles demploi. Exemple, le circuit LM335.
Capteur LM335 :
La tension en sortie de ce capteur est proportionnelle la temprature. Elle augmente de 10mV
par degr Kelvin.
Figure (III.2.3)
A 25C est avec un courant de 1mA circulant dans le capteur(LM335), la valeur typique de la tension
est de 2,98V. La valeur minimum est de 2,92V et la valeur maximum est de 3,04V
La valeur de la rsistance R4 doit tre calcule en fonction de +Vcc pour que le capteur soit
parcouru par un courant de 1mA. Voici la formule utilis pour le calcul de R4.
Le capteur lm335 est dj talonner et linaris alors ont utilis justement la rsistance R4 pour faire
prciser la valeur de temprature afin dobtenir une temprature rel
Procd pratique dtalonnage : Puisque le capteur est linaire 10mv/K alors aprs la ralisation du
systme on pose le capteur dans leau glac de 0 puis on ajuster le potentiomtre pour obtenir 0 degr
Notre programme est divis par tris partie principale ,le programme de calcule de temprature le
programme daffichage simple (7seg ou Led matrix ou LCD) et le programme dacquisition de donnes par
Labview
LARDUINO possde un convertisseur analogique numrique sur 10 bit avec 8 canaux dentrs
analogiques. Seulement un entre eux utilis(A0). Le convertisseur 10 bits ceci donne un nombre de pas
de mesure gale 1024. Les tensions de rfrences minimale et maximale sont Vss et Vdd .
/*
* XTemp a tempeter sensor project By yAcien & Sliman & Omar
* ENSAK 2012
*/
void setup()
{
pinMode(0,INPUT);
//definir lIO A0(analgie) comme entre
}
void loop()
{
//Lire lentre A0
raw=analogRead(0);
Et la fin du fonction loop on donne la valeur de temprature par communication srie sous
forme string et par la frquence de 1hz afin davoir une information par seconde dans le VI de
LabView.
Serial.println(tempK);
/*
* XTemp a tempeter sensor project By yAcien & Sliman & Omar
* ENSAK 2012
*/
#include <LiquidCrystal.h>
float tempC = 0, tempK =0, tempF =0;
int raw;
LiquidCrystal lcd(12, 11, 10, 5, 4, 3, 2);
int backLight = 13;
void setup()
{
Serial.begin(9600);
pinMode(0,INPUT);
pinMode(backLight, OUTPUT);
digitalWrite(backLight, HIGH);
//inistialinsing
lcd.begin(16,2);
lcd.clear();
lcd.setCursor(0,0);
lcd.print("Initialisation..");
lcd.setCursor(0,1);
lcd.print("Temp Acquisition");
lcd.setCursor(0,0);
delay(3000);
lcd.clear();
lcd.print("
BY
");
lcd.setCursor(0,1);
lcd.print("
yAcine");
delay(1000);
lcd.print("
BY
");
lcd.setCursor(0,1);
lcd.print("
Sliman");
delay(1000);
lcd.print("
BY
");
lcd.setCursor(0,1);
lcd.print("
Omar");
delay(1000);
}
void loop()
{
raw=analogRead(0);
//V 2 K
tempK = raw * (5.0/1023.0) * 100;
//K 2
tempC
//K 2
tempF
C
= tempK - 273.15;
F
= ((tempK ) * 9 / 5) - 459.67;
Serial.println(raw);
//Print to serial port
Serial.print("Celsius: ");
Serial.println(tempC);
Serial.print("kelvein : ");
Serial.println(tempK);
Serial.print("Fahrenheit: ");
Serial.println(tempF);
Serial.println();
lcd.clear();
lcd.setCursor(0,0);
lcd.print("Celsius:");
lcd.setCursor(10,0);
lcd.print(tempC);
lcd.setCursor(0,1);
lcd.print("kelvein :");
lcd.setCursor(10,1);
lcd.print(tempK);
delay(1000);
}
Le VI de Read de COM9 (Arduino est li COM9 par son circuit de communication USB)
Programme principale :