Hallo zusammen, super Gurus.... Der Titel ist zwar (fast) klar, doch soll ich vielleicht das Ganze besser formulieren und erklären. Also: mein Mikrocontroller ist in einem RC-Modellflugzeug eingebettet. Er hat die Funktion die Sensoren für die 3DLage zu bestimmen und die Fläche durch die Servos (HS-311 von Hitec) anzusteuern. Doch ich weiß, dass das PWM Signal für die Servos mit einer Abtastzeit von min. 20 milliSekunden erzeugt werden muss. Die Sensoren könnten aber mit einer deutlich höher Abtastzeit abgelesen werden. Nach der aktuellen Konfiguration liest der Mikro die Gyro und Beschleunigungssensoren alle 20 millisekunden ab, berechnet die Lage in dem Raum und steuert die Servos. Am Ende habe ich, dass der Mikro einen Zyklus von 20 mS durchgelaufen hat. Innerhalb dessen die Sensoren einmal eingelesen und die Servos einmal gesteuert hat. Nun stelle ich mir die Frage: würde ich die Abtastfrequenz für die Sensoren erhöhen (der Einfachheit halber nehmen wir 4 millisekunden an), dann liest und berechnet der Mikro die 3D-Lage 5 Male innerhalb von 20 Millisekunden, wäre diese Konfiguration sinnvoll? Innerhalb desselben Zeitbereichs würden die Servos dennoch immer noch nur einmal gesteuert werden. Macht es dann Sinn, die Sensoren meherere Male abzulesen und die darauffolgenden Berechnungen laufen zu lassen? Oder muss ich mich mit dem größten Abtastzeitintervall (in diesem Fall die Servos) "abfinden"? Gruß Dave
Wieso meine Fragen finden immer keine Antwort :( :( :(
Du kannst natürlich die Sensoren nur alle 20ms abfragen, aber wenn sie schneller sind, kannst du doch noch ein wenig mitteln. Das kann sogar sehr hilfreich sein, da die Sensoren an Bord ja allen möglichen Artefakten ausgesetzt sind.
Hast Du schon mal versucht, die Servos statt alle 20ms mal alle 4ms anzusteuern ? Ich könnte denen das glatt zutrauen...
Die Servos, die mir bisher untergekommen sind, hatten alle keinerlei Probleme mit einer Periodendauer von 10-100ms. Entscheidend ist die Impulsdauer... Einfach mal probieren. Die 20ms kommen halt vom PPM-Summensignal der 8-Kanal Fernsteuer-Anlagen. (2,5ms Abstand je Kanal)
Bernd Rüter schrieb: > Hast Du schon mal versucht, die Servos statt alle 20ms mal alle 4ms > anzusteuern ? Was soll denn das für ein zappeliges Modellflugzeug sein, dass einem Update der Steuerinformation alle 4ms irgendwie folgen kann? Da ist es wohl meist sinnvoller, die Sensordaten zu filtern, bevor sie in die Steuerung/Lageregelung eingehen.
Vielen Dank für eure Antworten, aber wenn die Servos mit einer Abtastzeit von 4 ms ansteuern würde, würden die Servos sozusagen "zittern". es entsteht also der Jitter bei den Servos. Erfahrungsgemäß ist eine Abstastzeit > 20 millisekunden problemlos für die Steuerung. Ich finde den Vorschlag, einen mittleren Wert zu berechnen, sinnvoller. Ich werde nun bald das Programm ändern. Danke! Gruß
Mike schrieb: > Was soll denn das für ein zappeliges Modellflugzeug sein, dass einem > Update der Steuerinformation alle 4ms irgendwie folgen kann? Ein Überschallflugzeug? :-)
Von wegen... Die 20ms sind für schnelle Modelle deutlich zu langsam. 100km/h =27m/s. Also in den 20ms ein satter halber Meter. Bevor das Servo überhaupt erstmal mitbekommt, dass es etwas tun soll. Dann die Stellzeit und die Reaktionszeit des Modells. Da kommt einiges zusammen. Diese Totzeit war das Hauptargument für die Digitalservos.
Moment! Das Intervall von 20 ms ist standard für jedes Servo. Es stammt aus den alten analogischen Fernsteuerungen und seitdem wurde nicht geändert. Versuche ein normales Servo (wie meins) mit einer Frequenz < als 20 ms und sieht du den sogenannten Servoglitches Also 20 ms ist eine universelle Konstante fast wie die eulersche Zahl e oder die Kreiszahl pi :) :) :) :) :) !!!!!!!!!!!
H.Joachim Seifert schrieb: > Dann die Stellzeit und die Reaktionszeit des Modells. Eben das meinte ich. Das Verhalten wird durch die Stellgeschwindigkeit des Servos und durch die Trägheit des Modells bestimmt. Ob die Steuerdaten alle 4 oder alle 20ms kommen, dürfte eher von untergeordneter Bedeutung sein.
> Eben das meinte ich. Das Verhalten wird durch die Stellgeschwindigkeit > des Servos und durch die Trägheit des Modells bestimmt. Ob die > Steuerdaten alle 4 oder alle 20ms kommen, dürfte eher von > untergeordneter Bedeutung sein. Richtig aber wenn du eine Folge von Pulsen mit 4 ms Takt einem Servo schickst, fängt es an, zu "zittern" http://www.youtube.com/watch?v=6tD05mTdjqY http://www.youtube.com/watch?v=e2EHajAaDuc
Ich raff es nicht Du benutzt doch einen PWM Ausgang, oder? Dem ist es doch egal wie oft pro s/ms du den TOP-Wert korrigierst ... ?
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.