Buon lavoro, ma sono già +avanti e ti posso dire che sulle caratteristiche necessarie del chip, ne manca una: velocità
I Pic li uso quotidinamente e per quanto li spingi, un brushless che può arrivarea 50.000rpm, non ci arrivano...
Sto lavorando sugli Atmel AtMega8 e sui AtMega 16. Dove ci sono tutte le periferiche e, a parita di clock, la potenza di calcolo è quasi tripla (in realtà è quadrupla, ma alcune operazioni richiedono 2 istruzioni) e tra l'altro ha anche la moltiplicazione a 8 bit in un solo ciclo di clock.
Per un cassa rotante, quindi con relativamente pochi giri, un pic a 20Mhz se la cava, ma una volta che mi ci metto seriamente, faccio un qualcosa di più universale.
Inoltre, non è possibile pilotare direttamente tutti e 6 i mosfet, perchè quelli HighSide, necessitano di una tensione superiore a quella di alimentazione e quindi di interfaccia (discreta o integrata) apposita. Vanno inoltre gestiti i dead times per evitare fumatine grigie, come ho già spiegato da qualche parte, ma non ricordo su quale thread (forse "da servo a rego" o giù di lì...).
Insomma, il circuito è complesso... e prima di mettere le mani nel software bisogna realizzare bene anche l'hardware.
L'algoritmo, comunque me lo guardo sicuramente, perchè quelli che ho buttato giù io, potrebbero essere poco efficienti..... o anche sbagliati come concetto :roll: ...
Ora aspetto di farmi il motore dal solito CDROM, ma mi manca il tempo...
Se hai notizie o idee nuove, fammi sapere.
ciao!