Nachlaufsteuerung für Standheizung

OP #6120429
Lesenswert?
• ▲
▼
Schönen guten Abend,
Ich hoffe Ich bin hier im richtigen bereich geladte.
Ich Versuche mir mit einem Arduino Pro Micro für eine alte Standheizung 
eine Steuerung für den Nachlauf zu bauen.
Und zwar soll das ganze so funktionieren das wenn die Heizung 
abgeschaltet wird sie danach noch mal für ein Paar sek. an geht damit 
die noch im Brennraum vorhandenen Abgase nach draußen befördert werden.

Eine Temperatur Steuerung habe Ich schon hinbekommen aber der Nachlauf 
will nicht klappen.

Nun habe Ich schon mit Hilfe einen Sketch geschrieben aber so richtig 
kommen wir nicht weiter, Ich hoffe ihr könnt mir helfen.

#include <OneWire.h>
#include <DallasTemperature.h>
#define ONE_WIRE_BUS A0  //Sensor DS18B20 am digitalen Pin 2
OneWire oneWire(ONE_WIRE_BUS); //
//Übergabe der OnewWire Referenz zum kommunizieren mit dem Sensor.
DallasTemperature sensors(&oneWire);
int sensorCount;
int sensorwert ;
int temperatur = 0;
int Fan = 6;                    // Ihnenraum Lüfter steuerrungs Pin.
uint32_t nachlaufzeit = 4000;  // !HIER EINSTELLEN! Nachlaufzeit in ms
uint32_t startzeit;
bool statusGND, lastStatusGND;
byte pinGND = 9;                // Schaltkontakt gegen GND
byte pinNachlauf = 10;          // Anseureung
void setup(void)
{
  Serial.begin(9600); //Starten der seriellen Kommunikation mit 9600 
baud
  Serial.println("Temperatursensor - DS18B20");
  sensors.begin(); //Starten der Kommunikation mit dem Sensor
  sensorCount = sensors.getDS18Count(); //Lesen der Anzahl der 
angeschlossenen Temperatursensoren.
  pinMode (Fan, OUTPUT);// Schaltet Relais K1(IN2)
  digitalWrite(pinGND, LOW);       // Schaltet pinGND auf Low
  pinMode(pinGND, INPUT_PULLUP);   // Wird gegn GND geschaltet /offener 
Eingang = HIGH
  digitalWrite(pinNachlauf, LOW);  // Setzt Relais K1(IN2) Low
  pinMode(pinNachlauf, OUTPUT);    // Schaltet Relais K1 (IN1)
  float temperatur = 0;
  if (sensorCount == 0)
    Serial.println("Es wurde kein Temperatursensor gefunden!");
  Serial.println("Bitte überprüfe deine Schaltung!");
} // Ende Setup
void loop(void) {
  ////////// Nachlauf Standheizung //////////


  statusGND = digitalRead(pinGND);
  delay(10); // zum entprellen Pause einlegen (kann man hier machen)

  // pos Flanke erkennen GND aus
  if (statusGND && !lastStatusGND) {
    lastStatusGND = true;            // Zustand merken
    startzeit = millis();            // startzeit für Nachlauf setzen
    digitalWrite(pinNachlauf, HIGH); // Nachlauf einschalten
  }
  // if (!statusHydr) lastStatusHydr = LOW; // Reset Flankenmerker !!! 
hier ist geändert

  // Abfrage Nachlauf abgelaufen
  if (millis() - startzeit > nachlaufzeit) {
    digitalWrite(pinNachlauf, LOW); // Nachlauf abschalten
  }
  ////////// Temperaturschaltung Ihnnenraumgebläse //////////

  //Es können mehr als 1 Temperatursensor am Datenbus angschlossen 
werden.
  //Anfordern der Temperaturwerte aller angeschlossenen 
Temperatursensoren.
  sensors.requestTemperatures();
  //Ausgabe aller Werte der angeschlossenen Temperatursensoren.
  for (int i = 0; i < sensorCount; i++) {
    Serial.print(i);
    Serial.println(". Temperatur :");
    temperatur = sensors.getTempCByIndex(i);
    printValue(temperatur, "°C");
    printValue(sensors.getTempFByIndex(i), "°F");
  }
  delay(2000); // Pausezeit zwischen den Messungen.
  if (temperatur >= 45.00) //Temperatur bei der das Ihnenraumgebläse an 
gehen soll.
  {
    digitalWrite(Fan, LOW); //…Schaltet Gebläse an.
  }

  else //Und wenn das nicht so ist…
  {
    digitalWrite(Fan, HIGH); //…Gebläse aus.
  }

}
void printValue(float value, String text) {
  Serial.print("\t\t");
  Serial.print(value);
  Serial.println(text);
}

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.