Thermistor Gebruik Gemaakt Eenvoudig: Stap-voor-Stap Arduino Handleiding
Onderdelen en benodigdheden
| Thermistor NTC 10K | × | 1 |
| Weerstand 10k ohm | × | 1 |
| Arduino UNO | × | 1 |
| Draadbruggen (standaard) | × | 1 |
| Experimenteerbord (standaard) | × | 1 |
Apps en online services
- Arduino IDE
- Arduino Web Editor
Over dit project
Hoe makkelijk is het om een thermistor te gebruiken?!
In dit artikel leg ik uit hoe je een thermistor gebruikt. Allereerst, wat is een thermistor? Een thermistor is een type weerstand wiens weerstand afhangt van de temperatuur. Er zijn twee tegenovergestelde typen thermistoren:
- PTC (Positieve TemperatuurCoefficiënt), weerstand neemt toe naarmate de temperatuur stijgt
- NTC (Negatieve Temperatuur Coefficiënt), weerstand neemt af naarmate de temperatuur stijgt
In dit geval gebruik ik NTC.
Een beetje wiskunde
Om de weerstand van de thermistor te berekenen gebruiken we een eenvoudige formule genaamd de vergelijking met parameter B (alleen voor NTC-thermistoren).
Waarbij:
eis de basis van de natuurlijke logaritmeR0is de weerstand van de thermistor gemeten bij temperatuur T0Bis een constante coëfficiënt die afhangt van de materialeeigenschappen, uitgedrukt in K, de waarde wordt door fabrikanten opgegeven in de technische specificaties
Om de temperatuur te berekenen moeten we de weerstand RT weten via de wetten van Ohm.

Dit is een schematische weergave van de schakeling.
RT = VRT / (VR/R)
Nu hebben we alle data om de temperatuur te berekenen.
Onthoud om alle parameters (bijvoorbeeld T0) om te zetten naar Kelvin voor de berekeningen, en het resultaat is ook in Kelvin.
Dit is het resultaat


Code
Thermistor Arduino
// Thermometer met thermistor
/* thermistor parameters:
* RT0: 10 000 Ω
* B: 3977 K +- 0.75%
* T0: 25 C
* +- 5%
*/
// Deze waarden staan in de datasheet
#define RT0 10000 // Ω
#define B 3977 // K
//--------------------------------------
#define VCC 5 // Voedingsspanning
#define R 10000 // R=10KΩ
// Variabelen
float RT, VR, ln, TX, T0, VRT;
void setup() {
Serial.begin(9600);
T0 = 25 + 273.15; // Temperatuur T0 uit datasheet, conversie van Celsius naar Kelvin
}
void loop() {
VRT = analogRead(A0); // Analogwaarde van VRT lezen
VRT = (5.00 / 1023.00) * VRT; // Omzetten naar spanning
VR = VCC - VRT;
RT = VRT / (VR / R); // Weerstand van RT
ln = log(RT / RT0);
TX = (1 / ((ln / B) + (1 / T0))); // Temperatuur van thermistor
TX = TX - 273.15; // Conversie naar Celsius
Serial.print("Temperatuur:");
Serial.print("\t");
Serial.print(TX);
Serial.print("C\t\t");
Serial.print(TX + 273.15); // Conversie naar Kelvin
Serial.print("K\t\t");
Serial.print((TX * 1.8) + 32); // Conversie naar Fahrenheit
Serial.println("F");
delay(500);
}
Schema's


Productieproces
- Luchtkwaliteit meten met OpenSensors: Een Arduino & Python Handleiding
- Freesmes Slijper Technieken Beheersen: Een Praktische Gids
- Navigeren Op Onze Site: Complete Gids Voor Toevoegen, Kopen En Downloaden Van DXF Bestanden
- Azure DevOps Benefiteren: Bewezen Praktijken Voor Versnelde Levering
- Hoe molybdeen de moderne industrie vormt: toepassingen, voordelen en leveringsdynamiek
- Hoe een Branddeken Correct te Gebruiken: Snel, Veilig en Effectief Brandblussen
- Impure functies in VHDL gebruiken: FSM-leesbaarheid en onderhoudbaarheid verbeteren
- VHDL-functies onder de knie krijgen: een praktische gids voor efficiënt ontwerp
- Procedures in VHDL gebruiken: je ontwerp vereenvoudigen met herbruikbare code
- While-lussen in VHDL: Dynamische iteratiecontrole
- For-lussen in VHDL: Een praktische gids