Pin radio e ESC - Multiwii

Ciao a tutti!
Sto lavorando un po' sull'elettronica del mio nuovo drone classe 250. Ho pensato di usare MultiWii questa volta, un Atmega 32u4 come MCU (più che altro per la comodità della USB) e sto scegliendo quali pin assegnare a motori e alla radio.
Ho letto che gli ESC per i motori hanno bisogno di uscite PWM, e fin qui non è un problema, ce ne sono 6 sul 32u4, più che sufficienti.
Il dubbio maggiore l'ho invece sulla radio: ho letto ha bisogno di pin con interrupt per funzionare. Non che sia un problema, ma l'Atmega 32u4 ha "solo" 6 pin di interrupt, come dovrei fare nel caso voglia usare 8 canali?
Come sempre, grazie! :wink:

Lascia perdere Arduino 8 bit, troppo limitato per i droni, prendi una NAZE32 v6, costa poco è completa della IMU + barometro, è perfetta per un classe 250, la puoi usare con CleanFlight, è il porting di MultiWII per i 32 bit.

Ciao Astro, so che Arduino è piccolo per un drone, e ai 32 bit ci arriverò (prima o poi), ma con una mia scheda :wink:
Per ora mi accontento del 32u4 per sperimentare!

Allora buon divertimento, però non ti aspettare grandi risultati.
Per la configurazione dei pin sul 32u4 devi fare riferimento al wiki di MultiWII e usare gli stessi della UNO o della PRO MINI, ovviamente facendo riferimento alla numerazione standard di Arduino e non a quella del micro che è diversa tra 328P e 32u4.

astrobeed:
Allora buon divertimento, però non ti aspettare grandi risultati.
Per la configurazione dei pin sul 32u4 devi fare riferimento al wiki di MultiWII e usare gli stessi della UNO o della PRO MINI, ovviamente facendo riferimento alla numerazione standard di Arduino e non a quella del micro che è diversa tra 328P e 32u4.

Una scheda su 328p ha già volato un classe 450, ovviamente i risultati non sono paragonabili a una NAZE32, ma per divertimento questo è più che sufficiente!
Grazie per l’immagine! Questi sono i pin “ufficiali”, ma si possono cambiare facilmente nel codice. Vorrei sapere che pin si possono usare, oltre a questi. E la domanda poi si estende per curiosità: un ESC per funzionare ha bisogno di PWM? Per leggere un segnale PPM da una radio ho bisogno di usare un pin con interrupt?
Grazie astro!

Subsea:
Grazie per l’immagine! Questi sono i pin “ufficiali”, ma si possono cambiare facilmente nel codice.

I pin sono usati con una ben precisa logica, legata anche alle caratteristiche hardware degli AVR, è vero che nel codice puoi cambiarli, però se lo fai vai sicuramente incontro a vari problemi se non pensi bene a cosa stai facendo.
Per il controllo degli ESC servono pin PWM, per gli ingressi radio va bene qualunque pin perché sugli AVR sono tutti dotati di interrupt, però a livello di singolo port e non a livello di singolo pin come quelli per INT0 e INT1.
In linea di massima ti sconsiglio di andare a modificare l’assegnazione dei pin di MultiWII, del resto non c’è motivo per farlo, in quanto è una configurazione ragionata in funzione del hardware.

Ho trovato una rielaborazione della scheda di Pighi per la Leonardo con visualizzati i pin per MultiWii.

Grazie mille per l'immagine Astro! E grazie per la conferma che servano PWM per i motori.
Mi potresti solo spiegare perchè servono gli interrupt per gli ingressi della radio?

Serve l'interrupt perché per decodificare il segnale ppm è indispensabile misurare con precisione la durata, in us, della parte positiva dell'impulso e questo puoi farlo solo tramite interrupt, sia per poter conteggiare in modo preciso il periodo sia per non gravare sul tempo di esecuzione del codice con un polling su i canali radio.

astrobeed:
questo puoi farlo solo tramite interrupt

Grazie mille, mi mancava questo. E un interrupt per port è sufficiente.
Ti ringrazio tanto! Magari aggiorno il post quando arriverà la scheda :slight_smile: