Les 13 (Temperatuur sensor)

Alleen lezen

Moderator: pe1br

Post Reply
pe1br
Posts: 66
Joined: Thu Apr 14, 2016 3:37 am

Les 13 (Temperatuur sensor)

Post by pe1br »

Van Hans PA3CGN hebben we allemaal een temperatuur sensor gekregen.
Het type van deze sensor is: NTC MF52-103 3435
We gaan deze toepassen in deze les.

Natuurlijk ga ik niet zelf het wiel opnieuw uitvinden en ik heb ook geen flauw idee hoe je de spanning van een temperatuur sensor omrekent naar graden dus zoeken we op internet naar dit type sensor.
Het blijkt dat we gebruik moeten maken van de Steinhart-Hart equation, mij boeit dit niet zo veel maar deze website heeft een mooi voorbeeld waar we mee verder kunnen:
http://www.circuitbasics.com/arduino-th ... -tutorial/

Zijn voorbeeld programma's zijn eigenlijk precies zoals we ze hebben willen:

Les13-1:

Zorg er voor dat je alle voedingsspanningen los koppelt (usb niet aangesloten op de pc en geen power adapter aangesloten op de voedingsplug).
sluit de Arduino aan volgens onderstaand schema:


Start het Arduino programma en sluit de USB kabel aan.
Typ de volgende code over of kopieer deze naar de arduino ide:

Code: Select all

int ThermistorPin = A0;
int Vo;
float R1 = 10000;
float logR2, R2, T, Tc, Tf;
float c1 = 1.009249522e-03, c2 = 2.378405444e-04, c3 = 2.019202697e-07;

void setup() {
Serial.begin(9600);
}

void loop() {

  Vo = analogRead(ThermistorPin);
  R2 = R1 * (1023.0 / (float)Vo - 1.0);
  logR2 = log(R2);
  T = (1.0 / (c1 + c2*logR2 + c3*logR2*logR2*logR2));
  Tc = T - 273.15;
  Tf = (Tc * 9.0)/ 5.0 + 32.0; 
  Serial.print("Temperature: "); 
  Serial.print(Tf);
  Serial.print(" F; ");
  Serial.print(Tc);
  Serial.println(" C");   
  delay(500);
}
Klik op de upload button en start de serial monitor, maak de sensor warmer met je vingers om verandering te kunnen zien.

Les13-2:

Ook de LCD software kunnen we bijna 1 op 1 overnemen van bovenstaande website:
Zorg er voor dat je alle voedingsspanningen los koppelt (usb niet aangesloten op de pc en geen power adapter aangesloten op de voedingsplug).
sluit de Arduino aan volgens onderstaand schema:


Start het Arduino programma en sluit de USB kabel aan.
Typ de volgende code over of kopieer deze naar de arduino ide:

Code: Select all

#include <LiquidCrystal.h>

int ThermistorPin = A0;
int Vo;
float R1 = 10000;
float logR2, R2, T;
float c1 = 1.009249522e-03, c2 = 2.378405444e-04, c3 = 2.019202697e-07;

LiquidCrystal lcd(12, 11, 5, 4, 3, 2);

void setup() {
  lcd.begin(16, 2);
}

void loop() {

  Vo = analogRead(ThermistorPin);
  R2 = R1 * (1023.0 / (float)Vo - 1.0);
  logR2 = log(R2);
  T = (1.0 / (c1 + c2*logR2 + c3*logR2*logR2*logR2));
  T = T - 273.15;
  lcd.print("Temp = ");
  lcd.print(T);   
  lcd.print(" C");
  delay(500);            
  lcd.clear();
}
Klik op de upload button, maak de sensor warmer met je vingers om verandering te kunnen zien.

Les13-3:

Met deze gegevens kunnen we een relay schakelen voor regeling van ventilator, verwarming, koeling etc.
Zorg er voor dat je alle voedingsspanningen los koppelt (usb niet aangesloten op de pc en geen power adapter aangesloten op de voedingsplug).
sluit de Arduino aan volgens onderstaand schema:


Start het Arduino programma en sluit de USB kabel aan.
Typ de volgende code over of kopieer deze naar de arduino ide:

Code: Select all

#include <LiquidCrystal.h>

int mintemp = 29;
int maxtemp = 32;

int relaypin= 8;
int ThermistorPin = A0;
int Vo;
float R1 = 10000;
float logR2, R2, T;
float c1 = 1.009249522e-03, c2 = 2.378405444e-04, c3 = 2.019202697e-07;

LiquidCrystal lcd(12, 11, 5, 4, 3, 2);

void setup() {
  lcd.begin(16, 2);
  pinMode(relaypin, OUTPUT);
}

void loop() {
  Vo = analogRead(ThermistorPin);
  R2 = R1 * (1023.0 / (float)Vo - 1.0);
  logR2 = log(R2);
  T = (1.0 / (c1 + c2*logR2 + c3*logR2*logR2*logR2));
  T = T - 273.15;
  lcd.print("Temp = ");
  lcd.print(T);   
  lcd.print(" C");
  delay(500);            
  lcd.clear();
  if (T < mintemp) digitalWrite(relaypin, LOW);
  if (T > maxtemp) digitalWrite(relaypin, HIGH);
}
Attachments
les-13-3_bb.jpg
(893.09 KiB) Not downloaded yet
les-13-2_bb.jpg
(834.55 KiB) Not downloaded yet
les-13-1_bb.jpg
(666.78 KiB) Not downloaded yet
Post Reply