Ciao ragazzi, vorrei un consiglio.
Per calcolare gli rpm di un motore (che per ora simulo con un generatore di onda quadra), attacco al pin3 un interrupt sul fronte di salita e quando arriva il fronte eseguo la routine associata. In questa routine ci scrivo:
tempo_finale=micros();
freq=1000000.0/abs(tempo_finale-tempo_iniziale);
tempo_iniziale=tempo_finale;
Alla accensione mi da un paio di valori strani circa a 1500 rpm, tipo invece di dare 25Hz mi da 149 circa.
A cosa può essere dovuto?
Controindicazioni di questo metodo?
So che in genere si fa una media dei valori per escludere letture spurie, ma se volessi il valore reale senza usare un timer?