Table des matières:
Vidéo: Capteur de température DIY utilisant une diode : 3 étapes
2024 Auteur: John Day | [email protected]. Dernière modifié: 2024-01-30 09:05
Donc, comme l'un des faits concernant les jonctions PN est que leur chute de tension directe change en fonction du courant de passage et de la température de jonction également, nous allons l'utiliser pour créer un simple capteur de température bon marché.
Cette configuration est couramment utilisée dans de nombreux Circuits Intégrés pour mesurer sa température interne et de nombreux capteurs de température comme le fameux LM35 qui repose sur cette propriété.
Simplement la chute de tension directe d'une diode (qui est une simple jonction PN) change à mesure que la quantité de courant la traversant change, de même que la température de la diode change, la chute de tension va changer (à mesure que la température augmente, la chute diminue d'une valeur de (1,0 milliVolts à 2,0 millivolts pour les diodes au silicium et 2,5 millivolts pour les diodes au germanium).
Ainsi, en faisant passer un courant constant dans la diode, la chute de tension directe ne devrait plus varier qu'en fonction de la température de la diode. Il ne nous reste plus qu'à mesurer la tension directe de la diode, appliquer quelques équations simples et voilà votre capteur de température !!!
Fournitures
1 - Diode 1n4007 #12 - 1 Résistance Kohm #13 - Carte Arduino
Étape 1: schéma de circuit
Comme vous pouvez le voir sur le schéma, c'est très simple. en connectant la diode en série avec une résistance de limitation de courant et une source de tension stable, nous pouvons obtenir une source de courant constante brute, de sorte que la tension mesurée aux bornes de la diode ne variera qu'en raison du changement de température. Assurez-vous que la valeur de la résistance n'est pas trop faible pour que beaucoup de courant traverse la diode et provoque un auto-échauffement notable dans la diode, pas non plus une résistance très élevée, donc le courant passant n'est pas suffisant pour maintenir une relation linéaire entre la tension directe et la température.
une résistance de 1 kilo Ohm avec une alimentation de 5 V devrait entraîner un courant de diode de 4 milliampères, ce qui est une valeur suffisante à cet effet. I(diode) = VCC / (Rsérie + Rdiode)
Étape 2: Codage
Nous devons garder à l'esprit qu'il y a certaines valeurs à modifier dans le code pour obtenir les meilleurs résultats comme:
1 - VCC_Voltage: comme la valeur analogRead() dépend du VCC de la puce ATmega alors nous devons l'ajouter à l'équation après l'avoir mesurée sur la carte arduino.
2 - V_OLD_0_C: la chute de tension directe de la diode utilisée à un courant de 4 mA et une température de 0 Celsius
3 - Temperature_Coefficient: le gradient de température de votre diode (il vaut mieux obtenir de la fiche technique) ou vous pouvez le mesurer en utilisant cette équation:Vnew - Vold = K (Tnew - Told)
où:
Vnew = chute de tension nouvellement mesurée après chauffage de la diode
Vold = chute de tension mesurée à une certaine température ambiante
Tnew = la température à laquelle la diode a été chauffée
Told = l'ancienne température ambiante à laquelle Vold a été mesuré
K = Temperature_Coefficient (une valeur négative variant entre -1,0 et -2,5 millivolts) Enfin, vous pouvez maintenant télécharger le code et obtenir vos résultats de température.
#define Sens_Pin A0 //PA0 pour carte STM32F103C8
double V_OLD_0_C = 690,0; //690 mV Tension directe à 0 Celsius à un courant de test de 4 mA
double V_NOUV = 0; //Nouvelle tension directe à température ambiante à 4 mA courant de test double Température = 0,0; //Température calculée de la pièce double Temperature_Coefficient = -1.6; //-1,6 mV de changement par degré Celsius (-2,5 pour les diodes au germanium), il vaut mieux obtenir de la fiche technique de la diode double VCC_Voltage = 5010,0; //Tension présente sur le rail 5V de l'arduino en milliVolts (nécessaire pour une meilleure précision) (3300.0 pour stm32)
void setup() {
// mettez votre code de configuration ici, à exécuter une fois: pinMode(Sens_Pin, INPUT); Serial.begin(9600); }
boucle vide() {
// mettez votre code principal ici, pour l'exécuter à plusieurs reprises: V_NEW = analogRead(Sens_Pin)*VCC_Voltage/1024.0; // diviser par 4,0 si vous utilisez un ADC 12 bits Température = ((V_NEW - V_OLD_0_C)/Temperature_Coefficient);
Serial.print("Temp = ");
Serial.print(Température); Serial.println("C");
retard (500);
}
Étape 3: Obtenir de meilleures valeurs
Je pense qu'il est conseillé d'avoir un appareil de mesure de la température de confiance à côté de vous lors de ce projet.
vous pouvez voir qu'il y a une erreur notable dans les lectures qui peut atteindre 3 ou 4 degrés Celsius alors d'où vient cette erreur ?
1 - vous devrez peut-être modifier les variables mentionnées à l'étape précédente
2 - la résolution ADC de l'arduino est inférieure à ce dont nous avons besoin pour détecter la petite différence de tension
3 - la référence de tension de l'arduino (5V) est trop élevée pour ce petit changement de tension aux bornes de la diode
Donc, si vous comptez utiliser cette configuration comme capteur de température, sachez que même si c'est bon marché et pratique, ce n'est pas précis mais cela peut vous donner une très bonne idée de la température de votre système soit c'est sur un PCB ou monté sur un moteur en marche, etc.
Cette instructable est destinée à utiliser le moins de composants possible, mais si vous voulez obtenir les résultats les plus précis de cette idée, vous pouvez apporter quelques modifications:
1 - ajoutez des étages d'amplification et de filtrage à l'aide d'amplificateurs opérationnels comme dans ce lien2 - utilisez un contrôleur de référence analogique interne inférieur comme les cartes STM32F103C8 avec une tension de référence analogique de 3,3 volts (voir point 4)3 - utilisez la référence analogique interne de 1,1 V dans le arduino mais sachez que vous ne pouvez pas connecter plus de 1,1 volt à l'une des broches analogiques arduino.
vous pouvez ajouter cette ligne dans la fonction setup:
analogReference(INTERNE);
4 - Utilisez un microcontrôleur qui a une résolution plus élevée ADC comme STM32F103C8 qui a une résolution ADC de 12 bits Donc, en un mot, cette configuration basée sur arduino peut donner un bon aperçu de la température de votre système mais des résultats pas si précis (environ 4,88 mV/lecture)
la configuration STM32F103C8 vous donnerait un résultat assez précis car elle a un CAN 12 bits plus élevé et une valeur de référence analogique inférieure de 3,3 V (environ 0,8 mV/lecture)
Eh bien c'est ça !!:RÉ
Conseillé:
Ventilateur de refroidissement automatique utilisant un servomoteur et un capteur de température et d'humidité DHT11 avec Arduino : 8 étapes
Ventilateur de refroidissement automatique utilisant un servomoteur et un capteur de température et d'humidité DHT11 avec Arduino : dans ce didacticiel, nous apprendrons comment démarrer & faire tourner un ventilateur lorsque la température dépasse un certain niveau
Capteur d'incendie basé sur une diode PIN : 4 étapes
Capteur d'incendie à diode PIN : voici un capteur d'incendie à diode PIN qui active une alarme lorsqu'il détecte un incendie. Les alarmes incendie à thermistance présentent un inconvénient; l'alarme ne se déclenche que si le feu chauffe la thermistance à proximité immédiate. Dans ce circuit, une diode PIN sensible est u
Radiocommande RF 433MHZ utilisant HT12D HT12E - Faire une télécommande Rf en utilisant HT12E & HT12D avec 433mhz: 5 étapes
Radiocommande RF 433MHZ utilisant HT12D HT12E | Faire une télécommande Rf à l'aide de HT12E & HT12D avec 433 mhz : dans cette instructable, je vais vous montrer comment faire une télécommande RADIO à l'aide d'un module émetteur-récepteur 433 mhz avec encodage HT12E & Décodeur HT12D IC. Dans cette instructable, vous pourrez envoyer et recevoir des données à l'aide de COMPOSANTS très très bon marché COMME : HT
Capteur de température utilisant une thermistance avec Arduino Uno : 4 étapes
Capteur de température utilisant la thermistance avec Arduino Uno : Salut les gars dans ce instructables, nous allons apprendre à utiliser la thermistance avec Arduino. La thermistance est essentiellement une résistance dont la résistance varie avec la variation de température. Nous pouvons donc lire sa résistance et en obtenir la température & Thermistance je
Capteur de température DIY utilisant Arduino et LM 35 Simple: 5 étapes
Capteur de température bricolage utilisant Arduino et LM 35 Simple: Salut les amis, Aujourd'hui, nous allons construire un circuit de capteur de mesure de température autour du microcontrôleur Arduino UNO à l'aide d'un capteur LM35. Alors sans perdre de temps commençons