Studio alternativo e simulazione del volo

Studio alternativo e simulazione del volo
(a cura di Mauro Santoni)
L’implementazione di un simulatore di volo nasce nel 2002 quasi per gioco, come spesso mi accade, ero infatti curioso di vedere se potevo trovare una soluzione all’equazione del moto in presenza di attrito. Mi sono trovato così di fronte ad un iniziale scoglio, cioè modellare l’attrito. Per non avventurarmi troppo nella fluidodinamica, cosa che avrebbe portato ad una complicazione notevole dell’equazione, ho pensato di modellare l’attrito in maniera molto semplice ed approssimativa: in sostanza l’attrito è dovuto allo spostamento del fluido che circonda l’ogiva del razzo, la quale comunica al primo una certa quantità di moto. Questa approssimazione è accettabile trascurando i fenomeni di attrito microscopico del fluido e quindi alle alte velocità.
Trovata la forza di attrito ed inserita nell’equazione di bilancio delle forze, ho dovuto affrontare il secondo scoglio, l’equazione non è di quelle facilmente integrabili essendo una differenziale non lineare a coefficienti non costanti. Per sbrogliare velocemente il problema ho pensato di integrare l’equazione per via numerica utilizzando il software MATLAB, che consente facilmente di gestire operazioni matematiche e fornisce anche una serie di istruzioni per graficare i risultati.
Alla fine ho realizzato un software che, inseriti i parametri del razzo, fornisce grafici e liste numeriche relative alla accelerazione, velocità e quota per tutta la durata del volo.
In questo simulatore di volo ho poi inserito un passo successivo, ossia la simulazione dell’effetto del campionamento dati su SBM, con successive elaborazioni per mostrare anche la velocità e la quota su PC. In questo modo possiamo anche valutare l’effetto dell’acquisizione in particolare per quanto riguarda l’errore legato al numero di bit del convertitore AD ed al periodo di campionamento, limitato soprattutto dalla memoria disponibile su SBM. Non avendo un compilatore MATLAB, il simulatore può girare solo se aperto dall’ambiente MATLAB e questa è sicuramente una limitazione poiché non a tutti sarà possibile disporre di questo software, ho voluto comunque inserire il sorgente ed il manualetto nel sito per dare almeno una traccia del progetto a chi volesse eventualmente scriverne uno suo.
Finora le uniche verifiche ai risultati provengono dalle simulazioni effettuate con altri simulatori trovati in rete e le comparazioni sono confortanti. In futuro l’idea è affinare questo simulatore mediante la comparazione coi dati forniti dall’accelerometro, soprattutto per quanto concerne lo studio dell’attrito del razzo e dei paracadute.

Breve descrizione sull’estrazione dei grafici

In questa pagina troverete tutto  ciò che riguarda l’estrazione ed il grafico dei parametri di volo dai campioni acquisiti con la SBM. I file sorgente sono uno in C++ per creare un file contenente i campioni prelevati dal microcontrollore, mediante seriale RS232 ed uno per MATLAB col quale si effettua il calcolo della velocità e della quota per poi passare al loro grafico.
Attualmente abbiamo un portatile DOS col quale effettuiamo il lancio mediante il software rampa.cpp e che viene poi utilizzato per una prima archiviazione dei dati nel file campioni.txt, mediante il programma C++ che trovate in questa pagina, soltanto successivamente svilupperemo i grafici in ambiente Windows con il MATLAB. Ecco il perché dei due file invece che di uno unico. Al solito, un manualetto spiegherà soprattutto come lavora il software MATLAB, mentre per la semplicità del programma in C++ non ci è sembrata necessaria alcuna esposizione.
Nell’immagine Motodiego.tif è rappresentato un risultato ottenuto montando la SBM su una moto e registrando un partenza piuttosto brusca. Noterete la presenza di un forte disturbo dovuto alle vibrazioni del motore, tant’è che si è cominciata la registrazione un po’ prima della partenza effettiva a causa di un disturbo che ha superato la soglia di innesco. Dopo che la moto si è avviata, si notano dei picchi molto ampi verso il basso che corrispondono al cambio marcia.
Con questa prova abbiamo avuto un test iniziale del sistema, la preoccupazione maggiore sono i disturbi che potrebbero falsare anche di molto il calcolo della velocità e della quota, tanto da rendere necessario un filtraggio digitale dei campioni prelevati dalla SBM. Nel momento in cui scriviamo queste righe non possiamo agire sul programma ulteriormente, almeno finché non avremo una registrazione reale di volo sulla quale studiare le soluzioni. Il sistema a bordo missile ha poi subito un’importante variazione mediante un campionamento ad alta risoluzione e velocità ( 10 bit con 3.7 ms di periodo, vedi SBM 2005 e 2005_6), stoccando i dati in una memoria esterna da 64 Kbyte. Alla nuova SBM 2005 abbiamo così affiancato un software leggermente modificato in modo da poter graficare i risultati provenienti da questo nuovo sistema. Nel lancio di Marzo 2006 alcune modifiche ulteriori sono state implementate nel software grafica_acc_2005, in modo da ottenere dei grafici molto esplicativi, queste modifiche non sono però descritte nel manuale che trovate qui, ma sono state prese in considerazione nella relazione del lanci

Breve descrizione microcontrollori ATMEL

Ogni progetto che realizzo per il T-75 ( e non solo ) nasce a conclusione di un certo numero di prove atte a verificare il funzionamento delle specifiche routine, ad esempio per l’uso di particolari periferiche del microcontrollore. Sovente il tempo impiegato per le prove è maggiore di quello necessario a testare il programma completo, in quanto una volta verificato il funzionamento delle routine queste sono utilizzate nel programma finale con sicurezza e non è più necessario perdere del tempo a controllare la funzionalità delle parti.

Ricordo che i programmi qui presentati, per quanto siano semplici e come tutti gli altri relativi al T-75, sono stati scritti dopo aver studiato le sole datasheets dei microcontrollori ATMEL, questo è il motivo principale di tutto il gran lavoro di background con prove che impegnano spesso tanto tempo a dare risultati soddisfacenti: non mi sono appoggiato (e lo scrivo con un certo orgoglio ) al lavoro di altri  per scrivere i miei programmi o per realizzare i vari progetti e questo mi è costato sicuramente notevole fatica ( e a volte sconforto ) ma in questo modo ho potuto imparare a fondo ciò che stavo facendo….ciò è il premio maggiore che i miei progetti al T-75 mi hanno lasciato.
Non pubblicare le prove ‘principali’ mi è sembrato un peccato poiché in esse è focalizzata una funzione particolare del microcontrollore e per questa sono scritte delle routine verificate dal sottoscritto, quindi potrebbe tornare utile a chi si trovasse a lavorare con le stesse problematiche su questi microcontrollori.