Hallo Mikrocontroller, Nachdem ich es hier Beitrag "Re: Aquarium Steuerung" angekündigt hatte und auch nachgefragt wurde, stelle ich hiermit mein Projekt "Aquarium Controller" im aktuellen Entwicklungszustand Online. Enthalten ist: - Schaltplan - Firmware - Ein Bild, wie das Gerät einmal aussehen wird Tatsächlich liegt hier auf dem Schreibtisch der gelötete Prototyp noch ohne Gehäuse, aber komplett bedienbar. Das gehäuse besteht aus zugeschnittenen schwarzen PVC-Platten 4mm. Die Gerätebreite wurde durch meinen Aquariumschrank vorgegeben. Gottlob passt da eine Europakarte hinein. Als Temperatursensor kommt ein NTC-Sensor, Typ Epcos B57861S0103, 10kΩ zum Einsatz. Latest News zur aktuellen Version 0.14 der Firmware: - Auf der seriellen Schnittstelle laufen Prüfausgaben vom DCF77-Dekoder. Nach einer halben Stunde kann man auch ablesen, wie genau der Quarz ist. Todos: - Alarmbeeper gibt noch keinen Alarm - Grenzwerte für Maximal- und Minimaltemperaturen werden schlichtweg ignoriert, sind aber einstellbar. - Das kann niemals alles gewesen sein :-) Die nächsten paar Wochen werde ich am dem Projekt nichts machen können, da ich mit Umzug beschäftigt bin, aber der eine oder andere Hinweis ist allemal drin.
Wenn ich das anmerken dürfte, es handelt sich um Leuchtstoffröhren mit Quecksilberdampf, kein Neon. Wo kann man denn Fassungen, EVG und die dünnen LSR bekommen? Lokal oder im Versand?
Hi Gast, Die Leuchtstoffeinheit hatte ich bei Zoo Zajac per Internet gekauft. Die Fassung wird von SMD Systemtechnik bzw. SMD Electronic hergestellt. Ich musste lediglich ein paar kleine Änderungen vornehmen (Kabel zu kurz, unpassender Stecker).
Hm, tja... momentan hab ich die Funktion tatsächlich nur vorgesehen, weil mir das Gefrickel mit den Kalibrierflüssigkeiten zu gross ist. Ich hab auch keine Ahnung, wie lange so eine Elektrode tatsächlich halten wird. Wenn, dann dachte ich für den Einstieg an so ein Teil: http://www.my-messgeraet.com/jtlshop/index.php?a=198 Viel schiefgehen kann so ja wohl nicht. Vielleicht liest ja auch jemand mit, der schon mehr Erfahrung auf dem Gebiet hat.
Hallo Eddy, hast du eine günstige Bezugsquelle für die PVC Platten? Es ist doch nicht dieses geschäumte Zeug aus dem Baumarkt sondern Vollmaterial? Mfg, Kurt
Don't panic :-) Die Zuschnitte stammen von GM GmbH in München/Freiham. Die Platten (Vollmaterial) werden einseitig mit Schutzfolie geliefert und sind "recht präzise" gesägt. Für das Gehäuse habe ich die Platten lediglich geklebt, oder sollte ich sagen mit Lösemittel verschweisst? Die vier Schrauben halten nichts, sondern dienen nur als Schutz, um das Gehäuse auf's Gesicht stellen zu können. Für alle Zuschnitte zusammen (knappe 20 Einzelteile) habe ich wohl um die 50 Euro bezahlt.
Günstig ist anders. Trotzdem Danke! PS: Der höhere Preis liegt wohl an den vielen Zuschnitten.
Im Anhang ist der aktuelle Datensatz inkl. Firmware V0.16,wie der Controller nun seit knappen drei Wochen in Betrieb ist.
Hallo Chrisi, Dein Programm ist wirklich sehr gut geschrieben. Kannst Du einige Funktionen in deinem Code noch Dokumentieren, das würde es mir und sicherlich auch anderen leichter machen ihn zu verstehen. Hast Du den Progammierstiel über ein Studium, oder mittels verschiedener Literatur erlangt? Ich würde mir gerne noch einiges von Dir abgucken und verstehen. Gruß MadMax
Hi MadMax, Danke für die Blumen. Der Programmierstil, ja der kommt aus der Praxis, das Studium hilft da wenig, ich habe damals noch Pascal (Turbo Pascal 3.0, Compiler inkl. Editor 39kByte) gelernt. Für einen "Stil" reicht die Zeit eh nicht. Man ist ja froh, wenn sich schon mal irgend etwas tut. Bez. Kommentierung: Welche Funktionen sind denn besonders dringend?
Hallo Chrisi,
>Bez. Kommentierung: Welche Funktionen sind denn besonders dringend?
Naja, es geht darum, das ich auch schon eine Weile an einen
Aqarium-Controller herum programmiere. Das Projekt wurde dann aber von
mir erst mal auf Eis gelegt, weil mir meine Programmierung im
Top-Down-Stiel einfach nicht mehr gefallen hat, zu unübersichtlich und
wenig modular aufgebaut. Die Programmierung wollte ich auch mittels
FreeRTOS realisieren, aber die liebe Zeit...
Ich wollte auch noch einige zusätzliche Optionen einbauen, wie z.B.
Wasserstandsüberprüfung mittels Lustdrucksensor, automatischer
Wasserwechsel, Grafik-LCD, Datenlogger mit SD-Card und Lichtdimmer mit
"DALI"-Spezifikation. Einige Sachen habe ich jetzt in einer abgespeckten
Variante realisiert. Ist mir aber alles etwas zu unbefriedigt.
Ich wollte Teile von Deinem Programm als Basis nutzen und dann für meine
Zwecke weiter aufbauen. Von daher kann ich nicht einzelnde Funktionen
benennen, die für mich interissant sind, es ist das Ganze...
Gruß MadMax
??? Lustdrucksensor ??? Klasse Tippfehler! Ein Schelm, wer böses dabei denkt. Lustig geht die Welt zu Grunde...
Hallo, ich habe gerade kurz in den Code geschaut. Die Meinungen über die Art, wie man lesbare Zuordnungen per #define schafft, werden sicher auseinandergehen. Allerdings möchte ich nicht Teile dieses Codes in einem anderen Projekt nutzen wollen und dazu in ellenlangen #define-Liste sämtlich zugehörigen Port und Pin-Zugriffe umschreiben wollen. ich finde den Ansatz also nicht ganz so gut. Wenn schon, dann bis zum Ende gehen:
1 | #define LCD_PORT PORTA
|
2 | #define LCD_E PA2
|
3 | #define LCD_RS PA3
|
4 | |
5 | #define LCD_E_HI { LCD_PORT |= (1<<LCD_E); }
|
6 | #define LCD_E_LO { LCD_PORT &= ~(1<<LCD_E); }
|
7 | #define LCD_RS_1 { LCD_PORT |= (1<<LCD_RS); }
|
8 | #define LCD_RS_0 { LCD_PORT &= ~(1<<LCD_RS); }
|
9 | #define LCD_WRITE(x) \
|
10 | { \
|
11 | LCD_PORT = (LCD_PORT & 0x0F) | ((x) & 0xF0); \
|
12 | LCD_E_HI; \
|
13 | _delay_loop_1(10); \
|
14 | LCD_E_LO; \
|
15 | _delay_loop_1(10); \
|
16 | }
|
17 | #define LCD_CMD(x) \
|
18 | { \
|
19 | LCD_RS_0; \
|
20 | LCD_WRITE(x); \
|
21 | LCD_WRITE((x) << 4); \
|
22 | }
|
23 | #define LCD_DATA(x) \
|
24 | { \
|
25 | LCD_RS_1; \
|
26 | LCD_WRITE(x); \
|
27 | LCD_WRITE((x) << 4); \
|
28 | }
|
29 | |
30 | #define LCD_SET_CONTRAST(x) \
|
31 | { \
|
32 | portENTER_CRITICAL(); \
|
33 | { \
|
34 | OCR1B = 300+((x)<<6); \
|
35 | } \
|
36 | portEXIT_CRITICAL(); \
|
37 | }
|
ist nur ein Beispiel und unvollständig. Wenn aich aber hier mit dem Display von PortA nach PortD wechsel und PD1 für E usw. nehme, muß ich nur diese Zuordnungen ändern. #define LCD_PORT PORTD #define LCD_E PD1 und bin fertig. Gruß aus Berlin Michael
Super Projekt! Ich habe vor ca. 4 Jahren mal eine Terrariensteuerung angefangen, leider bin ich Programmieranfänger und damals noch blutiger als heute ;-). Um nicht lange rumzureden, mir ging es wie MadMax und jetzt liegt der Krempel schon einige Zeit im Keller! Aber durch diesen Thread juckt es mir wieder in den Fingern! Danke Markus
Das ist richtig und auch gut so... Nur hat sich leider an der Dokumentation im Quelltext nicht's geändert. Gruß...
Toller Spruch, und so warnsinnig konstruktiv. Aber Du weißt ja... Man sollte nicht mit Steine schmeißen, wenn man im Glaßhaus sitzt!!!
Hallo! Wollt mal fragen ob mal jemand die PH-Messung ausprobiert hat. Auf der Projektseite steht ja sie wurde nicht getestet. MfG Marius
@Andreas P.: Nur hat sich leider an der Dokumentation im Quelltext nicht's geändert. Tja, ist schon blöd, wenn man selber nochmal nachdenken muß, was?
Hallo, die hast du den Temperatursensor abgedichtet? Es sollten ja nach Möglichkeit keine Schadstoffe ins Wasser abgegeben werden.
Hi Tobias, Ich habe ein Alurohr, gute 12cm, 6mm/4mm genommen und darin den Sensor mit Aquariumsilikon ("das Schwarze") eingebettet. Allerdings habe ich momentan Zweifel, dass die Konstruktion wirklich dicht ist: Die Temperatur wird in letzter Zeit höher angezeigt, als sie wirklich ist. Ich muss da selber nochmal ran. Aber vom Prinzip her...
Aber ich habe in mehreren Aquarien-Foren gelesen, dass Alu schädlich für die Fische ist. Gruß Tobias
Hm, also gut scheint Aluminium jedenfalls nicht für die Fische zu sein. Da fällt mir als Alternative noch Edelstahl- oder Glasrohr ein. Letzteres hätte noch den Vorteil der optischen Kontrolle.
Glasrohr ist ne gute Idee, quasi Reagenzgläser. Edelstahl so übrigens ebenfalls nicht gut sein.
Ah gut zu wissen, werde mich dann ebenfalls mal nach einem Glasrohr umsehen. Dünnes Reagenzglas, ja das isses, weil unten verschlossen. Damit sollten meine "Effekte" auch der Vergangenheit angehören.
Hast du eigentlich mittlerweile schon eine PH-Elektrode in Betrieb genommen? Ich bin schon seit 2-3 Tagen auf der Suche nach Informationen über das Ausgangssignal solch einer PH-Elektrode. Kannst du mir da nähere Informationen geben bzw. ein paar Quellen nennen? Gruß Tobias
Nö, weiterhin keine pH-Elektrode. Wir haben mittlerweile Katzen im Haus, daher mußte ich die Anlage eher zurück bauen, derzeit also weder Temperatursensor, DCF-77-Empfänger noch pH-Sonde. Das Ausgangssignal ist schnell beschrieben: Bei pH 7.0 bekommst Du 0V Ausgangsspannung, darüber und darunter steigt und fällt der Wert mit 58mV/pH. Das Signal muß höchstohmig (>1GOhm) gemessen werden. Google mal nach pH 58mV ...:-)
Ok, danke für die Erklärung und den Google-Tip. Unter dem Suchbegriff findet man ja wirklich einiges.
Tobias schrieb: > Hallo, > > die hast du den Temperatursensor abgedichtet? Es sollten ja nach > Möglichkeit keine Schadstoffe ins Wasser abgegeben werden. Ich habe das vor Jahren (na ja, so ca. 1982) mal so gemacht, daß ich den Sensor (NTC) in einen Aquarien-Luftschlauch habe und dann ca. 5-10 mm davor Schlauch abgeschnitten, über eine Flamme gehalten bis der Schlauch fast kokelt und dann den "weichen" Schlauch mit einer Kombizange fest zusammengepresst. Den Schlauch hats verschweisst, das hat Jahre gehalten...
Sind die Temperatursensoren nicht in mit Quarzsand gefüllten Reagenzgläsern, die oben aus dem Wasser ragen, ins Aquarium eingebaut? Ich meine sowas schon mal gesehen zu haben ... So können definitiv keine Schadstoffe ins Wasser gelangen und die Konstruktion hält ewig dicht.
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.