Thermomètre Numérique avec Arduino et LM35 Capteur de Température
English
Figure 1: Capteur de température LM35
Les séries LM35 sont des circuits intégrés pour capter la température avec précision provenant de Texas Instruments. Ces capteurs produisent une tension qui est linéairement proportionnel à l’échelle de température Centigrade et ça change de 10 mV par ° C.
Ainsi le LM35 a un avantage sur les capteurs de température calibrés en °Kelvin, comme l’utilisateur n’est pas forcé à soustraire une large tension constante dès sa sortie pour obtenir une échelle Centigrade respective. Le capteur LM35 n’a pas besoin d’un calibrage ou encore un réglage pour arriver à une précision d’environ ± 1/4 ° C à la température ambiante et ±3/4 °C sur la couverture complète de température de -55°C à + 150°C. Un coût bas est assuré par le réglage et calibrage au niveau de la tranche.
La faible impédance de sortie du LM35, la sortie linéaire, et un étalonnage inhérent et précis rend l’interface avec la lecture et des circuits de commande particulièrement facile. Et peut être utilisé avec une seule alimentation électrique, ou avec approvisionnements de positif et négatif. Comme ça ne consomme que 60μA seulement de son alimentation, ça possède un petit degré d’auto-chauffage moins de 0.1°C à l’air libre.
Le capteur de température LM35 a une tension de décalage de zéro, ce qui signifie que la sortie est 0V lorsque la température est à 0 °C. Ainsi, pour la valeur de température maximale (150 °C), la tension de sortie maximale du capteur serait 150 * 10 mV = 1,5V.
Si nous utilisons la tension d’alimentation (5V) comme (tension de référence) Vref + pour conversion analogique-numérique (ADC) la résolution sera médiocre que la tension d’entrée va seulement jusqu’à 1.5V et les variations de tension d’alimentation peut affecte la sortie ADC . C’est donc préférable d’utiliser une basse tension stable au-dessus de 1,5 comme Vref +. Nous devons fournir une tension négative au lieu de la masse à LM35 pour la mesure des températures négatives.
Caractéristiques
- Calibré directement en °Celsius (centigrades)
- Linéaire + 10,0 mV / °C facteur d’échelle
- 0,5 °C précision garantie (à + 25 ° C)
- Prévus pour une couverture complète de -55° à + 150 °C
- Convient pour des applications à distance
Faible coût en raison de découpage au niveau wafer - Fonctionne de 4 à 30 volts
- Consomme courant inférieur à 60 uA
- auto-échauffement faible: 0,08 ° C dans l’air
- La non-linéarité seulement ± 04.01 °C à peu pres
- Basse impédance à la sortie: 0,1 Ω pour 1 mA de Charge
Extrait du Feuille de données du LM35
Prière de visiter la Feuille de données du LM35 pour des amples informations
Voici les éléments dont vous aurez besoin concernant ce projet:
- Arduino uno ou toute autre carte Arduino: 1
- Afficheur LCD 16×2: 1
- 10K potentiomètre pour régler le contraste de l’afficheur LCD: 1
- 220 ohms résistance série pour la lumière arrière de l’afficheur LCD: 1
- Capteur de température LM35: 1
- Câbles pour la connexion
Figure 1: Thermomètre numérique sur une plaque d’expérimentation
La figure 1 ci-dessus montre le thermomètre numérique sur une plaque d’expérimentation, le LM35 est relié à la broche A0 de l’Arduino, positive et à la masse. La figure 2 ci-dessous montre le projet simulé dans Proteus.
La sortie du LM35 est linéairement proportionnelle à l’échelle de température Centigrade et varie de 10 mV par °C dans une cible de 0 vers 5V, avec 10 bits de résolution pour la conversion analogique/numérique (1024 valeurs différentes pour représenter la température). Ceci vous donnera une valeur maximale de 1023, parce que ca varie de 0 à 1023 lorsque 5V est évalué.
Figure 2: Schéma du circuit du thermomètre numérique
Arduino Sketch
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 |
/* Cet exemple illustre l'utilisation un afficheur LCD de 16x2 et le LM35 pour concevoir un thermomètre numérique. This sketch prints the voltage across the variable resistor The circuit: * LCD RS pin to digital pin 12 * LCD Enable pin to digital pin 11 * LCD D4 pin to digital pin 5 * LCD D5 pin to digital pin 4 * LCD D6 pin to digital pin 3 * LCD D7 pin to digital pin 2 * LCD R/W pin to ground * LCD VSS pin to ground * LCD VCC pin to 5V * 10K resistor: * ends to +5V and ground * wiper to LCD VO pin (pin 3) * The LM35 Temp sensor is connected To A0 http://www.studentcompanion.co.za */ int Vin; // Variable to read the value from Arduino A0 float Temperature; // variable that receives the converted voltage // include the library code: #include <LiquidCrystal.h> // initialize the library with the numbers of the interface pins LiquidCrystal lcd(12, 11, 5, 4, 3, 2); void setup() { // set up the LCD's number of columns and rows: lcd.begin(16, 2); // Print a message to the LCD. lcd.print("Temperature: "); } void loop() { Vin = analogRead(0); //Tell the Arduino to read the voltage on pin A0 Temperature = (500.0 * Vin)/1023; // Convert the read value into a voltage // set the cursor to column 3, line 1 lcd.setCursor(3, 1); // Print the Temperature lcd.print("Celcius "); lcd.print(Temperature); } |
Vous pouvez télécharger les fichiers de projet complet (Arduino Sketch et Proteus Schéma design) ci-dessous ici. Tous les fichiers sont compressés, vous aurez besoin de les décompresser (Télécharger une version gratuite de l’utilitaire Winzip pour décompresser les fichiers).
Télécharger: Arduino_Temp_Sketch
Télécharger: Arduino-Digital-Temp-Proteus