Ich gehe an die HTL und schreibe eine Diplomarbeit über das Thema "Elektronische Wasserwaage" . Mit dem Hardware Teil bin ich fast fertig, aber über die Programmierung habe ich mir keine gedanken gemacht besser gesagt ich kenne mich nicht aus :-). Also wir haben einen Beschleunigungssensor (ADXL213), der liefert zwei digitale pulsmodulierte Signale X und Y, --> X und Y wird an den Pins (Interrupts) des microcontrollers (Atmel,Atmega16) angeschlossen, wenn der flanke "1" wird fängt der Timer an zu zählen, dies geschieht mit hilfe von Gate Modus des Timer. Dann sollte der microkontroller das Verhältnis bilden und anschließend an das LCD Display ausgeben. Die auswerteung sollte graphisch dargestellt werden. Mit einem Punkt in der Mitte sollte Wagrecht stehen und wenn die Bewegung nach recht ist sollte sich der Punkt nach recht bewegen und genau so in die andere richtung. Dies ist die gesamte Aufgabenstellung. Nun, meine frage ist an Euch, Wie soll ich anfangen zu Programmieren? Wie soll ich den Timer, den externen Interrupt und des LCD-steuerung auf microkontroller programmieren. Wenn ich eine Antwort kriege, würd ich mich sehr freuen.......DANKE
Das hört sich nach ein wenig Grundlagen an. Schau mal in der Artikelsammlung im Wiki, z.B. http://www.mikrocontroller.net/articles/AVR-GCC-Tutorial
dürfte an und für sich nicht schwer zu realisieren sein ich lass mir was einfallen wenn ich einmal zeit dazu habe
Hi tut er. Zumindest der, den ich mal in den Fingern hatte. Und das sogar erstaunlich genau. Matthias
Ich sach ma, mit Beschleunigungssensoren kann man prima Airbags auslösen oder ne Diebstahlsicherung aufbauen oder Festplatten schocksicher machen. Aber als Lagesensor dürften sie überhaupt nichts taugen. Ne Wasserwaage würde ich mit nem Lot aufbauen, dessen Stellung kapazitiv, induktiv oder optisch ermittelt wird. Oder ganz profan mit ner echten Libelle und CCD-Sensor. Peter P.S.: Hier war mal ein Thread, wo jemand versuchte mit Beschleunigungssensoren die Fluglage zu stabilisieren, der ist auch gescheitert.
Ich schließe mich Peter an, aber falls Du das wirklich so realisieren willst schau mal unter http://www.circuitcellar.com/avr2004/distinctive.htm und dort unter "Mason's Level Meter" oder direkt http://www.circuitcellar.com/avr2004/wabstracts/A3762abstract.pdf dort wurde beim AVR Design Contest 2004 so etwas ähnliches als Projekt mit der Bezeichnung Digital Spirit Level abgegebeben. Vieleicht hilft Dir das ja weiter. Viele Grüsse Mario
Ich hab mal ins Datenblatt gesehen, das Ding ist auch als Kippsensor geeignet. Allerdings dürfen dann keine seitlichen Beschleunigungen auftreten, d.h. es ist sehr ruhig zu halten. Allerdings bezweifle ich stark, ob man die Empfindlichkeit einer herkömmlichen Wasserwaage damit erreichen kann. Echte Wasserwaagen müssen auf 1mm/m (0,06°) genau sein. Eine Diplomarbeit muß ja auch praxisbezogen sein. Peter
In der Elektor war mal ein Projekt elektronische Wasserwaage mit nem Beschleunigungssensor von analog Devices. Ansonsten gibts die Sensoren auch mit Analogausgang.
>>Allerdings dürfen dann keine seitlichen Beschleunigungen
auftreten, d.h. es ist sehr ruhig zu halten.
Und das ist bei einer herkömmlichen Wasserwaage anders?
Sven
>> Allerdings bezweifle ich stark, ob man die Empfindlichkeit einer >> herkömmlichen Wasserwaage damit erreichen kann. >> Echte Wasserwaagen müssen auf 1mm/m (0,06°) genau sein. Ich habe ins Datanblatt des ADXL202JE geschaut. Laut deren Angaben sollte man eine Auflösung von 0.4mg bei einem Wertebereich von +-1g drinnen sein was bei einer Wasserwaage dann 0.036° Genauigkeit ergäbe. >> Allerdings dürfen dann keine seitlichen Beschleunigungen >> auftreten, d.h. es ist sehr ruhig zu halten. Das dürfte das eigentliche Problem werden. Der ADXL kann nicht zwischen der statischen Erdbeschleunigung die zur "Winkelberechnung" herangezogen wird und einer dynamischen Beschleunigung auf Grund seitlicher Bewegungen der Waage, unterscheiden. Bei dieser hohen Genauigkeit wird es sogar so sein das selbst durch die Hand eines Menschens der die Waage ganz ruhig hält immer noch eine seitliche Beschleunigung messbar ist, quasi das Zittern der Hände. So, das lässt sich aber lösen indem man 2 ADXLs antiparallel benutzt. Das Zittern wirkt dann auf beide ADXLs gleichmaßen aber entgegengesetzt. Damit hat man dann eine Basis diese Störungen rausrechnen zu können. Gruß Hagen
>>Der ADXL kann nicht zwischen
der statischen Erdbeschleunigung die zur "Winkelberechnung"
herangezogen wird und einer dynamischen Beschleunigung auf Grund
seitlicher Bewegungen der Waage, unterscheiden.
Man erinnere sich an Einstein: In einem geschlossenen Bezugssystem mit
kleinen Abmessungen (und das ist sowohl der ADXL als auch die Libelle
einer Wasserwaage) kann prinzipiell nicht zwischen Erdbeschleunigung
und dynamischer Beschleunigung unterschieden werden. Eine beschleunigte
Wasserwaage oder eine Lot gehen genauso "falsch" wie der ADXL...
Sven
Neunmalklug an Es kann nicht zwischen einer Beschleunigung aufgrund von Bewegung (träge Masse) und der Beschleunigung durch Gravitation (schwere Masse) unterschieden werden, da nach Einstein beide Effekte die gleiche Ursache haben Neunmalklug aus Was hier mit dynamischer Beschleunigung gemeint war - so habe ich es jedenfalls verstanden - ist die Änderung der Beschleunigung (vierte Ortsableitung). Diese ist im Falle der Gravitation Null, bei den Bewegungen aber nicht.
Egal, praktisch gesehen hat Sven recht, die Libelle der Wasserwaage hat das gleiche Problem wie der ADXL, mit einem Unterschied: die Flüssigkeit reagiert wesentlich träger als der ADXL. Übrigens ist mein obiger Vorschlag mit den 2 ADXL's oversized und garnicht nötig. Der ADXL hat zwei Messachsen X,Y die 90 Grad versetzt zueinander sind. Wenn die X Achse Richtung Erde zeigt so misst sie +-1 g und die Y Achse dann 0g. Ein horizontales Verwackeln würde dann nur die Y Achse beeinflussen, ein vertikales Verwackeln nur die X Achse. Ich meine das der ADXL schon eine gute Wahl für eine elektronische Wasserwaage wäre, wenn man diesen Aufwand treiben möchte. Interessant wäre dabei die Messung von Winkeln. Gruß Hagen
Mein naiver Ansatz, um dieses Verwackeln wegzubekommen, ist wäre eine Mittelung des Wertes.
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.