Multiplex Combi 80

  • So ein weiterer Umbau zur ultimativen Kommandozentrale ist getan. Jetzt gibt es sogar Live Bilder. Nur noch den 5,8GHz Empfänger für die Kammera in ein Gehäuse verpacken.

    Erfahrungen sind was sehr nützliches, leider macht man sie erst kurz nachdem man sie gebraucht hätte...

  • Joystick? N kompletter Helisimulator! :D
    Fehlt nur noch der 5,8GHz EM an dem Teil. Die tage wird der Hexacopter eingestellt und wenn dann noch Platz ist kommt der mit in den Urlaub :D

    Erfahrungen sind was sehr nützliches, leider macht man sie erst kurz nachdem man sie gebraucht hätte...

  • Hehe nice! Bringst du den zum MMM mit? :D *Interessiert*

    bissl oot:

    Mein Bruder und ich bauen uns gerade auch einen Quadro.
    Als zentrale Steuereinheit dient ein Raspberry Pi mit Linux Betriebssystem!
    Er proggt den Compi und ich bin für die Peripherie (Elektronik) und dem mechanischen Aufbau zuständig! :D

    Können bislang über WLAN auf den Raspi zugreifen und so die Motoren (über I²C des Raspis) ansteuern! :D

    XYZ-Lagesensoren, GPS und so folgen... :D

    Wenn wir was "Handfestes" haben, nehmen wir den im Sept. auch mit! :D Nur erst muss meine Werkstatt fertig werden, damit ich den eigendlichen Quadro bauen kann... :D


    oot- Ende (sry, denke aber dich könnte es interessieren... :D )

  • Nimm als Sensorboard das 10DOF da ist alles drauf was du brauchst zzgl Barometer und Kompas. Alles über I2C.

    Ich bau mir gerade ein Adaperkabel für die GOPRO und ein neuer bzw Wechselakku kommt auch noch in die Funke. Klar kann ich den mitbringen. Aber das sind vollbeladen fast 3kg die fliegen.

    Mitlerweile wiegt die Funke 1,4kg. Wird Zeit für einen breiteren Nackengurt.

    Erfahrungen sind was sehr nützliches, leider macht man sie erst kurz nachdem man sie gebraucht hätte...

  • So weiter gehts mit dem Aufwerten. Jetzt wird eine neue SumPPM Encoderplatine entwickelt und verbaut.
    Besonderheiten 6 Analoge Kanäle und 2 Digitale 3 Stufen Kanäle + zuschaltbarer X-Mischer auf Kanal 3 und 4.


    Hier der vorläufige Programmcode:

    Edit: Programmcode entfernt. Neuer ist weiter unten.

    Erfahrungen sind was sehr nützliches, leider macht man sie erst kurz nachdem man sie gebraucht hätte...

    Einmal editiert, zuletzt von Krümmel (14. Oktober 2013 um 11:38)

  • So meine Software für die 9 Kanal Funke ist bis auf den noch nicht funktionierenden Kreutzmischer fertig.

    Es funktioniert soweit alles und wenn alle Kanäle auf 100% laufen habe ich einen Frame von 18,5ms. Müsste also passen.

    Wenn jemand interesse an dem Layout hat einfach melden. Die Platine ist etwa 55X48mm groß.

    So und hier der Programmcode zum rumbasteln.

    //----------------------// 440µS Peak
    //9 Kanal SumPPM Encoder//
    //by Kruemmel //
    //----------------------//

    const int Sum_PPM = 4; //Pin 13 ist der Anschluss für das Sendemodul
    const int trig = 5; //Synkpin für Oszilloskop

    //Analog-------------------------------------------------------
    int Kanal_1 = A0; //Analoge Kanäle den Pins zuordnen
    int Kanal_2 = A1;
    int Kanal_3 = A2;
    int Kanal_4 = A3;
    int Kanal_5 = A4;
    int Kanal_6 = A5;

    //Digital-------------------------------------------------------
    int X_Mischer = 11; //Digitaler Pin für Mischer EIN/AUS
    int x = 0; //Speicher für X-Mischer
    int y = 0;

    int Kanal_7 = 0; //Kanal 7 Wert
    int Kanal_7_high = 13;
    int Kanal_7_low = 12;

    int Kanal_8 = 0; //Kanal 8 Wert
    int Kanal_8_high = 11;
    int Kanal_8_low = 10;

    int Kanal_9 = 0; //Kanal 9 Wert
    int Kanal_9_high = 9;
    int Kanal_9_low = 8;

    //Zwischenspeicher-------------------------------------------------------
    int Val0 = 0; //Wertespeicher für die analogen Kanäle
    int Val1 = 0;
    int Val2 = 0;
    int Val3 = 0;
    int Val4 = 0;
    int Val5 = 0;

    int Sum_PPM_State = LOW; //PPMPin ist zu Beginn 0
    long previousMicros = 0; //Mikrosekundenzähler

    long interval = 22000; //Alle 22mS wird die PPM generierung gestartet


    void setup()
    {
    pinMode(Kanal_7_high, INPUT);
    pinMode(Kanal_7_low, INPUT);
    pinMode(Kanal_8_high, INPUT);
    pinMode(Kanal_8_low, INPUT);
    pinMode(Kanal_9_high, INPUT);
    pinMode(Kanal_9_low, INPUT);
    pinMode(Sum_PPM, OUTPUT); //Pin wird als Ausgang gesetzt
    }

    void loop()
    {
    unsigned long currentMicros = micros(); //Zeitwert = Zeitzähler des AVR

    //-------------------------------------------------------
    Val0=map(analogRead(Kanal_1), 0, 1023, 560, 1560); //Umrechnen von analogen Wert auf 1-2mS (440µS Peak + Pause)
    Val1=map(analogRead(Kanal_2), 0, 1023, 560, 1560);
    Val2=map(analogRead(Kanal_3), 0, 1023, 560, 1560);
    Val3=map(analogRead(Kanal_4), 0, 1023, 560, 1560);
    Val4=map(analogRead(Kanal_5), 0, 1023, 560, 1560);
    Val5=map(analogRead(Kanal_6), 0, 1023, 560, 1560);

    //-------------------------------------------------------
    /* if (X_Mischer = HIGH) // X-Mischer für Kanal 3 und 4
    {
    x = (Val2/2) + (Val3/2);
    y = Val2 - Val3 + 560;
    Val2 = x;
    Val3 = y;
    }
    */
    //-------------------------------------------------------
    if (digitalRead(Kanal_7_high) == HIGH) //Kanal 7 high, low, mid
    {
    Kanal_7 = 1560;
    }

    else if (digitalRead(Kanal_7_low) == HIGH)
    {
    Kanal_7 = 560;
    }

    else
    {
    Kanal_7 = 1060;
    }

    //-------------------------------------------------------
    if (digitalRead(Kanal_8_high) == HIGH) //Kanal 8 high, low, mid
    {
    Kanal_8 = 1560;
    }

    else if (digitalRead(Kanal_8_low) == HIGH)
    {
    Kanal_8 = 560;
    }

    else
    {
    Kanal_8 = 1060;
    }

    //-------------------------------------------------------
    if (digitalRead(Kanal_9_high) == HIGH) //Kanal 9 high, low, mid
    {
    Kanal_9 = 1560;
    }

    else if (digitalRead(Kanal_9_low) == HIGH)
    {
    Kanal_9 = 560;
    }

    else
    {
    Kanal_9 = 1060;
    }

    //-------------------------------------------------------
    if(currentMicros - previousMicros > interval) //Wenn 22mS erreicht sind starte SumPPM generierung
    {
    previousMicros = currentMicros;
    digitalWrite(trig, HIGH); //Triggerpin für Oszilloskop
    digitalWrite(Sum_PPM, HIGH); //Pin 13 auf 1
    delayMicroseconds(440); //440µ warten
    digitalWrite(Sum_PPM, LOW); //Pin 13 auf 0
    delayMicroseconds(Val0); //warte 560-1560µS
    digitalWrite(Sum_PPM, HIGH); //alles von vorne
    delayMicroseconds(440);
    digitalWrite(Sum_PPM, LOW);
    delayMicroseconds(Val1);
    digitalWrite(Sum_PPM, HIGH);
    delayMicroseconds(440);
    digitalWrite(Sum_PPM, LOW);
    delayMicroseconds(Val2);
    digitalWrite(Sum_PPM, HIGH);
    delayMicroseconds(440);
    digitalWrite(Sum_PPM, LOW);
    delayMicroseconds(Val3);
    digitalWrite(Sum_PPM, HIGH);
    delayMicroseconds(440);
    digitalWrite(Sum_PPM, LOW);
    delayMicroseconds(Val4);
    digitalWrite(Sum_PPM, HIGH);
    delayMicroseconds(440);
    digitalWrite(Sum_PPM, LOW);
    delayMicroseconds(Val5);
    digitalWrite(Sum_PPM, HIGH);
    delayMicroseconds(440);
    digitalWrite(Sum_PPM, LOW);
    delayMicroseconds(Kanal_7);
    digitalWrite(Sum_PPM, HIGH);
    delayMicroseconds(440);
    digitalWrite(Sum_PPM, LOW);
    delayMicroseconds(Kanal_8);
    digitalWrite(Sum_PPM, HIGH);
    delayMicroseconds(440);
    digitalWrite(Sum_PPM, LOW);
    delayMicroseconds(Kanal_9);
    digitalWrite(Sum_PPM, HIGH);
    delayMicroseconds(440);
    digitalWrite(Sum_PPM, LOW);
    digitalWrite(trig, LOW);
    }
    }

    Erfahrungen sind was sehr nützliches, leider macht man sie erst kurz nachdem man sie gebraucht hätte...

  • So jetzt kann ich mal wieder etwas vorzeigen. Auf dem Bild ist die neue PPM Platine zu sehen. Die Abmaße sind identisch mit der der originalen Platine. Er fehlt halt der Steckkontackt für die Zusatzmodule und die Buchse vorne ist halt auch nicht angeschlossen. D.h. Der Stecker ist nur für Plus und Minus da. Die Platine erzeugt ein 6 + 3 Signal. Heißt: 6 Propotionale Kanäle und 3 3-Stufen Kanäle. Soweit läuft das auch alles (Sogar der Level shifter für das 40MHz Modul). Nur die Kanäle gehen von 1,3-1,7mS weil die Potis nicht von 0-5V gehen. Kann ich aber leicht in der Software ändern. Testen kann ich aber nur 6 Kanäle bei 2,4GHz und 4 bei 40MHz da mir die passenden Empfänger fehlen. Aber am 40MHz Empänger am Summensignal sieht alles super aus. Denke dann dürfte der Rest auch passen. Fehlt nur noch das Testen der Kreutzmischers :evil: .

    Einmal editiert, zuletzt von Exotoxin (16. Oktober 2013 um 22:16)

  • So ein weiterer Umbau wurde getätigt. Diesmal musste eine Multiplex Combi 90 herhalten.
    Bei Ebay als defeckt gekauft, getestet und festgestellt es geht nur ein Kanal nicht. Der zweite. Keine Lust auf Fehlersuche gehabt (Poti umstecken half nichts) und eine neue Platine entworfen. Herausgekommen ist wieder eine 9 Kanal Funke mit 35MHz und 2,4GHz. Mehr Schalter als Kanäle, weil es war einfach zu viel Platz da :)

    Erfahrungen sind was sehr nützliches, leider macht man sie erst kurz nachdem man sie gebraucht hätte...

  • Die Platine von oben

    Erfahrungen sind was sehr nützliches, leider macht man sie erst kurz nachdem man sie gebraucht hätte...

    Einmal editiert, zuletzt von Krümmel (10. Juni 2014 um 18:36)

  • Und das Innenleben. Leider passten meine vorhandenen Akkus nicht und ich musste 6 meiner Eneloops opfern :(

    Erfahrungen sind was sehr nützliches, leider macht man sie erst kurz nachdem man sie gebraucht hätte...