Autoquad Controller ist nun offiziell

nachbrenner

Erfahrener Pfuscher
@gfunk: Meiner fliegt inzwischen astrein, bin hochzufrieden, alle Probleme die ich mit träger Steuerung hatte waren reine PID-Geschichten. Komm halt mal bei uns in Süddeutschland vorbei, dann kannst du meinen fliegen sofern du vorher einen Copter von dir vorfliegst ;)
 

gfunk

Erfahrener Benutzer
@gfunk: Meiner fliegt inzwischen astrein, bin hochzufrieden, alle Probleme die ich mit träger Steuerung hatte waren reine PID-Geschichten. Komm halt mal bei uns in Süddeutschland vorbei, dann kannst du meinen fliegen sofern du vorher einen Copter von dir vorfliegst ;)
danke für das angebot!
bin allerdings jetzt ein monat im ausland und danach muss ich mich wieder der uni widmen.
hat also noch zeit...
 
Ich bin ein Mensch mit einem unglaublich langem Geduldsfaden aber inzwischen fällt es mir schon sehr schwer die Kiste nicht in irgend ein Eck zu werfen und ................

Was passiert: mit FW: 6.5 und Spektrum bekomm ich außer Gas keine Ausschläge (DX8 und Satelite 11Bit)
mit FW: 6.6 und PPM Graupner MX-20/ GR-24 sind die Roll und Pitch Kanäle vertauscht.

Dazu kommt das ich die MX-20 erst ein paar Tage hab und da auch noch lange nicht sattelfest bin. Meinen MK fliegt sie aber schon, das hab ich recht schnell umgestellt.

Flashen lässt sich das Bord auch nur auf mehrmaliges Bitten.

Könnt ihr mir mit Spektrum oder PPM helfen?

Danke
 
Danke für den Tipp aber im Menü "Senderausgang" wars, die Seite 83 vom (PDF Handbuch nicht Druck!!) Handbuch hatte ich bereits auswendig gelernt aber wie der Zufall so will bin ich jetzt über´s richtige gestolpert.

Stellt sich nun nur die Frage warum Spektrum sich so zickig verhällt.
Aber egal, ich bleib bei HoTT.

Danke
 

meister

Erfahrener Benutzer
Hi,
der PPM-Decoder kann so nicht richtig funktionieren !
Der misst nur den Abstand zwischen 2 steigenden flanken, daher wird der letzte Kanal nicht registriert b.z.w. als Sync-Impuls genutz.
Richtig ist aber die 'Hi' und 'Low' Pulsweiten zu messen, und wenn die 'Low-Weite' einen bestimmten Wert überschreitet ist es ein Sysnc-Impuls.

Gruß,
Olli

PS: sobald meins da ist werde ich es umbauen !
 

meister

Erfahrener Benutzer
ohne es testen zu können, mehr so als gedankenstütze, hier mal ein übler Beispiel-Hack :)

Code:
void ppmCallback(uint32_t capture, uint8_t bitstatus) {
    uint16_t diff;
    static uint16_t last_pulswidth = 0;

    ppmData.lastCaptureValue = ppmData.currentCaptureValue;
    ppmData.currentCaptureValue = (uint16_t)capture;

    diff = ppmData.currentCaptureValue - ppmData.lastCaptureValue;

    if (bitstatus == 0) {
        if (diff > PPM_GUARD_PULSE_LENGTH) { // >1ms sync-pulse-pause
            ppmData.lastChannel = 0;
        }
        else {
	    diff += last_pulswidth;
            // PPM_MIN_PULSE_WIDTH to PPM_MAX_PULSE_WIDTH ms is our 'valid' channel range
            if (diff > PPM_MIN_PULSE_WIDTH && diff < PPM_MAX_PULSE_WIDTH && ppmData.lastChannel < PPM_MAX_CHANNELS) {
                ppmData.channels[ppmData.lastChannel] = diff;
                ppmData.channelParsed = 1;
            }
            ppmData.lastChannel++;
        }
        last_pulswidth = 0;
    }
    else {
        last_pulswidth = diff;
    }

}
und in der Init-Funktion sollte man den 'lastChannel' über den Wert von PPM_MAX_CHANNELS setzen,
damit er nicht mitten im PPM-Frame anfängt zu sampeln, sondern erstmal auf den ersten Sync-Puls wartet.

Code:
void ppmInit(void) {
    memset((void *)&ppmData, 0, sizeof(ppmData));
    ppmData.lastChannel = PPM_MAX_CHANNELS + 1;
    ppmData.ppmPort = pwmInitIn(PPM_PWM_CHANNEL, 0 /* BothEdge */, 0xFFFF, ppmCallback);
}
Gruß,
Olli
 
Eine Frage zur Berechnung der Kalibrierungsdaten:

Beim "step3. cal--mag. bekomm ich am Start diese Meldung:
logger: checksum error in 'L' packet
logger: checksum error in 'L' packet
logger: checksum error in 'L' packet
logger: checksum error in 'L' packet
cal: loaded 731826 records from 'C:\Users\MäX\Desktop\28.8-flach liegend-AQL.LOG'
Static temperature: min = -8, max = 48

hier die dazugehörige Kurve:


Berechnung läuft bereits seit mehr als einer Stunde aber er wirft kein Ergebnis aus

Sollten da nicht #define Werte bei rauskommen?

Edit: Auch wenn die File auf den ersten Blick gut aussieht, mit "logger: checksum error in 'L' packet" wird man nie zu einem Ergebnis kommen.
Static Calibration wiederholt, max. 60min loggen lassen -> LOG passt und die Berechnung wirft passende Werte aus.


Nun in der Wiki steht "Now select ‘ Add Static ‘ and add your static file(s) from the static calibration"
nachbrenner schreibt "zuerst nur die File wo das Board waagerecht liegt und die Calypso File" dann beim step2 alle anderen Files dazu (Board auf Ecke 1 u. 2).
Liegt hier vielleicht mein Fehler. Ich habe mich bis jetzt an nachbrenner´s Anleitung gehalten.
Sollen da etwa gleich alle statischen Files ab Step 1 mit rein?
 

sunny

Well-known member
Da hier immer mehr mit zweierlei Mass gemessen wird, die Interessen des Forenbetreiber im Vordergrund stehen, habe ich dieses Posting gelöscht.
 

sunny

Well-known member
Da hier immer mehr mit zweierlei Mass gemessen wird, die Interessen des Forenbetreiber im Vordergrund stehen, habe ich dieses Posting gelöscht.
 
FPV1

Banggood

Oben Unten