Hallo zusammen, ich bin schon länger dabei, mir eine Raspberry-basierte Drohne zu bauen. Im Prinzip funktioniert soweit alles: Ansteuerung, Lageregelung, GPS-Signal etc.. Aber - ich krieg es nicht hin, eine brauchbare Höhenreglung zu implementieren, da ich keine brauchbares Messsignal für die Höhe bekomme (bzw. die Höhe nicht richtig berechnen kann). Ich habe einerseits versucht, mittels Barometer die Höhe zu errechnen - habe dabei verschiedene "Altimeter" verwendet, u.a. MS5611, MPL3115A2 und BMP180. Ich verwende jedoch nur mehr den MS5611, da dieser etwas genauer und schneller ist. Für die Drehachsenregelung verwende ich einen BNO055 9-axix Sensor (Gyro + Accelerometer + Magnetometer). Habe damit 3 PID-Regler implementiert (für Pitch, Roll, Yaw) - das funktioniert recht gut. Der 4. PID-Regler wäre für die Höhenregelung gedacht. Ich habe versucht, die Signale des Barometers und des Accelerometers zusammenzurechnen, um eine Höhe zu bekommen - jedoch bisher vergebens Vertikalbeschleunigung aus Accellerometer wird folgend z_pp gennant (als zweite Ableitung von z) Was versucht wurde: -z_pp 2x aufintegrieren, mit verschiedenen, einfachen Methoden der statistischen Filterung(Moving Average-Mittelung oder DC-Filter) - das ist die beste Annäherung die ich bis jetzt habe -Als Alternative habe ich auch schon versucht, z_p (Vertical Speed) als Regelgröße zu betrachten und als Sollwert vorgegeben, sodass die Vertikalgeschwindigkeit 0 sein soll - ist jedoch ebenso viel zu ungenau. Und um einen Vergleich mit der Höhe aus dem Barometer zu machen, brauche ich z und nicht z_p -Das Problem ist, dass ich aus dem Barometer kein brauchbares Höhensignal bekomme. Laut Hersteller soll eine Genauigkeit im cm-Bereich realisierbar sein. Meine Abweichungen sind jedoch eher 1-2 Meter. Ich habe diese Formel verwendet: altitude= 44330.0 * (math.pow(p0/ pressure, 0.1902949)-1) , wobei p0 der Meereshöhen-Luftdruck von 101325 Pa ist. Ist es überhaupt möglich, mit einem Accelerometer und Barometer eine brauchbare Höhenregelung zu machen? Laut Youtube sollte der MS5611 nicht so schlecht sein: https://www.youtube.com/watch?v=CvRgalu_yx4 Meine bisherigen Höhenschätzungen (und Vertikalgeschwindigkeitsschätzungen) sind weit weg von Brauchbarkeit. Zusätzlich hab ich noch eine Höhensignal aus dem GPS-Sensor, dieses hat jedoch Abweichungen von 3 Meter. Danke & Grüße Klaus
Haakla schrieb: > -Das Problem ist, dass ich aus dem Barometer kein brauchbares > Höhensignal bekomme. Laut Hersteller soll eine Genauigkeit im cm-Bereich > realisierbar sein. Meine Abweichungen sind jedoch eher 1-2 Meter. Mit dem MS5611 sollte das eigentlich funktioniere. Es ist etwas eine Frage der Filterung. Für ein Variometer war ich bei 10cm sinnvoller Auflösung gelandet. Hast du mal Beschleunigung und Höhenmessung über ein Kalman-Filter zusammen geführt?
Hi also wenn ich das Signal ungefiltert aus dem MS5611 rausrechne (anhand vom Luftdruck) springt die Seehöhe sporadisch zwischen 354 und 356m hin und her. Mit Moving Average bspw. habe ich versucht zu mitteln, hat aber nicht viel gebracht. Mit Sensor-Fusion á la Kalman-Filter hab ich mich noch nicht beschäftigt, da ich erst einmal sicherstellen wollte, dass die Signale der Beschleunigung und barometrische Höhe brauchbare Werte liefern (da mir Kalman sehr aufwändig erscheint) LG und danke
Du solltest auch beachetn, daß sich durch die Rotoren im Flug und bei Beschleunigung die Druckverläufte am Sensor auch ohne Höhenänderung verändern können. Das nur so am Rande... Frohe Ostern!?
Danke für die Info - hab ich beachtet meine vorigen Kommentare hier mit Ungenauigkeit von 1-2 Metern bezogen sich auf reine Messungen am Boden - ohne eingeschaltete Rotoren. Im Flug würd's dann noch ungenauer werden LG
Du musst den Barometer doch nicht umrechnen. Was der in Metern meint ist voellig unerheblich. Du moechtest eine Hoehenstailisierung. Also regle auf konstanten ADC Wert. Wenn's eine andere Hoehe sein soll, rechnest du den noetigen Druck und stabilisierst auf diesen ADC Wert. Dabei aber nicht vergessen, der Zusammenhang zwischen Hoehe und druck ist nicht absolut, sondern zum Wetter passend. Was man nehmen koennte, waere der QNH, der Druck auf Meereshoehe, wird vom Wetterdienst verbreitet. Ich wuerde auf alle faelle nur mit relativen Druecken und auf den ADC Wert regeln.
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.