Hybrid Kopter: Quadrokopter mit Benzinantrieb

  • Hallo,


    da ich im Vorstellungs-Thread auf meinen Hybriden angesprochen wurde, wollte ich diesen euch mal genauer vorstellen.


    Die Technik im Überblick:


    Kopter : Holybro Pixhawk Flugsteuerung, Holybro NEO M8N GPS, 3DR Data Radio Telemetrie, Garmin LIDAR Lite V3 Laserentfernungsmesser für die Höhenregelung, DJi E1200 Antriebsset und FrSky L9R Empfänger.


    Generator: Zenoah G240RC 2Takt Motor, Turnigy G160 290Kv BL-Motor als Generator, Arduino Nano Steuerung. A123 ANR22650 7S LiFePo Stützakku.


    Der Generator:

    ich fang mal mit dem Interessantesten Bauteil an.




    Die Regelung der Ausgansspannung erfolgt rein per Spannungsmessung am Arduino und wird durch einen PID regler der über einen Servo am Motor gas gibt eingestellt. Also arbeitet die Steuerung ohne konkrete Drehzahlerfassung. Konstante Drehzahl bringt nix da die Spannung Lastabhängig stark einbricht (7200 Rpm am Generator bei 0 A und ca 9200Rpm bei 40A um 24,3 Volt zu liefern).


    Entsprechend träge ist das Regelverhalten da ich mit einem 2/20 K Ohm Spannungsteiler Spannungen bis 55V Messen kann aber nur in 55V/1024 Schritten also nur auf 53,x mV genau auflösen kann. Funktioniert trotzdem ganz gut.


    Ein 7S2500mAh A123 LIFE Stützakku übernimmt die Aufgabe eines Glättungskondensators (wird im PKW auch so Praktiziert da gibt´s auch keine Kondensatorbänke). Da an einem Vollen LiFe die Lade Spannung bei 100% Sprunghaft ansteigt würde ein voller LiFe seine Stütz und Glättungswirkung verlieren aus dem Grund wird er nur 3,47 Volt pro Zelle also zu ca.80% geladen (kein Scherz, ich musste schon wegen einem Vollen Akku notlanden weil ich die Ausgangsspannung zu hoch eingestellt habe). Eine Überspannungserkennung lässt eine 1 Ohm Last per FET bei 25,8 Volt zuschalten und schaltet bei 25,6 Volt wieder ab . Die 1 Ohm Last hat ihren eigenen Brückengleichrichter damit beim auslösen nur der Generator und nicht der Akku belastet wird. Sie dient um bei einem Plötzlichen einsetzendem Stromabfall einem Spannungsanstieg entgegen zu wirken zb. beim sinken oder Aufsetzen auf dem Boden : Kopter fliegt-> Hohe Last am Generator->Regler gibt Vollgas->Kopter Sinkt->geringere Last am Generator->Regler gibt immer noch Vollgas->Drehzahl steigt->Spannung steigt->ESC brennen durch->Pilot weint :D


    Hier der Arduino Sketch zur Regelung. Weitere Details zum Kopter folgen





    /********************************************************

    * Generator Governor basierend auf PID Basic Example

    * Spannung über 20/2 kOHM Spannungsteiler am analog input 0 zu Servo Ansteuerung PWM output 9 oder 3

    * einstellung der Sollspannung über Poti an Analog 1

    * Überspannungserkennung ab 27 Volt über LED Pin 13 und MOSFET der im Überspannungsfall eine 1 Ohm Last zuschaltet

    ********************************************************/

    #include <Servo.h>

    #include <LiquidCrystal_I2C.h>

    #include <Wire.h>

    #include <PID_v1.h>

    #define PIN_INPUT 0

    #define PIN_OUTPUT 3

    #define PIN_CONTROL 1

    #define LED_PIN 13 // Überspannungswarnung und Lastschaltung

    LiquidCrystal_I2C lcd(0x27, 16, 2);

    //Define Variables we'll be connecting to

    Servo myservo;

    int val;

    double Setpoint, Input, Output;


    //Specify the links and initial tuning parameters

    double Kp=0.4, Ki=0.9 , Kd=0.01; // Kp=0.17, Ki=0.2 , Kd=0.01; sind gute werte am Betrieb ohne Stützakku

    PID myPID(&Input, &Output, &Setpoint, Kp, Ki, Kd, DIRECT);


    void setup()

    {

    lcd.begin();

    lcd.backlight();

    pinMode (LED_PIN, OUTPUT);

    myservo.attach(9);


    Input = analogRead(PIN_INPUT);


    Setpoint = analogRead (PIN_CONTROL);


    //turn the PID on

    myPID.SetMode(AUTOMATIC);

    }


    void loop()

    {



    Input = analogRead(PIN_INPUT);

    Setpoint = analogRead (PIN_CONTROL);

    myPID.Compute();

    analogWrite(PIN_OUTPUT, Output);

    val = Output;

    val = map(val, 0, 255, 98, 170); // min/max werte am Drosselklappenservo

    myservo.write(val); // sets the servo position according to the scaled value

    lcd.setCursor(0, 0);

    lcd.print("Generator: ");

    lcd.print(Input*0.054); // Gemessene Spannung am Eingang vom Regler

    lcd.setCursor(0, 1);

    lcd.print("Setpoint: ");

    lcd.print(Setpoint*0.054); // Sollwert Ausgangsspannung vom Generator

    delay(15);

    if (Input >= 480){ // 500 ist Spannung über 27 Volt

    digitalWrite(LED_PIN, HIGH ); // LED geht an und 1 Ohm Last wird zugeschalten

    }

    if (Input < 478){ // 498 ist Spannung unter 27 Volt

    digitalWrite(LED_PIN,LOW);

    }


    }

  • ?(Hmm, was sind das für Bauteile hinter dem Motor (30A und 100A) ? Also ich weiß nicht wie der Fachausdruck heißt, das da aus Wechselstrom Gleichstrom gemacht wird ist klar. Wie bringst Du den Motor zum Starten:|?


    EDIT: ichhab nach dem Motor gegoogelt, nun ist mir klar wie man den an bekommt^^.

  • :thumbup: die Idee mit dem Laser für Entfernungen ist klasse, wie schließt man den an ?

    Die Dinger kann man für den PIX kaufen, wie man die ansteuert weiß ich nun nicht, ich denke aber es wird kein großes Problem sein, hier z.B. >> https://www.amazon.de/LIDAR-Li…kalisierung/dp/B01MS6S1HM

  • Es geht weiter.


    die 30A und 100A Bausteine sind 3 Phasen Brückengleichrichter der 30A ist für den Überspannungsschutz und der 100A Ist der Hauptgleichrichter. Ich hatte anfangs einen 40A verbaut, der ist aber nach 5 Betriebsstunden im Flug gestorben.


    Am Zenoah Motor habe ich die Original Kupplung entfernt und eine Propellernabe vom ZG23 Flugmotor angebaut die ich hinten ein paar mm auf der Tischfräse kürzen musste, damit sie passt. An diese Propellernabe habe ich dann eine Wellenkupplung 8mm auf 8mm angebaut die den Generator mit dem Motor verbindet.


    Der ganze Motor ist auf einer Carbonplatte eines BL Gimbal Schwingungsdämpfers mit einer M5 Schraube befestigt. an der Carbonplatte sind 4 sehr weiche Gummipuffer mit m3 Gewinde befestigt die den Motor/Generator sehr weich gedämpft auf dem Landegestell halten.


    Das maximale Abfluggewicht beträgt laut Datenblatt der DJi E1200 Motoren 6,8 Kg also musste ich um jedes Gramm feilschen damit die Konstruktion letztendlich auch abhebt.


    Der Rahmen besteht aus 25mm Carbonrohr mit 0,5mm Stärke zum kreuz verklebt und verschraubt. (keine klassische Centerplate plus Schellen konstruktion).



    Die Motorhalter sind 25mm OBO Quick PG Rohrschellen aus dem Elektroinstallationsbedarf. Jeweils mit einer schraube gesichert. Dieser verdammte Onlineshop hat ja nicht geliefert also wurde Improvisiert:)


    Der Pixhawk sitzt direkt auf dem Kreuz. Da mir diese PG Schellen so gefallen, wird mit 4 davon eine Carbonplatte als Technikträger auf dem Kopter gehalten. Auf diesem Träger befinden sich GPS/Kompass, Empfänger, Telemetrie, Akku, Controller vom Generator und der Tank.

    Ein Garmin LIDAR V3 hatte ich noch übrig von dem Testkopter https://www.youtube.com/watch?v=GVpo8YCe1t0 mit dem ich den Pixhawk eingestellt und die Komponenten getestet habe. Dieser Testkopter hatte ein Optical flow Kamera, die eine gute Höhenmessung braucht. Ich habe aber kein Optical Flow am Hybriden verbaut.

    Das LIDAR habe ich per PWM mit dem Pixhawk verbunden.

    Ist hier beschrieben http://ardupilot.org/copter/do…angefinder-lidarlite.html


    Kopter und Landegestell sind für den Transport zum Flugplatz trennbar.

    auch hier wird die Verbindung mit 4 Elektroinstallations-Schellen realisiert.


    So wiegt das Landegestell mit Generator 3,6 Kg und der Kopter mit Akku 2,7 Kg. Gesamt 6,3 Kg und mit 500ml Sprit 6,7 Kg.


    Noch ein paar Worte zum Benzinmotor: ich habe etwa 8 Generatorprototypen mit verschiedenen 2 und 4 Takt Motoren gebaut und bin zu einem eindeutigen Schluss gekommen: die Kraft bzw. der Schlag der bei der Verbrennung entsteht sollte nicht unterschätzt werden auch wenn der Motor noch so klein ist, ist es als würde ein Vorschlaghammer auf den Kolben schlagen und dieser Schlag liegt 1:1 als Drehbewegung an der Kurbelwelle an daher muss diese stoßartige Energie in reichlich Schwungmasse zwischengespeichert werden. Flugmotoren haben kaum Schwungmasse da diese Funktion durch den verbauten Propeller erfüllt wird und sind deshalb ungeeignet als Generatorantrieb. Auch wenn sie noch so leicht effizient und kraftvoll sind.

    Daher der Griff zum Zenoah: Kühlung, Schwungmasse, Anlasser, Zündung alles nötige zum Betrieb schon dran.


    Morgen bin ich auf Betriebsfeier:S aber Flugvideos kommen noch.

  • Wo bleiben denn nun die ...


    Im ernst, hätte mich schon darauf gefreut...

    Sorry, hatte bis jetzt keine Zeit mehr.

    Ich wollte eigentlich ein neues Video mit Autostart und Wegpunkten drehen und werde das nach meinem Urlaub auch tun.


    Hier erstmal der Zweitflug vom März diesen jahres:


    und noch ein zweites wo ich den LIDAR Höhenregler aktiviert habe




    Ich melde mich sobald das neue Flugvideo fertig ist

    Gruß,

  • Im Regelfall steuere ich per Funke. Ist so halt bequemer wenn man nebenbei mit dem Handy filmt.

    So komisch und fehleranfällig die Arducopter Software auch ist, der Autonome Flug per PC, Handy oder Tablet am perfekt eingestellten Copter funktioniert tadellos. Ich wage nach 4 jahren Arducopter Erfahrung sogar zu behaupten das der Autonome Flug beim Arducopter sicherer ist als der Flug per Fernsteuerung. Denn die Software macht immer ganz komische sachen vor allem beim mehrfachen Wechsel der Flugmodi.

  • Denn die Software macht immer ganz komische sachen vor allem beim mehrfachen Wechsel der Flugmodi.

    ?(Hatte bisher noch keine Probleme, ich benutze auch Hauptsächlich Drift, Stabilized, Pos Hold und RTL*thumbmed*...

    Das mit dem Tablet werde ich auf jeden Fall einmal versuchen, momentan kämpfe ich aber noch mit meinem Selfmade Gimbal:(...

  • Wenn er im LOITER gut fliegt klappt alles. Je nach Stabilität vom Landegestell kann man landing speed noch herabsetzen (bei ner normalen Konstruktion nicht notwendig).


    Ich komm halt nicht so gut mit APM Kopter aus, so wird zb. bei zusatzgeräten wie Opt.flow beim Softwarefehler der EKF mit daten zugemüllt und der Kopter fliegt Amok obwohl er sich in einem Flugmodus befindet in dem der Sensor garnicht benötigt wird.


    Autotune ist zeitverschwendung und tunet nur Ausschuss zusammen (3 mal mit völlig verschiedenen Koptern zum spass probiert, 3mal crash) ich tune von hand mit hervorragemden Ergebnissen


    Dann hat mir schon mal die automatische Schwebegaseinstellung im Flug dax Expo vom Gaskanal geändert und der Kopter war nicht mehr kontrollierbar.


    Die Lageregelung ist auch erst ab einen voreingestellten stickwert aktiv, was das starten von zb. von einem Zaunpfeiler in einem Crash enden lässt.


    Bis mann alle unnötigen standarteinstellungen und funktionen gefunden und deaktiviert hat geht halt einiges zu bruch. Wenn er einmal über Kopf liegt will sich das Ding einfach nicht disarmen lassen (auch wenn in stab gewechselt wird).


    Und selbst wenn alles perfekt funktioniert kommt alle 100 flüge ein unerwartetes ding wo keinen sinn ergibt und die intensive Log auswertung zeigt das alles gut war, alle sensoren okay, keine außergewöhnlichen Stick oder Kompasswerte nur hat die Software halt mal wieder Bock auf nen Einschlag gehabt.


    Von dem her habe ich bis jetzt jeden Ardukopter wieder zerlegt und die Hardware in einen Flächenflieger gebaut. Alle anderen Flugsteuerungen wie zb. MK und Naza haben noch nie solche seltsamen Phänomene in der Menge gezeigt wie es Arducopter ständig tut.


    Aber zum experimentieren und lernen ist Arducopter perfekt. Keine Andere Plattform hat derart uneingeschränkte funktionen. Kein Updatewahn, kein Lizenz und Registrierungsmüll einfach nur fliegen und probieren