Forum: Mikrocontroller und Digitale Elektronik Nachlaufsteuerung für Standheizung


von Christoph K. (driv3r)


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);
}

: Verschoben durch Moderator
von Christoph K. (driv3r)


Lesenswert?

Bin Ich mit meinem Anliegen im falschen Forum?

von rfvbhytre (Gast)


Lesenswert?

Feuer, giftige Abgase, Arduino plus null Ahnung - da will niemand 
involviert werden.

rfvbhytre

von c r (Gast)


Lesenswert?

Christoph K. schrieb:
> Bin Ich mit meinem Anliegen im falschen Forum?

Sei ehrlich, würdest du den Code in der Form lesen wollen?

Außerdem ist, wie immer, "geht irgendwie nicht" keine 
Fehlerbeschreibung.

Was willst du, was tut es wirklich, was stimmt nicht damit.

von HildeK (Gast)


Lesenswert?

Christoph K. schrieb:
> Bin Ich mit meinem Anliegen im falschen Forum?

Ja. Irgendwann wird es in ein anderes Unterforum verschoben.
Hier heißt es:
"Hier könnt ihr eure Projekte, Schaltungen oder Codeschnipsel vorstellen 
und diskutieren. Bitte hier keine Fragen posten!"

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.