Hallo, ich bräuchte ein wenig Hilfe beim implementieren eines Gyrosensors in ein bestehendes Projekt (mit SPS gesteuert). Der Sensor ist leider schon installiert, es geht primär um die softwaretechnische bzw. rechnerische Seite: Datenblatt zum Sensor: http://www.sensor-technik.de/dbdownload/downger_105_1.pdf Ich soll mit dem Sensor Richtungsänderungen in der Ebene messen, sprich um welchen Winkel hat sich innerhalb eines Abtastschrittes die Orientierung verändert. Momentan ist die Zykluszeit noch 3,5ms. Der Ausgang vom Gyro wird in einen vorzeichenbehafteten Integerwert umgewandelt und steht so im Programm zur Verfügung. Ich Rechne bisher: winkel_wert = 0.0035 * (winkel_integer + offset) * 50 / 32767 winkel = winkel + winkel_wert winkel_integer ist der digitalisierte Ausgang vom Gyrosensor, also mein "Rohwert". Der Offset ist notwendig, weil wenn der Sensor komplett in Ruhe liegt er um -4000 leicht schwankt und ich ihn somit auf 0 lege. Ich habe jetzt zwei Probleme: Zum einen die starke Drift des Sensors, zum anderen, je nachdem wie schnell ich den Sensor drehe unterschiedliche Winkelwerte kriege. Z.B: ich drehe den Sensor LANGSAM um 45° ich kriege etwas mit 20° ausgegeben. Ich drehen ihn SCHNELL um 45° ich komme in den Bereich um 75°-85°. Ich wollte versuchen mal die Zykluszeit zu verlängern, da der Sensor nur 40 mal pro Sekunde misst. Aber welche Lösungsstrategien könnte ich noch verfolgen? Ich bin ein wenig ratlos und hoffe auf eure Hilfe! Sollte ich irgendwelche Infos vergessen haben zu erwähnen, bitte unbedingt sagen! Vielen Grüße und vielen Dank im Voraus! chmbw
Also im Allg. haben Winkelsensoren eine enorme Drift (ich habe ein ähnliches Teil auch mal in den Fingern gehabt, war schlimm!). Es heißt eigentlich, wenn man mit so einem Teil dyn. messen will nimmt man einen Beschl.Sensor zur Hilfe. Mit dem kann man einen 0-Grad durchgang gut erkennen und den Neigungssensor von seiner Drift befreien (Nullen). Ich habe damals das Problem anders gelöst: Ich habe mit einen drei-achsigen Beschl. Sensor besorgt (du hast ja schon einen) und den ausgelesen. Mit ein bißchen Geometrie kann man damit auch herlich die Winkel messen (es dürfen eben nur keine achsialen Beschl. auftreten (aber selbst die lassen sich rausrechnen)! Für ein 2D Problem bedient man sich z.B. einfach Pytagoras und der Trigonomie: Winkel=cot([Beschl.Y]/[Beschl.X]) Der Trick ist, daß die Erdbeschl. immer 1g ist (eben keine Beschl. des Sensors in X oder Y Richtung). Demnach ist deine Hypothenuse auch immer 1g "lang". X und Y sind min. immer kleiner. Der Rest ist Mathematik. (keine Garantie auf math. Richtigkeit (is auch schon spät); zudem: wer Rechtscheibfehler findet, kann sie behalten ;)
>wer Rechtscheibfehler findet, kann sie behalten
Und wer denkt, dass man Rechtschreibfehler besitzen kann, mag seine
Gedanken für sich behalten ;-)
Wichtig is es doch Ideen zu teilen nicht im Rechtschreibkurs eine 1 zu haben. Warten wir ab und fragen den Fragesteller nach seiner Meinung. Wenn er meine Rechtschreibfehler nicht mag, dann lösche ich meinen Beitrag wieder. Wenn es aber nich so ist, dann würde ich mir wünschen, wenn der Herr Deutschlehrer das nächste mal nen Beitrag zum Thema schreibt!
@Matze Niemand: Erklär bitte nochmal wie Du die Drehrate um Z mit dem linearen Beschleunigungsmesser ermitteln willst, wenn das Schwerefeld ebenfalls in Z-Richtung liegt? Um X oder Y ist das statisch möglich.
Hm.. ich versteh das Problem nicht. Was ist eine Drehrate? Ist das die Winkelgeschwindigkeit? Noch nie im Maschinenbaustudium gehört. Es ist mit meiner Methode nur möglich den aktuellen Winkel zum Erdmittelpunkt (und für Klugscheißer: Erdschwerepunkt) zu errechnen. Im 3D-Raum wird das natürlich ein bißchen anspruchsvoller. Um die Winkelgeschw. zu bekommen müsste man nur einmal differenzieren. Jedoch tritt da mit zunehmender Dauer ein Problem auf: die Rechenzeit, da es dadurch nicht kontinuierlich gemessen wird... Aber auch das Problem bekommt schon irgendwie durch geschicktes Nullen wieder hin.
@Sebastian Enz: wozu die DrehRATE? Dafür nehmt man die Gyrowerte direkt. Das Problem ist daraus den Winkel zu errechnen, da aufgrund des nötigen Integrals der Fehler sehr schnell wächst. Die Drehrate war noch nie ein Problem (Ausgangssignal des Gyros = Drehrate) Gruss Thomas
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.