von Marc Niggemann

1999

Konstruktion eines sich selbst stabilisierenden Hubschraubers mit drei Hauptrotoren

Dieses war das eigentliche  Hauptprojekt für "Jugend forscht ´99". Mit diesem Projekt sind wir auch zum Landeswettbewerb NRW zugelassen worden.  Ich gehörte zu  den seltenen Fällen, der auf dem Landeswettbewerb zwei Projekte präsentieren konnte. Benjamin (der Programmierer) und ich, haben auch für dieses Projekt 1999, den "technischen Sonderpreis" der VDE bekommen. Ich forsche an diesem Projekt weiter und werde mit einem neuem Entwicklungsteam (Kilian Nötzold und Patrick Gretzki) im Februar 2000 diese Arbeit wieder bei "Jugend forscht" vorstellen. Siehe Seite "Jugend forscht  2000"

Weitere Bilder

 

Gruppenteilnahme

1 Einleitung

    In dieser Arbeit soll die Entwicklung und Konstruktion des Flugroboters beschrieben werden.

    Die Leitfrage, die wir lösen wollten lautete: Wie einfach läßt sich ein Hubschrauber bauen, der ein Minimum an Material benötigt und zudem leicht zu steuern ist? Diese anfängliche Frage veranlaßte uns über die Form und Steuerung eines Hubschraubers neu nachzudenken.

    Normale Modellhubschrauber sind sehr schwer zu steuern, da sie in der günstigsten Ausführung über keine elektronische Stabilisierung verfügen. Der Flugroboter soll dagegen nur mit wenigen Tasten für die Steuerung auskommen und die Höhe automatisch mit Ultraschallsensoren halten. Die Zielerweiterung, dass sich der Hubschrauber nach einem vorgegebenen Kurs durch den Raum begeben soll, macht ihn zu einen autonomen Roboter.

    Es wurden von verschiedenen Forschungsinstituten bis heute eine Vielzahl von alternativen Hubschrauberkonstruktionen entwickelt. Dieses Projekt unterscheidet sich von den meisten der anderen Entwicklungen durch die Zielsetzung, eine günstige Alternative zu entwickeln die Technisch möglichst einfach ist.

    Diese erste Konstruktion kann kein ausgereiftes und fehlerfreies Flugobjekt sein, das einem herkömmlichen Hubschrauber überlegen ist. Es soll vielmehr als Prototyp zeigen, dass die Ansätze technisch realisierbar sind und diese verdeutlichen.

    Im Laufe der Entwicklung hat sich für den Prototyp herausgestellt, dass dieser nicht günstiger als ein herkömmliches Elektrohubschraubermodell werden wird. Es mussten wie bei allen Prototypen während der Entwicklung Systeme neu, ersetzt oder umgebaut werden. Dies muss bei einem Vergleich mit einem herkömmlichen Hubschrauber bedacht werden.

     

     

2 Theoretische Grundlagen

     

2.1 Die Formgebung

      Konventionelle Hubschrauber bestehen aus einem horizontalen Hauptrotor und einem vertikalen Heckrotor, der der Eigenrotation des Hubschraubers entgegenwirkt. Um den Hubschrauber in eine Richtung zu lenken, muss entweder der gesamte Hauptrotor gekippt werden, oder die Rotorblätter werden durch eine Taumelscheibe in jedem Moment der Rotationsbewegung anders gestellt. Diese beiden Möglichkeiten erfordern eine komplexe mechanische Vorrichtung, die nicht mit einfachen Werkzeugen herzustellen ist.

      Wir wollten eine Konstruktion schaffen, die ohne komplexe mechanischen Teile auskommt und auf diese Weise Empfindlichkeit und Kosten reduzieren. Die Basisüberlegung ist, dass das Dreieck die einfachste Fläche ist, die durch drei Kräfte an den Eckpunkten im Raum leicht zu stabilisieren ist. Eine Grade oder Flächen mit mehr als drei Eckpunkten sind dagegen nicht statisch bestimmt.

       

2.2 Die prinzipielle Stabilisierung

 

    1. An jedem Eckpunkt wirkt ein Motor mit Propeller der Schwerkraft entgegen. Es kann aber nicht davon ausgegangen werden, dass der Luftstrom konstant bleibt und so stets die gleichen Kräfte wirken. Durch äußere und innere Einflüsse, die durch Luftströmungen in der Umgebung, durch Lastenverteilung auf dem Flugobjekt selbst oder durch Leistungsschwankungen der Motoren entstehen, wird es destabilisiert. Um dies zu kompensieren müssen die Motoren unabhängig voneinander angesteuert werden und jeweils der Situation angepaßt werden.

      Bei einer erhöhten Kraftwirkung (F2) an Punkt C in Richtung Boden, müssen die Gegenkraft bei C erhöht und gleichzeitig die Kräfte bei den Punkten A und B verringert werden.

      Addiert sich dazu eine zweite Kraft (F1) die z. B. bei A vom Boden nach oben wirkt, muss die Gegenkraft bei C und B weiter erhöht werden und bei A weiter verringert werden.

      2.2.1 Bestimmung der Lage im Raum und deren Auswertung

      Die Feststellung der Lage soll mit Hilfe eines Kreisels geschehen, der in dem Schwerpunkt des Dreiecks liegt. Die Achsen sind gleich der x und y Achse in Abb. 2. Dadurch ergibt sich keine Symmetrie der einzelnen Sektoren (siehe Zeichnung I bis IV) mehr, aber für die spätere Programmierung ist die Achsenlage günstiger.

      Das Flugobjekt kann über die Achse x kippen, dabei werden die Motoren A und B gleichberechtigt und der Motor C getrennt geregelt. Der Kippwinkel um die Achse y regelt die Motoren A und B. Dabei wird der den beiden letztgenannten Motoren aufgrund der Kippbewegung um die Achse x gemeinsam zugeteilte Wert erneut aufgeteilt. Fällt die Seite AB ab, müssen die Motoren A und B mehr Leistung erbringen. Fällt die Ecke B mehr als die Ecke A ab, muss ein Teil der Energie von A nach B transferiert werden.

      Aus den Drehwinkeln um die x- und y-Achse ergeben sich also immer zwei eindeutige Werte zur Regelung der den Motoren zugeführten Energie, und demzufolge der an den Ecken des Dreiecks aufgebrachten Kräfte.

       

2.3 Die Fortbewegung und deren Auswirkungen auf die Stabilisation

 

Damit sich das Flugobjekt in eine Richtung bewegt, muss der Luftstrom umgelenkt werden. Dies soll durch einfache Klappen unter den Rotoren ermöglicht werden. Im stark vereinfachten Schema (Abb. 3) ist der Gesamtauftrieb in zwei Kräfte aufgeteilt. In Abbildung 3 findet man rechts der gepunkteten Linie F2 und links davon F1. Wird der Luftstrom umgelenkt, entsteht die Kraft F3, die das Flugobjekt nach rechts schiebt. Je größer F3 wird, desto kleiner wird F1 und somit der Gesamtauftrieb. Das bedeutet, dass beim Drehen der Steuerklappen einer Dreiecksspitze aus der Nullposition heraus diese Dreiecksspitze zwangsläufig absinkt und sich der Drehwinkel des Flugobjektes um beide Achsen ändert. Dieses muss durch die Steuerelektronik rückgeregelt werden. Diese Luftströmungen sind nicht ideal reibungsfrei und können mit Berücksichtigung der Dissipation nur aufwendig berechnet werden.

 

3 Technische Umsetzung

     

3.1 Gestellkonstruktion

    1. Das Gestell ist ein sehr wichtiges Element des Flugroboters. Es muss möglichst leicht sein und ein Maximum an Stabilität bieten. Diese Eigenschaften haben nur wenige Werkstoffe aus dem Einzelhandel. Aluminiumrohr ist sehr leicht und auch relativ günstig, aber es läßt sich verbiegen und würde bei einem Absturz nur bedingt die ursprüngliche Form behalten. Alle anderen Metalle sind zu schwer oder nicht für den Normalbürger zugänglich oder bezahlbar. Holz bietet die erforderliche Flexibilität, ist aber in der erforderlichen Stärke zu schwer. Das beste Material ist ein mit Glasfaser verstärktes Carbon, in Form von 8- und 6 mm Rohren. Es wiegt bei der gleichen Belastbarkeit weniger als Aluminiumrohr. Zudem ist es hoch flexibel und nicht auf Dauer verformbar. Die Preise für dieses Rohr liegen etwa doppelt so hoch wie die von Aluminiumrohr.

      Die Konstruktion wird dadurch stabilisiert, dass jeweils zwei Rohre eine Seite des Dreieckes bilden. Das obere, 8mm starke Rohr ist der Hauptträger, während das untere 6mm Rohr nur die Motoren stützt. Die Carbonrohre sind auf die Motorhalterung (Abb. 4) aufgesteckt und durch Splinte gesichert. Dies ermöglicht eine komplette Zerlegung des Gestells.

       

3.1.1 Strömungsschächte zur Effektivitätssteigerung

 

Die Strömungschächte sollen den Luftstrom bündeln und so durch Reduktion der Verwirbelungen die Effektivität der Rotoren steigern.

Das erste Modell war für die 18-18 Luftschraube konzipiert.

Es stellte sich heraus, dass die Bauweise von Strömungsschächten aus Balsaholz nicht leicht genug ist. Die zusätzlichen 210g pro Strömungsschacht wurden nicht von der Leistungssteigerung durch die Strömungsschächte wettgemacht. Der optimierte Aufbau (Abb. 5) hat einen Durchmesser von 2650mm und wiegt ca. 200g. Dieser Schacht ist ähnlich wie der Vorgänger aufgebaut. Es wurde jedoch auf die Außenverkleidung verzichtet und ABS-Kunststoff für die Rippen verwendet. Die höhere Festigkeit ermöglichte die Gewichtsreduzierung der Rippen durch Löcher. Die Innenwand ist nicht aus Kunststoff gefertigt, da an dieser Stelle nur geringe Stabilität erforderlich ist und daher die leichtere Zeichenpappe eingesetzt werden kann.

Die Strömungsschächte erhöhen zwar die Effektivität des Luftstromes, aber dennoch wird bei den eingesetzten Luftschrauben und Motoren die Leistung nur in einem geringen Verhältnis zum zusätzlichen Gewicht erhöht. Damit die Motoren nicht an ihren Leistungsgrenzen arbeiten, wurde provisorisch auf die Schächte verzichtet.

 

3.1.2 Motoren, Luftschrauben und Strömungsklappen

Bei der Auswahl der Motoren spielte der Faktor Preis eine bedeutende Rolle. Für die üblichen Elektrohubschrauber und andere Hochleistungsmodelle werden Motoren mit einem Wirkungsgrad von >80% eingesetzt. Dabei sind diese extrem klein und leistungsfähig aber kosten üblicherweise mehr als 120 DM pro Motor. Die im Flugroboter eingesetzten drei baugleichen Motoren haben folgende Daten:

Nennspannung 9,6V

Betriebsspannungsbereich Direktantrieb 7,2 ...12V

Leerlaufdrehzahl 14.500 min-1

Stromaufnahme bei max. Wirkungsgrad 7A

Blockierstromaufnahme 58A

Höchster Wirkungsgrad 75%

Gewicht 195g

Preis 27 DM

Im Betrieb ohne Steuerelektronik zieht ein Motor 16A bei 12V, dies entspricht einer Leistungsaufnahmen von 192 W.

Die Luftschraube beeinflußt maßgeblich den Energieverbrauch und verändert den Wirkungsgrad. Eine ursprünglich eingebaute, relativ kleine Luftschraube mit 18cm Durchmesser und einer Steigung von 18cm pro Umdrehung (Bezeichnung 18-18, siehe oben), erbrachte nicht den nötigen Auftrieb. Eine größere flachere Schraube (25-10), erhöhte die Drehzahl und den Wirkungsgrad des Motors. Die Auftriebsleistung wurde um den Faktor 2 gesteigert, wie ein einfaches Ausmessen der Hebeleistung mit Gewichten ergab. Die endgültig benutzte Schraube mit den Werten 25-15, ist ein Kompromiß zwischen optimalen Wirkungsgrad und maximaler Leistung. Die 25-10 Schraube ist nicht linksdrehend lieferbar, einer der hinteren Motoren sollte jedoch linksdrehend sein. Dies hätte zur Folge, dass ein Teil des durch die linksdrehenden Rotoren erzeugten Drehmomentes vom gegenüberliegenden rechts drehenden Motor aufgehoben wird. Das vom vorderen Motor erzeugte und nicht kompensierte Moment muss durch eine Steuerklappe ausgeglichen werden.

Die Steuerklappen sind aus Balsaholz, das mit Kunstharz bestrichen ist. Durch Carbon- und Aluminiumrohre sind die Verstellmotoren mit den Klappen verbunden. Die Alternative, die Steuerklappen über Servomotoren aus dem Modellbau zu steuern, ist wegen der komplexen Ansteuerung der Servoelektronik mit dem zur Verfügung stehenden Controller schwer realisierbar. Die Ansteuerung von Servoelektroniken erfolgt im allgemeinen über Frequenzmodulation eines Eingangssignals. Diese erhöht die Komplexität des Regelprogrammes und verlangsamt damit den Durchlauf einer Bearbeitungsschleife im Controller, was wiederum die ohnehin kritische Regelgeschwindigkeit des Systems senkt. Alternativ könnte über sogenannte Servotestschaltungen ein Servomotor angesprochen werden, was den Programmaufwand begrenzen würde, aber wieder erheblich kostenintensiver wäre. Der Getriebemotor ist so ausgelegt, dass 1125:1 übersetzt wird. Der Nachlauf der Motoren in die unterschiedlichen Richtungen wird dadurch minimiert.

 

3.2 Erfassung der Raumlage durch einen Kreisel

 

Die Raumlage des Flugroboters muss zu jedem Zeitpunkt des Fluges eindeutig bestimmt sein. Eine anfänglich in Betracht gezogene Möglichkeit war, mit einen Laser, der an einem Faden aufgehängt würde, auf eine Matrix aus Fotowiderständen zu leuchten. Jedem Fotowiderstand wäre eine bestimmte Leistungsverteilung zugeordnet. Bei einer 4*4 Matrix wären so 16 Raumlagen eindeutig definiert. Der Laser würde als Lot immer senkrecht nach unten zeigen, bei einer Veränderung der Achsenwinkel würde sich die Matrix unter dem Lichtstrahl herbewegen. Der Laser würde bei abrupten Bewegungen des Flugroboters jedoch träge reagieren und aufgrund seiner Trägheit relativ zum Gestell des Flugobjektes pendeln.. Ein Kreisel unterliegt diesen Kräften nur bedingt.

Die Stabilität der Kreiselmasse ist von der Masse selbst und ihrer Drehgeschwindigkeit abhängig. Für den gedachten Einsatz muss der Kreisel leicht sein. Die Kreiselmasse ist am Außenradius verstärkt ausgeführt worden, da dort der Radius maximal ist und die daher dort maximale Geschwindigkeit der Masseteilchen bei relativ geringer Erhöhung der Gesamtmasse des Kreisels einen großen Effekt auf die Stabilität der Kreiselscheibe hat. Der eingesetzte FC 130 RA-Motor leistet eine Drehzahl von 14.150 UpM bei max. Wirkungsgrad.

Der konstruierte Kreisel (Abb. 7) ist über zwei Achsen voll bewegungsfähig. Das Gestell ist aus 6mm Carbonrohr um auch hier Gewicht zu sparen (Gesamtgewicht ca. 250g).

Die Lage des Kreisels wird über Potentiometer, die mit den Achsen verbunden sind, in elektronisch erfaßbare Größen umgewandelt. Das Potentiometer verändert je nach Lage des Kreisels seinen Widerstand. Läßt man nun einen Strom durch das Potentiometer und einen nachfolgenden Messwiderstand fließen, wird die über den Widerstand abfallende Spannung abhängig von der Lage des Kreisels. Die abfallende Spannung kann mit Spannungssensoren erfasst werden. Ein Problem, welches in der Steuerelektronik bedacht werden muss, ist die fehlende Linearität des Widerstandes vom Winkel des Kreisels zum Gestell und der davon abhängige Spannungsabfall. Das Potentiometer ist so ausgewählt worden, dass es durch den Kreisel von 2 bis 12 kOhm verstellt werden kann. Der Messwiderstand ist etwa 8 kOhm groß. Konstruktionsbedingt kann das Potentiometer nur im Bereich von 10 bis 20kOhm bewegt werden. Bei einer angelegten Gesamtspannung von 10V folgt:

U1/Ug=R1/Rg Þ U1=(R1Ug )/R2 Þ (2kW *10V)/10kW = 2V (Mindestspannungsabfall)

(7kW *10V)/15kW = 4,6V (Mittel zwischen 7 und 12)

(12kW *10V)/20kW = 6V (Maximalwert)

Von der geringsten Ausschwenkung des Kreisels (2V) bis zur Mitte (4,6V) findet man 2,6V Differenz. Von der Mitte bis zur maximalen Ausschwenkung (6V) findet man 1,4V. Daraus ergibt sich ein Steuerungsfehler, der ausgeglichen werden muss. Der Fehler wird minimiert, indem die Werte mit einem unterschiedlichen Faktor multipliziert werden.

3.3 Steuerung mit der C-Control

      Das Flugobjekt soll möglichst viele Steueraufgaben selbst übernehmen und in gewissen Grenzen selbständig fliegen können. Die Problematik der Stromversorgung, die später ausführlich behandelt wird, macht den Flugroboter in jedem Fall von einer Versorgungsleitung abhängig. Daher besteht die Wahl zwischen der Möglichkeit, den Flugroboter über den PC und ein Schaltinterface zu steuern oder dies direkt über einen kleinen Controller zu tun. Die PC-Variante hätte den Nachteil, dass das Flugobjekt von einer Leitung abhängig wäre, wenn das Stromversorgungsproblem gelöst werden könnte. Der Vorteil besteht darin, dass der PC in der Auswertung des Regelprogrammes um ein vielfaches leistungsstärker ist.

      Um die Möglichkeit der Autonomie nicht von vornherein auszuschließen, haben wir uns für die Verwendung einer Regelung namens C-Control entschieden. Die Regellogik wird nachfolgend an Hand einer Programmversion erklärt, die für einen C-Control geschrieben ist. Die Nachfolgeversion besteht aus zwei Programmen für zwei Controller. Dabei wird der durch die Controller nicht zur Verfügung gestellte dritte analoge Ausgang zur Ansteuerung des dritten Motors nicht durch einen separaten D/A-Wandler generiert, sondern über die serielle Schnittstelle des Controllers I zum Controller II übertragen und von diesem ausgegeben. Dazu sind einige Aufgaben des ersten vom zweiten Controller übernommen worden. Der Vorteil dieses Aufbaues ist, dass die einzelnen Programme der Controller kleiner sind und diese dadurch schneller reagieren.

       

3.4 Die schematische Regelung des Flugroboters

 

    1. Controller-Daten
    2. Der C-Control (C steht für Conrad) ist ein eigenständiger Computer mit einer Taktfrequenz von 4 MHz. Er hat einen 8k-byte EEPROM als Speicher. In ihm wird das Steuerprogramm gespeichert. Es bleibt somit auch bei einem Stromausfall erhalten.

      Als Eingänge und Ausgänge besitzt der Controller 16 Digitalports, die eine Spannung <1V als L (low) und 5V als H (high) ausgeben. Ferner sind acht 8-Bit Analogeingänge vorhanden. Das bedeutet, dass mit diesen ein analoger Wert im Bereich von 0V bis 5V erfaßt werden kann. Dabei wird das Intervall in 256 Stufen aufgeteilt; es ist also kein echter analoger Wert, sondern immer nur eine Annäherung.

      Allerdings hat der Controller nur 2 analoge Ausgänge, die wie die 8 analogen Eingänge aufgebaut sind. Wichtig ist, dass die Ausgänge nur mit 10 mA belastet werden dürfen. Es ist also meistens notwendig, einen Transistorverstärker nachzuschalten.

      Mit einem Applicationboard kann man den Controller aufrüsten. Auf diesem Board sind die Ausgänge als Pins im 2.54-Raster ausgeführt. Zusätzlich sind eine Tastatur und ein Display vorhanden. Die Tastatur belegt nur einen analogen Eingang, während das Display die Hälfte der Digitalports in Anspruch nimmt. Das LCD Display kann 2x 16 Zeichen darstellen.

       

 3.6 Das Steuerprogramm

    (siehe nachfolgendes Programmschema und Symbolerklärung auf Diskette) Der Controller ist in einer Sprache programmiert, die auf der Verknüpfung von logischen Blöcken basiert. Das geschriebene Programm ist in Ebenen eingeteilt. Der Controller beginnt in der obersten Ebene (hier "Start"), berechnet diese, führt die Befehle aus und springt zu der nächsten Ebene darunter. Durch Sprungbefehle lassen sich auch Unterprogramme programmieren.

    In der 1.Ebene wird allen Ausgängen die Konstante 0 zugeordnet. Dies verhindert, das aus vorherigen Programmdurchlaufen Werte ausgegeben werden. Das LCD Modul gibt den Text "Start = Taste 4" aus. Die Tastatur gibt Zeichen im ASCII-Code aus. Die Taste 4 entspricht ASCII-Code 52. Liegt dieser Wert am Vergleichsblock, wird der Sprungblock aktiviert und zur Ebene Kreisel gesprungen.

    In der Kreisel-Ebene wird mit dem Port 6 ein Relais angesprochen, welches den Kreisel anlaufen läßt. Gleichzeitig wird ein Signalton vom Summer auf dem Controller ausgegeben. Die Variable [8] wird bei jeder Berechnung der Ebene um 1 erhöht. Entspricht der Wert der Variablen "42", wird zur Ebene "Programmwahl" gesprungen. Der Wert 42 gibt einen Zeitfaktor an, der von der Einstellung der Tonsignallänge des Controllers abhängig ist. Mit der Taste 3 kann diese Ebene übersprungen werden und gleich zur "Programmwahl" gesprungen werden.

    In der Ebene "Programmwahl" wird den Variablen [1] und [2] jeweils der Sensorwert zugeordnet, der momentan anliegt. Dies ist erforderlich, da man nicht von der immer gleichen Startlage des Kreisels ausgehen kann. Mit der Taste 1 wird das manuelle Steuerklappenprogramm aufgerufen und mit Taste 2 das vorprogrammierte Steuerklappenprogramm.

    In der Ebene "Programm manuell" befindet sich die eigentliche Stabilisierungssteuerung. Der Wert von Sensor I wird von der Variablen [1], der vorher der Wert des Sensors I in Ruhelage des Flugroboters zugeordnet wurde, subtrahiert. Der neue Wert gibt einen Abweichungsfaktor an. Gleichzeitig wird von der Variablen [1] der Sensorwert [1] subtrahiert. So erhält man immer einen positiven und einen negativen Wert. Der positive Wert wir nun dem/den Motor(en) der abfallenden Seite des Flugroboters zugeordnet. Die Schranken "max" und "min" verhindern, dass die abfallende Seite nicht mehr als den maximalen Wert 255 erhält, welches sonst ein "Überlaufen" der Variablen zur Folge hätte (z.B. 260=5), aber auch das übermäßige drosseln der Motoren, welches hierdurch auf maximal 15 Werte begrenzt ist.

    Die Leistungserhöhung oder Drosselung der hinteren Motoren (DA[1] und DA[2]) wird nach dem gleichen Prinzip wie bei Sensor I untereinander aufgeteilt nach den Informationen von Sensor II.

    An dieser Stelle wird auch die Nichtlinearität des Spannungsabfalls am Kreisel-Potentiometer berücksichtigt. Eine Multiplikation um den Faktor 2 gleicht dies an. Es wird dadurch der Fehler nur bedingt korrigiert. Bei der Drosselung vergrößert sich der Fehler. Dies Problem muss noch gelöst werden.

    Der analoge Eingang "Ultraschall" sowie die Variabel [4] erhöhen oder verringern die Leistung der Motoren gleichmäßig. Mit dem Tastaturblock lassen sich die Steuerklappen regeln. Die Taste 1 (ASCII 49) bedingt, dass Port 4 high geschaltet wird. Taste 4 (ASCII2 51) schaltet Port 4 und Port 1 high. Dadurch können mit der Steuerschaltung (siehe Anhang/Schaltplan) die Klappen vor- oder zurückgefahren werden. Die Klappen II und III werden nur von anderen Tasten gesteuert.

    Über die Tastatur wird aber auch die Grundenergie geregelt. Die Variable [4] wird in den Programzellen "m+1", "m-1", "m+15" und "m-15" erhöht oder verringert, um den Ultraschallsensor zu überbrücken oder nachzuregeln. Bei der Betätigung von Taste 8 springt das Programm in die Ebene "m+1." Dort wird die Variabele um +1 erhöht. Allen Motoren steht nun 1/256 von dem maximalem Wert mehr Energie zu.

    Die Ebene "Programm autonom" enthält die gleiche Motorenregelung wie "Programm manuell" und die gleiche Möglichkeit die Motorengrundenergie zu erhöhen. Der Unterschied liegt nur in der Steuerklappenansteuerung. Prinzipiell wird zum Zeitpunkt 0 der oberste Wert a durch alle darunterstehenden Schaltblöcke geschleust. Zum Zeitpunkt 200 wird der erste Schaltblock aktiv und läßt nun Wert b hindurch. Bei Zeitpunkt 400 wird der nächste Schaltblock aktiv und läßt die oberen Werte a und b nicht durch sondern c. Dies läßt sich beliebig fortführen und ist nur durch die Speicherkapazität begrenzt. Allerdings wird der Controller erheblich verlangsamt. Zum Schluss wird Konstante [3] das "low" des entsprechenden Ports zugeordnet. Eine Konstante 0 kann nicht wie gehabt durch die speziellen Schaltblöcke geschleust werden.

    (Mit der beigelegten Diskette kann das Programm simuliert und die einzelnen Schritte genau verfolgt werden; Siehe Text "readme" auf der Diskette.)

    Ein Programmproblem ist die begrenze Anzahl von Variablen. Insgesamt stehen nur 24 Byte- oder 12 Word- oder 162 Bit-Variablen zur Verfügung. Dabei muss darauf geachtet werden, dass diese sich nicht gegenseitig überschreiben. Zwei Byte-Variablen verwenden den gleichen Bit Platz wie eine Word-Variable.

    Die Programmergänzung mit lernfähigen Elementen, die ein besseres Ausgleichen ermöglichen würden (siehe ungelöste Probleme), kann nicht eingesetzt werden, weil keine Variablen mehr frei sind. Das Programm müßte bei einer bestimmten Schieflage, die über eine bestimmte Dauer anhält, die Leistung grundsätzlich an den Entsprechenden Seiten erhöhen. Dazu muss eine Variable pro Motor dessen Leistungschwankungen mitzählen. Eine weitere Word-Variable wurde um +/-1 verändert, die wiederum dauerhaft auf die Energieverteilung einwirkt. Es sind aber in der Programmstruktur keine 3 Byte und 3 Word-Variablen mehr frei.

     

4 Elektronische Ergänzungen zum Controller

    Durch die Kopplung von zwei Controllern miteinander über die com-Schnitsttelle sind zwei zusätzliche analoge Ausgänge verfügbar. Dadurch ist der D/A-Wandler überflüssig geworden. Alle Schaltungen sind im Schaltplan des Flugroboters dargestellt (siehe Anhang).

     

4.1 Übertakten der CPU

      Die 4 MHz Rechenleistung ist für komplexe Programme sehr wenig, wenn sie nicht in Assembler geschrieben sind. Auf die Problematik der Geschwindigkeit wird später ausführlich eingegangen. Nach der Literatur [3] ist die Leistungsgrenze mit 4 MHz noch nicht erreicht und kann auf 8 MHz übertaktet werden. "Schaltet man einen 8-MHz-Quarz mit einem Schalter parallel zum originalen 4-MHz-Quarz, dann schwingt im Normalfall der Quarz mit der höheren Frequenz nach dem Einschalten zuerst an, und somit bestimmt sie den Prozessortakt." [3]

      Mit der Erhöhung der Taktfrequenz erhöht sich auch die Baud-Rate der über die Com-Schnittstelle übertragenen Werte. Dies muss bei einem Netzwerk mitbedacht werden.

      Durch das Übertakten wurde die Zeit für einen Zyklus von ca.0,85s auf ca.0,425s reduziert. Außerdem ist es entgegen der Literatur [3] möglich, während einer Pause im Programm zwischen den Taktfrequenzen hin und her zu schalten.

       

4.2 Steuerklappenelektronik

      Es werden 6 digitale Ports für die Steuerklappen angesprochen. Ein Portpaar gibt jeweils durch einen Port die Richtung und durch den anderen den Zeitpunkt der Bewegung an. Die Spannung für die Getriebemotoren wird über ein Doppelrelais in der Polarität geändert. Die Controllerschnittstelle kann max. 10mV zur Verfügung stellen. Deshalb muss ein Treiberbaustein (UL2803) als Transistorverstärker nachgeschaltet werden. Zusätzlich werden durch Rücklaufdioden im IC induktive Spannungen des Relais abgeführt. Die Versorgungsspannung der Motoren wird durch kleine Leistungstransistoren geregelt, die direkt mit dem Controller verbunden sind.

      In der Literatur [3] wird ein Motortreiber L293D von SGS für die gleiche Aufgabe eingesetzt, der den Schaltungsaufwand bei einem Nachbau weiter reduzieren würde.

       

4.3 Kreisel Elektronik

      Damit der Kreisel im Ruhezustand anlaufen kann muss eine gewisse Zeit ohne Erschütterungen gegeben sein. Ein Relais kann über einen Transistor, getrennt von allen anderen Motoren, angesteuert werden. So wird sichergestellt, dass der Kreisel ohne mechanische Erschütterungen der Rotoren oder Getriebemotoren bis zu seiner maximalen Umdrehungsgeschwindigkeit anlaufen kann.

       

4.4 Die Leistungsstufe mit Optokoppler

      Das aufwendigste Problem in diesem Projekt ist unter anderem die Stromversorgung der Motoren. Erste Versuche mit Leistungstransistoren, die direkt mit einer Steuerspannung verbunden waren sind fehlgeschlagen, da sie zu heiß geworden sind. Erst durch die intensive Suche in Schaltungssammlungen wurde eine realisierbare Schaltung gefunden (siehe Schaltung A im Schaltplan).

      In dieser Schaltung werden auf dem Prinzip der Pulsweitenmodulation Transistoren angesteuert. Das bedeutet, dass die Transistoren mit hoher Frequenz geöffnet und geschlossen werden. Durch den Abstand der Öffnungsphasen zu den geschlossenen Phasen kann der fließende Strom im Mittel gesteuert werden. Die Transistoren werden relativ wenig belastet, wenn sie geschlossen oder vollkommen geöffnet sind.

      Die Frequenz kann durch Potentiometer von 6kHz bis 110kHz eingestellt werden. Im Hochfrequenzbereich (Hf>10kHz) müssen die Schaltungen abgeschirmt werden. Andernfalls können die umliegenden Elektronikschaltungen durch die abgegebene elektromagnetische Strahlung beeinflußt werden.

      Der ursprünglich eingesetzte BUZ 10 hat den Belastungen nicht standgehalten und musste durch einen IRFZ 44 (maxi. 35A, 60V, 150W; Innenwiderstand 0,028W ) ersetzt werden. Die schon erwähnten 192W pro Motor kann einer nicht bewältigen, daher sind anfangs zwei Transistoren parallel geschaltet worden. Nachdem festgestellt wurde, dass zwei Transistoren ausreichend sind, aber dennoch eine höheren Anteil in Wärme wandeln, setzten wir 3 Transistoren parallel. Die Schaltung kann so 450W bewältigen und hat ausreichende Reserven für Spitzenströme.

    1. Ein Phänomen, dass die Motorleistung ab einer bestimmten Belastung nahe am Maximum abfallen läßt, konnte erst durch Anschluß eines Oszilloskops geklärt werden. Die Ansteuerspannung (Abb.9) ist zunächst sägezahnförmig und formiert sich in eine Rechteckspannung, wenn mehr Leistung von den Transistoren erforderlich wird. Die Sägezahnspannung ist anfänglich positiv und verschiebt sich, durch die zunehmende Formierung, mit den Tiefpunkten in den negativen Bereich. Wenn die Schließungsphasen nur noch einen geringen Teil der Amplitude ausmachen, wird die Grenzspannung unterschritten, mit der ein Transistor noch geöffnet werden kann. Die Folge dieses Phänomens ist, dass die Motoren nicht mit dem Maximum ihrer Leistung betrieben werden können.

      Die eigentliche Steuerung der Motoren wird auf der Schaltung durch ein Potentiometer gesteuert. Damit der Controller an dieser Schnittstelle eingreifen kann, muss ein Optokoppler die Verbindung herstellen. Zudem werden die Stromkreise getrennt und der Controller dadurch nicht gefährdet, wenn Störungen auftreten. Es wurde kein handelsüblichen Transistor-Optokoppler verwendet, sondern eine Ersatzschaltung die aus einem Fotowiderstand und einer Leuchtdiode bestehen. Der Vorteil besteht darin, dass die Veränderungen sichtbar sind. Durch einen vorgeschalteten Transistor und Widerstand kann die LED >0,2V bis 5V in der Helligkeit geregelt werden. Weitere Potentiometer auf der Platine ermöglichen die Einstellung der Frequenzen und der Empfindlichkeit des Optokopplers.

       

4.5 Stromversorgung

      Die Stromversorgung konnte durch anfängliche Versuche mit Labornetzgeräten nicht aufgebaut werden. Die stärksten uns zur Verfügung stehenden Netzgeräte haben eine maxi. Stromstärke von 10A. Die günstigste Alternative dazu sind Bleiakkumulatoren. Der momentan eingesetzte Akkumulator ist eigentlich eine Spannungsquelle für Automobile, der max. Kurzschlußstrom beträgt 300A und die Leistung ist mit 54Ah angegeben. Es lassen sich alle 3 Motoren genügend mit Strom versorgen, ohne dass die Spannung merklich abfällt.

       

4,6 Ultraschallsensor zur Höhenfeststellung

    Mit einem Ultraschall- Sender und Empfänger kann über die Intensität der von Gegenständen reflektierten Wellen die Entfernung bestimmt werden. Die dazu verwendete Schaltung gibt 0-7V Spannung aus, die abhängig von der Entfernung der reflektierenden Flächen ist. Dieses Signal wird durch einen Spannungssensor über einen AD-Eingang abgefragt und im Steuerprogramm verarbeitet. Alternativ zu dem Spannungssensor könnte auch ein Spannungsteiler verwendet werde, der die maximalen 7V auf 5V und 2V aufteilt. Die 5V können am AD-Eingang angelegt werden. Der Spannungssensor schützt den Controller vor zu hohen Spannungen.

     

5 Vorbereitungen und Testflug

    Die in den vorherigen Kapiteln behandelten Einzelsysteme müssen beim Flug optimal miteinander arbeiten. Eine kritische Phase ist die Abstimmung der Systeme aufeinander. In den Testflügen ist jedes System auf das Verhalten und auf die Auswirkungen auf andere Systeme untersucht worden. In den nachfolgenden Kapiteln sind vorläufige Ergebnis beschrieben.

     

5.1Erster Testflug ohne Kreiselstabilisierung und Ultraschallsensoren

      Die Abstimmung der Leistungsstufen auf den Controller haben sich als schwieriger herausgestellt als vermutet. Die Einstellung der Potentiometer auf der Leistungstufe muss mit sehr viel Sensibilität eingestellt werden. Ein Versuch die Potentiometer auf den 3 Platinen mit Messgeräten gleich einzustellen und so ein gleiches Verhalten der Motoren zu erreichen ist wegen den unterschiedlichen Leistungskennlinien der Motoren fehlgeschlagen. Nachdem alle Motoren individuell eingestellt worden sind und mit der Tastatureingabe gleichmäßig hochgefahren wurden, haben nur geringe Unterschiede in der Einstellung zu einem Kippen geführt. Für die Grundlage der Stabilisierung müssen die Motoren identische Leistungen erbringen.

      Die Motoren können etwa 3-4 Minuten die erforderliche Leistung erbringen. Danach sinkt die Maximalleistung auf grund der Erhitzung und zwingt zu einer 30-minütigen Pause.

      Wie die Kreiseldaten zu deuten sind, und welcher Wert einer bestimmten Motorleistung entsprechen muss, kann nur durch Ausprobieren genau definiert werden.

       

5.2 Datenaufzeichnung zur Fluganalyse

    Der Controller verfügt über 8k Byte Speicher, in dem das Programm gespeichert ist, und in dem auch Daten gespeichert werden können. Die mögliche Aufzeichnungsmenge hängt von der Größe des Programms ab. Bei den verwendeten Programmen können ca. 700 Werte in den EEPROM geschrieben werden.

    Diese Möglichkeit wird genutzt um die Leistungen der Motoren gegen die Zeit aufzuzeichnen und in einem Diagramm miteinander zu vergleichen. Daraus lassen sich Rückschlüsse auf die Steuerungs- und Wirkzuammenhänge erarbeiten. Der Einbau der Datenaufzeichnungselemente und der Ausgabeelemente haben das Programm weiter verlangsamt. Die Geschwindigkeit der Programmdurchrechnung ist dann nicht mehr vertretbar. Diese Möglichkeit kann erst wieder genutzt werden, wenn die Programme in Assembler umgeschrieben sind.

     

6 Mögliche Einsatzbereiche

    Der hier beschriebene Flugroboter kann überall dort eingesetzt werden, wo auch herkömmliche Hubschrauber eingesetzt werden. Durch die einfache Konstruktion kann er leichter als Hubschrauber repariert und gewartet werden.

    In einem Großmodell, das eine Nutzlast von <100 kg aufbringen kann, wäre es denkbar, dass Personen ohne Erfahrung damit fliegen können. In der Größe unseres Prototyps kann es zur Aufklärung aller Art genutzt werden. Ein Verlust ist bei dem "geringen" Sachwert nicht tragisch, wenn es z.B zu Rettungsmissionen eingesetzt wird.

     

7 Ungelöste Probleme und noch nicht umgesetzte Vorhaben

    Ein erwähnter Nachteil der C-Control ist die geringe Rechenleistung. Für das Programm zur Stabilisierung benötigt der Controller ca. 0,7s (Übertaktet 0,35s) und für die Klappensteuerung ca. 0,85s (0,425s). Das System wird dadurch sehr träge. Die Alternative, an der zum Zeitpunkt des Schreibens dieser Arbeit noch gearbeitet wird, ist die Assembler-Programmierung. Nach den Angaben der Fachliteratur [2] wird die Geschwindigkeit um den Faktor 1000 erhöht. Die Rechenzeit würde pro Durchlauf weniger als 1ms betragen.

    Die Versorgungsleitungen sind nicht mehr nötig, wenn Verbrennungsmotoren verwendet werden. Die Nachteile sind die hohen Anschaffungs- und Treibstoffkosten. Die Geräuschentwicklung, sowie die Absonderung von Schmierstoffen mit den Abgasen aus dem Treibstoff, machen einen Flug in geschlossenen Räumen schwierig.

    Ein weiteres Softwareproblem ist, dass der Flugroboter bei einer Lastenverschiebung z.B. in Form von zusätzlichem Gewicht, nach allen Eichungseinstellungen, anfängt zu schwingen. Die Last drückt ihn an einer Seite hinunter und die Motoren bekommen entsprechend mehr Energie. Der Ausgleich funktioniert aber nur so weit, bis sich ein Gleichgewicht gefunden hat zwischen Motorleistung und wirkender Kraft des Gewichts. Dieses Gleichgewicht kann aber nur unter der horizontalen Lage liegen.

    Durch ein lernfähiges System, dass bei einer längeren Schräglage die Motorleistung weiter erhöht und beibehält kann die Destabilisierung kompensiert werden.

8 Danksagung

    An dieser Stelle möchte ich mich bei folgenden Firmen und Personen bedanken, die mir geholfen und mich unterstützt haben. Ohne Sie wäre das Projekt nicht zu realisieren gewesen.

    Firma Conrad Elektronic, die mich mit Rabatten bei der Materialbeschaffung unterstützt hat.

    Firma Panasonic, die mir freundlicherweise einen Akku zur Verfügung stellte.

    Firma R&S und Ing. Schiroky Electronic GmbH, die mir ebenfalls einen Akku zur Verfügung stellten.

    Herrn Windau, der mit mir drei Stunden lang in der Stadtbücherei Schaltpläne gesucht hat.

    Herrn Seck, der als Lehrer der Friedensschule Hamm, Labormaterial zur Verfügung stellte.

    Herrn Gorschlüter, der uns die Literatur und zeitweise seine Controller zur Verfügung stellte.

    Herrn Andreas W. Fröhlich, der uns mit Rat und Tat zur Seite stand

     

9 Literaturverzeichnis

    [1] Günter Peltz; Praxis der Analog und Digitalwandler, Elektor Verlag, Aachen, 1990

    [2] Kainka B.; Messen-Steuern-Regeln mit der c-Control/BASIC-System , Franzis, München, 1998

    [3] Kainka B., Förster M.; C-Control Anwendungen, Franzis, München, 1998

    [4] 306 Schaltungen, Elektor Verlag,Aachen, 1996

     

10 Anhang

 

Deckblatt

 

 

Jugend forscht

Bundesland: Nordrhein-Westfalen

Fachgebiet: Technik

Titel der Arbeit: Konstruktion eines sich selbst stabilisierenden Hubschraubers mit drei Hauptrotoren

 

Wir sind damit einverstanden, dass unsere Daten für Presse- und Öffentlichkeitsarbeit der Stiftung Jugend forscht verwendet werden und versichern, alle benutzten Quellen angegeben zu haben.

jf99_bilder