Yahoo refuse tous les emails du site. Si vous avez une adresse chez un autre prestataire, c'est le moment de l'utiliser
En cas de soucis, n'hésitez pas à aller faire un tour sur la page de contact en bas de page.
Topic "Mesurer une température avec un capteur LM35 et une carte Arduino / Genuino"
Flux RSS des posts récents dans ce topic ( Flux Atom)
Dans ce tutoriel, nous allons apprendre ensemble à mesurer des températures au moyen d'un capteur LM35 et d'une carte Arduino / Genuino. Nous verrons d'abord comment fonctionne ce capteur, puis comment l'utiliser. En bonus, nous verrons comment améliorer la précision de la mesure de température. Pour finir, nous verrons comment mesurer des températures négatives sans se prendre la tête.
Lire la suite de l'article sur le site
Derniére modification le
#97 |
Merci pour le tutoriel.
Comment as tu choisi la valeur de la résistance de 18KOhms dans le deuxième montage (températures négatives) ?
Derniére modification le
#98 |
Comment as tu choisi la valeur de la résistance de 18KOhms dans le deuxième montage (températures négatives) ?
par MrFreez
Le datasheet constructeur du LM35 donne la formule suivante : R1 = –VS / 50 µA
.
Avec VS = 1.2
(deux fois la tension de diode), on obtient R1 = 24K
ohms. Cependant, pour la configuration en alimentation simple, le constructeur recommande l'utilisation d'une résistance de 18K ohms.
Cela donne un courant de charge de 70µA sur la sortie du capteur. Si le constructeur dit de faire comme ça, c'est surement qu'il y a une bonne raison.
#341 |
Bonjour, En utilisant le 1er montage j'obtiens des réponses totalement farfelues (tout comme d'ailleurs avec les autres montages et tutos testés). Auriez-vous un début de solution. LM35DZ ! 0.00
0.00
16.13
37.63
41.06
39.59
35.68
34.70
21.99
45.94
0.00
0.00
0.00
Derniére modification le
#342 |
En utilisant le 1er montage j'obtiens des réponses totalement farfelues (tout comme d'ailleurs avec les autres montages et tutos testés).
par ChristianM
Capteur HS ou mauvais câblage.
Il faudrait faire un test avec un autre capteur pour voir si c'est le capteur ou le câblage qui pose probléme.
#343 |
Capteur HS ou mauvais câblage.
Il faudrait faire un test avec un autre capteur pour voir si c'est le capteur ou le câblage qui pose probléme.
par skywodd
Merci pour la réponse. J'opterai pour le capteur HS
#460 |
Salut, je suis en terminale et je travail sur un capteur LM35DZ, que dois-je changer par rapport a ce tutoriel pour que mon dossier soit complet et que mon capteur soit opérationnel ? Merci
#469 |
que dois-je changer par rapport a ce tutoriel pour que mon dossier soit complet et que mon capteur soit opérationnel ?
par valentin1828
Il n'y a besoin d'aucune modification. L'encadré en rouge indique simplement la gamme de température mesurable pour chaque version.
#757 |
Bonjour,
en testant le code, je me retrouve avec ça dans le moniteur serie :
bon la copie de l'image a pas l'air de passer, en gros, ça donne des nombres dans une fourchette de 122 à 131.
Si je touche le transistor ça monte bien en m'affichant dans les 500.
Si je fais, dans le code ça :
1 2 3 4 5 6 7 8 9 10 | // Mesure la tension sur la broche A0
int valeur_brute = analogRead(A0);
// Transforme la mesure (nombre entier) en température via un produit en croix
float temperature_celcius = valeur_brute * (5.0 / 1023.0 * 100.0);
// Envoi la mesure au PC pour affichage et attends 250ms
Serial.println(valeur_brute);
delay(250);
}
|
Pour voir la tension de sortie sur la broche A0, ça m'affiche des valeurs comprises entre 260 et 300 mv?
le LM35 a l'air de fonctionner, mais l'opération pour convertir volt vers degré n'a pas l'air de fonctionner?
Je n'ai malheureusement pas d'autre LM35 pour tester.
Edit Skywodd: Balises code et image
Derniére modification le
#764 |
Le calcul est juste (voir démonstration ci après).
Quelle tension y a t-il en sorti du capteur ?
Alimentation et câblage correct (pas d'inversion 3.3 / 5 volts par exemple)?
Récap :
- analogRead() retourne une valeur entre 0 et 1023 : 0 = 0 volt, 1023 = VCC (5 volts, en théorie).
- le capteur LM35 génère une tension de 10mV par °C
- 1000mV = 1 volt = 100 x 10mV, donc 100°C = 1 volt
Soit :
- VCC = 5.0 volts
- Vbrute = valeur retournée par analogRead()
- Ucapteur = tension en volts en sortie du LM35
- Tcelsius = la température en celsius
A partir de là :
- Ucapteur (volts) = Vbrute * (VCC / 1023) = Vbrute * (5.0 / 1023) => Produit en croix basique
- Tcelsius = Ucapteur * 100 = Vbrute * (5.0 / 1023) * 100
On pourrait s’arrêter là, cela serait tout à fait normal.
En faisant : Vbrute * (5.0 / 1023 * 100), le résultat est le même mais il y a une subtilité : la partie de droite est une constante.
Lors de la compilation, le programme exécutera : Vbrute* 0,48875855327468230694037145650049 au lieu de Vbrute : * 0,004887585532746823069403714565 * 100.0
Une multiplication au lieu de deux, c'est une micro-optimisation mais ça ne coûte rien