Go Down

Topic: PWM veloce per quadricottero  (Read 101 times) previous topic - next topic

edocit

Sep 20, 2018, 12:14 am Last Edit: Sep 20, 2018, 12:40 am by edocit
Ciao a tutti, sto debuggando il mio codice per un quadricottero costruito con Arduino nano e mi è sorto un dubbio :
utilizzo un vettore di interi per memorizzare i valori dei comandi filtrati dall'algoritmo PID e poi utilizzo un ciclo for per scrivere i valori sui motori che sono rappresentati da un vettore di tipo Servo.
Il dubbio è se la funzione writeMicroseconds() sia troppo lenta ? E sopratutto non esiste un modo (anche con la manipolazione delle porte o programmazione a basso livello) per scrivere contemporaneamente i 4 valori ? 

//Servo motors[4]  D8,D9,D10,D11
//int speedVec[4] qua vengono memorizzati i valori in microsecondi da scrivere sui motori

for(int i=0;i<4;i++){
   motors[ i ].writeMicroseconds(speedVec[ i ]);
}

In caso di necessità di maggiori dettagli potrei allegare il codice della funzione che calcola i PID (che non stanno funzionando bene).
P.S. Ora con inclusa la stampa su monitor seriale che lo mostra il loopTime è di 5 millisecondi nel caso peggiore o equivalentemente 200Hz.

Go Up