Hi,
ich bin ein ziemlicher Neuling was den Arduino angeht. Bisher habe ich gerade einmal ein paar LEDs zum Leuchten gebracht und ein wenig mit Ampelschaltungen, Tastern und LDRs rumgespielt.
Aus gegebenen Anlass (es wird langsam kalt) habe ich mir jetzt ein etwas größeres Projekt vorgenommen. Wir haben 5 Meerschweinchen die bei uns im Garten leben. Die letzten Jahre mussten wir im Winter mehrmals am Tag raus gehen um ihnen warmes Wasser zu bringen da das Wasser im Napf sehr schnell gefroren ist. Letztes Jahr haben wir uns dann eine "Beheizbare Kaninchentränke" gekauft.
Das Teil funktioniert super das Wasser gefriert nicht und wir müssen uns keine Sorgen mehr machen wenn wir in der Arbeit und Schule sind das die Meris nicht trinken können.
Nun zu meinem Problem die Tränke wird einfach mit einem Netzteil in eine Steckdose gesteckt und dann heizt sie.
Das halte ich für ziemlicher Stromverschwendung da sie ja eigentlich bloß heizen muss wenn es Gefahr leuft das das Wasser gefriert. Zudem ist das Kabel fest an der Tränke befestigt. Zum einen Wasser nachfüllen wäre es viel praktischer wenn man das Kabel abstecken könnte.
Was ich mir jetzt gedacht hätte wäre:
Wir haben im Physik Unterricht Mal etwas von NTCs und PTCs gehört und soweit ich das verstanden hab sind das ja Temperatur abhängige Wiederstände.
Ich habe noch nicht wirklich eine Ahnung wie man das dann stecken soll jedoch dachte ich daran das der NTC bzw. PTC dann von dem Arduino ausgelesen wird und dann der Arduino wenn die Temperatur zB. unter 3°c fällt den Strom durchlaufen lässt und wenn die Temperatur darüber ist kein Strom fließt.
Ich hoffe ihr könnt mir ein wenig behilflich sein.
Schnee8
PS.: Sorry fals ich manche Begrifflichkeiten falsch benötigt habe. Wie schon gesagt mit dem Arduino bin ich noch ein ziemlicher Newbie
Hm, das wird gehen.
Aber: du darfst auf keinen Fall irgendwo an 220V herumbauen (das ist nicht nur verboten, sondern auch gefährlich)!
Was du tun kannst, ist die 24V-Leitung auftrennen, und dort z.B. ein Relais zwischenschalten.
Und ja: ein Pro Mini (z.B.) genügt da.
Sinnvollerweise gleich mit aus dem Netzteil versorgt, mit einem vernünftigen Spannungswandler.
Das schwierigste: wo soll der Temperaturfühler verbaut werden?
Eigentlich müsste der am besten direkt ins Wasser (da er nur dort feststellen kann, wenn genug geheizt wurde, erstmal), aber dann muss er absolut Wasser-und Nagetierbeständig sein...
das kannst du mit einem NTC machen, einfacher wäre es evtl. mit einem ds18b20. Den Ausgang kannst du mit einem Fet schalten, dafür müßtest du das Kabel zwischen Netzteil und Tränke auftrennen, dann noch einen 5V Regler einbauen um den Uno zu versorgen. Für die Regelung kannst du einen Nano, Mini Pro oder einen ATtiny 85 nehmen.
Ein Tiny85 sollte dicke reichen.
Ist sogar noch überdimensioniert.
Und einen Temperatursensor hat er gleich mit eingebaut.
Ein einfacher Komparator sollte auch schon genug sein.
Alternativ:
Einen alten Badezimmer Frostwächter plündern.
Und den Drehregler da raus operieren.
Dann gehts auch ganz ohne Standby Stromverbrauch.
Tipp:
Schütze die Heizung und ihre Anschlüsse vor Korrosion!
Schütze die Heizung und ihre Anschlüsse vor Korrosion!
Schütze die Heizung und ihre Anschlüsse vor Korrosion!
Schütze die Heizung und ihre Anschlüsse vor Korrosion!
Nur dann hast du ein paar Jahre Freude an der Tränke.
wenn Du Dich mit dem Arduino beschäftigen willst, nimm den.
Wenn Du einfach was basteln willst, und es einfach nur seinen Dienst machen soll, nimm einen Bausatz von Pollin, Conrad, etc.
Dafür braucht man keinen Arduino, es sei denn, man hat nur einen Hammer als Werkzeug, dann sieht jedes Problem wie ein Nagel aus
Bei Pollin als Bausatz für 6€, ein Gehäuse fehlt noch.
Für einen Anfänger würde ich einen Uno oder einen Nano empfehlen. Sie sind über USB beqem anschließbar und werden direkt von der IDE unterstützt. Bei ProMini oder Attiny könnte man schon an der Programmierung scheitern, auch wenn das für Fortgeschrittene die beste Lösung ist.
Da die Tränke mit 8W nicht irsinnig stromhungrig ist, könnte man einfach einen Außen-Temperaturfühler nutzen. Sinkt die Außentemperatur unter 3°C wird geheizt.
Ds18b20 gibt es in knabbersicherer Metallkapselung.
P.S.: Ein einfaches Thermostat macht den Job auch sehr gut. Beispiel oder der oben genannte Pollin Bausatz
Man macht mit einem NTC/PTC Widerstand und einem Widerstand ähnlicher Größenordnung einen Spannungsteiler. Schliesst beide zwischen GND und 5V. Die Spannung in der Mitte kann mit analogRead erfasst werden und ist dann abhängig von der Temperatur. Da sollte schon ein messbarer Unterschied zwischen 2°C und 6°C rauskommen...
Da die 24V 340mA nur selten zu schalten sind, wäre ein Relaismodul das einfachste.
Sonst ein ausrechend dimensionerter Transistor als Schalter. Da wirst du Beispiele finden mit NPN oder MOSFET (Bei deiner Anforderung könnte ein BC337 mit 220 Ohm Basis-Vorwiderstand gerade noch gehen).
Denke an 2 Schaltpunkte: z.B. unter 2° Ein, über 5° Aus, dazwischen Schaltzustand unverändert lassen.
wird auch ZweipunktRegler mit Hysterese genannt.
Ein kleineres Arduino Modell wäre z.B. ein Nano, der den gleichen atmega328 Controller hat und, weil der USB- Anschluss und Bootloader schon da ist, genauso einfach zu benutzen ist.
Für Attinys musst du halt die Arduino-IDE erweitern. Für den Mini Pro brauchst du einen separaten USB-Seriell-Wandler, den du nach dem Programmieren der Heizung anderweitig verwenden kannst.
Wenn Du 230V schalten willst dann ist das einfachste eine (geeignete) Funksteckdose zu verwenden. Mit dem Arduino schaltest Du die Funksteckdose. So brauchst Du keine Arbeiten an 230 oder 24V, oder Kabel Auftrennen ecc.
Das benötigte Sendemodul findest Du in der Fernsteuerung. Siehe RC-Switch- Bibliothek für PT2262 ICs.
hab mir nicht alles durchgelesen aber vieleicht hilft das Beispiel:
int TMP36 = A0; //Der Sensor soll am analogen Pin A0 angeschlossen werden. Wir nennen den Pin ab jetzt "TMP36"
int sensorwert;
int temperatur = 0; //Unter der Variablen "temperatur" wird später der Temperaturwert abgespeichert.
int t=500; //Der Wert für „t“ gibt im Code die zeitlichen Abstände zwischen den einzelnen Messungen vor.
void setup()
{
Serial.begin(9600); //Im Setup beginnt die serielle Kommunikation, damit die Temperatur an den serial monitor übertragen wird. Über die serielle Kommunikation sendet das Board die Messwerte an den Computer. In der Arduino-Software kann man unter „Werkzeuge“ den „Seriellen Monitor“ starten um die Messwerte zu sehen.
}
void loop()
{
sensorwert=analogRead(TMP36); //Auslesen des Sensorwertes.
temperatur= map(sensorwert, 0, 410, -50, 150); //Umwandeln des Sensorwertes mit Hilfe des "map" Befehls.
delay(t); // Nach jeder Messung ist je eine kleine Pause mit der Dauer „t“ in Millisekunden.
Serial.print(temperatur); //Nun wird der Wert „temperatur“ über die serielle Kommunikation an den PC gesendet. Durch öffnen des seriellen Monitors in der Arduino-Software kann die Temperatur abgelesen werden.
}
Abhängig von der Temperatur dann eine Funksteckdose ansteuern.
Es reicht ja, wenn du die Niedervoltseite schaltest.
Du kannst dazu natürlich einen Arduino verwenden. Mit Temperatursensor und Relais.
(Als Temperatursensor würde ich aber keinen NTC oder PTC nehmen, sondern einen DS18B20)
Oder du nimmst einfach einen Thermoschalter. Der hier zum Beispiel schaltet bei 4°C ein und bei 15°C wieder aus.