Implementazione di hardware su FPGA Altera dedicato al controllo di servomotori in una struttura esapode

Augusto

Description

[IT]

Il presente lavoro riguarda la progettazione e l’implementazione di hardware dedicato al controllo di servomotori presenti su una struttura esapode.
L’obiettivo del progetto risiede nell’ottimizzazione del sistema elettronico di bordo precedentemente presente sul robot esapode Augusto.
A tale scopo viene descritto dell’hardware dedicato al controllo dei 18 servomotori montati sulla struttura, implementato su FPGA Altera ed interfacciato con un’unità di calcolo Microchip PIC18.
La struttura meccanica non subisce mutamenti, in quanto progettata in modo da poter rendere il dispositivo in grado di svolgere una vasta gamma di movimenti.

Dal capitolo 4: Partizione dei processi di controllo

Il microcontrollore Microchip PIC18LF4550 ha il compito di risolvere le equazioni relative alla cinematica ed allo studio del moto, ed elaborare gli angoli che i giunti devono raggiungere.
L’hardware implementato su FPGA Altera risulta essere invece un Motor Driver: riceve dall’unità di calcolo le informazioni riguardanti gli angoli dei giunti e fornisce ai motori i riferimenti desiderati mantenendoli fino a nuovo comando.
I due componenti comunicano attraverso una linea seriale condivisa.

Una volta che i dati relativi agli angoli che i motori devo raggiungere sono stati elaborati dal micro controllore, essi vengono suddivisi in pacchetti da 8 bit.
La trasmissione seriale comincia con l’inoltro di un byte di start in cui tutti gli 8 bit sono al valore 1; in questa maniera l’hardware dedicato implementato su FPGA Altera comprende che siamo in presenza dell’inizio di una ricezione; successivamente si trasmettono i 18 byte relativi alle posizioni dei 18 motori, ordinati per ID motore crescente.
Per ogni posizionamento del robot esapode sono necessari 19 pacchetti.

Programs Used:

  • Quartus (Quartus Prime 17.0) Lite Edition;
File: 
AllegatoDimensione
RelazionePSD_PaghiDeMarinis.pdf1.95 MB