Gestione
Affinché tutte le operazioni di controllo e pianificazione del robot possano funzionare al meglio, è stato implementato uno scheduler sul microcontrollore che permette di pianificare le varie operazioni da eseguire nell’intervallo disponibile dalla CPU del microcontrollore.
Lo schema implementato è molto simile al Round Robin
Le funzioni sono schedulate in ordine di priorità:
- Elaborazione PID
- Calcolo odometria
- Elaborazione Regolazione cartesiana
- Invio dati su porta seriale
Interrupt
In contemporanea a queste operazioni schedulate, il microcontrollore deve gestire delle interruzioni sincrone ed asincrone che vengono inviate dalle varie periferiche interne del microcontrollore
Gli interrupt provenienti dalle periferiche sono:
- DMA0 – Trasmissione seriale – asincrona
- DMA1 – Acquisizione ADC – sincrona ogni 100ms
- InputCapture 1 – asincrona
- InputCapture 2 – asincrona
- Timer 1 – Timer di sistema - sincrona ogni 1ms
- Timer 2 – Timer PWM – sincrona ogni Xms
- Acquisizione seriale – asincrona


Commenti recenti