forse può essere utile
annuncio
Comprimi
Ancora nessun annuncio.
CleanFlight/SpeedyFlight aka Baseflight (Multiwii)
Comprimi
X
-
Perfetto @Skud85, in effetti tutta la prima parte, corrisponde ai miei passaggi!
Poi con la RC 1.7, avendo aggiunto "VCP support", una volta installato il driver, si può accedere alla CC3D via USB!!!
Grrrrrrr peccato che la mia è ferma alla 1.6 grrrr grrrr! Ma va bene così...tanto per il muletto in FPV mi basta il giroscopio, ed ho anche oneshot disponibile!
p.s. E' in arrivo la prossima da banggood per giochicchiarci a tavolino!
Commenta
-
Originariamente inviato da tommyleo Visualizza il messaggioPerfetto @Skud85, in effetti tutta la prima parte, corrisponde ai miei passaggi!
Poi con la RC 1.7, avendo aggiunto "VCP support", una volta installato il driver, si può accedere alla CC3D via USB!!!
Grrrrrrr peccato che la mia è ferma alla 1.6 grrrr grrrr! Ma va bene così...tanto per il muletto in FPV mi basta il giroscopio, ed ho anche oneshot disponibile!
p.s. E' in arrivo la prossima da banggood per giochicchiarci a tavolino!
Commenta
-
Curiosità - L'angolo del codice
codice:if (calibratingG > 0) { for (axis = 0; axis < 3; axis++) { // Reset g[axis] at start of calibration if (calibratingG == CALIBRATING_GYRO_CYCLES) { g[axis] = 0; devClear(&var[axis]); } // Sum up 1000 readings g[axis] += gyroADC[axis]; devPush(&var[axis], gyroADC[axis]); // Clear global variables for next reading gyroADC[axis] = 0; gyroZero[axis] = 0; if (calibratingG == 1) { float dev = devStandardDeviation(&var[axis]); // check deviation and startover if idiot was moving the model if (mcfg.moron_threshold && dev > mcfg.moron_threshold) { calibratingG = CALIBRATING_GYRO_CYCLES; devClear(&var[0]); devClear(&var[1]); devClear(&var[2]); g[0] = g[1] = g[2] = 0; continue; } //gyroZero[axis] = (g[axis] + (CALIBRATING_GYRO_CYCLES / 2)) / CALIBRATING_GYRO_CYCLES; gyroZero[axis] = (g[axis]+1) / CALIBRATING_GYRO_CYCLES; blinkLED(10, 15, 1); } } calibratingG--; }
Curioso il commento nel codice, credo di Timecop: // check deviation and startover if idiot was moving the model.
Praticamente viene fatto un controllo, se a fine calibrazione del gyro è stata superata la soglia del deficiente, tramite questo parametro: "moron_threshold" (di default impostato a 32), viene ripetutata la calibrazione del gyro.
Commenta
-
Originariamente inviato da tommyleo Visualizza il messaggio[CODE]
Come tutti sanno (o quasi), nei firmware basati su Multiwii, è importante accendere il sistema ben livellato e non muoverlo!!!
Curioso il commento nel codice, credo di Timecop: // check deviation and startover if idiot was moving the model.
Praticamente viene fatto un controllo, se a fine calibrazione del gyro è stata superata la soglia del deficiente, tramite questo parametro: "moron_threshold" (di default impostato a 32), viene ripetutata la calibrazione del gyro.
Per ovviare a questo inconveniente nel mio codice calibravo i giro appena il quad veniva armato, associato ad un buzzer che suonava e avvertiva dell'imminente partenza dei motori. 1-2 secondi facevo 1000 letture sui gyro e relativa mediaQuadricottero News
http://www.facebook.com/Quadricottero
Commenta
-
Originariamente inviato da danveal Visualizza il messaggioDici bene, il problema è che se la calibrazione viene fatta appena acceso potrebbe avere piccoli movimenti residui dall'inerzia per aver collegato la batteria.
Per ovviare a questo inconveniente nel mio codice calibravo i giro appena il quad veniva armato, associato ad un buzzer che suonava e avvertiva dell'imminente partenza dei motori. 1-2 secondi facevo 1000 letture sui gyro e relativa media
Infatti una ri-calibrazione del giro la faccio sempre, con Baseflight, si può fare tramite gli stick della radio e viene indicato con i led! La logica è simile anche qui vengono presi 1000 samples(di default) e poi relativa media!!!
Commenta
-
x @Bandit,
sto facendo dei primi test con Oneshot, uhmmm forse ho capito perché tutti vanno sul pid_controller=1.
Con il pid_controller=0, in effetti anche con looptime alti (ad es. = 2000)....i PID sono cambiati tantissimo, sto scendendo di brutto di valori, ma non è ancora sufficiente...
...continuano le prove!!!
Commenta
-
Io ho appena flasato con BL12 i BS12A. Ho qualche perplessità sulla calibrazione.
Ho fatto la solita procedura da GUI. Messa la spunta nella box dei motori, alzato il mastrer al massimo, attaccata batteria, aspettato i 3 beep, messo il master al minimo.
Solita sequenza di beep seguta dalla musichetta.
Si arma correttamente ma i motori non girano. Allora ho tolto la spunta a oneshot ed è partito un concerto ad archi e fiati ... Armato, tutto ok. Rimessa la spunta a oneshot ... tutto ok....
bo?La bibbia dei Bladoni V6, Blade 120SR - Guida Crius Aio Pro V1.3
ATOM 500 - Blade 400 FBL STRETCHED 6s - 120SR.
Commenta
-
Volevo dire BLH13. Provo con looptime 1600. Vedo che le variazioni hanno la stessa ampiezza di quando lo metto a 2000 ...La bibbia dei Bladoni V6, Blade 120SR - Guida Crius Aio Pro V1.3
ATOM 500 - Blade 400 FBL STRETCHED 6s - 120SR.
Commenta
-
Ho editato...ok anche con te con BL13!
Nelle mie prove, la calibrazione ha funzionato anche con Oneshot...adesso ho collegato un modem bluetooth, così faccio PID tuning più velocemente, uhmmm ma possibile che devo scendere di P a 2,4 ?!? (Con Pid_controller=0)
I e D...vanno bene quelle di default!
Commenta
-
e lascia perdere quel controller ... ormai non lo usa più nessuno. Hai visto che nell'ultima versione ne hanno aggiunti altri?La bibbia dei Bladoni V6, Blade 120SR - Guida Crius Aio Pro V1.3
ATOM 500 - Blade 400 FBL STRETCHED 6s - 120SR.
Commenta
-
Originariamente inviato da bandit Visualizza il messaggioe lascia perdere quel controller ... ormai non lo usa più nessuno. Hai visto che nell'ultima versione ne hanno aggiunti altri?
Ok, passiamo all'uno! Tu su che valori sei di P,I,D per roll e pitch?
Sisi ho visto che siamo a 6 come controller....ehhh c'è da studiare sui PID!!
codice:switch (type) { case 0: default: pid_controller = pidMultiWii; break; case 1: pid_controller = pidRewrite; break; case 2: pid_controller = pidLuxFloat; break; case 3: pid_controller = pidMultiWii23; break; case 4: pid_controller = pidMultiWiiHybrid; break; case 5: pid_controller = pidHarakiri; }
Commenta
-
mah io ho 3.6 e 4 fatti a caso. Fatto un po' di hovering e pitch pump con looptime 1600 Oneshot attivo e sembra davvero ottimo.
Oneshot a parte a me pare che BLHeli abbia anche migliorato molto i problemi di sync ed il freno.
Però fino a quando non inforco gli occhiali e mi impegno a mordere le chiappe a Fozzillo ... non potrò mai dare il giudizio definitivo.La bibbia dei Bladoni V6, Blade 120SR - Guida Crius Aio Pro V1.3
ATOM 500 - Blade 400 FBL STRETCHED 6s - 120SR.
Commenta
-
Originariamente inviato da bandit Visualizza il messaggiomah io ho 3.6 e 4 fatti a caso. Fatto un po' di hovering e pitch pump con looptime 1600 Oneshot attivo e sembra davvero ottimo.
Oneshot a parte a me pare che BLHeli abbia anche migliorato molto i problemi di sync ed il freno.
Però fino a quando non inforco gli occhiali e mi impegno a mordere le chiappe a Fozzillo ... non potrò mai dare il giudizio definitivo.
Ok adesso provo anche io a 1600!!!
Ahhh il pid_controller=1, non mi piaceva tanto come logica, perché adatto solo all'acro!
Con il il level in modalità los mi sento più sicuro!
Il doppio flip "fotonico" te lo aveva fatto con pid_controller=1 in horizon?
Commenta
Commenta