Hallo zusammen,
ich wollte fragen ob mir jemand bei meinem Senkrechtstarterprojekt
helfen könnte. Im Prinzip will ich eine Kombination aus einem Tricopter
und einem Deltaflügler bauen. Als Antrieb dienen drei Impeller, die sich
um 90° schwenken lassen (zwei hinten, einer vorne mit Seitenruder). Wie
weit die Impeller geschwenkt werden und das Flugzeug aus dem Schwebeflug
in den Normalflug übergeht, soll mit einem Fußpedal an der Fernsteuerung
gesteuert werden. Für die nötige Flugstabilität -das wichtigste bei
diesem Projekt- verbaue ich ZWEI HobbyKing Multi-Rotor Control Boards
V2.1 (Atmega168PA). Auf das eine flash ich das Programm für einen
Tricoper, und auf das andere Board das Programm für normales Flugzeug
(Airplane). Beide Boards werden mit den Steuerbefehlen vom Empfänger
gespeist, aber die Signale die die Boards an die Motoren und Servos
weitergeben, sollten je nach Stellung der Impeller, von den zwei
verschiedenen Boards gemischt werden. Die Stellung der Impeller würde
ich mit einem Potentiometer "ablesen" und und dann jeweils die zwei
Kanäle, die für einen Motor bestimmt sind, zu einem Kanal mischen.
Insgesamt würe ich mischen:
- 3 Motorensignale von Tricopterchip mit Motorsignal von Airplanecip
- Seitenrudersignal von Tricopterchip mit Seitenrudersignal von
Airplanechip
ich hoffe das Projekt lässt sich in der Beschreibung einigermaßen
nachvollziehen, ansonsten Fragen!
Also wie wäre das mischen der Signale am besten zu realisieren?
Mit vier einzelnen Microcontrollern oder einem großen? Ich habe leider
noch keinerlei Erfahrung mit Microkontrollern und hoffe das mir in
diesem Forum geholfen werden kann :)
Hi,
selbst wenn Du es rein technisch hinbekommst die Ausgänge zu "mixen",
ich denke es wird nicht funktionieren.
Die beiden Regler bzw. Controlboards sind dafür nicht ausgelegt. Sie
können evtl. gegeneinander arbeiten, sich aufschwingen etc. da sie
jeweils nichts voneinander wissen.
Wenn überhaupt müsste man m.E. das Fluggerät bis zu einer bestimmten
Geschwindigkeit im Tricoptermodus beschleunigen, und dann "hart" auf das
Flugprogramm umschalten. Aber das ist natürlich auch eine kritische
Angelegenheit.
Grüße
Markus
Hallo,
das "harte" Umschalten wäre natürlich auch eine Möglichkeit, man
bräuchte dafür nur eine angemessene Flughöhe ... Ich würde das ganze
aber lieber elegant regeln. Die beiden Mikrocontroller dürften sich
eigentlich nicht stören.
Der Tricoptercontroller würde nämlich einer Schieflage mit den
Motordrehzahlen entgegenwirken, und der Flugcontroller mit den Rudern.
So hätte jeder Controller seinen eigenen Bereich. Ist das Flugzeug noch
recht weit im Schwebeflug haben die Ruderbewegungen keine Auswirkung, je
weiter es in den Normalflug übergeht desto mehr "greifen" dann die
Ruder, und die Ausgleich-befehle vom Tricopter an die Motoren werden
"gedämpft" (werden mit dem (einen) Signal vom Flug-Controller gemischt).
Das Seitenruder ist im vorderen Impeller montiert und schwenkt mit
diesem mit, es ist immer für die selbe Achse zuständig. Die
Gegensteuerbefehle sind für dieses auf beiden Chips gleich, es würde nur
der Steuerbefehlsgeber geändert werden.
Beim Mischen würde ich sozusagen je nach Verhältnis die Mitte zwischen
zwei Signalen berechnen und ausgeben. Es werden also nur die Motoren mit
einem Signal gemischt, dass nicht zur Stabilität dient, und das
Seitenruder, dessen Ausgleichbefehle sowieso gleich sind gemischt. Es
ist natürlich eine etwas unausgereifte Sache zwei Boarards mit eigenen
Gyros zu verbauen und dann extern zu mischen aber, ich denke es ist
einfacher als ein neues Programm für einen Mikrocontroller zu
entwickeln.
Naja ich habe jetzt schon mit dem Bau begonnen, und werde es dann mit
der harten, Methode testen.
Im Anhang ist noch eine kleine Skizze vom Modell
Clemens Janzarik schrieb:> Ich habe mit dass Toturial schon ein wenig durchgelesen, aber hab mir> gedacht, dass es wesentlich einfacher wäre wenn mir ein Profi dabei> hilft :)
Ich übersetz das mal:
"Ich habe keine Lust mir die Grundlagen mühsam zu erarbeiten ich suche
einen Dummen der mir das Zeug einfach auf Zuruf macht bzw. mir alles
Schritt für Schritt erklärt".
Is klar.
Desweiteren kann ich nur dem Rest zustimmen. Mit deinem Wissen ist das
aussichtslos. Setz dich an die Grundlagen und fang an wie jeder andere
auch. So ein Projekt kannst du in frühestens 1 Jahr mal angehen wenn du
bis dahin fleißig bist.
gruß cyblord
Wenn denn wenigstens Elektronik-Grundlagen vorhanden sind, kann man
Servo-Signale auch rein analog mischen. Hat man in der Ära vor den
Mikrocontrollern nur so gemacht.
Hat auch den Charme, das man alles schön mit Potis nachtrimmen kann.
Multiplex, Simprop, Robbe, Graupner und Co. haben da einen riesen Fundus
an Schaltungen hinterlassen.
Blackbird
Blackbird schrieb:> Wenn denn wenigstens Elektronik-Grundlagen vorhanden sind, kann man> Servo-Signale auch rein analog mischen. Hat man in der Ära vor den> Mikrocontrollern nur so gemacht.
Das ist schon richtig, nur bleibt das Problem, das das Zumischen aus der
'anderen'Regelung, zu einer Stellwertveränderung führt, was zu einer
Istwertänderung führen wird, was die erste Regelung wieder ausgleichen
will. Also greift sie ein, was für die andere Regelung wieder zu einer
Änderung führt und so fort.
Je nachdem arbeiten dann beide Regelungen wunderschön gegeneinander was
zu den tollsten Effekten führen kann. Zumindest so lange bis sich das
Teil mehr oder weniger eindrucksvoll in Höhe 0 eingräbt.
Clemens hat ein Problem, er hat sich regelungstechnisch so ziemlich das
schwierigste ausgesucht was es in der Luftfahrt gibt (oder warum fliegen
so viele 1:1 Senkrechtstarter -nicht Hobschrauber- durch die Gegend?)
ohne auch nur ansatzweise Ahnung von Regelungstechnik zu haben. Noch
nicht mal von der rein technischen Implementierung der Regelungstechnik,
dem Programmieren eines µCs hat er Ahnung.
Ich wünsche ihm viel Glück, bin allerdings pessimistisch, wenn er nicht
extrem viel Durchhaltevermögen hat.
Seh ich auch so.
Der ganze Ansatz mit 2 Control-Baords ist schon nicht gut. Ich finde es
ein wenig naiv zu denken, dass man das mit 2 Reglern, die jeder einen
speziellen FLugzustand abdecken und graduellem zusammenmischen der
Stellgrößen hinkriegt.
Das Projekt an sich ist interessant. Sogar hochinteressant. Aber dazu
muss man vor Ort sein, experimentieren können und vor allen Dingen kommt
man mit "Ich bin Neuling" da nicht weiter. Sein Handwerk darf einem da
nicht mehr in die Quere kommen. Das Werkzeug Programmieren muss da schon
in Fleisch und Blut übergegangen sein. Die restlichen Probleme (die
interessanten) sind noch groß genug.
Schubvektorsteuerung gibt es schon eine Weile für die Düsen-Fraktion.
Nur so als Hinweis.
Dass das so nicht funktioniert, ist fast jedem klar. Das war aber nicht
die Frage des TO.
Blackbird
Warum baust Du nicht ersteinmal einen (Multi)Tricopter und arbeitest
dich in das Programm ein. Funktionierende Projekte, die bereits
ausgearbeitet wurden
findet man doch zuhauf. Z.b. hier: http://www.multiwii.com/
Der Rest kommt dann von alleine...
Man kann auch gleich die Rotoren in ein Delta einbauen. Die Rotoren
schwenkbar zu machen, ist aber nicht nur eine softwaremäßige
Herausforderung, sondern wird ein mechanisches Problemwerden. Die
Sensoren mögen nämlich eins überhaupt nicht: Vibrationen.
...evtl. findest Du auch noch Infos wenn Du nach Osprey Modellen suchst.
Aber ich glaube die bringen gleich einen speziellen Gyro/Controller
mit...
Grüße
Markus
Ersteinmal danke für die vielen Beiträge :)
Das die Methode mit den zwei Flug-controllern nicht ausgereift ist sehe
ich inzwischen ein. Ich würde gerne mal nur um ein bisschen
reinzuschuppern mit Microontrollern arbeiten, aber ich glaube nicht,
dass ich Talent dafür habe ^^. Das mit dem Analogen mixen hört sich gut
an, das werde ich gleich mal in Google suchen. An sich hatte ich das
Modell schon fertiggestellt, und war auch schon dran es im Schwebeflug
zu testen. Hätte ich mir nur nicht diese billigen Regler aus China
gekauft! Nach 1 Sekunde in der Luft fängt das teil zu rauchen an ! Jetzt
warte ich erstmal auf die neuen Regler, dann kann ich das Teil auch auf
seine normalen Flugeigenschaften prüfen. An sich ist alles noch ein
bisschen wackelig, aber es ist ja nur der erste Prototyp. Das Schwenken
der Impeller funktioniert recht gut.
Also für Modellbau-Profis ist das kein neues und zudem ein längst
gelöstes Problem. Es tritt im Zusammenhang mit RC-Flugmodellen auf, die
ein sog. V-Leitwerk haben. Da müssen die beiden Steuerknüppelbefehle
auch speziell gemischt werden.
Also mal nach "Controller für V-Leitwerk" suchen, ich glaube, beim
großen "C" gab es sowas ...
Vermutlich würde das mit dem Mischen sogar funktionieren. Optimal wäre
es zwar nicht, da müsste man direkt an die Regelung ran, aber ich könnte
mir vorstellen, dass es schon hinhaut.
Es ist halt ein hässliches Design die PWM Signale, die an die Servos
gehen zu mitteln und dann nochmal auszugeben.
Technisch würde sich wohl eine Umwandlung der PWM Signale in eine
analoge Spannung anbieten (man nehme je einen Kondensator und einen
Vorwiderstand) und dann das analoge Signal wieder in PWM Umwandeln. Hmm,
was nimmt man da, wenn man analog unterwegs ist? Einen NE555 mit
bisschen was drumherum?
Hübscher wird das Ganze natürlich, wenn du die Regelung selbst
implementierst - digital. Wenn du richtig einsteigen willst, nimmst
einen großen Atmel AVR. Ansonsten bietet sich auch ein Arduino an.
Brauchst dann natürlich noch entsprechende Peripherie: Also zumindest
ein Gyroskop mit Beschleunigungssensor.
Um die Regelung zu erstellen, muss man sich aber schon einige Gedanken
machen. Ein Mathe-Leistungskurs reicht da leider nicht mehr ganz aus. Da
muss man ggf. seine Kenntnisse noch auf Differentialgleichungen und ein
klein wenig Numerik erweitern.
Ich habe derzeit ein ähnliches Projekt am Laufen.
Leider zieht es sich ein wenig - ist halt schon viel Aufwand :-)
Viel Erfolg!
Gruß,
Malte
Hallo Malte,
wie schaut denn dein Projekt aus?
Also ich habe das Teil jetzt mal mit den neuen Reglern getestet : Der
Schub würde noch ausreichen um eine Kamera (100g) mit zu wuchten. Das
Schwenken der Impeller funktioniert auch bei vollem Schub. Das Problem
ist, dass das Teil leider sehr unruhig schwebt, was vermutlich an der
noch etwas wackligen Konstruktion liegt.
Des weiteren habe ich mir einen Atmega8 mit Zubehör gekauft, arbeite
gerade das AVR-tutorial durch und habe mir schon ein paar Beiträge über
Servosignale durchgelesen. Ich habe schon eine grobe Vorstellung wie man
die Signale des Control Boards mischen könnte:
Zuerst gehe ich davon aus, dass die Pulse der Signale vom Hobbykingboard
(Motor1,Motor2,Motor3,Servo1) alle geordnet nacheinander kommen. Deshalb
könnte man alle Signale auf ein Pin legen, der dann einen Interrupt
auslöst, der einen Timer die Pulslängen messen lässt und in den
Registern ablegt.
Die Signale (Motor,Servo2), die vom Normalflug-board oder direkt vom
Empfänger kommen (je nachdem ob ich mit zwei Boards arbeite) werden auf
dem anderen Pin mit Interrupt gemessen und in den Registern abgelegt.
Anschließend wird die Stellung der Impeller mit einem Poti über einen
AD-Wandler gemessen .
Danach werden die Signale gemischt:
Die Pulslänge für den 1 Motor
=Motor1*(Potistand/Potimaxstand)+Motor*(1-Potistand/Potimaxstand)
Die Pulslänge für den 2 Motor
=Motor2*(Potistand/Potimaxstand)+Motor*(1-Potistand/Potimaxstand)
Die Pulslänge für den 3 Motor
=Motor3*(Potistand/Potimaxstand)+Motor*(1-Potistand/Potimaxstand)
Die Pulslänge für den Seitenruderservo
=Servo1*(Potistand/Potimaxstand)+Servo2*(1-Potistand/Potimxstand)
Jetzt müssen die Pulslängen (Motor1,Motor2,Motor3,Seitenruder) nurnoch
über den Counter nacheinander Erzeugt werden.
Malte schrieb:> Technisch würde sich wohl eine Umwandlung der PWM Signale in eine> analoge Spannung anbieten (man nehme je einen Kondensator und einen> Vorwiderstand) und dann das analoge Signal wieder in PWM Umwandeln.
Das geht allerdings nicht mit jedem Servosignal.
Die Steuerinformation steckt nur in der Pulslänge und ist unabhängig von
der Pausenlänge. Mit dem Tiefpass erzeugt man aber eine Analogspannung,
die dem Verhältnis von Pulsdauer zu Periodenlänge entspricht.
Das Verfahren geht also schief, falls die Pulse nicht in festem Abstand
kommen.
Also wenn ich Dich richtig verstanden habe soll Dein Modell ein VTOL
ähnlich der Osprey werden nur mit drei statt zwei Rotoren.
Das Dein Ansatz falsch ist wurde ja schon erwähnt, Du brauchst einen
Controller der Dir den Übergang von senkrecht starten zu vertikal
fliegen sauber regelt.
Mixen oder Umschalten funktioniert nicht weil sich die Steuersignale
nicht grün sind.
Die einfachste Variante für dich wäre einfach ein/zwei zusätzliche
Impellerantriebe hinten an die Flügel zu montieren und wenn das Modell
hoch genug ist damit zu beschleunigen und wenn es stabil ist die
restlichen Impeller auf den Flugmodus zu schalten nachdem sie gekippt
sind.
Oder Du stellst Dich der Herausforderung ...