Table des matières:

Mesure de température à l'aide de XinaBox et d'une thermistance : 8 étapes
Mesure de température à l'aide de XinaBox et d'une thermistance : 8 étapes

Vidéo: Mesure de température à l'aide de XinaBox et d'une thermistance : 8 étapes

Vidéo: Mesure de température à l'aide de XinaBox et d'une thermistance : 8 étapes
Vidéo: How to Datalog with Micro:bit Using OpenLog and uSD Cards 2024, Novembre
Anonim
Mesure de température à l'aide de XinaBox et d'une thermistance
Mesure de température à l'aide de XinaBox et d'une thermistance

Mesurez la température d'un liquide à l'aide d'une entrée analogique xChip de XinaBox et d'une sonde à thermistance.

Étape 1: Éléments utilisés dans ce projet

Composants matériels

  • XinaBox SX02 x 1 xChip capteur d'entrée analogique avec ADC
  • XinaBox CC01 x 1 version xChip d'Arduino Uno basée sur ATmega328P
  • Résistance 10k ohm x 1 10k résistance pour réseau diviseur de tension
  • Sonde à thermistance x 1 10k à 25°C Sonde à thermistance étanche NTC
  • Programmeur USB XinaBox IP01 x 1 xChip basé sur FT232R de FTDI Limited
  • Écran OLED XinaBox OD01 x 1 xChip 128x64 pixels
  • XinaBox XC10 x 4 connecteurs de bus xChip
  • XinaBox PU01 x 1 xChip USB (Type A) Alimentation
  • Alimentation USB 5V x 1 Power Bank ou similaire

Applications logicielles et services en ligne

IDE Arduino

Outils à main et machines de fabrication

Tournevis à tête plate Pour serrer ou desserrer la borne à vis

Étape 2: Histoire

introduction

Je voulais mesurer la température d'un liquide en créant un simple thermomètre. En utilisant XinaBox xChips, j'ai pu accomplir cela avec une relative simplicité. J'ai utilisé l'entrée analogique SX02 xChip qui accepte 0 - 3,3 V, le CC01 xChip basé sur l'ATmega328P et l'affichage OLED OD01 xChip pour afficher mes résultats de température.

Thermistance mesurant la température de l'eau dans un verre

Étape 3: Téléchargez les fichiers nécessaires

Vous aurez besoin des bibliothèques et logiciels suivants:

  • xSX0X- Bibliothèque de capteurs d'entrée analogique
  • xOD01 - Bibliothèque d'affichage OLED
  • Arduino IDE - Environnement de développement

Cliquez ici pour voir comment installer les bibliothèques.

Une fois que vous avez installé l'IDE Arduino, ouvrez-le et sélectionnez "Arduino Pro ou Pro Mini" comme carte sur laquelle télécharger votre programme. Assurez-vous également que le processeur ATmega328P (5V, 16MHz) est sélectionné. Voir l'image ci-dessous.

Sélectionnez la carte Arduino Pro ou Pro Mini et le processeur ATmega328P (5V, 16MHz)

Étape 4: Assembler

Cliquez sur le programmateur xChip, IP01 et le xChip CC01 basé sur ATmega328P à l'aide des connecteurs de bus XC10 comme indiqué ci-dessous. Afin de télécharger vers le CC01, vous devrez placer les commutateurs respectivement sur les positions « A » et « DCE ».

IP01 et CC01 ont cliqué ensemble

Ensuite, prenez votre résistance de 10kΩ et vissez une extrémité dans la borne marquée "IN" et l'autre extrémité dans la borne de masse, "GND", sur le SX02. Prenez les fils sur la sonde de thermistance et vissez une extrémité dans Vcc, "3.3V", et l'autre extrémité dans la borne "IN". Voir le graphique ci-dessous.

Connexions SX02

Combinez maintenant OD01 et SX02 avec CC01 en les cliquant simplement ensemble à l'aide de connecteurs de bus XC10. Voir ci-dessous. L'élément argenté de l'image est la sonde à thermistance.

Unité complète pour la programmation

Étape 5: programmer

Insérez l'appareil dans le port USB de votre ordinateur. Téléchargez ou copiez et collez le code ci-dessous dans votre IDE Arduino. Compilez et téléchargez le code sur votre tableau. Une fois téléchargé, votre programme devrait commencer à fonctionner. Si votre sonde est à température ambiante, vous devez observer ±25 °C sur l'écran OLED comme indiqué ci-dessous.

Après le téléchargement, observez la température ambiante sur l'écran OLED

Étape 6: Thermomètre portable

Retirez l'unité de votre ordinateur. Démontez l'unité et remontez-la en utilisant PU01 au lieu de IP01. Prenez maintenant votre alimentation portable USB 5V telle qu'une banque d'alimentation ou similaire et insérez-y le nouvel ensemble. Vous avez maintenant votre propre thermomètre portable cool avec une bonne précision. Voir l'image de couverture pour le voir en fonctionnement. J'ai mesuré l'eau chaude dans un verre. Les images ci-dessous montrent votre unité complète.

Unité complète comprenant CC01, OD01, SX02 et PU02.

Étape 7: Conclusion

Ce projet a pris moins de 10 minutes à assembler et 20 minutes supplémentaires à programmer. le seul composant passif requis était une résistance. Les xChips s'emboîtent simplement, ce qui le rend très pratique.

Étape 8: Coder

ThermTemp_Display.ino Arduino Recherche des thermistances afin de comprendre les calculs dans le code.

#include // inclut la bibliothèque principale pour xCHIPs

#include // inclut la bibliothèque de capteurs d'entrée analogique #include // inclut la bibliothèque d'affichage OLED #include // inclut les fonctions mathématiques#define C_Kelvin 273.15 // pour la conversion de kelvin en celsius #define series_res 10000 // valeur de la résistance série en ohms #define B 3950 // Paramètre B pour la thermistance #define room_tempK 298.15 // température ambiante en kelvin #define room_res 10000 // résistance à température ambiante en ohms #define vcc 3.3 // tension d'alimentation xSX01 SX01(0x55); // définit la tension flottante de l'adresse i2c; // variable contenant la tension mesurée (0 - 3,3 V) float therm_res; // résistance de la thermistance float act_tempK; // température réelle kelvin float act_tempC; // température réelle en celsius void setup() { // mettez votre code de configuration ici, à exécuter une fois: // initialiser les variables à 0 voltage = 0; therm_res = 0; act_tempK = 0; acte_tempC = 0; // démarrer la communication série Serial.begin(115200); // démarrer la communication i2c Wire.begin(); // démarre le capteur d'entrée analogique SX01.begin(); // démarrer l'affichage OLED OLED.begin(); // efface l'affichage OD01.clear(); // délai pour normaliser délai (1000); } void loop() { // mettez votre code principal ici, pour l'exécuter à plusieurs reprises: // lisez la tension SX01.poll(); // stocker la tension de tension = SX01.getVoltage(); // calcule la résistance de la thermistance therm_res = ((vcc * series_res) / voltage) - series_res; // calcule la température réelle en kelvin act_tempK = (room_tempK * B) / (B + room_tempK * log(therm_res / room_res)); // convertir kelvin en celsius act_tempC = act_tempK - C_Kelvin; // imprimer la température sur l'écran OLED // formatage manuel à afficher au centre OD01.set2X(); OD01.println(""); OD01.println(""); OD01.print(" "); OD01.print(act_tempC); OD01.print("C"); OD01.println(""); retard (2000); // mise à jour de l'affichage toutes les 2 secondes }

Conseillé: