Les 13 (Temperatuur sensor)

Alleen lezen

Les 13 (Temperatuur sensor)

Berichtdoor pe1br » zo okt 29, 2017 9:56 pm

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-thermistor-temperature-sensor-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: Selecteer alles
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: Selecteer alles
#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: Selecteer alles
#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);
}
Bijlagen
les-13-3_bb.jpg
(893.09 KiB) Nog niet gedownload
les-13-2_bb.jpg
(834.55 KiB) Nog niet gedownload
les-13-1_bb.jpg
(666.78 KiB) Nog niet gedownload
pe1br
 
Berichten: 56
Geregistreerd: do apr 14, 2016 3:37 am

Keer terug naar archief workshop oktober 2017

Wie is er online

Gebruikers op dit forum: Geen geregistreerde gebruikers. en 1 gast

cron