Hysterese mit MAX6675 Temperatursensor- Modul

Liebe Communitiy,

Ich bin gerade dabei eine Hysterese zu bauen, aber es gibt (wie immer:D) Probleme.
Die Hysterese soll später einmal für die Temperatursteuerung eines großen Kessels zur Sterilisation dienen. Zunächst einmal möchte ich damit aber die Temperatur eines Schnellkochtopfes ablesen.


Falls ihr Euch fragt warum: Gerade baut der 22l Schnellkochtopf mit seinem 50 kpa Gewicht- Ventil zu wenig Druck auf um 120 °C (nötige Temperatur für die Sterilisation) zu erreichen. Ich werde das Ventil mit Hilfe von Unterlegscheiben so lange beschweren bis bei ca. 100 kpa die 120 °C erreicht sind und dafür muss ich die Temperatur messen.

Das ist die Hardware die benutzt wird:

Hier ist der Schaltplan

Ich habe diesen Sketch hier ausprobiert:

#include <max6675.h>
int thermoDO = 1;
int thermoCS = 2;
int thermoCLK = 3;
MAX6675 thermocouple(thermoCLK, thermoCS, thermoDO);
void setup()
{
Serial.begin(9600);
Serial.println("MAX6675 test");
delay(500);
}
void loop()
{
Serial.print("C = ");
Serial.println(thermocouple.readCelsius());
Serial.print("F = ");
Serial.println(thermocouple.readFahrenheit());
delay(1000);
}

Diese Werte hier werden auf dem seriellen Monitor immer wieder ausgegeben und sind definitiv falsch :wink: :

C = 504.00
F = 32.00

Ist an meinem Sketch oder meinem Setup etwas falsch?
Andernfalls gehe ich davon aus, dass entweder der Temperaturfühler oder das Temperatursensor- Modul defekt ist.

LG Leonardo

Ganz schlechte Idee. Ein Sicherheitsventil ist zu Deiner Sicherheit da und dessen Funktion zu verändern geht mit einem deutlich erhöhten Risiko einher. Du findest Im Netz Videos von Schnellkochtöpfen, die explodieren. Dies ist nicht auf die leichte Schulter zu nehmen!

Dies stimmt nicht. 1 != A1.

Ist in 99% nicht geeignet für 230V egal was auf dem Modul steht.
Nimm besser so was dann bist du auf der sicherer Seite.
Ps. Der Link ist nur um zu Zeigen um was es geht, muss aber ab 4V schalten.

Dampfexplosion.

Explosionen von Dampfkessel sind deshalb so gefährlich weil sofort nach dem Bersten des Behältnisses überhitztes Wasser das gerade durch den Druck flüssig gehalten wurde jetzt ohne überdruck schlagartig in den gasförmigen Zustand übergeht und aus 1 Liter Wasser ca 700l Wasserdampf werden. Das ist eine Explosion ohne Sprengstoff aber nicht unbedingt deshalb ungefährlicher.
Laß das am Sicherheitsventil herumzuexperimentieren damit im Behältins mehr Druck aufbaut.
Grüße Uwe

Danke für den Tipp:) eigentlich hätte ich das wissen müssen, ist mir einfach nicht aufgefallen:D.
Jetzt funktionieren beide Sketches,
hier ist jetzt nochmal alles aktualisiert:
Schltplan:


Sketch/ serieller Monitor:

#include <max6675.h>
int thermoDO = 2;
int thermoCS = 3;
int thermoCLK = 4;
MAX6675 thermocouple(thermoCLK, thermoCS, thermoDO);
void setup()
{
Serial.begin(9600);
Serial.println("MAX6675 test");
delay(500);
}
void loop()
{
Serial.print("C = ");
Serial.println(thermocouple.readCelsius());
Serial.print("F = ");
Serial.println(thermocouple.readFahrenheit());
delay(1000);
}

Sketch/ 1602 LCD Display:

#include <max6675.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd = LiquidCrystal_I2C(0x27, 16, 2); // so wenn ein 1602 display genutzt wird


#define MAX6675_CS   3
#define MAX6675_SO   2
#define MAX6675_SCK  4

void setup()
{
  lcd.init(); // für den LCD- Monitor
  lcd.backlight(); // für den LCD- Monitor
}

void loop() {
  float temperature_read = readThermocouple();
  lcd.setCursor(0, 0);
  lcd.print("  TEMPERATURE");
  lcd.setCursor(4, 1);
  lcd.print(temperature_read, 2);
  lcd.print ("\337C ");
  delay(1000);
}


double readThermocouple() {

  uint16_t v;
  pinMode(MAX6675_CS, OUTPUT);
  pinMode(MAX6675_SO, INPUT);
  pinMode(MAX6675_SCK, OUTPUT);

  digitalWrite(MAX6675_CS, LOW);
  delay(1);

  // Read in 16 bits,
  //  15    = 0 always
  //  14..2 = 0.25 degree counts MSB First
  //  2     = 1 if thermocouple is open circuit
  //  1..0  = uninteresting status

  v = shiftIn(MAX6675_SO, MAX6675_SCK, MSBFIRST);
  v <<= 8;
  v |= shiftIn(MAX6675_SO, MAX6675_SCK, MSBFIRST);

  digitalWrite(MAX6675_CS, HIGH);
  if (v & 0x4)
  {
    // Bit 2 indicates if the thermocouple is disconnected
    return NAN;
  }

  // The lower three bits (0,1,2) are discarded status bits
  v >>= 3;

  // The remaining bits are the number of 0.25 degree (C) counts
  return v * 0.25;
}

Ich verändere nicht das Sicherheitsventil sondern nur das Druckventil, das den Druck einfach durch ein Gewicht regelt, das auf einer kleinen Öffnung (rechts im Bild) aufliegt. Es gibt dafür sogar auch verschiedene Gewichten zu kaufen, ich finde aber auf Anhieb kein passendendes und ich denke mein Plan mit dem Beschweren dürfte funktionieren. Das Sicherheitsventil bleibt in seiner Funktion unbeeinträchtigt. Ich vermute das Sicherheitsventil öffnet auch bei 100 kpa also 1 bar, aber ich bin mir nicht zu 100% sicher.
Auf dem Foto sieht man beide Ventile. Das Sicherheitsventil links und die Ventil- Öffnung, das mit dem Gewicht beschwert wird rechts. Der 2- Komponenten- Kleber mit dem ich die Gewindestange als Arretierung für die Unterlegscheiben am Gewicht festgeklebt habe härtet gerade aus, deshalb liegt es nicht auf der Öffnung des Druckventils;)

Wie gesagt, ich experimentiere nicht am Sicherheitsventil und bin mir darüber bewusst, dass tendentiell bei solchen Arbeiten an Schnellkochtöpfen ein Sicherheitsrisiko besteht. Trotzdem danke, die Sorgen sind berechtigt;).

[pingelig]
Du möchtest eine Temperaturregelung mit einem geschlossenen Regelkreis aus Sollwert, Istwert und Stellwert.
[/pingelig]
Damit Du nach den richtigen Begriffen suchen kannst :slightly_smiling_face:

Okay, danke für die Info, habe gerade auch schon ein gutes Sketch- Vorbild gefunden:
(15) Temperatursteuerung mit einem Arduino selber bauen - YouTube

Ich hatte mit dieser Art von Relais auch schon Probleme, da habe ich einen Elektromotor steuern wollen und konnte das auf Grund der induktiven Last schließlich nur mit Hilfe eines Schützes machen. Bei mir haben diese Relais 5V 1 Kanal Relais Modul kaufen bei BerryBase aber auch bei 230VAC oft gut funktioniert.

Ich will mit dem Relais diesen Verbaucher hier schalten:
Verdampferheizstab für Weka und Karibu Saunaofen SHG, Classic, Deluxe Bio (sauna-oefen.com)
Induktive Lasten sollten da kein Problem darstellen, falls es aber doch Probleme gibt weiß ich Bescheid und versuche es mal mit diesem Relais diymore Halbleiterrelais Solid-State-Relaismodul SSR-25DA 25A / 250V 3-32V DC Eingang 24-380V AC Ausgang : Amazon.de: Gewerbe, Industrie & Wissenschaft.
Danke für den Tipp!

Es kommt dabei nicht aufs Funktionieren an, sondern es geht um die Sicherheit.
Hast Du Dir mal das Modul von unten angeschaut? Sind da ausreichende Ausfräsungen um die 230V führenden Teile?
Ansonsten könntest Du damit einen Beitrag zur Reduzierung der Überbevölkerung leisten.

Gruß Tommy

1 Like

Alles klar, habe verstanden:).

Es braucht gewisse Abstände / Krichstrecken zwischen Spannungsführende Teile (230VAC und dem Niederspannungsteil (GND und 5V). Die Leiterbahnen müssen für 10A eine gewissen Querschnitt haben da sie ansonsten überhitzen.
Ist beides bei diesen Modulen gegeben?

Grüße Uwe

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.