Hallo zusammen! Ich hab mich jetzt eine Weile durch das Forum gelesen und auch einige interessante Beträge zum Thema Füllstandsmessung gefunden. Leider beziehen sich die meisten auf die Messung in große Behältern wie Zisternen. Ich suche eine Lösung die ich in meinem Aquarium umsetzten kann. Hier einige Eckdaten - Maximaler Füllstand: 50cm - Regelung auf ca. 1 cm genau und eine zusätzliche Absicherung für Überfüllung - Verschmutzung durch alten und blockieren beweglicher Teile durch Schnecken und Fische möglich => daher keine Schwimmerschalter - Möchte auch nicht unbedinge Strom ins Aquarium einleiten => Man weiß ja nie wie Fische darauf reagieren. - Bei der Variante mit Drucksensoren sehe ich das Problem vom verlegen des Rohres/Schlauchs aus ähnlichen Gründen wie bei Schimmerschaltern - Hohe Genauigkeit und Zuverlässigkeit nötig. => möchte keine Überschwemmung im Wohnzimmer haben. Ich möchte damit periodisch einen Wasserwechsel durchführen. Die entsprechende Verrohrung für Filterrückspülung und Ablauf in den Kanal sowie Zulauf von Warm, Kaltwasser und Regenwasser existiert bereits. Wird derzeit händisch über eine Schaltung mit einem Mega 644 gemacht. ( Steuere gewissen Magnetventilkombinationen über Tasten / Temperaturmessung / Steuerung der Heizung usw. ) :-) Aber man entwickelt sich ja weiter also soll das künftige automatisiert werden. Um das Ganze umzusetzen fehlt mir eben noch ein zuverlässiger Füllstandsanzeiger. Ja soweit mein Problem :-) Würd mich über ein paar Ideen sehr freuen. Liebe Grüße iwiki
Hallo, bin mir nicht sicher ob es funktioniert, aber versuch es doch mal auf optischen Weg, die Grenze zwischen Luft und Wasseroberfläche ist ja mit den Auge gut ekennbar, daher sollte auch eine optoelektronische Lösungsmöglichkeit bestehen evtl. eine Reflexionslichtschranke von außen auf Höhe des zu überwachenden Füllstandes. Nebenbei: Ich habe das Gefühl als besteht dein Hauptinteresse an der Steuerungstechnik und der Mikrocontrolleranwendung (sehr interessant - dafür gibt es ja dieses Forum). Aber ein Aquarium sollte nicht nur "Mittel zum Zweck" sein, es werden Lebewesen gepflegt denen die Aufmerksamkeit geschenkt werden sollte,es ist kein Problem bei der täglichen Pflege festzustellen wie hoch der Wasserstand ist. Melchior Kurtz
Guten Morgen! Danke für die Antwort und den Hinweis auf das Wohlbefinden meiner Fische. :-) Keine Sorge es geht ihnen gut und das wird es wohl auch weiterhin zumindest soweit das in miener Macht liegt. Sie stehen neben meinem PC am Schreibtisch und ich beobachte sie regelmäßig zur Entspannung. Trotzdem t liegen meine Interessen eben darin Dinge zu automatisieren. Nicht weil es nötig ist sondern einfach weil ich Freude daran habe. Natürlich kann der Wasserstand also träglich kontrolliert werden. Erfahrungsgemäß wird der auch nicht weniger. Bei einem Wasserwechsel wird jedoch Wasser abgelassen, das dann wieder mit Frischwasser ergänzt wird. Dabei möchte ich eben kontrolliert ablassen und dann auch wieder kontrolliert auffüllen. Wobei beim Auffüllen eben zwischen Warm/Kalt und Regenwasser gemischt werden soll um die entsprechenden Wasserwerte wieder einzustellen. Deshalb ist es nötig die im Aquarium befindliche Wassermenge genau zu messen. Und es muss unbedingt sichergestellt sein, dass da nichts überläuft.Unter dem Aquarium ist zwar ein Loch in der Decke aber ich möchte meine Keller ungern fluten. :-) Die optische Variante halte ich für problematisch da die Oberfläche bewegt ist. ( Filterpumpe und CO2 - Anlage ) Liebe Grüße iwiki
in der Industrie wird sowas oft mit Ultraschall gemacht - da gibts fertige Sensoren für. Sowas kann man bestimmt auch selber basteln...
Hallo Druckmessung in der CO2 Anlage. Der Gasdruck ist liniear Abhängig von der Wassertiefe. Mfg Michael
Vielleicht soetwas ähnliches wie z.b. in der Geschirrspülmaschine für den Klarspüler ? Das ist so ein angespitzter Glasstab der die Helligkeit ändert wenn er mit der Flüssigkeit zusammenkommt, funktioniert irgendwie mit der unterschiedlichen Brechung vom Licht.
Das Aquarium auf der Wägezelle einer Personenwaage montieren. Oder an einem Fuß des Aquariumsgestells Dehnungsmessstreifen montieren. Damit lassen sich über die Gewichtsänderung Wasserverluste kontrollieren. Da kann sogar der Wasserwechsel mitgemessen werden.
os schrieb: > in der Industrie wird sowas oft mit Ultraschall gemacht - da gibts > fertige Sensoren für. Sowas kann man bestimmt auch selber basteln... Ist bei Fischen eine ganz schlechte Idee. Die Fische im Zooaquarium reagieren teilweise auf Ultraschallantriebe moderner Autofokusobjektive, beim Versuch selbige zu fotografieren. Das kann man in diversen Fotoforen nachlesen. Kann natürlich sein, dass es nur bestimmte Fische und bestimmte Frequenzen sind, aber ich würde da die Fische nicht zu Versuchsobjekten machen wollen. frank
Mahlzeit :-) Versuchsfische möchte ich keine. Das mit dem Ultraschall klingt wirklich nach Beeinträchtigung. Lassen wir mal lieber sein. Die Wiegezellenidee gefällt mit grundsätzlich nicht schlecht. Da könnte das Problem allerdings werden dass das Aquarium an die 500kg wiegt und abgesehen davon das Personenwaage nicht so einen großen Gewichtsbereich abdecken, die Glasscheibe gleichmäßig belastet werden muss sonst gibs schnell eine Überschwemmung. Zwischen Aquarium und Unterbau befindet sich deshalb eine ca. 1cm dicke Schaumstoffmatte die eben alle Unebenheiten ausgleichen soll. Gibt es nicht eine möglichkeit den Wasserstand durch die Scheibe irgendwie über Induktion zu messen? Wasser leite ja deutlich mehr als Luft. Vielleicht kann man darauf aufbauen. Liebe Grüße Iwiki
Nachtrag! Ich habe das Posting mit dem "Klarspüler" übersehen. Klingt interessant. Kennt sich damit jemand aus?
Du kannst auch Kapazitiv messen, google mal danach, da gibts lauter sachen dazu, ansonsten würde ich vlt doch auf den Schwimmerschalter gehen, davon aber 2-3 oder 4 einbauen, da merkt man dann doch schnell wenn was nich stimmt.
Hallo David, Eine kapazitive Messung halte ich für die beste Variante! Wir haben sowas mal in der Projektwoche unserer Schule probiert, da ging es um eine Füllstandsmessung in einem Dieselöltank, wir sind auf zwei praktikable Lösungen gekommen! Die erste Möglichkeit besteht in einer Messung des hydrostatischen Druckes! Wir hatten vom großen C einen Differenzdrucksensor und konnten so den Druck der Umgebungsluft und den Druck am Boden das Tankes der aus Flüssigkeitssäule und Außendruck besteht messen. Der Sensor gibt eine sehr geringe Spannung ca. 15mV aus! Bei uns ist der Sensor daran gescheitert das wir vermuten der Dieselkraftstoff hat die Membran des Sensors zerfetzt, Wasser dürfte da besser funktionieren! Die zweite Möglichkeit war die kapazitive Messung, wir haben uns dazu einen Kondensator für den Tanke selbergebaut, im Anhang findest du zwei Bilder, sind zwei Aluplatten die mittels Plastikschrauben und Scheiben zwischen den Platten isoliert sind! Als Dielektrikum dient dann entweder Luft wenn der Tank leer ist, oder Diesel wenn er Voll ist! Die Kapazität errechnet sich aus: C=E0*Er*A/a E0 = Naturkonstante 8,854*10 hoch -12 Er = Konstante des Dielektrikums (Luft ~1, Wasser ~81) A = Fläche der Platten a = Abstand der Platten Wir hatten damals eine Kapazität von 141,6 pF und 300pF für den leeren und vollen Tank errechnet. Den Kondensator haben wir an einen CAV424 angeschlossen, ist ein IC welches Kapazitäten vergleicht und in eine Spannungs umwandelt. Diese Spannung haben wir dann noch verstärkt und mittels Logik-Schaltung in eine LED-Anzeige für den Füllstand umgewandelt! Hat funktioniert müsste jedoch noch verfeinert werden, wir hatten ziemliche Probleme mit elektromagnetischer Strahlung auf unserer Messergebnis! Lg random
Iwiki, das Problem im Aquarium ist der Belag, der sich auf allen benetzten Flächen früher oder später bildet. Deswegen geht die Klarspüler-Methode nicht (die Totalreflektion wird durch den Belag verhindert) und die kapazitive Methode wird auch beeinträchtigt. Wahrscheinlich perlst Du Luft in das Aquarium ein, um Deinen Fischen das Leben angenehmer zu machen. Da ist der Vorschlag von Gast Michael genau das Richtige: Miss den Differenzdruck zwischen dem Luftdruck in der Zuleitung zur Einperlung und dem Luftdruck im Zimmer. Er ist direkt proportional zum Wasserstand. Beläge stören diese Messung nicht, weil das Einperlrohr nicht zuwächst. Die Methode heisst in der industriellen Messtechnik "Einperlmessung". Die Methode ist kaum störanfällig; sie funktioniert sogar in stark verschmutzen Flüssigkeiten. Das einzige Problem bei Deiner Anwendung ist die sehr kleine Druckdifferenz. Zweitbeste Methode ist die Ultraschallmethode - keine Bange, die Fische hören davon nichts :-). Man misst nämlich den Abstand zwischen dem ÜBER dem Wasser montierten Messgerät und der Wasseroberfläche. D.h. der Ultraschall läuft nur durch Luft. Ins Wasser gelang davon so gut wie nix. Der Mindestabstand zwischen Geber und Wasseroberfläche beträgt bei dieser Methode meist ca. 30cm und eine Auflösung von 1cm ist grenzwertig. mare_crisium
> Die entsprechende Verrohrung für Filterrückspülung und Ablauf in > den Kanal sowie Zulauf von Warm, Kaltwasser und Regenwasser > existiert bereits. Na dann... Bau einfach einen Überlauf dran. Dann kann dein Aquarium überlaufen ohne die Wohnung einzusauen. Dann sorge dafür, daß (bei offenem Ventil) weniger Zulaufwasser reinfliessen kann als durch den Überlauf ablaufen kann. Das ist wie beim Toilettenspülkasten: Sollte das Schwimmerventil mal nicht schliessen, läuft das überschüssige Wasser einfach in die Toilette ab. Dann hast du keine Sorgen wehr, wenn etwas am Sensor oder der Steuerung nicht stimmt. Man könnte sogar den Zulauf dauernd geöffnet haben, sozusagen tropfenweise das Wasser austauschen, und den Überlauf genau so anbringen, daß er den Wasserstand durch seine Höhe regelt. Spart jegliche unsinnige Technik "Ultraschall", "kapazitive Sensoren" und sonstiger Mist von dem die Vorschlagenden sicherlich keinerlei Ahnung haben. Und die komplexen Messmethoden mit Einperldruck oder hydrostatischem Druck sind ja auch teuer. Als Füllstandsanzeiger reicht dann wieder ein billiger Schwimmerschalter oder ein aussen am Glas angebrachter Näherungsschalter.
Hallo! Zu der Lufteinperlung: Ich perle keine Luft ein. Ich habe eine CO2-Versorgung über einen Hefe-Zuckerlösung und einen Ausströmstein. Da perlt zwar immer was aber eben ungesteuert. Die Versorgung mit Sauerstoff läuft über den Filter. Was Wasser wird so eingebracht, dass der Sauerstoff über die die bewegte Oberfläche aufgenommen wird. => niedrige Betriebskosten und hat sich die letzten 10 Jahre bewährt. Das mit dem Bewuchs ist nicht so das Problem. Das Aquarium steht vor Sonneneinstrahlung geschützt und ist gut eingelaufen. Heißt mit anderen Worten. Die paar Algen die sich bilden werden von den Bewohnern aufgefressen. Bodengrundreinigung und Algenentfernung sind nicht nötig. Aber eben gerade diese Bewohner sind das Problem für die mechanischen Einbauten. Erkäre mal einer Schnecke dass sie sich nicht auf Sensoren setzen darf. Und ich weiß aus Erfahrung. Die sitzen immer da wo sie nicht solle. Sie blockieren auch mit vorliebe meine Oberflächenabsaugung. Nur ist der das ziemliche egal weil sie sich wenn sie oben Luft erwischt über einen Schwimmer das Wasser von unten holt und damit trotzdem keine Luft in das Filtersystem kommt. Wie soll das System mit dem kontinuierlen Überlauf funktionieren? Der Glaskörper ist oben gerade. Der Wasserstand normalerweise ca. 3cm unter dem Rand. ich muss das Wasser also anheben damit es überläuft. Mit fällt das nur das - ich nenn es mal - "Wasserwaagenprinzip" ein. Sprich ein mit Wasser gefüllter Schlauch der aus dem Aquarium heraus nach untern und dann wieder bis auf Höhe der Sollwasserlinie nach oben läuft. Und dann sozusagen in den Abfluss fließt. Ich weiß nicht ob das jetzt verständlich war. Erfordert eine sehr klein dimensionierte Zuleitung und ich kann damit den Filter nicht mehr Rückspülen. Aber ein Gedanke gefällt mir an diesem Schlauch. Man könnte darin, unabhängig von den Tieren das Wasser Niveau im Aquarium bestimmen. Vielleicht mit einem magnetischen Schwimmer der an außen angebrachten Sensoren vorbeisteigt und fällt. Was denkt ihr darüber?
Iwiki Iwiki schrieb: > Zu der Lufteinperlung: > Ich perle keine Luft ein. Kannst du mit einem umgebauten Blutdruckmessgerät machen. Glasrohr von oben bis knapp vor den Boden, von oben zyklisch Luft 'reinpumpen und den Druck messen, bis er nicht mehr steigt. Das System kann leicht selbst kalibriert werden und ist sehr genau. Verschmutzung ist auch kein Problem, im Ernstfall muss nur das Glasröhrchen gereinigt werden. Und die Fische dürften Luftblasen wohl gewöhnt sein. ;-)
Bei der Waagemethode reicht es, auf ein Bein des Aquariengestells oder auf ein sonstiges vom Gewicht belastetes Teil Dehnungsmessstreifen zu kleben. Da ist nicht unbedingt eine Wägezelle notwendig. Es geht ja nicht darum, ein genaues Gewicht zu erfassen sondern nur die Änderung. Die lässt sich dann durch dazuschütten von 10 Liter leicht kalibrieren. Nur muss man die Klebetechnik für Dehnungsmessstreifen beherrschen. (Das dürfte das Hauptproblem darstellen.) Danach könnte man die fertige aufgeklebte Brücke an einen hochauflösenden (dual-slope, 18 bit, Maxim: MAX132) AD-Wandler anschließen.
Der Kondensator für die kapazitive Messung muss nicht unbedingt im Wasser sein! Zwei vertikal, nebeneinander auf die Scheibe geklebte Leiterstreifen bilden auch ein C. Das Feld geht dann im Halbkreis durch das Wasser. Zur Auswertung einfach ein paar Gatter als Oszillator mit dem C und im µC Impulse Zählen. Da gab es in der Elektor irgendwann mal eine schöne Schaltung! (Füllstandsmesser)
http://dietmar-weisser.de/analogtechnik/BodenFeuchte/FeuchteSensor_1.php Die Schaltung ist zwar für Bodenfeuchte gedacht, funktioniert aber vom Prinzip her genau wie Sebastian beschrieben hat. Du musst wahrscheinlich den R2 etwas anpassen. Es gibt so fertige Kupfer-Klebefolie zu kaufen, die ist normal für EM-Schirme etc. gedacht. Davon sollten 2 Streifen gut von außen aufs Aquarium zu kleben sein.
Gab hier wieder so viele Infos das ich wieder mal zu Faul war mir alles durch zu lesen. Mein Tipp (Habe selbst ein Aquarium): Man nehme einen Schlauch und führe ihn in einer Ecke bis unter die Minimale Befüllungsgrenze. Auf die andere Seite dieses Schlauches montiere man nun einen Absolut Druck Sensor. Steigt der Wasserpegel so steigt der Druck. Sinkt der Wassrspiegel so sinkt der Drunk. Vorteile: Wartungsarm, Kann eig. nicht verstopfen, Keine Elektrik im Wasser, geringer Schaltungstechnischer Aufwand.
Genau, guggst du: http://www.ip-symcon.de/forum/f19/wasserstandsschalter-drucksensor-11413/ Gruß Helmut
Nee, Jungs, Absolutdruck bringt's nicht: 1mbar entspricht ca. 1cm Wassersäule. Der Luftdruck ändert sich, wetterbedingt, locker um 10-20mbar 'rauf und 'runter. D.h. der per Absolutdruck "gemessene" Wasserstand wackelt um ca. 10 bis 20cm. Man muss den Differenzdruck zwischen Umgebungsluft und dem Druck am Boden des Aquariums nehmen, sonst läuft's über oder ab ;-). mare_crisium
>Man muss den Differenzdruck zwischen Umgebungsluft und dem Druck am Boden >des
Aquariums nehmen, sonst läuft's über oder ab ;-).
genau, nur so ist es richtig
Harald M. schrieb: > Zweitbeste Methode ist die Ultraschallmethode - keine Bange, die Fische > hören davon nichts :-). Man misst nämlich den Abstand zwischen dem ÜBER > dem Wasser montierten Messgerät und der Wasseroberfläche. D.h. der > Ultraschall läuft nur durch Luft. Ins Wasser gelang davon so gut wie > nix. Der Mindestabstand zwischen Geber und Wasseroberfläche beträgt bei > dieser Methode meist ca. 30cm und eine Auflösung von 1cm ist > grenzwertig. Die Leute, welche ein Reagieren der Fische auf ihre USM-Objektive beschreiben, standen auch vor der Aquariumscheibe. In Zooaquarien darf man üblicherweise nicht tauchen. Die Situation wird dann etwa so beschrieben: Fisch guckt schön fotogen in die Richtung des Fotografen, der nimmt den Fisch ins Visier, drückt den Abzug halb, das Objektiv stellt mittels USM-Antrieb scharf und in dem Moment macht der Fisch eine ruckartige Kehrtwende und schwimmt davon und auf dem Foto, das kurz nach dem inzwischen ganz gedrückten Knopf, entstand, ist nur noch die Schwanzflosse. Wie gesagt ich will mich nicht über Frequenzen, Schalldruck oder Fischarten streiten, aber so pauschal da hören die Fische schon nix, da wäre ich vorsichtig. frank
Differenzdruck ist doch eine gute Lösung. Damit das Rohr nicht verdreckt reicht es doch, es mit klarem Wasser aufzufüllen und es am Ende mit einer Membrane zu verschliessen. Der Druck wirkt dann auch innerhalb und es kommt kein Dreck rein.
>und es am Ende mit einer Membrane zu verschliessen
bei den hier zu messenden Drücken ist der Fehler durch die Membran
größer als der Differenzdruck
MfG
hmm ich mach was gleichartiges damit: http://www.watterott.com/de/Sharp-GP2D120XJ00F und das nicht vergessen: http://www.watterott.com/de/Anschlusskabel-fuer-Sharp-IR-Entfernungssensoren kein elektro-smog kein akustik-smog keine fischsuppe ;-) cu zipp
Hallo! Na dann will ich mich auch mal wieder zu Wort melden. Nachdem der Arbeitstag vorbei ist und ich alle Antworten gelesen. :-) Danke übrigens für die rege Anteilnahme. Ich fasse mal zusammen wie ich die Postings verstanden haben. Also im Grund wären wir bei 3 möglichen Varianten: Differenzdruckmessung: - Grenzwertig bei der Genauigkeit aufgrund der geringen Wasserhöhe - Wenn man keine Luft einperled Gefahr des verschließens des Schlauches - Abhilfe wäre vielleicht das "Schlauchwasserwaagenprinzip" Ich nenns einfach mal so. Ist klar was ich damit meine? - Schaltung wäre verfügbar. (Was mich sehr freut da ich keine Profientwickler bin) Kapazitätsmessung: - Alle Teile außerhalb des Aquariums und keine Berührung mit dem Wasser ( gefällt mir gut ) - Auswertung erscheint mir kompliziert. Zumindest hab ich es noch nicht verstanden. - Wie sieht es da mit der Genauigkeit aus? Wäre +-5mm möglich? Auch im Bereich der Kondensatorränder? Infrarotmessung: - Klingt interessant auch von den Kosten her. Hab ich bisher noch nirgends gelesen. - Störanfälligkeit und Genauigkeit? Gibs da Erfahrungswerte? Ad Zipp: Wäre sehr an einigen Details zum Aufbau und zur Auswertung interessiert. Achja zum Thema Ultraschall: Mir ist eingefallen, dass wir ein Ultraschall-Wasserbad in der Firma zur Reinigung verwenden. Das will ich meinen Fischen nicht zumuten. :-) Auch wenn sie dann immer schön sauber wären. Die Wiegezellen oder Dehnungsstreifenmethode lass ich mal außen vor. Nicht böse gemeint nur kann ich mir nicht vorstellen, dass ein Dehnungsstreifen an meinem Unterschrank geklebet den Wasserstand messen soll. Vielleicht fehlt mir auch einfach die Fantasie dazu. Liebe Grüße und einen schönen Abend iwiki
hi iwiki das board: http://cgi.ebay.de/ws/eBayISAPI.dll?ViewItem&item=230578888840&ssPageName=STRK:MEWNX:IT 14,95€ die software in bascom:
1 | ' ################### Pumpe mit MIN und MAX Füllstandserfassung$Regfile="m8def.dat" ############## |
2 | ' hfuse = d8 lfuse = ad |
3 | '
|
4 | Anwählen zum Simulieren |
5 | Start: ' Sicherheitshalber |
6 | |
7 | $regfile = "m8def.dat" |
8 | $crystal = 3686400 |
9 | $hwstack = 100 |
10 | $swstack = 150 |
11 | $framesize = 128 '48 |
12 | $baud = 9600 'Normale Hardware RS232 (hier hängt PC dran) |
13 | |
14 | Const Io_mode = 0 |
15 | 'Const Reload = 7935 ' zählerwert für 1 Sekunde |
16 | Const Reload = 64959 |
17 | Const Kx = 18500 '9500 ' zählerwert für 10 mSek |
18 | Const Ax = 3 |
19 | Const Bx = 8 '5 |
20 | Const Cx = 0 '-20 |
21 | '--------------------- |
22 | 'Declare Sub Tx_data |
23 | 'Declare Sub Rx_data |
24 | '--------------------- |
25 | Declare Function Linadc(xvadc As Word) As Single |
26 | |
27 | '******************************************************************************* |
28 | ' Config |
29 | '******************************************************************************* |
30 | '= 1s |
31 | '################
|
32 | Config Portb.0 = Output : Pmax Alias Portb.0 |
33 | |
34 | Config Portb.1 = Output : P_heartbeat Alias Portb.1 |
35 | |
36 | Config Portb.2 = Output : Pumpe Alias Portb.2 ' Pumpenrelais beim AVR_Ctr + LED6 |
37 | |
38 | Config Portd.2 = Input : Portd.2 = 1 : Imax Alias Pind.2 |
39 | |
40 | Config Portd.3 = Input : Portd.3 = 1 : Imin Alias Pind.3 |
41 | |
42 | '### Dimensionieren und Declarieren ## |
43 | Dim Pumpe As Bit , P_heartbeat As Bit , Pmax As Bit , Imin As Bit , Imax As Bit |
44 | Dim Laufzeit As Word , Maxzeit As Word , Vadc As Word , Lvadc As Word |
45 | Dim New_second As Bit |
46 | Dim Seccnt As Word , Dummy As Word |
47 | Dim S_str3 As String * 3 , S_str3a As String * 3 |
48 | Dim S_str4 As String * 5 , S_str4a As String * 6 |
49 | Dim H_beat As Byte |
50 | Dim P_adc As Byte |
51 | Dim Lin_adc As Single , Tlx0 As Single , Tlx1 As Single , Tlx2 As Single , Tlx3 As Single , Tlx4 As Single |
52 | Dim Ladc As Single |
53 | Laufzeit = 0 ' Laufzeit gezielt zu 0 |
54 | Maxzeit = 300 |
55 | P_adc = 5 ' max Pumpenzeit in Sec festgelegt |
56 | Print "Start" |
57 | Config Timer1 = Timer , Prescale = 64 |
58 | On Timer1 Isr_timer1 |
59 | Timer1 = Reload |
60 | Enable Timer1 |
61 | Enable Interrupts |
62 | |
63 | Config Adc = Free , Prescaler = Auto , Reference = Internal |
64 | Start Adc |
65 | |
66 | Vadc = Getadc(p_adc) : |
67 | Vadc = Getadc(p_adc) : |
68 | Lvadc = Vadc |
69 | P_adc = 5 |
70 | Wait 8 ' nur zum starten des Terminals |
71 | |
72 | Print "v02.10" |
73 | Reset Pumpe |
74 | '##### eigentliches Hauptprogramm MAIN ### |
75 | |
76 | Do
|
77 | If New_second = 1 Then |
78 | New_second = 0 |
79 | Incr H_beat |
80 | Lvadc = Vadc |
81 | Vadc = Getadc(p_adc) |
82 | S_str3 = Str(laufzeit) : S_str3 = Format(s_str3 , "000") |
83 | S_str3a = Str(h_beat) : S_str3a = Format(s_str3a , "000") |
84 | S_str4 = Str(vadc) : S_str4 = Format(s_str4 , "0000") |
85 | Print "###" ; S_str3a ; "-" ; S_str3 ; "-" ; S_str4 ; "-" ; Pumpe ; "-" ; Imax ; "-" ; Imin ; "***" '"-" ;; Ladc |
86 | If H_beat = 255 Then H_beat = 0 |
87 | End If |
88 | Dummy = Seccnt Mod 10 |
89 | |
90 | If Dummy = 0 Then |
91 | If Vadc > 440 And Pumpe = 0 And Imin = 1 Then '440 * 0,0025V =1,1V entspricht ca. 11 cm |
92 | Pumpe = 1 : Laufzeit = 0 |
93 | End If |
94 | |
95 | If Vadc < 240 And Pumpe = 1 Then '240 * 0,0025v = 0,6V entspricht ca. 22cm |
96 | Pumpe = 0 : Laufzeit = 0 |
97 | End If |
98 | |
99 | If Pumpe = 1 And Laufzeit = Maxzeit Then |
100 | Pumpe = 0 : Laufzeit = 0 |
101 | End If |
102 | |
103 | If Imin = 0 Or Imax = 0 Then |
104 | Pmax = 1 |
105 | Else
|
106 | Pmax = 0 |
107 | End If |
108 | |
109 | If Imin = 0 Then |
110 | If Pumpe = 1 Then |
111 | Reset Pumpe : Laufzeit = 0 |
112 | End If |
113 | End If |
114 | |
115 | If Imax = 0 Then |
116 | If Pumpe = 0 Then |
117 | Set Pumpe : Laufzeit = 0 |
118 | End If |
119 | End If |
120 | |
121 | End If |
122 | Loop
|
123 | |
124 | '******************************************************************************* |
125 | ' TIMER1 Interrupt (called every second) |
126 | '******************************************************************************* |
127 | Isr_timer1: |
128 | |
129 | Timer1 = Reload ' timer wird alle 10ms aufgerufen |
130 | |
131 | Incr Seccnt |
132 | |
133 | If Seccnt >= 100 Then |
134 | New_second = 1 |
135 | Incr Laufzeit |
136 | If Laufzeit >= Maxzeit Then |
137 | Laufzeit = Maxzeit |
138 | End If |
139 | Seccnt = 0 |
140 | |
141 | End If |
142 | |
143 | If Seccnt < 2 Then |
144 | Set P_heartbeat |
145 | Else
|
146 | Reset P_heartbeat |
147 | End If |
148 | |
149 | Return
|
150 | |
151 | '--------------------------------------------------------------------- |
152 | ' lineaeisiere Ausgabe des Sharp Moduls |
153 | Function Linadc(xvadc As Word) |
154 | Print Xvadc |
155 | Tlx0 = Xvadc - Cx ' (S-c) |
156 | Print Tlx0 |
157 | Tlx1 = Bx * Tlx0 'b* (S-c) |
158 | Print Tlx1 |
159 | Tlx2 = Kx - Tlx1 'K-b* (S-c) |
160 | Print Tlx2 |
161 | Tlx3 = Ax * Tlx0 ' a(S-c) |
162 | Print Tlx3 |
163 | Linadc = Tlx2 / Tlx3 |
164 | End Function |
sollte es klappen {ist noch "spielcode" drin zur linearisierung des sharp. ist aber bullshit. prinzip geht, aber der ist je nach reflexion nicht-linearer als nicht-linear ;-)} cu zipp
sorry, habe ich vergessen zu erwähnen: ich pumpe AB! wenn du das so übenimmst = stockfisch!
Hallo! Danke Zipp. Das ist super Hilfreich. Das Board brauch ich nicht da meine Steuerung im Moment mit einem Mega 644 läuft. Programm dafür ist auch in Bascom ( die einzige Programmiersprache die ich wirklich kann ) Würde sich also gut einbinden lassen. Muss ich mir dann am Wochenende mal im Detail ansehen. Wenn ich das richtig verstehen schließt du den Sharp direkt an den ADC des Mega 8 an. Das wäre optimal weil keine zusätzlichen Schaltungen nötig wären. Wie genau läuft die Sache. Schaffst du +- 5mm beim Wasserstand. Hattest du schon mal Störungen. Nicht linear bedeutet dass ich eine Kalibierkurve benötige. Die liese sich aber eigentlich leicht durch geziehte Messungen bei definieten Pegeln bestimmen. Alles andere kann ich dann über die Geradengleichung berechnen. läuft also ähnlich wie wenn ich einen NTC an den ADC anschließe. => richtig verstanden? Schönen Abend! iwiki
Mal ein Gedankenanstoß zur Kapazitätsmethode (mein Favorit da keine teile IM Aquarium und die FehlerUNanfälligste). Wie bei einem NE555 (ja das Prinzip is schon so alt) wird ein Kondensator zu erst voll ge- oder entladen. Danach wird er über einen Wiederstand ent- oder geladen und gleichzeitig ein Timer gestartet. Nach einem tau hat der Kondensator seine Ladung um 63% zur vorherigen ladung geändert, wobei sich tau durch R*C errechnet. Nun lässt du per OpAmp ab einer festgelegten Spannung, respektiv Ladung, einen interrupt auslösen. Die gemessene Zeit sagt dir sozusagen welche Kapazität der Kondensator hat und dementpsrechen wie hoch das Wasser ist. Um die verschidenen Kapazitäten zu erhalten solltest du am besten eine Messreihe machen, da das Rechnen dort zu ungenau wird.
Wenn du schon den NE555 benutzt, dann als astabile Kippstufe. Die Frequenz, die 'rauskommt, kann direkt per µC ausgewertet werden. Die Kapazität als frequenzbestimmendes Teil liegt im Bereich von wenigen pF (15..50pF). Der NE555 ist recht empfindlich bei Temperaturschwankungen, also mit NE556 zweimal identisch aufbauen (einer mit Festkapazität) und die Differenz der Frequenzen auswerten.
Thilo M. schrieb: > also mit NE556 zweimal identisch aufbauen Das funktioniert aber nur, wenn die ICs und die frequenzbestimmenden Bauteile die selbe Driftrichtung haben. Was sehr unwahrscheinlich wäre. Mal ne Frage: Wie dick sind die Glaswände der Aquarien?
Naja ich wollte den NE555 nicht als Bauteil verwenden, sondern sein Prinzip auf die kapazitive Füllstandsmessung übertragen, da ich glaube das jeder der auch nur bischen was von elektronik versteht den NE555 und sein Prinzip kennt (zumindest war das früher so ;-). Die Idee mit dem NE555/556 als kippstufe ist aber interessant und setzt seine Intention voll durch. Das Thema der störanfälligkeit ist bei so kleinen Kapazitäten denke ich auch das größte Problem, wird aber durch die zweite Festkapazität elegant behandelt. Nur etwaige Lebewesen die sich im E-Feld Befinden können noch zu verwirrung führen, daher sollte man den Kondensator an einer 'geschützten' Stelle wie einem Ausgleichs-/Filterbecken bauen...
Ich würde den Sensor so wie in dem oben genannten Feuchtemesser bauen. Den 74HC14 als Relaxation Oszillator, alles auf eine kleine Platine oder frei fliegend in die Nähe der Kondensatorplatten. Vlt kann man auch gleich eine Lange Platine machen, auf der sich die Platten befinden. Das ganze über 3 Drähte an den µC. Die Übertragung ist störfest, da nur die Frequenz gemessen werden muss. Das macht dann der Controller mit einem Tiemr/Counter.
Hallo :-) Also um gleich mal die Frage zu beantworten: Die Scheiben sind ca. 1cm dick und es gibt keine Ausgleichs oder Filterbecken nebenan. Die Filter befinden sich im Keller.
Gibt es da keine Probleme mit dem Kondenswasser? Diesen Sensor würde ich dann auch nehmen.
zipp schrieb: > hmm > ich mach was gleichartiges damit: > http://www.watterott.com/de/Sharp-GP2D120XJ00F > und das nicht vergessen: > http://www.watterott.com/de/Anschlusskabel-fuer-Sharp-IR-Entfernungssensoren > > kein elektro-smog > kein akustik-smog > keine fischsuppe ;-) > > cu zipp Gibt es da keine Probleme mit dem Kondenswasser? Diesen Sensor würde ich dann auch nehmen
cool, dieser totenfledderer. bin auch an einem solchen problem. gibts den to noch aktiv hier?
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.