Hallo, ich habe mehrere (14) Terrarien. Jedes dieser Terrarien muss gesteuert werden (Licht, Heizung, Kühlung, Luftfeuchtigkeit, ...). Bisher verwende ich Zeitschaltuhren für das Licht und Regel ebenfalls mit Zeitschaltuhren aus Erfahrungswerten die Temperatur & Luftfeuchtigkeit (Heizmatten, Lüfter, Beregnungsanalge) so das ein einigermaßen konstantes Klima herscht. Die Terrarien müssen für Tag und nacht unterschiedlich gesteuert werden (z.B. Tagsüber auf 30°C halten, Nachts auf 20°C). Das das ganze ziemlich aufwendig ist mit den vielen Zeitschaltuhren und dann noch Sommer wo es zu heiß wird und Winter wieder zu kalt dürfte jedem klar sein. Jetzt habe ich nach einer Lösung gesucht, das ganze Zentral (pro Terrarium) zu steuern und bin nach viel Suche im Internet bei AVR-Mikrocontrollern gelandet. Leider kenne ich mich mit Elektronik nicht sonderlich gut aus... :( Aber ich habe einen Freund der sich recht gut auskennt mit Elektronik allgemein und mir seine Hilfe angeboten hat. Momentan sind wir auf dem Stand das wir die Temperatur & Luftfeuchtigkeit theoretisch (AVR Studio4 Simulation) regeln können. Das Problem wo wir nicht weiterkommen ist die Zeitschaltuhr (welche ja das wichtigste der ganzen Schaltung ist) Kann uns hier irgendjemand helfen wie man eine Zeitschaltuhr mit AVR-Mikrocontrollern realisieren kann ? Ich habe mal eine kurze Projektbeschreibung geschrieben damit ihr euch besser vorstellen könnt was die Schaltung können soll und wie die Zeitschaltuhr arbeiten muss. Die Projektbeschreibung könnt ihr euch hier anschauen -> http://www.terraristik.net/terrarium/Terrariensteuerung.pdf Ich hoffe es kann uns hier jemand helfen ! :( Vielen Dank schonmal im vorraus !!!! :) Gruss, Marius PS: Wir machen das ganze in Assembler-Code
Die Beschreibung ist ja schonmal nicht schlecht! Ist euch denn auch wirklich klar, welchen Umfang diese Projekt hat? Falls das zutrifft und ihr euch nicht davon abschrecken lasst, dann hab ich da ein paar Ideen zu: - Baut das System Modular (zb im 19"-Rahmen) auf - für jeweils 1/2 Terrarien ein Einschub (Mess/Treiberstufe) - Steuereinschub mit Display - Netzteileinschub - Je nach größe der Einschübe mehrere 19"-Rahmen verwenden - Am Steuereinschub Daten per Drehimpulsgeber einstellen - An den Treiberstufen Zustände per LED anzeigen - Automatische Adressierung der Treiberstufen (erweiterbarkeit) - Im "Betriebsmodus" durchgehend die Werte der einzelnen Messstufen anzeigen (zb wechsel alle 5 sec) - Einzelne Messstufe per Drehimpulsgeber auswählbar machen - Die Regelung der Temperatur erfordert (genau wie die Regelung der Luftfeuchtigkeit) eine Hysterese von einigen Grad Celsius, weshalb (unter anderem) auch die Regelung auf 1 Grad Celsius kaum erreichbar sein wird - Programmiert das ganze in C, das macht bei dem Umfang des Projektes die Pflege des Codes wesentlich einfacher ...just my 2 cents...
Hallo Ganz am Anfang setzt euch mit den AVRs auseinander, evtl holt euch einen Mega8, mit dem kann man schon recht viel machen.. Lasst lampen blinken und steuert ein LCD Display an.. mit der Uhr wuerde ich evtl eine dcf Uhr nehmen, hat den vorteil, dass sie sehr genau laeuft und du nicht immer nachstellen musst.. zum lernen sollte man mit ASM anfanngen, um den µC besser kennenzulernen, wie er arbeitet und sich verhaellt. bin selbst erst seit 3 wochen daran und mache weiterhin Vortschritte kann ich nur Empfehlen. Wenn ich noch die AD Wandler am laufen habe setze ich mich mit C auseinander. Viel Ervolg Gruss Jens
Hallo MArius Da ihr ja bereits mit AVR-Studio4 Erfolge erzielen konntet gehe ich davon aus, dass bei euch nicht die Programmierung das Problem ist. Obwohl ich bei der Grösse des Projektes auch sicherlich eine Hochsprache wie C, Basic oder Pascal verwenden würde (Mach ich aber sowieso immer, ich kann mit ASM überhaupt nichts anfangen). Ich selber bin daran, eine Aquariensteuerung mit automatischem Wasserwechsel zu planen, bin jedoch noch nicht sehr weit gekommen aus Zeitmangel. Die Uhr jedoch lässt sich recht einfach aufbauen. Du brauchst lediglich einen genauen Sekundentakt, welchen du entweder über einen AVR-Timer realisieren kannst (gibt etliche Threads hier mit Tips) oder indem du der Schaltung einen zusätzlichen Uhrenquarz spendierst. Über den Sekundentakt zählst du jetzt eine Variable hoch. Eine zweite Variable für die Minuten und eine dritte für die Stunden. Der Rest ist dann eigentlich nur noch eine Fleissarbeit. Vor allem das Display und die Bedienung dürfte ganz schön aufwändig werden. Aber das kriegt ihr sicher in den Griff. Eventuell könnte es sinnvoll sein, mehrere AVR's mit Teilaufgaben zu betreuen und dieselben dann bei Bedarf miteinander kommunizieren zu lassen. So könntet ihr die Steuerung auch schrittweise aufbauen und testen. Wäre schön, wenn ihr eure Erfolge hier im Forum präsentiert. Gruss Christian P.S.: In eurer Beschreibung habt ihr bei der Hardware die Taster für die Bedienung vergessen ;-)
Hallo, habe so ein projekt auch mal für mein Terrarium angefangen, nur leider nicht fertiggestellt. Für Temp/Feuchte Messung habe ich einen kombinierten Sensor von ELV genommen, für die Uhr eine RTC von Maxim (DS1306). Die RTC habe ich mit dem Interrupt Eingang des Atmels Verbunden, und nach einem "Alarm" der RTC eben die jeweiligen Ausgänge geschaltet (Licht, Beregnung), und dann das Alarm Register mit der nächsten Zeit geladen usw. Leider ist das alles wegen Zeitmangen nicht fertig geworden :( Vielleicht fnag ich den Winter wieder an...mal schauen :)
Jemand der nicht in der Lage ist mal eben so eine Zeitschaltuhr mit einem AVR zu programmieren der hat nicht genug Ahnung fuer so ein Projekt. Da du 14 Terrarien hast, hast du dann hoffentlich auch genug Platz fuer einen grossen Friedhof im Garten. Wie die anderen schon mehr oder weniger deutlich haben durchblicken lassen, ihr unterschaetzt das gewaltig. Olaf
Hallo Marius, bitte unterschätze das 'Projekt nicht, denn ich arbeite jetzt schon fast 1,5 Jahre an einer Aquariensteuerung und hab bisher noch nicht viel geschafft. Zugegeben es sind auch noch einige Projekte dazwischen gekommen, aber von den anfänglichen och das geht ja ohne Probleme bin ich auch schon weit weit weg. Du hast später einige Probleme mit der Unlinearität der Fühler und dem Phänomen, das sich einige Kalibireripunkte einfach verschieben. Aufbau und in Betriebnahme ist das kleinste Problem. Die Stabilität ist das größere - stell Dir - so wie ich - ein kleines Becken hin, das mit irgendeiner sehr robusten und billigen Art bestückt ist - bei mir sinds Schnecken - denn es wird sicher irgendwnn mal Grilltime kommen! Gruß Marcus
Für Zeitsteuerungen aller Art ist ein Scheduler ideal, z.B. http://www.mikrocontroller.net/forum/read-4-49709.html#new Man kann damit verschiedene Sachen quasi parallel ausführen. D.h. die Lichtsteuerung, die Tempraturregelung, die Feuchteregelung und die Bedienung laufen dann völlig unabhängig voneinander. Als Zeittakt dürfte 1s oder 10s völlig ausreichen. Je nach Kabellänge kann man auch überlegen, ob nicht ein MC gleich mehrere Terrarien steuert (die Rechenzeit des AVR reicht jedenfalls dicke für alle 14). Von der Vernetzung mehrerer AVRs für nur ein Terrarium rate ich dringend ab. Da ist allein schon das fehlersichere Protokoll ein Faß ohne Boden und nichts für einen Anfänger. Ein großes Problem für Anfänger ist die Störsicherheit. Man sollte für sämtliche Ein- und Ausgänge Optokoppler nehmen und auch große Abstände zu allen 230V-Kreisen lassen. @Marcus, "Du hast später einige Probleme mit der Unlinearität der Fühler und dem Phänomen, das sich einige Kalibireripunkte einfach verschieben." Deshalb sollte man, wenn man mit der Analogtechnik etwas auf Kriegsfuß steht, lieber digitale Sensoren (z.B. DS18B20) verwenden. Wo nichts analog, da kann auch nichts driften. Die Sensoren müssen natürlich auch entsprechend gekapselt werden. Wer in der Analogtechnik einigermaßen erfolgreich sein will, sollte schon Datenblätter von OPVs lesen können und wissen, was z.B. Common-Mode-Voltage oder Slew-Rate in der Praxis bedeuten. Kurz gesagt, man muß in der Lage sein, Schaltungen so zu dimensionieren, daß sie unempfindlich gegenüber den realen Eigenschaften von Bauteilen (Toleranz, Temperaturkoeffizient, Thermospannung usw.) sind. Peter
Hallo Marius, nach dem Lesen Deiner Projektbeschreibung habe ich den Eindruck, Du hältst Dich noch zu sehr an dem Konzept der Zeitschaltuhr fest, weil Du es bisher damit gelöst hast. Die Projektbeschreibung vermischt zu sehr Anforderung und Lösungsvorschläge. Vielleicht solltest Du nochmal einen Schritt zurück gehen, und nur die reinen Anforderungen definieren und dann erst Wege suchen, wie diese umzusetzen sind. Wenn das ganze z.b. wie oben vorgeschlagen als zentralisierte Lösung entwickelt werden soll, käme vielleicht auch ein alter PC zur Steuerung in Betracht? Oder soll es pro Terrarium ein abgeschlossenes Modul geben (das man später vielleicht verkaufen könnte)? Natürlich brauchst Du eine zeitliche Steuerung, aber vielleicht kann die mehr als nur an und aus. Wie wäre es mit einer Art Regelwerk (Regel = Ereignis -> Bedinungung -> Aktion). Oder man lässt softwaretechnisch ein Script in einer Steuerungs-Engine ablaufen. Na gut, am Ende dieser Reihe unkonkreter Tipps hätte ich noch den, sich möglichst auf die wichtigen / interessanten Aufgaben zu konzentrieren und den Rest durch eingekaufte Komponenten (Sensor-Module mit I2C-Bus, DCF- und Schaltmodule) abzudecken. Teile und herrsche... Achim.
Hallo, erstmal danke für eure zahlreichen Tips ! :) Die ganzen Fachbegriffe die ihr mir hier an den Kopf werft sind für mich jedoch noch Fremdworte und ich muss mich ertmal langsam da durcharbeiten...vielleicht hab ich das Projekt wirklich unterschätzt. Wie gesagt, Regeln können wir bereits, auch Tag und Nacht, blos schalten wir Tag & Nacht noch händig ein.....fehlt also Zeitschaltuhr. Das ganze soll schon pro Terrarium aufgebaut werden (also immer nur 1 Terrarium steuern) da die Terrarien ja nicht alle immer zusammenstehen. Das die Sensoren kalibriert werden müssen ist klar. Deshalb haben wir uns möglichst linear verlaufende Sensoren gesucht (in unserem Temperaturbereich zwischen 10°-60° Grad). Ich denke wenn das ganze mal steht, sind die Kalibrierarbeiten Peanuts. @Achim: ich will nix verkaufen...aber vielleicht ändert sich die Anzahl Terrarien ja bei mir ? Mit dem PC hab ich schonmal was gemacht was auch funktioniert. Hab das ganze über die Serielle Schnittstelle gesteuert. Problem war nur das pro Terrarium ca. 250 Kosten sind weil ich einen Kombi Temp/Luft Fühler verwendet habe der schon ASCII Werte liefert und ich max. 8 Terrarien pro PC steuern kann. In meinem Fall müssten dann 2 PCs laufen. So wie ich jetzt hier die Antworten deute, ist es nicht so ein großes Problem eine Zeitschaltuhr zu realisieren !? Kann den jemand mal ein konkretes Beispiel posten oder Link nennen ? Am besten wäre natürlich den schon vorhandenen AVR Timer zu nutzen, diese Idee hatten wir auch schon, es scheitert aber am geringen Wissen unsererseites. :( Noch was ganz anderes.....wir wollten den ATmega16 verwenden. Jetzt hab ich gesehen das der ATmega169 einen LCD Treiber integriert hat. Sollten wir daher lieber den mega169 verwenden ? Mit dem mega16 kann ich doch auch "Problemlos" ein LCD ansprechen..... !? Gruss, Marius
@Marius: Zu Timer schaue da: http://www.mikrocontroller.net/forum/read-4-57760.html Ein Beitrag den ich für genial halte. An sonsten kann ich Peter Dannegger nur zustimmen: Nutze überall wo es wirtschaftlich vertretbar ist digitale Sensoren. Das spart dir viel Arbeit und Fehlersuche weil der Abgleich entfällt. Gruss Volker
Hätte da auch nen Vorschlag für ne einfache und stabile Zeitsteuerung. Mit der internen Geschichte must du dich auch darum kümmern, das z.B. beim Stromausfall etc. die Zeit weggeschrieben sein muss(z.B. interner EEprom)Ansonsten must du jedesmal die Uhr neu stellen. Alternativ dazu DCF 77 benutzen oder noch besser, da du warscheinlich um den I²C Bus nicht rumkommen wirst (externer EEprom, ADDA Wandler etc.)einfach nen Uhrenbaustein nehmen, der Batterie gepuffert ist (DS1307 auch I²C). Bei der Abfrage der Schaltzeit dann einfache I²C lese Routinen: Uhrzeit auslesen-->wenn ausgelesn mit beliebiger Schaltzeit vergleichen. Wenn gleich, dann den Ausgang des COntrollers etc. setzen. Die kleinste Schaltbedingung ist dann eine Sekunde, du entlastest den Controller aber für andere Aufgaben. Ausserdem ist ein Terrarium eh nicht so Zeitkritisch. P.S. Die Schaltzeiten können auch im EEprom stehen, damit du sie jederzeit über ein Menü etc. ändern kannst. Brauchst in dem Fall nicht immer den Source neu compilieren, wenn die Schaltzeiten sich ändern sollen...
@Dieter: sehe es doch mal sportlich, man lernt nie aus und Fehler bei der Auslegung stellt man meist leider erst zum Schluß fest. Im Grunde lernt man dadurch nur. Sollte aber ein nett gemeinter Hinweis an Marius sein, damit bei Fehlern der Schaden nicht zu groß wird. @Marius: Ich wünsch Dir viel erfolg bei Deiner Schaltung! GRuß Marcus
Hi, das Display kannst du auch an einem MEGA8 ansteuern, das gibt keine probleme, solannge du 6 freie Ausgännge hast (bei einem 4x40 Zeichen Display) http://home.dinspel.com/avr/pocsag.jpg die Zeitschaltuhr hmmh ich hab mal eine Uhr gebastelt, villeicht hilfts weiter.. http://home.dinspel.com/avr/Uhr.asm http://home.dinspel.com/avr/lcd-routines.asm Ein Uhrenquarz ist an Tosc1 / Tosc2 angeschlossen, Fuses CKopt nicht vergessen und den RC Oszilator einstellen (4MHz) zumindest bei dem mega8, da dieser Eingang doppelt belegt ist mit XTAL1 / XTAL2 Gruss Jens
Man sollte sich mal ein Siemens Logo überlegen. Da sind mehrere Schaltuhren drin. Temperaturmodul (PT100)gibt es dazu. Oder ein Esay Soft von Möller. Die kann auch mit Analogspannungen (0-10 V) umgehen. Sensoren mit 0-10 V Ausgang gibt es. Vernetzbar ist das Ding auch. Sonst sind Mitsubishi Flex-Controller eine gute Lösung. Ich würde, im Interesse der Tiere, keine Selbstbaulösung vorschlagen. Mein Ansatz: Pro Therarium ein Easy-Soft, 1 Tempsensor, 1 Luftfeuchtigkeitsensor, 1 Aufbau-Kleinverteiler mit transparenten Schutzdeckel, damit die Uhr sichtbar ist. Alles klein und kompakt und vorallem sehr zuverlässig ! Kosten pro Einheit ca. 250 . Die Tiere werdenes dir danken. Schöne Grüße Josef
@Josef: Hallo Josef, das Projekt welches ich hier machen will, schaltet hier ja nur extrem Werte. Das heißt es geht hier nur um sehr Heiße Sommertage oder sehr kalte Wintertage. An solchen Tagen soll halt eine zusätzlich Heizung oder Kühlung angehen. Das Terrarium ist schon durch die Beleuchtung auf eine richtige Temperatur eingestellt und normalerweise sollte die Schaltung nie zum Einsatz konmen. Wir reden hier von einem Temperaturbereich einer normalen Mietswohnung ! Jeder der z.B. unter dem Dach wohnt weiß das es dort sehr warm werden kann an heißen Sommertagen. In solch einem Fall hab ich dann immer meiner Beleuchtung ausgeschaltet im Terrarium um etwas die Temperatur zu senken. So hab ich halt was automatisiertes aber die Tiere überleben es auch wenn ich gar nichts mache....es wird keine 100°C im Terrarium. In der Wüste gibt es Nachts Minus Grade und Tagsüber bis zu 50°C und es macht den Tieren nichts. Also danke für deine Vorschläge aber bitte gib mir keine Ratschläge bezüglich meiner Tiere, ich glaube da kenn ich mich besser aus. :) Gruss, Marius
Hallo, wo bekomm ich den Digitale Feuchte bzw. Temperatursensoren her ? Am besten wäre natürlich gleich ein Kombi-Sensor der beide Werte Messen kann. Bisher habe ich bei google nur den SHT11 bzw. SHT15 gefunden...jedoch auch keine Bezugsquelle für diesen !? Gibt es andere Alternativen mit Bezugsquellen ? Danke, Marius :)
Hi, ich glaube Farnell hat diese. Oder mal bei www.driesen-kern.de versuchen. Zusätzlich gibt es noch hilfreiche Infos im Forum, z.B. http://www.mikrocontroller.net/forum/read-4-93267.html Gruss Andreas
Habe meine bei micromaus.de bestellt und war zufrieden mit der Lieferung. Implementierung ist relativ einfach und der Sensor muss nicht mehr weiter kalibriert werden. Eine Taupunktberechnung ist auch einfach möglich. Habe allerdings den SHT75 verwendet, da ichs nicht so mit SMD haben :-)
@marius : Danke ! Super Hompage. Nette Tierchen. Bust scheinbar ein Profi. Darum sollte auch deine Steuerung so sein. Kann dich beraten betreffend guter Steuerung, weil ich viel auf Lager habe. Schöne Grüße Josef
Habe lCD Module 4-Zeilig mit 4 Tasten mit 4 Ein - und 4 Ausgängen. Es kann Temperaturen erfassen und hat auch eine Uhr eingebaut. Ein Summer für zB Alarme ist auch da. SG Josef
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.