-         

Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 18

Thema: Luftdrucksensor mit sich selbst überprüfen

  1. #1
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    08.09.2007
    Ort
    Berlin
    Alter
    24
    Beiträge
    1.544

    Luftdrucksensor mit sich selbst überprüfen

    Anzeige

    Hi,

    ich arbeite momentan daran, meinem Quadrocopter das Höhehalten beizubringen. Dazu möchte ich die Daten des Drucksensors (MPX4115) "filtern". Ich denke mir, es sollte doch möglich sein, mithilfe einer mathematischen Probe die Stimmigkeit der Daten zu überprüfen!?
    Deswegen führe ich eine zweite Variable ein, nennen wir sie mal Geschätzte_Höhe.
    Zuerst bestimme ich die Differenz zwischen der Geschätzen_Höhe und der gemessenen Höhe.
    Anschließend integriere ich diese Differenz und differenziere zur letzten Differenz.
    Anhand dieser Daten kann ich nun die Geschätze Höhe korrigieren und das Spiel beginnt von vorne. Kann ich damit die Daten etwas verbessern oder ist das nur eine blöde Einbildung von mir?

    Wäre interessant, wenn sich jemand zu meinem Ansatz äußern würde und evtl. eine Diskussion entstehen könnte

    Gruß
    Chris

  2. #2
    Erfahrener Benutzer Roboter-Spezialist Avatar von MisterMou
    Registriert seit
    31.05.2009
    Ort
    Stralsund
    Alter
    26
    Beiträge
    433
    Ich hätte nur über einen bestimmten Zeitraum die gemessene Höhe integriert um das Rauschen zu reduzieren. Das sollte doch locker reichen.
    Anstatt softwareseitig zu integrieren bietet sich auch ein Tiefpass an, spart Rechenleistung.

    Solange dem Copter nicht gesagt wird, dass er steigen soll, sollte er doch von Haus aus versuchen den Wert des Sensors konstant zu halten, oder?
    Geändert von MisterMou (19.01.2013 um 22:46 Uhr)
    Mähh macht der Rasenmäher. http://moufx.wordpress.com/

  3. #3
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    08.09.2007
    Ort
    Berlin
    Alter
    24
    Beiträge
    1.544
    Hi Robert,

    ich habs bereits mit einem digitalen Tiefpass probiert, das reicht jedoch nicht! Einen analogen Tiefpass hab ich schon in die Schaltung integriert
    Ein Problem besteht darin, dass der Sensor sehr stark rauscht. Normalerweise würde ich versuchen, das Rauschen mittels Komplementärfilter (incl. ACCZ) zu kompensieren, jedoch braucht das wieder einiges an Rechenleistung...

    Gruß
    Chris

  4. #4
    Erfahrener Benutzer Roboter-Spezialist Avatar von MisterMou
    Registriert seit
    31.05.2009
    Ort
    Stralsund
    Alter
    26
    Beiträge
    433
    Hmm, und wie sieht es mit EMV Problemen aus?
    Es fließen ja recht hohe Ströme mit steilen Flanken, da koppelt ganz fix was ein.
    Ist alles vernünftig geschirmt? Leitungen vom Sensor verdrillt?

    Hast du Messwerte für uns? Zum Bsp. eine Wertetabelle von einem DSO mit hoher Abtastung, alternativ eine FFT. Besser ist natürlich ein Specki, da siehst gleich die Störfrequenzen, natürlich ist die Bandbreite auch viel größer.

    Oder ist der Sensor einfach so schlecht?
    Geändert von MisterMou (20.01.2013 um 10:45 Uhr)
    Mähh macht der Rasenmäher. http://moufx.wordpress.com/

  5. #5
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    08.09.2007
    Ort
    Berlin
    Alter
    24
    Beiträge
    1.544
    Hi,

    ich probier das ohne eingeschaltete Motoren, da sollte es in der Hinsicht keine Probleme geben. Der Sensor ist direkt an einen OP angeschlossen, mit ca. 0.5cm langer Leiterbahn.
    Messwerte hab ich momentan nicht. Das Problem sollte wohl auch eher in der Software liegen, ich Interpoliere die Daten durch Oversampling.
    Das Rauschen beschränkt sich meist auf ca. +-5Digits, wobei 1 Digit ca. 1cm Auflösung bedeutet.
    Außerdem misst der Sensor auch die Beschleunigung mit (in gewissem Maße) und die Luft staut sich, wenn ich hin sehr schnell nach oben bewege...

    Ich hoffe, meine Probleme sind etwas rübergekommen!?

    Gruß
    Chris

  6. #6
    Erfahrener Benutzer Roboter-Spezialist Avatar von MisterMou
    Registriert seit
    31.05.2009
    Ort
    Stralsund
    Alter
    26
    Beiträge
    433
    Also an der EMV sollte es dann auf den ersten Blick nicht liegen, es können aber trotzdem Störungen auf kapazitivem Wege einkoppeln, ist ja alles recht hochohmig.

    Dich stören 10cm O.o Andere wären froh, wenn die Kiste nicht vom Himmel fällt

    Hat der Mikrocontroller genug Zeit zum Messen? Nicht, dass die einfach nur zu kurz gewählt wurde.
    Von welchen Spannungsunterschied reden wir denn bei einem Digit?

    Zum Thema Luftstau, habe ich mal einen Trick gesehen. Einfach ein Stück Silikonschlauch drauf und vorne verstopfen, der Schlauch und die Luft in ihm wird ja trotzdem komprimiert. Weiß den Zusammenhang aber nicht mehr.
    Mähh macht der Rasenmäher. http://moufx.wordpress.com/

  7. #7
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    08.09.2007
    Ort
    Berlin
    Alter
    24
    Beiträge
    1.544
    Naja, mich würden 10cm nicht stören, wenn er die Höhe halten würde
    Aber z.b. wenn merkt, dass er zu hoch ist, gibt er wenig Gas und fällt mehr oder minder schlagartig um ein paar dm ab... Dabei wirkt irgendetwas auf den Sensor, weßhalb dieser kurzzeitig glaubt, er würde nach oben gehen... Das ist natürlich saublöd, weil es in einer Oszilation endet ...
    Was meinst du mit "Zeit zum messen"?
    Der Sensor wird von einem ATMega328P ausgelesen (Prescaler = Auto) und anschließend Interpoliert. Das Ergebnis wird dann über die UART zum ATXMega32A4 gesendet, welcher der Hauptprozessor ist.
    Also der Sensor gibt 46 mV/kPa aus. Das Ausgangssignal wird dann analog vertärkt und tiefpassgefiltert. Den Verstärkungsfaktor kann ich dir gerade nicht nennen, sollte aber bei so 50-100 liegen.
    Natürlich ist der Sensor bei mir nicht einfach lose, ich habe etwas Anti-ESD-Schaumstoff herumgewickelt und das Ganze dann Eingeschrumpft, so sollte er gegen (UV-) Licht und direkte Luftzüge geschützt sein.

    Gruß
    Chris

  8. #8
    Erfahrener Benutzer Roboter Genie Avatar von HeXPloreR
    Registriert seit
    08.07.2008
    Ort
    24558
    Alter
    39
    Beiträge
    1.356
    Zitat Zitat von MisterMou Beitrag anzeigen
    ...die Luft in ihm wird ja trotzdem komprimiert. Weiß den Zusammenhang aber nicht mehr.
    Der Zusammenhang war z.B. das auf einem fahrenden Roboter ein verschlossener Schlauch herum gelegt wird und wenn der Bot gegen ein Hinderniss fährt wird der Schlauch zusammen gedrückt und ein Überdruck entsteht, der dann gemessen werden kann. (Quelle: Roboter selbst bauen von U. Sommer)

    Allerdings vermute ich dass das in der Praxis für eine Quadrocopter oder sonstige fliegenden Maschinen nicht geeignet ist, weil der Silikonschlauch zuviel Eigenstabilität hat und somit das Messsergebniss verfälscht und unnötigen Rechenaufwand hervorruft. Mal ganz davon abgesehen das dazu, je nach Schlaumaterial, Messreihen erstellt werden müßten mit denen der Messfehler in den verschiedenn Höhen herrausrechenbar wird.

    Viele Grüße
    "Es ist schwierig, jemanden dazu zu bringen, etwas zu verstehen, wenn er sein Gehalt dafür bekommt, dass er es nicht versteht" [Upton Sinclair] gez-boykott

  9. #9
    Erfahrener Benutzer Roboter-Spezialist Avatar von MisterMou
    Registriert seit
    31.05.2009
    Ort
    Stralsund
    Alter
    26
    Beiträge
    433
    (Quelle: Roboter selbst bauen von U. Sommer)
    Ahh, genau, da hab ich das her

    Sonnst kommt mir gerade noch ein Schalldämpfer aus der Pneumatik in den Sinn.

    Wenn dein Copter so stark abfällt, frag mal deine Reglung
    Genau, Prescaler, mir ist das Wort nicht eingefallen. Womit programmierst du, wenn es die Einstellung Auto gibt? Bascom? Unter C und AVR Studio hab ich das nicht.
    Mähh macht der Rasenmäher. http://moufx.wordpress.com/

  10. #10
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    08.09.2007
    Ort
    Berlin
    Alter
    24
    Beiträge
    1.544
    Also alle Projekte, die ich so kenne (Multiwii, Mikrokopter, Shrediquette, Arducopter, DJI) haben höchstens etwas Schaumstoff um den Sensor, wie ich auch.
    Ich lasse ihn ja mit der Hand abfallen Die Motoren sind dabei aus!
    Ich programmiere in Bascom. Auto bedeutet, Bascom errechnet aus der Taktfrequenz die optimale Frequenz für den ADC (so, dass er in den Specs liegt).

    Gruß
    Chris

Seite 1 von 2 12 LetzteLetzte

Ähnliche Themen

  1. ATMEGA644p resettet sich selbst ?
    Von Blamaster im Forum AVR Hardwarethemen
    Antworten: 8
    Letzter Beitrag: 10.06.2012, 11:40
  2. Einfaches, kurzes selbst geschriebenes Programm überprüfen
    Von Da_Vinci13 im Forum C - Programmierung (GCC u.a.)
    Antworten: 8
    Letzter Beitrag: 21.01.2009, 22:12
  3. Atmega32 resettet sich selbst
    Von areopag im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 2
    Letzter Beitrag: 15.03.2008, 13:19
  4. Uc resettet sich selbst ? HÄÄ??
    Von Philipp83 im Forum Elektronik
    Antworten: 19
    Letzter Beitrag: 21.09.2006, 13:03
  5. EEPROM (Tiny13) löscht sich selbst - warum?
    Von DIYLAB im Forum AVR Hardwarethemen
    Antworten: 7
    Letzter Beitrag: 29.05.2006, 20:30

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •