Hi, ich wollte nein paar Neigungsmessungen so +/- 30 Grad Bereich mit
einer Auflösung von ca. 0,1 Grad oder besser machen.
Dafür suche ich einen Sensor welcher statische Beschleunigung messen
kann.
Das soll damit ja wohl gehen. Nur leider habe ich (noch) keinen Plan von
der Materie. Wie stelle ich das damit an? Kennt sich einer aus ?
Grüße Micha
MMA7260 von Freescale und ähnliche statische Sensoren gibt es
verschiedentlich im Internet, z. B. bei http://www.sander-electronic.de
Bisschen Trigonometrie-Berechnungen mit den 3 Ausgangsspannungen, dann
geht das.
Grüße, Peter
ja g ist Erdbeschleunigung. Wenn du also 0,5g erhälst musst du den
Cosinus von 0,5 nehmen, da die Ankathete dein Ausgangswert ist und die
Hypothenuse die Erdbeschleunigung.
Q Peter,
hab mir grad mal den MMA7260 angeschaut. Der kostet auf ner Platine
keine 20 EUR bei Ebay. Das klingt ja ganz gut. Hast du mit dem schon mal
was gemacht ?
@ Micha (Gast)
Habe die MMA7260QT vor 1 Jahr gekauft, aber erst noch vor, sie zu
verwenden.
In der empfindlichsten Einstellung liefern sie 800mV/G, der Nullpunkt
liegt bei 1,65V +/-10%, muss also abgeglichen werden. (am besten in
einem Null-G-Parabelflug, hihi)
Bei gerader Lage meldet also der Z-Teil + oder -800mV und die anderen 0
(immer bezogen auf den Nullpunkt). Wenn er ganz senkrecht gekippt ist,
geht Z auf 0 und X oder Y melden die + oder - 800mV oder es gibt eine
Mischung aus X und Y.
Es würde mich interessieren, welche Gradauflösung mit 10 Bit
AD-Wandlern (AVR!) erreicht wird. Bin aber heute zu faul zum Rechnen.
Wenn du ein Ergebnis hast, lass es doch wissen.
Grüße, Peter
Ich habe leider noch nicht begriffen wie ich mit den "g" Werten auf
meinen Winkel komme? Kennst du dich da aus...?
ja und 10 bit ist 1024 oder was meinst du jetzt ?
Wenn Du einen z.B. einen +/-1.7G Sensor hast, der in Mittellage 2.5V
ausgibt, bei -1.7G=0V und bei +1.7G = 5V dann hättest Du bei
+1G=(2.5V/1.7)+2.5V = 3.97V und bei -1G=(2.5V/1.7)+2.5V = 1.03V
+/-1G hast Du dann, wenn Du den Sensor genau 90° seitlich kippst. Der
Verlauf der Spannung folgt dabei der Sinus-Funktion im Bereich 0..90°.
Im Bereich von ca. +/-15° ist der Verlauf der Sinus-Kurve recht linear,
da kann man - je nach Anforderung an die Genauigkeit - fast ohne
Kompensation der Ausgangsspannung leben.
Darüber hinaus KANN man die Ausgangsspannung entsprechend kompensieren.
Wenn man das z.B. mit einem Mikrocontroller macht, dann muss man
eingangsseitig schon sehr fein auflösen (z.B. mit 14 bit), um
ausgangsseitig noch eine annehmbare Auslösung (z.B. 8..10 bit) erzielen
zu können.
Prüfe doch einfach, ob Du diese Kompensation für deine Applikation
überhaupt benötigst.
Übrigens noch Unterschied zwischen Neigungssensor und
Beschleunigungssensor:
Der liegt nur in der Dämpfung des Elements, diese ist naturgemäß bei
MEMS-Zellen (sprich Halbleiter-Lösungen) so gut wie nicht vorhanden.
Eine nachfolgende Dämpfung per Tiefpass kann meistens das gewünschte
Resultat erzielen aber nicht immer: Wenn das Sensorelement in
entsprechende Resonanzen gerät (z.B. durch Mikro-Schwingungen bei
Straßenfahrt oder dergleichen) kann dieses in Resonanz geraten. Diese
Schwingung des Sensorelements kann für eine Meßwert-Verfälschung sorgen,
welche definitiv nicht von außen kompensierbar ist. Aus diesem Grund
gibt es für reine Neigungssensoren oftmals noch als veraltet
erscheinende Messverfahren wie Ölpendel oder kapazitiv erfasste
Elektrolyte zwischen Glasplatten. Diese Verfahren haben prinzipbedingt
eine hohe Dämpfung und eignen sich daher besonders für eine
Neigungsmessung.
@ so nicht
wuste garnicht das ich faul und demotiviert bin. das ist mir neu !
dann lass doch mal was vom stapel, wenn du dich auskennst. denke eher du
gehörst du den spinnern die hier den gerne mal den oberlehrer raushängen
lassen und sonst nichts können außer sprüche kloppen
@ Micha (Gast)
Da hab ich oben den ganzen Sensor beschrieben, aber es braucht ja nur
z.B. den Z-Teil, X und Y braucht man hier nicht.
Werte vom Sensor sind im Bereich 1,65V +/- 0,8V für 0 Grad bis +/- 90
Grad.
AD-Wandler auf 0..2,5V auslegen, weil es 2,5V Referenzen gibt und die
maximale Spannung vom Sensor bei 1,65+0,8=2,45V liegt. Die Wandlerwerte
liegen bei 10 Bit zwischen 348 und 1004 (676 +/- 328)
Wandlerwerte normieren auf +/-1, damit sie mit Acrcus Sinus weiter
verrechnet werden können: Z = (676 - Wandlerwert) / 328.
Winkel = arcsin(Z)
Winkelfunktionen müssten von einem Mikrocontroller zu schaffen sein.
Die Auflösung beträgt etwa 0,2° bis 30° Neigung.
Grüße, Peter
@ Harald und Peter, danke für die Erklärungen. Im großen ganzen habe ich
das jetzt geschnallt. Ich denke mit der Genauigkeit ohne Kompensation
kann ich leben. Das alles nochmal genau zu berechnen macht bei meinen
Anwendungen keinen großen Unterschied. Ich brauche das nur als
Winkelmesser um paar Rohre zu biegen. Die Biegungen nochmals bischen zu
korrigieren ist einfacher als hier ein riesen Aufwand zu betreiben.
Nochmal zu dem Sensor. Ich brauche nur eine Achse und ein Sensor mit 2,5
V Mittellage wäre optimal für mich. Denn könnte ich so wie er ist an
meine SPS hängen und wäre fertig. Kennst du / Ihr da zufällig einen ?
Wenn nicht klingle ich mich morgen mal bei den Händlern durch.
Grüße Micha
Gemac ist ne Sache für sich. Da hab ich heute erst einen Testsensor
zurück geschickt. Ich habe zwei Sensoren NS7. Dieser soll eine 8 bit
paralell Wort entsprechend der Neigung ausgeben. Ich habe das getestet.
Bei mir leider ohne Erfolg. Die Null und die 255 kamen ganz sauber. Nur
dazwischen flatterte das Meßergebnis hin und her wie so ein
Hundeschwanz. Darauf hin hab eich bei Gemac angerufen und es wurde mir
sehr freundlich versucht zu helfen. Ich habe sogar ein neues Exemplar
zum Testen bekommen. Bei dem hatte ich das gleiche Ergebniss. Das
Problem war eigentlich nur, das es kein vernünftiges Datenblatt gibt.
Ich bin mir sicher das die Dinger funzen, aber leider konnte mir keiner
so richtig sagen, was ich falsch mache. Und ein Entwickler sagte mir das
es in dem 2 seitigen Datenblatt einen Fehler geben sollte. Ging aber
auch nach der neuen Einstellung nicht. Naja nichts für ungut. Es wird
einem da versucht zu helfen auch wenn nicht die Umsätze in tausender
Stückzahlen winken. Das fand ich echt gut, das Datenblatt jedoch grotten
schlecht. Ja und die Preise sind auch nicht gerade mehr Marktfähig. Für
eine Achse mit 8 bit Auflösung um die 100 EUR ( und nix mit Sample ) ist
nicht mehr zeitgemäß
Grüße Micha
Also um 0,1 Grad Auflösung zu bekommen braucht man schon einen Sensor
der bei 1g 10 Bit macht, das ist schon nicht ganz einfach zu
beherrschen. Integrierte Sensoren, die den A/D Wandler bereits mit drin
haben sind meist bei 8 Bit pro g oder schlechter.
Wir bauen einen 3 achsigen Sensor mit USB Schnittstelle der 10 Bit bei
+/-2g macht, also 8 Bit pro g. Dazu haben wir auch ein Beispielprogramm
mit dem man 2D Winkel messen kann, Sourcecode inklusive, kann man sich
also runterladen um anzuschauen wie sowas geht:
http://www.accelerationsensor.de
Nicht vergessen darf man, dass durch den cos alpha die Winkelauflösung
um so schlechter wird je weiter man sich von der Horizontalen entfernt.
Für präzise Winkelmessungen sind eher flüssigkeitsgefüllte Sensoren mit
kapazitiver Messung sinnvoll.
Aber immer darauf achten was gemessen wird. Sollte sich das Objekt
bewegen bzw selbst beschleunigen, so gibt es eine Überlagerung der
gemessenen Beschleunigung durch den Winkel und der
Bewegungsbeschleunigung. Gerade bei Pendelbewegungen (oder schlimmer
Doppelpendel) wird das harrig.
Die Spezifikation "statisch" sollte man also immer genau treffen.
(Messobjekt steht für 10s, 1s, 100ms still um die Messung
durchzuführen).
JL
"Linux-Unterstützung in Vorbereitung" Leider noch kein Termin, uns ist
der Linux-Programmierer ausgefallen, Ersatz sollte aber hoffentlich in
Kürze vorhanden sein. Da das Thema so komplex nicht ist, wird es wohl
nicht mehr allzulange dauern.
@Guido: Ok, danke. Es soll ja Firmen geben, die schon seit Jahren
Linux-Unterstützung ankündigen, daher die Frage.
Zum Thema:
Warum rechnet ihr nicht mit arctan(y/x) den Gravitationsvektor aus? Dann
wär wenigstens die Genauigkeit nicht mehr winkelabhängig. Und wenn ich
weiss wo unten ist, ist die Neigung ja auch ein Kinderspiel :-)
Ja, durch Einbeziehung der Z-Achse könnte man die Genauigkeit noch
steigern, das ist wahr. Da es aber nur ein Demoprogramm ist, hat uns die
Lösung erst mal gereicht, man kann das ja so schon schön auf der Messe
vorführen. Fertig benutzbare Programme für so einen Sensor zu schreiben
ist ohnehin schwer, da jede Anwendung ihre Anforderungsdetails hat.