Hallo an alle. Ich möchte einen Schwimmerschalter bauen welche in Abhängigkeit seiner Lage seine Ausgänge schaltet. Angedacht hatte ich hierfür einen Gyrosensor. Diesbezüglich habe ich aber auch gelesen, dass diese mit der Zeit einen linear ansteigenden Messfehler produzieren. Eine Neukalibrierung alle X Minuten ist in meinem Fall schlecht da der Schalter ständig bisschen in Bewegung ist und somit keine tatsächliche Ruheposition erreicht wird. Womit kann ich denn den Fehler kompensieren? Bei IMUs für beispielsweise Quadrokopter werden noch Magnetometer eingesetzt. Sind sie für die Fehlerkompensation zuständig? Wenn ja, wie werden die beiden Messwerte miteinander verrechnet? Oder kennt ihr vielleicht eine einfachere, verschleissfreie Mögilchkeit zur Winkelbestimmung? MFG Rush
Den Neugungswinkel misst man mit einem @d oder 3D Beschleunigungssensor. Das Verhaeltnis von X/Y ist der Winkel, resp sin/cos davon
:
Bearbeitet durch User
Ja gut, soweit wusste ich auch schon bescheid. Der Gyro erscheint mir auch die sinnvollste Alternative. Aber vllt. weiss ja noch jemand eine andere Möglichkeit. Wie verhält es sich denn mit der Fehlerfortpflanzung bei den Gyros? Wie kann diese ohne ständige Neukalibrierung kompensiert werden?
Du könntest auch einen AS5047 Magnetsensor verwenden. Absolut genau und zuverlässig.
Hmmmm... hatte mit Magnetsensoren noch nie was gemacht. Wobei die Magnetsensoren leider auch ungeeignet sind da der Schalter auch in einer "störenden" Umgebung betrieben werden soll.
Rush .. schrieb: > Ja gut, soweit wusste ich auch schon bescheid. Der Gyro erscheint mir > auch die sinnvollste Alternative. Nein völlig untauglich. Ein Gyro iste in DRehratensensor. "Oh Doch" hat dir soch gesagt, daß du dazu einen 2 oder 3D Beschleunigungssensor brauchst.
Rush .. schrieb: > Angedacht hatte ich hierfür einen Gyrosensor. Rush .. schrieb: > Gyro erscheint mir auch die sinnvollste Alternative. Häh ? Ein Gyro(skop) ist ein Drehratensensor. Da dessen 0 nie exakt ist, dreht sich das Ausgangssignal im Laufe der Zeit, auch wenn sich das Obejekt nicht dreht. Ein BESCHLEUNIGUNGSsensog hingegen misst durch Trägheit Bewegung und Erdanziehung. Er liefert auch bei Stillstand kein 0-Signal weil er immer der Erdanziehung unterliegt. Auch im Weltall würde er wohl nicht 0 liefern sondern einen kleinen Messfehler. Verwendet amn 2 Bescheunigungssensoren sind die kleinen Fehler aber kein Problem, denn mit 2 orthogonalen Beschleunigungssensoren kann man (falls sich das Objekt nicht bewegt) die Richtung der Erdanziehung messen und damit die Winkelstellung des Schwimmers zur Wasseroberfläche. Beispielsweise http://de.farnell.com/analog-devices/adxl213ae/2-axis-accelerometer-1-2g-lcc/dp/1438758 Um bloss die Stellung eines Schwimmersarms zu messen, sind diese Sensoren aber Overkill, es tut ein simples Poti an der Achse an der der Arm des Schwimmers gelagert wird. Falls es berührungslos sein soll, ein Magnet und ein 2-Achsen Magnetfeldsensor wie KMZ51. Und noch einfacher ein Magnet der sich einem linearen Magnetfeldsensor wie KMZ10 nähert, das wird trotz Temperaturabhängigkeit wohl für 10% Genauigkeit ausreichen. Alernativ eine Spule in die ein Kern eintaucht, oder 2 Platten dich sich zunehmend überienanderschieben deren Kapazität (mit einem NE555) gemessen wird. Aber warum sollte man heute die einfachen Lösungen wählen, wenn man auch eine Klospülung mit einem PC mit Internetverbindung ausrüsten kann.
Rush .. schrieb: > Oder kennt ihr vielleicht eine einfachere, verschleissfreie Mögilchkeit > zur Winkelbestimmung? > > MFG Rush Sind "einfach" und "verschleißfrei" deine einzigen Anforderungen?
Du schreibst von einem Drehratensensor. In Deiner Anwendung (Schwimmerhebel in Tank?) ist eine Winkelmessung notwendig: - Poti - 2-Achs-Beschleunigungssensor Ein kurze Auswahl anderer möglicher Messmethoden - ein Ultraschallsensor - Flüssigkeitsoberfläche - ein Schwimmer mit Seilrolle - Drehencoder - eine kapazitive Messung - Tankinhalt als Dielektrikum - ein Drucksensor Aber einen Flüssigkeitsstand per Drehratensensor, da denke ich spontan nur an https://en.wikipedia.org/wiki/Rube_Goldberg_machine Edit: ich sehe, hab wieder zu lange geschrieben, so dass ein paar Mitleser zeitgleich ins selbe Horn gestoßen haben. Naja, ich lass den Text mal stehen.
:
Bearbeitet durch User
Rush .. schrieb: > Angedacht hatte ich hierfür einen Gyrosensor. Das sind Sensoren für die Messung der Winkelbeschleunigung. Rush .. schrieb: > Bei IMUs für beispielsweise Quadrokopter werden noch Magnetometer > eingesetzt. Sind sie für die Fehlerkompensation zuständig? Magnetometer sind für den Kompass gedacht und messen dabei den Winkel um die Hochachse. Die bringen dir nichts für deine Anwendung. Oh D. schrieb: > Den Neugungswinkel misst man mit einem @d oder 3D Beschleunigungssensor. > Das Verhaeltnis von X/Y ist der Winkel, resp sin/cos davon Genau so ist es. Wenn überhaupt, dann einen Beschleunigungssensor. Rush .. schrieb: > Ja gut, soweit wusste ich auch schon bescheid. Der Gyro erscheint mir > auch die sinnvollste Alternative. Nein, ein Gyrosensor ist nicht sinnvoll. Nimm einen Beschleunigungssensor, wie von "Oh Doch" beschrieben. Der driftet auch nicht. Allgemein ist das mMn ein bisschen mit Kanonen auf Spatzen geschossen. Ein stinknormales Drehpoti würde vermutlich auch den Winkel ausreichend genau messen können, wenn du den Arm an dem dein Schwimmer hängt an das Poti hängst. Natürlich lässt sich so ein Beschleunigungssensor besser vergießen aber ich weiß ja auch nicht was du genau vor hast. Marcus H. schrieb: > Edit: ich sehe, hab wieder zu lange geschrieben, so dass ein paar > Mitleser zeitgleich ins selbe Horn gestoßen haben. Naja, ich lass den > Text mal stehen. Dito :)
:
Bearbeitet durch User
Neigungssensoren sind relativ preiswert und auch robust. Wenn Du mehr als einen Winkel brauchst, nimm doch mehrere. Oder brauchst Du tatsächlich alle "Zwischenwerte".
Der Schalter soll in einem Gehäuse dass einem Wassertropfen ähnelt untergebracht sein. Der wiederrum hängt an einem langen Kabel in der Flüssigkeit. Da sich der "Tropfen" in der Flüssigkeit drehen kann, kann ich nicht nur eine Achse auswerten. Wenn der Beschleunigungssensor besser dafür geeignet ist, nehme ich auch diesen, klar! Was das Gyro angeht: Verstehe nicht ganz warum das quatsch sein soll?! Wenn ich doch dessen Ergebnis aufintegriere, dann erhalte ich doch quasi die Winkelabweichung vom Nullpunkt aus. Also warum ist die Idee so abwägig?
Rush .. schrieb: > Was das Gyro angeht: Verstehe nicht ganz warum das quatsch sein soll?! > Wenn ich doch dessen Ergebnis aufintegriere, dann erhalte ich doch quasi > die Winkelabweichung vom Nullpunkt aus. Hast du keine der Antworten verstanden ? Weil 0 wegen realer Präzision nicht 0 ist, sondern vielleicht 0.0001, und wenn man lange genug 0.0001 aufsummiert (integriert) dreht man sich doch auf den Kopf. > Also warum ist die Idee so abwägig? abwegig ?
Na davon hatte ich doch schon bei Eröffnung des Themas gesprochen, dass sich der Fehler fortpflanzt. Deswegen hatte ich auch nach einer Möglichkeit zur Kompensation gefragt. Aber so wie es hier dargestellt wurde hieß es einfach dass der Sensor nicht dafür geeignet sei. Punkt
Ich bin nicht sicher, ob ich Deinen Setup richtig verstanden habe. Dein Sensor soll in einem Gehäuse sitzen, das an einem Kabel ins Wasser hängt, und selbstständig feststellen, ob der Wasserpegel steigt oder fällt? Also kein Arm mit einem Schwimmer, der vom Rand in den Behälter hineinragt, wie bei einer Toilette? Dann verstehe ich nicht, warum Du nach einem Neigungswinkel fragst. Neigungswinkel von was?
So nimm doch einfach einen 2D Beschleunigungssensor, nur einen Solchen. Sinnvollerweise macht man den Schwimmer so, dass er in einer Ebene bleibt, und nicht draus weg kippen kann. Da gibt's dann nichts zu kompensieren, oder approximieren.
:
Bearbeitet durch User
Martin (M.) schrieb: > N Poti? …oder ein gebogener Lochstreifen und eine Gabellichtschranke. Aber für eine Ein-/Aus-Funktion einen popligen zweiwertigen Sensor gegen eine Monsterauflösung von 1° mit Bluetooth und Smartphone-Anbindung zu ersetzen ist viel mehr Grunzen wert.
:
Bearbeitet durch User
Rush .. schrieb: > Na davon hatte ich doch schon bei Eröffnung des Themas gesprochen, dass > sich der Fehler fortpflanzt. > > Deswegen hatte ich auch nach einer Möglichkeit zur Kompensation gefragt. > > Aber so wie es hier dargestellt wurde hieß es einfach dass der Sensor > nicht dafür geeignet sei. Punkt Entschuldige bitte, dass wir Dich von Deiner Wunschlösung abbringen wollten. Kommt bestimmt nicht wieder vor. Dein Ansatz ist selbstverständlich problemlos umsetzbar. Ich selber verwende für die Neigungsbestimmung auch Kreiselinstrumente. Die auftretende Drift (Gerätefehler, Erdrotation 15°/h) wird einfach kompensiert, indem man im unbeschleunigten Horizontalflug die Kreiselinstrumente nachdreht. ^^
Ein rotationssymmetrischer Schwimmer. Häng den doch an nem Seil auf, das wiederum ist auf einer Trommel, die wiederum ist federbelastet. Aber die anderen Messmethoden für Flüssigkeitsstände in Tanks sind natürlich auch alle machbar. Einzig und allein sich ne integrale Messabweichung einzuhandeln und die dann wieder zu kompensieren ist nicht allzu sinnvoll. Mein Tipp dazu: Regelmäßig nen Zollstock in den Tank halten und das Messgerät dann wieder auf den realen Wert drehen.
hhahaha :-D Ok ich gebe mich geschlagen ;-) Zum Setup nochmal. Ich habe ein Gehäuse in Tropfenform, das am Kabel im Waser hängt. Es ist oben kegelförmig und unten eine Halbkugel. In dem Gehäuse ist ein wenig Gewicht zur Beschwerung. Wenn der Tank voll ist, hängt der "Tropfen" senkrecht am Kabel im Wasser... Sinkt der Wasserstand quasi unter das integrierte Gewicht, so neigt sich das Gehäuse. Die Position im Wasser sieht ungefähr so aus:
1 | + |
2 | / \ |
3 | / \ |
4 | / \ |
5 | * * |
6 | * * * |
Und bei leerem Behälter eben um ca. 90° nach links oder rechts geneigt. Und diese Neigung will ich messen.
:
Bearbeitet durch User
Achso...tjo dann wie erwähnt Accelerometer und dann schön den 3D Pythagoras machen. Wenn das viel in der Gegend rumschwappt entsprechend filtern, digital oder analog.
Rush .. schrieb: > Und diese Neigung will ich messen Dann bau halt ein Pendel ein:
1 | + |
2 | /|\ |
3 | / | \ |
4 | / | \ |
5 | * o * |
6 | * * * |
oben isoliert angebracht, macht es Kontakt mit der Wand, wenn dein Tropfen zu schräg steht.
Rush .. schrieb: > Ich will gerade von der mechanischen Lösung weg ;-) Was meinst du, was ein MEMS ist ?
Ja ich weiss... MEMS ist auch mechanisch, aber eben nicht in solchen Ausmaßen.
Ah, ok, das Messgehäuse liegt also auf dem Boden des Behälters, und das Kabel ist locker. Klingt tatsächlich so, dass ein Beschleunigungssensor am besten wäre, wie andere schon geschrieben haben. Er liefert Dir ständig einen Messwert, aus dem Du berechnen kannst, wo "unten" ist, während ein Gyro nur einen Wert während der Drehung liefert. Wenn die Drehung sehr langsam und unregelmäßig ist, liefert er nur irgendein Gezappel, das Du aufwändig filtern musst. Zudem musst Du ständig integrieren, um den aktuellen Momentanwert zu bekommen. Das ist so, als wolltest Du aus der Rotation (nicht der Stellung!) Deines Autolenkrades ständig auf die Fahrtrichtung schließen. Das ist bestenfalls eine grobe Schätzung. Also wenn Du keine mechanische Lösung willst, dann lautet das amtliche Endergebnis: Beschleunigungssensor.
Moin, Nur mal so zur Anschauung: Mit einem Gyro kann man bei einem (Modell-) Heli die Drehung um die Hochachse durch das Aufintegrieren so grob die Ausrichtung im Bereich von Sekunden halten. Ohne weitere Sensoren gibt es da auch nichts zu kompensieren. Ein Beschleunigungssensor zeigt Dir - solange das Ding sich nicht nennenswert bewegt - den Anteil der Erdbeschleunigung für alle drei Richtungen x-y-z an. Solange das Ding nur wackelt und nicht durch die Gegend rast, lässt sich auch ein Herumschwappen leicht glätten. Jetzt wollte ich schreiben, daß eine 3D-Auswertung mathematisch alles andere als banal ist. Allerdings kannst Du mit so einer Birne ja ohnehin den Wasserstand nur grob schätzen, also reicht auch eine grobe Schätzung des Neigungswinkels. Dazu nimmst Du einfach die z-Achse (senkrecht wenn die Birne steht), der Cosinus ist Deine Neigung - fertig. Edit: Nur Tippfehler Gruß, Norbert
:
Bearbeitet durch User
Wie oben mehrmals erwähnt wurde, ist ein IMU (Gyro + Accelerometer) für die Winkelmessung gut geeignet. Die Drift von einem Gyro kann man mit einem Kalman Filter leicht kompensieren, wobei der gemessene Winkel durch Accelerometer als Referenz darstellt.
Norbert S. schrieb: > Allerdings kannst Du mit so einer Birne ja ohnehin > den Wasserstand nur grob schätzen, also reicht auch eine grobe Schätzung > des Neigungswinkels. Dazu nimmst Du einfach die z-Achse (senkrecht wenn > die Birne steht), der Cosinus ist Deine Neigung - fertig. Wenn ich das System jetzt richtig verstehe, ist "groß schätzen" immer noch sehr gutmütig beschrieben. Wenn die Birne schwimmt, schwankt sie und damit auch jeder gemessene Wert. Wenn der Füllstand im Tank abnimmt, kippt sie irgendwann um. Kann es sein, das du keinen Winkel messen willst, sondern nur, ob die Birne am Boden angekommen ist? Dann würde ein Ja/Nein ääh Strom ein/Strom aus doch ausreichend sein. Dafür gäb es das so etwas: http://www.funduinoshop.com/Neigungssensor
Stm M. schrieb: > Wie oben mehrmals erwähnt wurde, ist ein IMU (Gyro + Accelerometer) für > die Winkelmessung gut geeignet. > > Die Drift von einem Gyro kann man mit einem Kalman Filter leicht > kompensieren, wobei der gemessene Winkel durch Accelerometer als > Referenz darstellt. Ähem... Erkläre mal, wozu der Gyro hier dienen soll. Erläre mal, was da mit Kalmanfilter kompensiert werden soll. Du bist nicht zufällig WI? Gruß, Norbert
Norbert S. schrieb: > Erkläre mal, wozu der Gyro hier dienen soll. > > Erläre mal, was da mit Kalmanfilter kompensiert werden soll. Ist doch ganz einfach: Über den Kalmanfilter verwurstet man die Daten aus dem Gyro mit den Daten aus dem Accelerometer, was dann wiederum den eigentlichen Zweck erfüllt. Man kann natürlich einfach gleich nur den Beschleunigungssensor nehmen aber dann braucht man keinen Kalmanfilter und das ganze wird viel zu einfach :D Marcus H. schrieb: > Aber einen Flüssigkeitsstand per Drehratensensor, da denke ich spontan > nur an https://en.wikipedia.org/wiki/Rube_Goldberg_machine So sieht's aus :)
Mal ne ganz dumme Frage zu dieser schwimmenden Birne: Wird das Kabel des Schwimmers eingentlich irgendwie straff gehalten? Ansonsten dürfte das ja permanent in der Flüssigkeit liegen und, je nach Füllstand, den Schwimmer beeinflussen. Bei entsprechender Länge des Kabels/Tankhöhe und kleinem Schwimmer würde ich sogar davon ausgehen, das letzterer über Kopf steht bzw. sinkt... Irgendwie scheint mir das Ganze recht kompliziert zu sein für etwas, das in Millionen Autos problemlos mechanisch funktioniert (und von daher auch günstig beschaffbar ist).
Norbert S. schrieb: > Ähem... > > Erkläre mal, wozu der Gyro hier dienen soll. > > Erläre mal, was da mit Kalmanfilter kompensiert werden soll. > > Du bist nicht zufällig WI? > > Gruß, > Norbert Das Gyro misst die Winkelgeschwindigkeit. Durch Integration der Winkelgeschwindigkeit bekommst du den Winkel, mit der Zeit driftet der Winkel, da die Gyrodaten in der Regel einen kleinen Offset haben.
Stm M. schrieb: > Durch Integration der > Winkelgeschwindigkeit bekommst du den Winkel Den krieg ich auch durch trigonotetrische Berechnung aus dem Z Vektor des Beschleuigungssensors. Erkläre also mal warum man überhaupt integrieren sollte. Man kann natürlich auch eine Baugrube mit einer Mistgabel ausheben, wenn einem der Bagger zu logisch erscheint.
du willst nur zwei Zustände unterscheiden? Warum nimmst du dann nicht einen der unzähligen käuflichen Neigungsschalter? Einfach mal bei Farnell o.ä. suchen...
Der Andere schrieb: > Erkläre also mal warum man überhaupt > integrieren sollte. Vielleicht weil man alleine aus der Beschleunigung nicht zwischen Rotation und Linearbeschleunigung unterscheiden kann? Sobald das Objekt stillsteht, reicht die Erdbeschleunigung aus, bei Bewegungen sind die Messwerte nicht mehr eindeutig.
Der Andere schrieb: > Stm M. schrieb: >> Durch Integration der >> Winkelgeschwindigkeit bekommst du den Winkel > > Den krieg ich auch durch trigonotetrische Berechnung aus dem Z Vektor > des Beschleuigungssensors. Erkläre also mal warum man überhaupt > integrieren sollte. > Man kann natürlich auch eine Baugrube mit einer Mistgabel ausheben, wenn > einem der Bagger zu logisch erscheint. Mit Accelerometer wird nur translatorische Beschleunigung gemessen. In der Ruhelage gehts mit der Beschl.-Sensor. Bei Translation + Rotation ist dein berechneter Winkel durch arctan2 unbrauchbar,
> Bei Translation + Rotation ..
Unser Tank ist ja auch im freien Fall, und er taumelt auch noch.
Stm M. schrieb: > Bei Translation + Rotation > ist dein berechneter Winkel durch arctan2 unbrauchbar Das ist Unsinn: Da die Integration zwingend einen Nullpunkt voraussetzt, den man mit dem Accelerometer bestimmen muss, nützt die Integration garnichts ohne korrekte Werte vom Accelerometer. In dem Schwimmer sitzt schliesslich kein Pilot, der das Gyrometer nach dem Horizont ausrichten kann, wie in einem Flugzeug. Georg
Super, ihr messt den Tankinhalt mit einem Quadcopter-Schwimmer? Jungs macht weiter so, das macht echt Spass hier :-) butsu schrieb: > Warum nimmst du dann nicht > einen der unzähligen käuflichen Neigungsschalter? Butsu, nicht so logische und vernünftige Vorschläge, das beendet ja den Spass hier.
Also ich hab die Aufgabe so verstanden, dass die Birne graduell umkippt je nach Flüssigkeitsstand. Und der Winkel soll dann gemessen werden. Und da die Birne rotationssymmetrisch ist, in 3D. In welche Richtung die umkippt ist praktisch vom Zufall abhängig. Ein Schalter reicht da nicht. Und zu dem Quecksilber Neigungsschalter: Is wieder 1980? Da die Frage mit "Accelerometer" aber schon längst beantwortet wurde ist grad eh nur noch Offtopic Spielplatz.
Sascha_ schrieb: > Ein Schalter reicht da nicht Doch: http://docs-europe.electrocomponents.com/webdocs/002e/0900766b8002e2c6.pdf Ist aber dem TO sicher nicht exotisch genug. Georg
Du hast schon recht, ein Schalter reicht natürlich nicht, wenn man nur einen Schwellwert vorgeben will, um eine An/Aus-Antwort zu bekommen. Warum auch bewährte Technik nehmen? Man wird doch nur gehänselt, wenn man nicht Gyro und Kompass nimmt, kalmangefiltert natürlich. Bei den immensen Drehraten, die so ein Tank aufweist, ist das bisschen Integrationsfehler egal. Wenn es sein müsste, dann könnte man natürlich auch ein Accelerometer für die Neigungserfassung nehmen. Könnte aber problematisch werden, weil bei hohen Drehraten jenseits der 90 Grad pro Sekunde der Wert verfälscht wird.
Georg schrieb: > Stm M. schrieb: > Bei Translation + Rotation > ist dein berechneter Winkel durch arctan2 unbrauchbar > > Das ist Unsinn: > > Da die Integration zwingend einen Nullpunkt voraussetzt, den man mit dem > Accelerometer bestimmen muss, nützt die Integration garnichts ohne > korrekte Werte vom Accelerometer. > Georg Hast du schon mal Accelerometer Daten gesehen, die schaut nämlich hässlicher als deine Zähne aus, Numerische Integration akkumiliert die Fehler unabhängig vom Nullpunkt, und der Offset kann nie exakt bestimmt werden
> Hast du schon mal Accelerometer Daten gesehen, die > schaut nämlich hässlicher als deine Zähne aus, > Numerische Integration akkumiliert die Fehler unabhängig > vom Nullpunkt, und der Offset kann nie exakt bestimmt werden Was soll denn integriert werden ? Die Schwerebeschleunigung ist ja konstant nach unten, man muss nur noch nach x & y auftrennen, resp auslesen. Nix integrieren.
Georg schrieb: > Stm M. schrieb: >> Bei Translation + Rotation >> ist dein berechneter Winkel durch arctan2 unbrauchbar > > Das ist Unsinn: > > Da die Integration zwingend einen Nullpunkt voraussetzt, den man mit dem > Accelerometer bestimmen muss, nützt die Integration garnichts ohne > korrekte Werte vom Accelerometer. > > In dem Schwimmer sitzt schliesslich kein Pilot, der das Gyrometer nach > dem Horizont ausrichten kann, wie in einem Flugzeug. Das Thema Kraftstoffvorrat im Flugzeug ist nicht trivial. Am liebsten ist mir persönlich, wenn ich direkt in die Tanks schauen kann - das geht halt meist nur bei kleinen Kisten. Hat man einen Flieger mit notorisch falscher Tankanzeige, dann ist ein Peilstab am Boden ein lebensverlängerndes Werkzeug. Für große Kisten ist die zuverlässigste Methode am Boden messen und dann Durchflussmengen zählen. Man muss nur hoffen, dass die Sensoren sich nicht verzählen und der Anfangswert stimmt. Diese Methode wird dem TO bestimmt gefallen, weil er dann doch noch zum Integrieren kommt...
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.