Forum: Mikrocontroller und Digitale Elektronik Aquariensteuerung?


von jens343 (Gast)


Lesenswert?

Hallo liebe Freunde des Forums, heute möchte ich euch mal wieder mit 
einer dummen Frage beglücken.

Also in mehreren Threads habe ich schon mitbekommen dass Leute über 
Aquariensteuerungen diskutieren, bis jetzt kontne ich aber nochkeine 
brauchbaren Ergebnisse vernehmen, oder veröffentlichen Leute ihre 
Sources nicht mehr unter der GLP?

Oder habt ihr in dem Bereich etwa aufgegeben wegen der Komplexität?

Ware natürlich für mich perfekt als Noob wenn es schon einen Sourcecode 
gebe den ich ändern kann.

Ich hab auch schonmal damit angefangen aber bis auf einige Routinen ein 
Dbox 1 Display schlampig anzusteuern ist nicht sehr viel herausgekommen.


Ich scheiter leider schon an einfachen Dingen wie PT100 an AVR oder 
RTC+AVR,
es sind imemr so triviale Punkte wie ADC->rechnen->Klartextwert
oder BCD Zeitkonventierungen.
Dazu kommt noch die Unfähigkeit Kryptischen C Code zu verstehen

Wie überlebt man das proggen mit sovielen Sonderzeichen nur
?



Gruß Jens

von Thilo M. (Gast)


Lesenswert?

Hallo jens343,

ich habe zwar keinen Code für dich, kann dir aber nur raten, deine 
Steuerung zuerst ausführlich auf Papier niederzuschreiben und den 
Ablauf sauber zu strukturieren. Und zwar in Form eines detaillierten 
Flussdiagrammes. Dann kannst du die einzelnen Funktionen sauber 
programmieren und testen. Ich habe einen Heizungsregler nach dieser 
Vorgehensweise gebaut und programmiert, der Überblick ist immernoch da 
:).

So lernst du auch den C-Code zu verstehen und ihn einzusetzen. Verlange 
nicht zu viel auf einmal, das kostet eben etwas Zeit.

von Seb H. (seppl)


Lesenswert?

Nana bloß keine Nettigkeiten ^^
Jeder hat mal klein angefangen. Also bezüglich C für AVR kann ich mal 
wieder nur auf das Tutorial hier auf der Seite verweisen. Mann muss es 
ja vielleicht nicht zu 100% durcharbeiten aber es ist ein guter 
Leitfaden.

Wenn du dort im Tutorial mal liest und dir noch nen Mega8 mit einem Poti 
und Festwiderstand als Spannungsteiler besorgst, kannste auch den ADC 
ausgiebig testen. Am besten noch einen MAX232 damit du die umgerechneten 
Werte auch an den PC senden kannst.

Und dann lässt du deinem Spieltrieb einfach mal freien Lauf. 0-100%, 
0-100 °C und so weiter

von jens343 (Gast)


Lesenswert?

Ist das nun zu Assembler gemeint mit dem genauen Ablauf?

Na ja Heizunsteuerung muss auch noch irgendwie rein, aber das wichtigste 
ist eben die Lichtsteuerung.
Dort kommen EVG's mit 0-10V Eingang zum tragen,eindeutige Aufgabe von 
einem Timer.

Da kann man sich Sachen ausdenken die es nicht gibt.Z.b 
Sonnenaufgangssimulation, oder leichte Einbeziehung von einem 
Außentemperatursensors oder Beleuchtungsmesser ind die Dezeitige 
Wassertemperatur und Lichtintensität.

Messgeräte die kein Mensch braucht, Strömungspumpen....

Ich würde mal ein perfektes Plansheet machen falls jemand es will,aber 
ich muss mich ja leider für den Anfang stark beschränken, wegen meines 
Könnens.


P.s. Mein Schreibstiel ist normalerweise Dauerklein, ich binn ein ICQ 
Chatter mit Jugendsprache aber bemühe mich gerade wirklich ein 
einigermaßen gute Deutsch herüberzubringen,ich weiß dieses Forum hat ein 
hohes Niveau und das wollen wir ja schließlich erhalten, auch wenn dies 
für mich heißt: Arsch zusammen und mehr Tasten als sonst zu benutzen.

Natürlich binn ich shconmal hier negativ aufgefallen da ich ungwöhnliche 
Denkansätze habe, die mich nicht selten auch in Schwierigkeiten gebracht 
haben, vergleichen sie meine Beiträge zu der Gabelschaltung.

Gruß Jens

von Uhu U. (uhu)


Lesenswert?

@ jens343:

Laß dich nicht von diesem Troll ins Bockshorn jagen. Der bringt selbst 
nichts auf die Reihe und tobt seinen Frust an Anfängern aus.

> Ist das nun zu Assembler gemeint mit dem genauen Ablauf?

Nein. Das ist in C mindestens genauso wichtig.

von jens343 (Gast)


Angehängte Dateien:

Lesenswert?

Ich wollte das ganze schonmal vor nem ganzen Jahr durchziehen, von daher 
hat er nun Recht, vor lauter AHDS und Prüfungen komtm man irgendwie in 
einen Zustand wo man zu nichts Fähig ist.

Ich wollte schon vor einem Jahr eine Platine ätzen und Bohren, aber vor 
den Kosten schrecke ich eben bis heute zurück, zumal man eben mit einem 
1mm Holzbohrer nicht weit kommen kann.

Damals hat man mir den Plan für ein gutes Board gegeben, ich kann es mal 
als zip anhängen, aber ich glaube beim Ätzplan ist etwas unvollständig,
Ich vermisse irgendwie einen C von der Resetleitung nach Masse.


Ansonsten habe ich noch einen alten PC als Programmiermaschine, der bald 
durch  einen neuen ersetzt werden soll, irgendwie neigen Pentium MMX 
Prozessoren falsch zu rechnen.

Als Programmierinterface will ich das minimalistische 3 Widerstände an 
den Parallelport verwenden... na gut das wollte ich schon vor einem Jahr 
aber ich binn um kein Stück weiter gekommen.

Softwaretechnisch hab ich theoretisch en bissle den Simulator gequält.


Aber mal eine andre Frage. Wieviel hat ihr denn für euer AVR Bastelkit 
mit Breadboars und all dem ausgegeben?

Im Anhang ist das Board zu sehen das mir jemand mal zum nachbauen 
gezeigt hat.

Gruß Jens

von Jens 3. (jens343)


Lesenswert?

So jetzt reichts , was fällt euch denn ein um andere Leute 
schlechtzumachen?
Wo seid ihr bloß angelangt.


An alle, ich schreibe nur noch Ausdrücklich von meinem registrierten 
ACC.

Gruß Jens (mein Markenzeichen)


P.s @ Gast hättest du den Mumm auch unter richtigem Namem zu Posten?
Troll dich

von Jens 3. (jens343)


Lesenswert?

Ok darum hat sich nun zum glück ein Mod gekümmert.

Also nun back to Topic , wer wäre mir beiret gegen in kleines Endgeld 
das ganze zu ätzen, vll sogar zu bohren?


Gruß Jens

von Karl H. (kbuchegg)


Lesenswert?

Jens

Schreib mir eine Mail an
  Karl . Buchegger @ liwest . at

mit deiner Post-Anschrift.
Allerdings: Ich bin die nächsten 2 Wochenenden unterwegs, kann
als schon eine gewisse Zeit dauern, bis ich die Platine machen kann.

PS: Die Platine ist von mir. Der fehlende C ist schon ok. Den
braucht kein Mensch, da man dem Mega16 die Startzeit vorgeben
kann. Der C macht auch nichts anderes. Einzig die Störfestigkeit
wäre mit C ev. etwas besser.

Programmer: Ich hab zwar selbst auch so einen Widerstandsprogrammer
im Einsatz (*), würde aber nicht wagen, ihn zu empfehlen, da hier
im Forum immer wieder von Problemen damit berichtet wird.
Falls du dabei bleibst: Heb dir auf jeden Fall deinen alten
PC-Rechner auf! Die Chancen dass dieser Simpel-Programmer damit
funktioniert, sind anscheinend wesentlich höher als mit so einem
neumodischen Ulra-Dupa-Hyper Vista Teil. Ganz abgesehen davon, dass
die meistens keine serielle Schnittstelle mehr haben und die ist
dann doch ein sehr nützliches Element für Ausgaben.


(*) Zur Ehrenrettung: Ich benutze den um bei einem neuen Proz die
Fuses umzustellen. Danach kommt sofort als erstes ein Bootloader
in den Proz. (Dank an PeDa) und dann hat der Programmer ausgedient.

von Seb H. (seppl)


Lesenswert?

Das sieht ja nicht besonders wild aus. Könnte ich wohl beim nächsten 
Durchgang mit erledigen, dann lohnt sich das Anheizen der Maschine 
wenigstens etwas mehr.

Wo hastn die Schaltung her?

von Karl H. (kbuchegg)


Lesenswert?

Seb H. wrote:
> Das sieht ja nicht besonders wild aus. Könnte ich wohl beim nächsten
> Durchgang mit erledigen, dann lohnt sich das Anheizen der Maschine
> wenigstens etwas mehr.
>
> Wo hastn die Schaltung her?

Ist mein Erstlingswerk, Version 2 :-)

Die Platine ist genau eine halbe Europaplatine gross.

von Jens 3. (jens343)


Lesenswert?

Programmiermashcinen hab ich insgesammt 3, wenn ich meinen Gamerpc 
hinzuziehe,

Ich habe zum Glück auch noch mehrere ISA Paralellportkarten =)

Ach der AVR legt den Reset fest? BODen FUSE, richtig?

LAss dir Zeit falls du was für mich ätzen würdest =)

Gruß Jens

von Ulli V. (vex)


Lesenswert?

Hallo Jens.. hab grad in Planung sowas zu machen.

Es soll damit Licht, Heizung und Ph geregelt werden.
Bisher hab ich nur einen Ph Regler fertig, der mittlerweile schon seit 
einen Jahr seinen Dienst verrichtet (so gut, dass ich nen Dennerle 
Controller wieder verkauft hab g)

Das einzige Problem an der Sache, es wird noch ne Weile dauern, bis ich 
damit fertig bin.

Gruss Ulli

von alexander_d (Gast)


Lesenswert?

Halo Jens,

den Schaltplan deiner CPU-Leiterplatte habe ich mir gerade angesehen. 
Wenn die Platinengröße nicht unbedingt eine halbe Eurokarte sein muss, 
kannst du das Atmel Evaluationsboard von Pollin nehmen (Best.Nr. 810 
046). Das kostet EUR 14,95 mit allen Bauteilen, die du benötigst. Die 
Ports sind alle auf eine 40-polige Stiftwanne herausgeführt.

Gruß,
Alexander


PS: Würde gerne unter meinem account antworten, aber wenn ich beim Login 
Benutzername und Passwort eingebe, passiert gar nichts, auch keine 
Fehlermeldung. Weiß jemand, woran das liegt?

von M. K. (kichi)


Lesenswert?

@ Ulli K.
Kannst du mal bitte Infos zu deinem PH-Regler posten? Das interessiert 
mich, auch wenn ich mein Auquarium momentan nicht aufgebaut habe...

von Rainer (Gast)


Lesenswert?

Es gibt auf der Seite

www.Leuchtmuff.de

die Beschreibung für eine Aquarien-Lichtsteuerung die Sonnenaufgänge / 
Untergänge , Mondschein , usw. darstellen kann.

Einfach mal reinsehen.

von Jens 3. (jens343)


Lesenswert?

Was für ein Name aber danke für die Seite.


Ich rege jeden dazu an alles was er mal gemacht hat von einem Dimmer bis 
zum Webserver als Projekt zu Posten, am besten in einer vernünftigen 
Datenbank.
Also AvrFreaks.com =) da hab ich mal unter tank control nachgeschaut 
aber kam ned viel bei raus, leider.

Gruß Jens

Edit: Boah die seite hat es in sich, also ich hab jetzt echt die Wahl:

Rad in Assembler neuerfinden und vieeeel lernen oder sich endlich dazu 
erbährmlichen C zu lernen, aber das lasse ich lieber.

Erstmal von Grundauf gescheit Assembler lernen, damit kann man alles 
ausdrücken(wenn man den Durchblick hat) ohne auf irgendwelche 
Funktionsblöcke angewießen zu sein.

Thumbs up

von Platy (Gast)


Angehängte Dateien:

Lesenswert?

Ja hm, baue auch gerade so ein Teil, aber um Himmels Willen, 
Programmierung in C auf Basis von FreeRTOS/GCC auf einem ATmega644.

Bedienung über LCD, Cursortasten und Direkttasten für Schalt- und 
Dimmkanäle (wichtig bei der Aquariumpflege)
Dimmen/Schalten/Zeitsteuerung der Neonröhren über 1-10V
Dimmen/Zeitsteuerung von Mondlicht (LED-Leiste), Mondphase nur in 
Planung
Schalten/Zeitsteuerung von CO2, Pumpe, Heizung
Messung/Regelung/Überwachung von Temperatur und CO2
Uhrzeit per DCF77
Serielle Schnittstelle für später mal zur Steuerung/Diagnose per PC oder 
Auslesen der Daten per Webserver.
Das Gehäuse wird aus PVC-Zuschnitten erstellt, in dem hinten gleich die 
vier Baumarkt-Steckdosen eingelassen werden (siehe Bild)

Der Schaltplan ist eigentlich einfach, der Quelltext ist zu 80% fertig 
und steht bei guten 2000 Zeilen ohne das FreeRTOS. Wer das in Assembler 
macht, ist selber schuld :-)

von Jens 3. (jens343)


Lesenswert?

Wenn zwischenzeitlich zuviel  Zeit ist eben =)

Ich weß ned, lieber mehr schreiben bevor ich auswendig lerne was 
irgendwleche Lib's können und wie man sie einsetzt, bei dem C-Synthax 
wir mir nunja, eben mal schlecht :D


Gruß Jens

von stepp64 (Gast)


Lesenswert?

@Jens 343:

Kann ich vollkommen nachvollziehen. Mit 2000 Zeilen Assembler kann man 
auch schon eine Menge programmieren. Und so schwierig ist Assembler 
nicht. Vorallem muss man sich nicht mit der ganzen Definiererei von 
irgendwelchen Funktionen und Variablen rumschlagen (Klar, die müssen 
schon bekannt gemacht werden, aber welchen Datentyp ich dann auf der 
RAM-Zelle ablege bleibt mir überlassen). Und wenn du die Routinen, 
welche du oft benötigst als Unterprogramm schreibst bzw. in einer 
eigenen Includedatei ablegst, dann geht das ganze an sich auch recht 
flott. Bei einer Aquariensteuerung muss ja nicht groß gerechnet werden, 
so dass das ganze Programm hauptsächlich nur vergleicht und 
entsprechende Schaltvorgänge einleitet. Eigentlich ein schönes Projekt, 
wo man sich drann auslassen kann. LCD, DCF77, PWM, ADC, RS232, Timer 
alles mit drin und keine größeren Zeitprobleme. Hätt ich ein Aquarium 
würde ich mir sowas auch antun. Leider hab ich nur nen Teich...

Gruß
Sven

von Jens (Gast)


Lesenswert?

Na ja find ich auch, als Änfangerprojekt zwar schwer aber ich warte 
erstmal auf die Antwort von unserem Mod und dann bestell ich bei 
Reichelt.

Eigentlich ist das die Feuerprobe, aber ich kopier mir bei Asm auch 
alles zamm, ich sehs ned ein warum ich ne UART-Routine jedes mal 
schreiben soll... die wird auffer Festplatte verstaut und wird dann 
reinkopiert, das ist schnell einfach und verständlich.


Durch die Modularität finde ich das ganze gechillt, man hat viele 
Funktionen und wenn es wo hängt kann man nochimmer andere Module 
abarbeiten.

Ich hab jetzt schon genug lögische Blöcke aber ohne Hardware, alles im 
Simulator - nein, ich brauch was zum anfassen, was realistisch ist.

Irgendwann werd ich ätzen können, das sicher aber die erste Platine lass 
ich semi-professionell machen =) .

Hier die Übersicht

Temperaturmessung (Messen und Mittelwert bilden)(mittel)

Logische Temperaurregelung (H-Brücke für das Peltirelement, eben ein 
bissle logik)(einfach)

DCF77 empfangen/decoden (einfach)(da es schon Fertiges gibt, Rad wird 
nicht neuerfunden)

Zugriff auf einen RTC mit INT (schwer,der Chip gibt mir Zeit und Daten 
zur Beleuchtungssteuerung, aber auch Tempdaten) (ein PCF-Typ mit I2C und 
so 240byte freiem Ram)


Modul zum Abgleich DCF77 und RTC (schwer) (hantieren mit BCD zu Dezimal 
und andersrum) (das serielle RTC will so ein komischesFformat)

Auswertung eines LDR welches im Freien angebracht ist (leicht)

Verrechnung der Umgebungsdaten mit PWM Daten (schwer, keine peil von)

Wolkenalgorithmus (mittel, da ich einen echten Zufallsgenerator 
brauche?)
                  ( Sägezahngenerator ) (dazu bäcuhte ich aber mehr PWM 
Kanäle, externer IC über SPI oder I2C dass der AVR nicht rechnen muss)

PWM-Modul (Annahme der Beleuchtungsinfos)

UARTmodul das den seriellen Ram vollpumpt (schwer,Daten dürfen nicht 
fehlerhaft sein)


Spontan fällt mir nicht mehr ein, des ist mehr als genug Luxus für meine 
Bachflohkrebse im 10 Liter Versuchbecken .

Ich werde mich eher an Leuchtmuff halten


Gruß Jens

von Jens 3. (jens343)


Lesenswert?

Ups Einloggen vergessen, deshlab kein Beitrag-Edit.

Der IC den ich in Betracht für RTC ziehe heißt surprise PCF8583P .
Oder denkt ihr der ist nicht gut, der wurde oft in VRC's verwendet, so 
binn ich auf den gekommen, oder gibt es Alternativen?





Gruß Jens

von Platy (Gast)


Lesenswert?

Ich find's gut und sicherlich lehrreich, was Du vor hast. Bedenke aber, 
dass dieses Zusammenkopieren von Quellen auch seine Gefahren birgt. Wenn 
einmal eine Fehler auftritt, weisst Du nicht wo Du anfangen musst zu 
suchen. Oder anders ausgdrückt: Trau' keiner Routine, die Du nicht 
selber geschrieben/getestet hast. Damit kennst Du die Randbedingungen am 
besten (Stichwort: Ja welche Register muss ich jetzt sichern, welche 
darf ich benutzen, wo müssen die Parameter hin) Aber auch mit 
Testen/Fehlersuche lernt man viel.

Schließlich wagst Du Dich mit Deinem Erstlingswerk an ein 
Mission-Critical Project: Deine Bachflohkrebse drücken Dir sicherlich 
die Daumen.

von Gast (Gast)


Lesenswert?

> Ich weß ned, lieber mehr schreiben bevor ich auswendig lerne was
> irgendwleche Lib's können und wie man sie einsetzt, bei dem C-Synthax
> wir mir nunja, eben mal schlecht :D
1. C ist universeller
2. alle mir bekannten Assembler-Gurus beherrschen C
3. diese Assembler-Gurus schreiben meist erst mal C-Code und
   optimieren dann den generierten Assembler-Code
   (ja, das sind in der Meinung von von einigen keine Gurus, aber
   die machen das nur wenn es auf Laufzeit ankommt, und nur dann)
   (Und die verdienen viel Gel damit)
4. ich moechte Dir keinesfalls davon abraten das zu machen, was Du
   fuer sinnvoll erachtest

von Ulli V. (vex)


Lesenswert?

Thema DCF77  werd ich auch machen nur lass ich das wahrscheinlich nen 2. 
Controller machen (mega 8 o.ä.), den ich dann per spi oder twi auslese
.. mal sehen
Gruß Ulli

von Jens 3. (jens343)


Lesenswert?

Na klar, ich gehe ja jede Quelle durch, mache Anpassungen und schau wie 
ich diese Routinen dann möglichst gut intigriere, da muss man auch 
kleine Teile hin und wieder neuschreiben.

Missionskritisch ist das ganze natürlich nicht, die Fiecher leben seit 
Jahren, Beleuchtung ist eine Halogenlampe die ich manuell Schalte (20W)
Heizung oder Kühlung habe ich bis nun keine, da ich in meinem Zimmer 
immer zwischen 20-28°C habe.

Mein großer Desktop PC heizt das Zimmer schon extrem auf, wenn ich dann 
noch Fernsehe, dann hab ich bei der Öffnung der Gruft um 8 Uhr son Mief 
und so ne Hitze....

Ich hab mal so eine kleine Frage nun, wegen den LED's.
Kennt jemand ein Programm das dreidimensionale Geometrie gut beherrscht, 
da ich die optimale Anzahl an LED's ermitteln und richtig anordnen will.

Ich scheiter leider mit meinem Wissen auf der 11 ten Klasse leider zur 
Zeit,
könnt ihr mir da einen guten Ansatz liefern?

Wegen dem Leuchtmuff, wäre es nicht sinnvoller 4 unabhängige Step-Downs 
mit Glättung zu realisieren anstatt PWM?

Allein von der Lebendsdauer der LED's und Stromverbrauch her gesehen, 
würden sich die paar Euronen  Mehraufwandt doch lohnen?

Gruß Jens

von Hermann G. (df2ds)


Lesenswert?

Hallo Leute,
habe auch mit FreeRTOS auf einem ATMega644 eine Steuerung fürs Terrarium 
gebaut (erstmal Licht, 2 Heizkreise mit PI-Regelung und Sprühanlage 
einschl. aller erforderlichen Sensoren).
Jetzt geht es um die Planung der Erweiterungen. Um das Rad nicht neu zu 
erfinden, hier meine Fragen an euch:

* Hat jemand schon mal unter FreeRTOS auf einem Mega644 einen 
(minimalen) Webserver implementiert? Ich kenne die Sources von Ulrich 
Radig, habe sie aber (zugegebenermaßen) nicht vollständig verstanden :-(

* Wie ist es mit 1-Wire unter FreeRTOS? Da muss doch das Timing recht 
genau eingehalten werden. Sollte man den Kernel so lange "stoppen"? Oder 
ist es egal, wenn zwischenzeitlich mal eine andere Task ausgeführt wird?

Würde mich über jeden konstruktiven Kommentar freuen....

Grüße
  Hermann

von Hermann G. (df2ds)


Lesenswert?

Habe noch vergessen zu erwähnen, dass ich für den "Notfall" schon mal 
darüber nachgedacht habe, den Webserver auf einem zweiten ATMega zu 
realisieren; die beiden CPUs könnten sich dann z.B. über SPI, I2C oder 
etwas ähnliches "unterhalten".

Schreibt bitte mal eure Meinungen dazu!

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.