Terrarium Steuerung "terraMat" OpenSource Projekt

bitleiste

Neues Mitglied
29. März 2008
4
0
0
Stuttgart
Sprachen
Hallo zusammen,

warum dieses OpenSource Projekt ?
auf der Suche nach einer günstigen Terrarium Steuerung im Internet und
in vielen Foren hatte ich die Idee so eine Steuerung eventuell doch
selbst zu Entwickeln.

Entweder waren die Fertiggeräte Preislich am oberem Limit, oder die
Selbstbau Projekte waren noch im Anfangsstadium.

Die einzige Steuerung war die TerraControl von Bess electronics GmbH die
meinen Anforderungen entsprachen, der Preis war leider am oberem Linit.

Motivation
Ich habe das Selbstbau Projekt dann einfach mal terraMat "terra" für
Terrarium "Mat" für Automatik getauft, den jedes Kind braucht einen
Namen :)-.

Was soll terraMat alles können ?

- Temperatur-Regelung, Schaltvorgang kontaktlos durch einen Triac

- Temperatur-Nachtabsenkung, Tag- und Nachttemperatur separat
einstellbar

- Luft-Feuchte-Regelung, über relative Luftfeuchtigkeit und Luft-
Temperatur Regelung

- Multifunktions-Zeitsteuerung, Beleuchtung, Mondlicht

- Kühlung im Sommer, über Ventilator

- Sonnen- Aufgang und Untergangs Simulation

- Trinkwasser-Füllfunktion

- Alarmfunktionen, Temperatur-Alarm, Wasser-Alarm

- Display

- USB Anschluss

- Kostengünstig

- Standart Bauteile

- Nachbausicher


Umsetzung

Als Steuerungs Hardware kommt ein ATmega 128 von ATMEL zum Einsatz. Mit
diesen RISC Controller habe ich in einigen Projekten schon gute
Erfahrung gemacht.

Für die Anzeige habe ich ein Display von Electronic Assembly ausgewählt,
es ist in vielen Farbvarianten erhältlich und ist Preislich
erschwinglich.

Auf der suche nach Sensorik für Temperatur und Feuchtigkeit bin ich auf
FOST02x von Hoperf Electronic gestossen, die Sensoren haben ein Serial
Interface (Bidirectional 2-wire) I2C.
Die Tolleranzen sind von der Genauigkeit im oberen Bereich

Humidity Accuracy [%RH] Luftfeuchtigkeit ±4.5
Temperature Accuracy[K] @25°C Temperatur ±0.5

Ein fertiges DCF-Empfangsmodul mit passender DCF-Antenne für 4,95€ habe
ich bei POLLIN http://www.pollin.de/shop/shop.php auch gefunden.
Abgestimmt auf den Zeitzeichensender DCF77 nahe Frankfurt. Anhand des
Ausgangssignals kann mit Hilfe eines Mikrocontrollers die sekundengenau
Zeit und Datum ermittelt werden.

Technische Daten:
- Betriebsspannung 1,2...5,5 V-
- Stromaufnahme < 90 uA
- Empfangsfrequenz 77,5 KHz
- Platinenmaße (ohne Antenne) LxBxH: 15x11x8 mm

So der erste Schritt ist soweit Umgesetzt (Platine der Steuerung
Funktioniert Hardwareseitig) nun geht es an die Software.

Ich würde gerne ein RTOS für Atmel einsetzen, wer hat Erfahrung und was
sollte ich einsetzen.

Schöne Grüße Andreas B.
 

Anhänge

  • TerraMat [640x480].jpg
    TerraMat [640x480].jpg
    56,4 KB · Aufrufe: 195
  • Platine.JPG
    Platine.JPG
    89,4 KB · Aufrufe: 156
  • Bestückt.JPG
    Bestückt.JPG
    70,4 KB · Aufrufe: 162
Umpf! :eek:
Das sieht nach einem tollen Projekt aus.

Aber: Ein OS? Ist das nicht wie mit Kanonen auf Spatzen schießen?

Es gibt bei den AVR-Freaks aber ein PDF in dem steht wie man mit C und einem bisschen Assembler(für den Stack) einen Sheduler implementieren kann.

Oder:MicroC/OS-II (Darüber gibt es ein Buch)

- Nachbausicher
Darunter würde ich ohne den ganzen Text nicht das verstehen was du meinst. So wie ich das verstehen würde steht es im Widerspruch zu Open Source.
 
Hallo Andreas :)

Ach sieh mal an ! Vorhin haben wir noch über Aquariumsteuerungen gesprochen und hier ist (fast) die Lösung ;)

Ja, ich weiß, ein Aquarium ist kein Terrarium, aber zumindest die Grundfunktionen in der Steuerung sind identisch. Licht, Heizung, Schaltuhr. Beim Aquarium ist mehr der Leitwert als die Luftfeuchte interessant, aber das ist Sensorensache.

Du schreibst, die Hopper-Sensoren seien Dir am oberen Limit. Hast Du schon mal über einen SHT11 oder SHT71 nachgedacht ? Gut, die Dinger kosten etwas, sind aber sehr genau.

Thomas
 
Terrariensteurung

Hey all

Ich stehe gerade vor dem selben Problem...Terrariensteuerung.
Ich habe eine Mitsubishi SPS mit allem möglichen Erweiterungen rumliegen kann sie aber nicht programmieren...
Auch habe ich noch nen C-Control chip von Conrad der hat mir zu wenige Ein und Ausgänge. Jetzt habe ich mir bei Pollin das Atmel Evolution Board 2.0 mit nem Mega32 Chip und nem DCF77 Modul bestellt.
Jetzt kommt wieder die Programmierproblematik...
Ich habe mir BASCOM angesehen und besorgt was ich aber vermisse ist eine entsprecende Anleitung zu den Befehlen oder eine Art Programmierkurs.
Habe schon gegooglet aber habe nichts in der Art gefunden zumindest nicht auf deutsch. ´Weiss jemand wo man sowas herbekommt ??? am besten natürlich für lau da das neue Terrarium und die Komponenten schon ne menge Geld verschlungen haben...

Was ich Steuern möchte ist nahe zu identisch mt dem von Thomas


- Licht (HQL)
- Licht Halogenstraler
- Licht UV Leuchte
- Temperaturmessung 3 mal ( Oben und Unten im Terrarium und im Aquarium )
- Luftfeuchtigkeitsmessung
- Wasserpumpe für Wasserfall
- Nebelanlage
- Beregnungsanlage
- Lüfter für Kühlung

- Anzeige für Temp. und Luftfeuchtigkeit
- Taster für Manuelle Schaltung der einzelnen Komponenten

Und was noch schön wäre die Messergebnisse zu Protokollieren und am PC auszuwerten.

Gruß

Alex
 
Hallo Hoschi!

Erst einmal, möchte ich dich hier im Forum willkommen heißen! :hello:

Anfänger sind immer gern gesehen und wenn du mit deiner Entwicklung mal gar nicht weiter kommst, versucht dir hier bestimmt einer zu helfen!


Da hast du dir aber einiges vorgenommen. ;)

Vielleicht solltest du mit deiner Steuerung erst einmal im kleinen beginnen und sie dann schrittweise erweitern.
Wie wäre es, wenn du erst einmal versuchst die wichtigsten Funktionen deines Terrariums zu entwickeln. Da steckt dann schon eine Menge Übungspotential drin!

Da du über eine SPS und der C-Controll zum AVR gekommen bist und nun auch erst einmal BASCOM lernen musst, würde ich dir zwei Bücher empfehlen:

Um eine Übersicht der wichtigsten Sprachbefehle zu bekommen besorg dir doch das Buch von Marius Meissner; BASCOM-AVR Sprachbefehle.
Letztlich ist das die deutsche Ausgabe der BASCOM-Hilfe und damit bekommst du einen recht guten Überlick.

Wenn du Hilfen und Vorgaben an nachvollziehbaren Schaltungen suchst, schau dir mal das Buch von Claus Kühnel; AVR RISC Mikrocontroller mit BASCOM-AVR an.

Natürlich gibt es diese Bücher nicht für lau, aber es ist eine Investition fürs Leben. ;)
Schließlich kannst du das erlernte Wissen dann später auch in anderen Steuerungen verwenden und nicht nur für deine Terrariumsteuerung!


Vielleicht magst du dich hier im Forum auch erst einmal Vorstellen.
Es hilft oft vielen Usern, wenn man den Wissensstand und die ggf. vorhandene Vorbildung eines neuen Users kennt. Meistens sind die Antworten zu deinen Fragen dann auch präziser. ;)
Schau doch einfach mal HIER in das Willkommens-Forum.


Ich wünsch dir auf alle Fälle viel Spaß bei deiner Entwicklung und natürlich auch hier im Forum! :)

Schöne Grüße,
Cassio
 
Hallo Alex,

auch von mir ein herzliches Willkommen.

Es gibt noch ein Buch für Anfänger: AVR Mikrokontroller Lehrbuch von Roland Walter. Die Beispiele sollten mit jedem Board nachvollziehbar sein.

Gruß,

Michael
 
Hallo bitleiste, hallo Gummibaer.

Wieso schmeißt ihr eure beiden Projekte nicht zusammen und bastelt an einem "großen". Nur mal so, kommt dann sicher was gutes dabei raus. Hätte auch Interesse daran. Allerdings habe ich kein Terrarium, sondern ein Aquarium. Macht aber fast keinen Unterschied, die Grundfunktionen werden bei beidem gebraucht.

http://www.avr-praxis.de/forum/showthread.php?p=4120

Thomas
 
@Knickohr das denke ich auch ;)

Mann bitleiste is ja weit ;)
Ich bin noch am bau des Terrariums ;)

@bitleiste

Hättest du interesse an einem gemeinschaftsprojekt ?!
[Ja/Nein] << Bitte ankreuzen
Screenshot vom Bildschrim machen und ans nächste Posting hängen *sfG*
 
Hey Andreas

Klar können wir zusammenarbeiten :cheers:

Mein Terrarium ist seit 2 Wochen parat...

Mein Board von Pollin und die Relaiskarte sind am Freitag angekommen.
Hab beide Platinen bestückt und getestet... also Funktion is da.
Jetzt werdn ich mal ein bischen mit dem Mega32 Board den I/O Ports und der DCF77 Uhr experimentieren und dann die Schaltung entwerfen. Und bei der probiererei komme ich hoffentlich auch dem BASIC näher...denn das scheint mir im moment noch was komplex.....:confused:
Ich bin mir noch nicht ganz schlüssig was für eine Tastatur und was für ein Diplay zu:confused: r Anwendung kommt....
Habe noch ein altes Laptop was ich für den Zweck schlachten könnte und somit alle Probs gelöst hätte incl. der Datenspeicherung und der Statistikauswertung.

gruß

Alex
 
Hallo Knickohr - Gummibaer und hoschi2005,

bin mal wieder im Forum :rolleyes: , die Hobby Zeit ist im Moment ein bischer rar.

Die Idee für ein Gemeinschafts Projekt ist gut, ob Terrarium oder Aquarium einige Funktionen sind ja annähernd ähnlich, und der Ideenaustausch ist natürlich Optimal.

Knickohr hat ja schon einige Projekte Umgesetzt, ich hatte mit Ihm auch mal kurzen Kontakt wegen einer Platinen Bestellung.

Ein SHT11 habe ich mir Besorgt und er läuft auch schon, die Genauigkeit ist Überaschend gut.

So dann schauen wir mal wie wir da zusammen kommen ?

Was wir zuerst klären sollten ist die Entwicklungsumgebung, da bin ich offen, ich Programmiere normal in CodeVision oder IAR.

Sollte jemand von Euch eine Platine zum Entwicken brauchen, ich gebe sie zum Selbskostenpreis von 8,50€ + Versand ab.

Schöne Grüße Andreas B.
 
*freu*

Hallo Andreas, Hallo Knickohr Thomas,

hört sich ja fast so an, als wenn mein Originalcode für den SHT71/SHT11 hier auch wieder zum Einsatz kommt, was mich natürlich sehr freut weill auf diesem Weg die Entwicklung nicht umsonst war.

Grüße,
Markus
 
Aller Anfang ist schwer....!!!

Hey all

Ich bin nun schon seit 2 wochen am frickeln...
Habe das Board von Pollin mit nem mega 32-16, wobei ich anfangs est mal probleme hatte das Teil mit meinem Pc zu verknurpseln um dem Mega zu programmieren stundenlang gegooglet und dann hats doch noch gefunzt indem ich mir dann ein Parallelpotkabel getackert habe. Parallel dazu Bascombuch bestellt und Bascom bestellt. Pony runtergeladen und schon hat sich der Mega astrein programmieren lassen. War ganz stolz darauf die ersten LED´s zum leuchten zu bringen und die ersten Taster abzufragen....
So nun in den Krabbelkisten gestöbert und ein paar LCD´s gefunden.
Wieder gegoogelt und zwei nächte weiter liefen die ersten Wörter übers Display angeschlossen als 4 bit also 6 Ausgänge.
Heute kam meine Bestellung aus "Polen" !! da waren auch 5 DS18B20 1Wire Temp-Sensoren dabei. Das Stück für 1€ . Programm gesucht umgeschrieben und versucht....aber nix war erst hatte sich garnix getan nach 5 Sunden habe ich ne Tempanzeige von sage und schreibe über 30.000 Grad angezeigt.
Nach weiteren versuchen bekam ich immerhin ne Anzeige von 15,5 Grad dan hatte ich für heute keinen Bock mehr.
Hatte auch mal versucht Daten über die RS232 und Hyperterminal auszugeben
aber auch das hatt überhaupt nicht geklapt...
Wird früher oder später schon noch klappen.....
Wenn die Zwei Sachen klappen get es mit dem DCF77 Modul von Pollin weiter...

bis dann

Alex
 
Hi Alex,

Hatte auch mal versucht Daten über die RS232 und Hyperterminal auszugeben
aber auch das hatt überhaupt nicht geklapt...
Wird früher oder später schon noch klappen.....
was für ein böses Wort. Das absolute Haßprogramm.
Nimm TeraTerm oder PuTTY 0.6.0 das nehme ich immer. Die tun wenigstens
das, was man möchte. Außerdem kann man bei PuTTY auch total krumme
Baudraten einstellen (z.B. 205Baud). Hyperterm hat da nur vorgegebene Werte.

Gruß
Dino
 
Hallo Alex, hallo Dino,

ich kann noch HTerm von Tobias Hammer empfehlen, es ist sehr schön programmiert und auch gleich mit ein paar Features ausgestattet, die einem die Entwicklung von Mikrocontrollersystemen erleichtert.

Grüße,
Dirk
 
Hi,

ich habe über die Feiertage mein Terrariumprojekt mal in Angriff genommen.
Zum Einsatz kommen folgende Bauteile :

1x Atmega32
1x Uln2003A
4x Printrelais (Die kleinen können 250 Watt vertragen!!!)
1x Tasterfeld á 4 Taster
1x Display 4x27 von Pollin
1x Dallas Ds1820 Temperatursensor.

Geplant ist noch ein Dimmer, der im Terrarium Sonnenauf- und Sonnenuntergang Simuliert.

Ich Denke das Ich in 2 Wochen fertig bin.

Habe noch ein paar Bilder angehängt.

Gruß
Jens
 

Anhänge

  • DSC00206.JPG
    DSC00206.JPG
    51,1 KB · Aufrufe: 71
  • DSC00207.JPG
    DSC00207.JPG
    40,6 KB · Aufrufe: 57
  • DSC00208.JPG
    DSC00208.JPG
    48,3 KB · Aufrufe: 71
  • DSC00209.JPG
    DSC00209.JPG
    46,6 KB · Aufrufe: 88
Hallo Jens,

das Viech gefällt mir, hast Du gut getroffen. So wie der dreinblickt, traut er Dir ja nicht viel zu...:rolleyes:


Gutes Gelingen,

Michael
 
Hallo Jens,
schöner Zufall!
Gleiches Projekt gleiches Tier!!
Hatte leider in den letzten Wochen nicht so viel Zeit.
Meine Terra-Steuerung läuft gerade im Test.

>DCF77
>LCD nur 2*16
>RTC DS1307
EEProm 24C02
Zum Speichern der Schaltzeiten
>LM75 Als Temperaturfühler
>Insgesamt 175W 230V Halogen-Strahler
Werden über PWM gedimmt Sonnenauf.- und Untergang
und mit LM75 begrenzt (Temperaturregelung)
>HQL Tageslicht
>300W UV
>6 Blaue LED als Mond für die Nacht (sieht einfach geil aus)
>Für die Ungeregelten Ausgänge Benutze ich je einen S202SE2
Solide-State Relais 8A mit integriertem Nullspannungsschalter
LED Eingang vom Optokoppler 8mA (Conrad)
> Dimmer , DC gesteuert auch von Conrad
Ach übrigens, NOCH läuft das ganze auf einem Atmega8.
Soll aber bald auf einen 128 umgebaut werden (wenn Zeit)

Gruß Siggi
 

Anhänge

  • Berlin Rebecca 350.JPG
    Berlin Rebecca 350.JPG
    56,9 KB · Aufrufe: 47
Hi Andreas,

@RS232 Terminal.

ich habe http://www.docklight.de/info_en.htm, ist von meiner Seite zu empfehlen.
sieht ganz gut aus und kann ne Menge. :)

Problem: Mal wieder ne Eval-Version (wenn man nix zahlen will). Dadurch kein
Copy ins Clipboard usw. ...

PuTTY ist da nicht eingeschränkt.

Ist aber auch ein wenig Geschmackssache und Gewöhnung mit bei, welches
Terminalprogramm man gerne verwendet.

Gruß
Dino
 
Hallo nochmal an alle,

dieser Beitrag wurde doch als „OpenSource Projekt“ gestartet.
Könnt ihr nicht Teillösungen aus euren Steuerungen, wenn möglich als lauffähige Module, einstelle?
Würde mich auch mal interessieren, wie andere die verschiedenen Aufgaben lösen.
Ich mach mal den Anfang,

Zeitsteuerung:
Was kann das Teil:
Die Steuerung soll beim Start und bei Änderungen sofort, alle Ausgänge richtig Stellen.
Bis zu 8 Schaltkanäle, möglichst einfache Verwaltung der Schaltzeiten.(Kann man auch als Data im Code gespeichert)
Speichern der Daten im Eeprom

Wenn euch das Ganze hier nicht gefällt, last es bitte in einen eigenen Thread verschieben.
Code:
'-------------------------------------------------------------------------------
'       Schaltzeiten und Bitmuster zum Ausgänge einstellen aus Eeprom einlesen
'-------------------------------------------------------------------------------

For Schalt_adr = 11 To 31                      

 Call Read_eeprom(schalt_adr , Eewert)                      'oberer Nibble
 X = Eewert * 256
  Schalt_adr_low = Schalt_adr + 30
 Call Read_eeprom(schalt_adr_low , Eewert)                  'unterer Nibble
 X = X + Eewert
List_1(schalt_adr) = X                                      'Schaltzeit steht jetzt 4stellig in List_1(11-31)

Schalt_adr_3 = Schalt_adr + 60                              'zustand der Ausgänge als Byte 
 Call Read_eeprom(schalt_adr_3 , Eewert)
 List_2(schalt_adr) = Eewert

Next


'##############################################################################
' Hauptprogramm
'##############################################################################

do


Gosub Schaltuhr1

loop
  

'-------------------------------------------------------------------------------
'                                        Schaltuhr  1
'-------------------------------------------------------------------------------
Schaltuhr1:

Ist_zeit = _hour * 100 : Ist_zeit = Ist_zeit + _min         'zum Rechen h und min als 4stellig  (word)

For Zaeler = 31 To 11 Step -1   

Schalt_zeit = List_1(zaeler) Mod 10000                        'nur die Hinteren 4 Stellen der Variablen List_1(XX)
  
If Schalt_zeit => 2400 Then Goto Ungueltig                  '>= 24:00   überspringen' entspricht auch  nicht prog. Schaltzeiten
                                                             ' damit kann man auch einen Eintrag vorübergehen deaktivieren

If Ist_zeit >= Schalt_zeit Then
Schalter_1 = List_2(zaeler).0                               ' Haloben, mit PWM an B.3
Schalter_2 = List_2(zaeler).1                               'HQL an B.4
Schalter_3 = List_2(zaeler).2                               'UV-Lampe an B.5
Schalter_4 = List_2(zaeler).3                               'Mond
'kann bis 8 bzw List_2(Zaeler).7 erweitert werden (1Byte)
Exit For
End If

Ungueltig:
Next


Return
'------Ende Sachltuhr 1---------------------------------------------------------
 

Über uns

  • Makerconnect ist ein Forum, welches wir ausschließlich für einen Gedankenaustausch und als Diskussionsplattform für Interessierte bereitstellen, welche sich privat, durch das Studium oder beruflich mit Mikrocontroller- und Kleinstrechnersystemen beschäftigen wollen oder müssen ;-)
  • Dirk
  • Du bist noch kein Mitglied in unserer freundlichen Community? Werde Teil von uns und registriere dich in unserem Forum.
  •  Registriere dich

User Menu

 Kaffeezeit

  • Wir arbeiten hart daran sicherzustellen, dass unser Forum permanent online und schnell erreichbar ist, unsere Forensoftware auf dem aktuellsten Stand ist und der Server regelmäßig gewartet wird. Auch die Themen Datensicherheit und Datenschutz sind uns wichtig und hier sind wir auch ständig aktiv. Alles in allem, sorgen wir uns darum, dass alles Drumherum stimmt :-)

    Dir gefällt das Forum und unsere Arbeit und du möchtest uns unterstützen? Unterstütze uns durch deine Premium-Mitgliedschaft!
    Wir freuen uns auch über eine Spende für unsere Kaffeekasse :-)
    Vielen Dank! :ciao:


     Spende uns! (Paypal)