www.mikrocontroller.net

Forum: Mikrocontroller und Elektronik Aquariensteuerung?

Autor: jens343 (Gast)
Datum: 13.05.2008 21:52

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
Autor: Thilo M. (power)
Datum: 13.05.2008 22:16

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.
Autor: Seb H. (seppl)
Datum: 13.05.2008 22:31

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
Autor: jens343 (Gast)
Datum: 13.05.2008 22:45

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
Autor: Uhu Uhuhu (uhu)
Datum: 13.05.2008 23:04

@ 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.
Autor: jens343 (Gast)
Datum: 13.05.2008 23:18
Dateianhang: Board.zip (183,8 KB, 48 Downloads)

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
Autor: Jens 343 (jens343)
Datum: 13.05.2008 23:21

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
Autor: Jens 343 (jens343)
Datum: 14.05.2008 11:51

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
Autor: Karl heinz Buchegger (kbuchegg) (Moderator)
Datum: 14.05.2008 12:24

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.
Autor: Seb H. (seppl)
Datum: 14.05.2008 12:27

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?
Autor: Karl heinz Buchegger (kbuchegg) (Moderator)
Datum: 14.05.2008 12:31

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.
Autor: Jens 343 (jens343)
Datum: 14.05.2008 20:48

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
Autor: Ulli K. (vex)
Datum: 15.05.2008 07:08

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
Autor: alexander_d (Gast)
Datum: 15.05.2008 10:00

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?
Autor: Michael K. (kichi)
Datum: 15.05.2008 20:51

@ Ulli K.
Kannst du mal bitte Infos zu deinem PH-Regler posten? Das interessiert
mich, auch wenn ich mein Auquarium momentan nicht aufgebaut habe...
Autor: Rainer (Gast)
Datum: 15.05.2008 22:58

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.
Autor: Jens 343 (jens343)
Datum: 15.05.2008 23:02

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
Autor: Platy (Gast)
Datum: 16.05.2008 00:26
Dateianhang: AquaCtrl.jpg (91,9 KB, 51 Downloads)
preview image for AquaCtrl.jpg

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 :-)
Autor: Jens 343 (jens343)
Datum: 16.05.2008 00:39

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
Autor: stepp64 (Gast)
Datum: 16.05.2008 09:22

@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
Autor: Jens (Gast)
Datum: 17.05.2008 00:06

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
Autor: Jens 343 (jens343)
Datum: 17.05.2008 00:09

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
Autor: Platy (Gast)
Datum: 17.05.2008 00:28

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.
Autor: Gast (Gast)
Datum: 17.05.2008 00:38

> 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
Autor: Ulli K. (vex)
Datum: 17.05.2008 10:35

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
Autor: Jens 343 (jens343)
Datum: 17.05.2008 12:40

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

Antwort schreiben

Die Angabe einer Email-Adresse ist freiwillig. Wenn Sie automatisch per Email über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Suchfunktion und Betreffsuche benutzen - vielleicht gibt es schon einen ähnlichen Beitrag
  • Aussagekräftigen Betreff wählen
  • Im Betreff angeben um welchen Controllertyp es geht (AVR, PIC, ...)
  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang
  • JPEG-Dateien (.jpg) nur für Fotos und Scans verwenden
  • Schaltpläne, Screenshots usw. als PNG oder GIF anhängen

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [pre]vorformatierter Text (z.B. Code in anderen Sprachen)[/pre]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel






webmaster@mikrocontroller.netImpressumWerbung auf Mikrocontroller.net