Klappensteuerung per Temperatur

Hallo,

ich habe ein neues Projekt in der Familie erhalten :o , darf mich um eine kleine Steuerung kümmern die sehr kostengünstig sein soll.
Nu ja... was ist zu tun.

  1. Temperaturerfassung (max.300°C) (Abluftstrom einer Holzheizung)
  2. Klappensteuerung (Zuluft) in 25% Schritten, also 1/4, 1/2, 3/4 (keine dyn. Regelung).
  3. Steuerkomponente

Temperaturfühler wird interessant, soll bei 180°C eine Abweichung von 1°C anzeigen können. Also 1° Abweichung = 1/4 Stellung der Klappe. Das System ist sehr träge, wenn das zu fein wird, wird diese Toleranz erhöht.
Bsp: LINK
Als Klappensteuerung ist ein Belino LM mit 80mm Rohr vorgesehen
LINK

Als Steuerung ein UNO mit Display und digitaler Eingabe(Taster Plus/Minus) der 180°C.

Was ich mich als erstes frage ist, wie ich die Temperaturerfassung so genau im Arduino abbilden kann?
Analog 0..5V wird wohl zu ungenau werden vermute ich, was also sonst?

Danke für jede Hilfe!

Dann wirst Du wohl einen AD-Wandler mit höherer Auflösung nutzen müssen.

Woher willst Du eigentlich wissen, wenn Dir Dein System eine Temperatur anzeigt, ob diese auch richtig ist? Sprich wie willst Du das System kalibrieren?

Gruß Tommy

Kalibrierung, gute Frage, vermutlich aber nicht notwendig, dann stellt man halt 190°C ein, auch wenn es 180°C sind.

AD-Wandler, du meinst Analog vom Tempfühler auf digital UNO?

Was ich mich als erstes frage ist, wie ich die Temperaturerfassung so genau im Arduino abbilden kann?

Da hasste dich aber nicht sorgfältig drum gekümmert... bisher...

Suchtipp: "thermoelement max6675"

Ui ui ui ... früher hat man einfach einen Bimetallstreoifen in die Abluft gehalte und die Klappe mit einem Stahlseilchen damit verbunden.

4711:
Kalibrierung, gute Frage, vermutlich aber nicht notwendig, dann stellt man halt 190°C ein, auch wenn es 180°C sind.

Wenn Dir die Werte egal sind, wieso willst Du dann eine so hohe Auflösung?

Gruß Tommy

Tommy56:
Wenn Dir die Werte egal sind, wieso willst Du dann eine so hohe Auflösung?

Gruß Tommy

Es geht um die Änderung, nicht den Absolutwert.

combie:
Da hasste dich aber nicht sorgfältig drum gekümmert... bisher...

Suchtipp: "thermoelement max6675"

Danke für den Tipp!
Damit eigentlich rel. einfach, passt dann so ein K-Typ? LINK
Ist ein solcher Temp-Fühler genau genug, bzw. welche Schwankungsweite hat dieser?

Du solltest den Beitrag von combie nochmal genau lesen und seinen Vorschlag in eine Suchmaschine Deiner Wahl eingeben.

Gruß Tommy

Wennst grad' beim Sensoren suchen bist: CO wäre ein heisser Tip.

4711:
Danke für den Tipp!
Damit eigentlich rel. einfach, passt dann so ein K-Typ? LINK
Ist ein solcher Temp-Fühler genau genug, bzw. welche Schwankungsweite hat dieser?

Der Tipp von Combie ist doch gleich inklusive Sensor! Da benötigst du ja deinen nicht. Ich habe mir da gleich mal welche bestellt, weil mich der Themperaturbereich interessiert. Die will ich mal testen.
Text vom Anbieter: "Der AZ-Delivery MAX6675 wird mit einer Sonde ausgeliefert, welche sehr hohe Temperaturen von bis zu 1250 Grad Celsius aushalten und von 0 bis 1024 Grad Celsius korrekt messen kann! Die Auflösung des Thermosensors liegt bei 0,25 Grad Celsius!"

Franz

Hallo,
das ist doch eigentlich recht einfach

Du hast den PT100 Fühler und einen Umsetzer auf 0-400Grad =0-10V. Dann benötigst Du einen A/D Wandler mit 10V Messeingang. Auf der Arduino Seite macht dann sicher I2c Sinn. In der Regel haben die 12Bit das entspricht 4096. Damit kannst Du dann auf 4096/400 400/4096 etwa 0,1 Grad auflösen.Wenn der Analogeingang nur 5 Volt hat müsste man noch mal einen 1/1 Spannungsteiler einsetzen.

Wenn das nicht reicht muss der A/D Wandler halt mehr als 12Bit haben link

Heinz

passt dann so ein K-Typ

Solch ein analoges Thermoelement ist sicher genau genug.
(Wobei combies Vorschlag mit dem integrierten 12bit Wandler dir viel Arbeit erspart)

Auf jeden Fall, wenn du dich von der 1° Auflösung frei machst und merkst, dass du ganz andere Probleme haben wirst:

Wenn es eine Steuerung sein soll, kannst du sowieso nur eine von 5 Stufen (0 , 1/4, .. 4/4) einstellen. Wird dann eh nichts auf 1K genau.

Aber so wie du es beschreibst, willst du eine Regelung und keine Steuerung Auch da solltest du mit mehreren K Hysterese zufrieden sein, damit du ein einigermaßen ruhiges System hinkriegst.

Franz54:
Der Tipp von Combie ist doch gleich inklusive Sensor! Da benötigst du ja deinen nicht. Ich habe mir da gleich mal welche bestellt, weil mich der Themperaturbereich interessiert. Die will ich mal testen.
Text vom Anbieter: "Der AZ-Delivery MAX6675 wird mit einer Sonde ausgeliefert, welche sehr hohe Temperaturen von bis zu 1250 Grad Celsius aushalten und von 0 bis 1024 Grad Celsius korrekt messen kann! Die Auflösung des Thermosensors liegt bei 0,25 Grad Celsius!"

Ich habe die Dinger heute bekommen und gleich mal mit dem Testprogramm in Betrieb genommen. Jetzt muss ich nur mal überlegen wie ich bei rel. hoher Temp. testen kann. Beim Probelauf hat es bei 25 Grad zwischen 26 und 27 Grad angezeigt. Also 1-2 Grad abweichung. Und direkt in einer Flamme mit dem Feuerzeug bin ich bis 350 Grad hochgekommen. Dann wurde mir das Feuerzeug zu heiß :slight_smile: Muß ich morgen mal überlegen wo ich eine kontrollierte Temperatur her bekomme. Möchte ja wissen welche Genauigkeit ich dem Zeug zutrauen kann.

Weiß jemand, warum der Sensor im Testprogramm VCC und GND über zwei Pin´s bekommt und nicht direkt an der Spannung liegt?? Ist das dafür, dass der Messwiderstand nur an Spannung anliegt, wenn gemessen wird?? So dass in den Messpausen keine Spannung anliegt, die den Messwiderstand erwärmt?? Muss ich mal in der LIB nachschauen, ob die Pins da angesprochen werden.

Servus
Franz

Hallo Franz,

wenn das Ding Wasser abkann , wäre ein Topf mit Eiswassser und kochendem Wasser eine Möglichkeit. Ansonsten Backofen mit einem FleischTermometer.

Heinz

Zu wenig Temperatur.

Natriumchlorid Schmelzpunkt 801 °C
Haushaltszucker Schmelzpunkt 186 °C
Wasser fast bei 100 °C

Kalibrieren muss man da meist nix.
Max und k-Type Sensor passen gut genug zusammen.

Die Anschlusskabelschuhe und Schraubklemmen sind allerdings Suboptimal, da sie selber "parasitäre" Thermospannungen erzeugen.

Rentner:
Hallo Franz,

wenn das Ding Wasser abkann , wäre ein Topf mit Eiswassser und kochendem Wasser eine Möglichkeit. Ansonsten Backofen mit einem FleischTermometer.

Heinz

Ja genau, das ist eine Möglichkeit. Werde ich morgen mal machen.

Franz

Das ist das Testprogramm für den MAX 6675 Temp.Fühler:

// this example is public domain. enjoy!
// www.ladyada.net/learn/sensors/thermocouple

#include <max6675.h>
#include <LiquidCrystal.h>
#include <Wire.h>

int thermoDO = 4;
int thermoCS = 5;
int thermoCLK = 6;

MAX6675 thermocouple(thermoCLK, thermoCS, thermoDO);
int vccPin = 3;
int gndPin = 2;

LiquidCrystal lcd(8, 9, 10, 11, 12, 13);

// make a cute degree symbol
uint8_t degree[8]  = {140,146,146,140,128,128,128,128};

void setup() {
  Serial.begin(9600);
  // use Arduino pins 
  pinMode(vccPin, OUTPUT); digitalWrite(vccPin, HIGH);
  pinMode(gndPin, OUTPUT); digitalWrite(gndPin, LOW);
  
  lcd.begin(16, 2);
  lcd.createChar(0, degree);

  // wait for MAX chip to stabilize
  delay(500);
}

void loop() {
  // basic readout test, just print the current temp
  lcd.clear();
  lcd.setCursor(0, 0);
  lcd.print("MAX6675 test");
  
  // go to line #1
  lcd.setCursor(0,1);
  lcd.print(thermocouple.readCelsius());
#if ARDUINO >= 100
  lcd.write((byte)0);
#else
  lcd.print(0, BYTE);
#endif
  lcd.print("C ");
  lcd.print(thermocouple.readFahrenheit());
#if ARDUINO >= 100
  lcd.write((byte)0);
#else
  lcd.print(0, BYTE);
#endif
  lcd.print('F');
  
  delay(1000);
}

In dem Code gibt es folgende Zeilen:

int vccPin = 3;
int gndPin = 2;

void setup() {

pinMode(vccPin, OUTPUT); digitalWrite(vccPin, HIGH);
pinMode(gndPin, OUTPUT); digitalWrite(gndPin, LOW);

Ich habe nichts gefunden, wofür die gut sind. Habe dann den Sensor nicht mehr über diese Pins mit Spannung versorgt, sondern ganz normal. Dann war das Messergebnis um ein Grad besser. Also nur noch ein Messfehler von einem Grad bei der Raumtemperatur. Somit habe ich diese 4 Zeilen rausgeschmissen.

Guten Morgen Jungs!

Danke für eure Bemühungen!

Ich habe inzwischen mehr über diese Sache erfahren und es hat sich viel verändert.
Allerdings nicht die Temp-Messung.
Hier möchte ich mich nun mit euch auf die Suche machen.

Die genaue absolute Temp. bei ca. 180°C ist nicht wichtig genug, hier groß zu investieren. Abweichung wird akzeptiert, Solltemp. in der Soft einfach danach angepasst.
Wichtiger ist die Veränderung, d.h. im Bereich von ca.180°C soll eine Veränderung von 1-2°C erkannt werden.
Regelungszeit ca-10-30s, damit soll das System nicht zum Schwingen beginnen, es darf sich aber natürlich stetig anpassen.

Es muss ein Temp-Fühler sein, der mit Tauchhülse, ca. 100mm im Rohr steht. Für mich fallen damit leider die Dinge wie Max6675 mit dessen kurzen Thermoelement raus, ein PT100/1000 wird verm. auch in Hinsicht der Langlebigkeit die optimalere Wahl sein.
Was in diesem Temp-Bereich und Anforderung besser ist, weiß ich nicht. PT100 oder 1000. 1000 wäre genauer, aber sinnvoller?

Damit hätte ich folgende Komponenten ausgewählt:
PT1000
PT1000
PT1000 ohne Gehäuse

Ali Elektronik

Was haltet ihr davon?

Für mich fallen damit leider die Dinge wie Max6675 mit dessen kurzen Thermoelement raus,

Man man man ...

Type K Elemente gibts in dutzenden Bauformen.
Auch sind viele direkt für Rauchgasmessungen gefertigt.
Der Max kommt damit auf eine Auflösung von ca 0,2°C
Das musst du erstmal mit einem PT1000 hin bekommen

Aber OK, der Wille ist des Menschen ist sein Himmelreich.