Beta1test. Bachi e passi avanti

Ieri ho ottenuto questo risultato:

beta1_graph1

Grazie alle seguenti azioni:

1)Il test con la semisfera montata sotto il quadricottero non mi convinceva piu’. l’attrito, i limiti sulle rotazioni dovuti al pavimento sono vincoli non presenti nel volo.

Per cui ho deciso di passare alla soluzione piu usata e riconosciuta , appendendo il drone con due fili.

beta1_tied_up

2) A questo punto mi sono accorto che c’era qualcosa di anomalo nel comportamento dei motori. Eseguendo   beta1.py  il suono del motore era discontinuo e instabile anche se non avevo ancora attivato il controllo PID , ma mantenendo la velocità costante.

Questo non accadeva se eseguivo  motor_test.py.

Alle fine sono riuscito a riprodurre il problema e ho riscontrato un baco (o meglio un comportamento inatteso)  nella libreria RPIO. Ho riprodotto il problema con il loop sottostante :

while true:

mymotor.servo.set_servo(self.pin, PW)

sleep(0.01)

 

La spiegazione che mi son dato e’ che cad ogni chiamata di  set_servo() , viene resettato a zero il segnale e poi settato nuovamente al valore desiderato di PWM.

Pertanto ho usato una funzione a piu basso livello :

myMotor.PWM.add_channel_pulse(1,self.pin,0,PW)

A questo punto nel loop ho ottenuto un suono del motore (e quindi la sua rotazione) perfetto stabile e costante.

Questi 2 miglioramneti mi hanno permeso di fare un passo avanti. Il tuning puo’ procedere in modo piu’ veloce.

Sopra e’  mostrato il grafico del comportameto attuale.In blu in roll target , in rosso la posizione reale del roll. Devo migliorare il tuning per ridurre il tempo necessario a stabilizzarsi (ora 5/6 seconds)e per eliminare le oscillazioni ( +/- 3 gradi). Ma sono comunque soddisfatto della situazione attuale.

Rispondi

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo di WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione /  Modifica )

Google photo

Stai commentando usando il tuo account Google. Chiudi sessione /  Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione /  Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione /  Modifica )

Connessione a %s...