por MOR_AL » 23 Set 2016 17:00
Não li com detalhes todas as mensagens, mas:
1 - Se você deseja de precisão, então TEM que determinar seu valor. 0,1%? 1%? 10%?
2 - Se sua rotação máxima for (por exemplo) 6.000 rpm, significa que sua frequência é de 100Hz (rps).
Nesta frequência máxima, vão haver pulsos a cada 10ms. Para uma contagem durante um segundo, então sua contagem máxima seria ou 99 ou 100. Isso já dá um erro de 1%. Ou 6.000 rpm, ou 5.940 rpm. Obs. 99 ocorre se você começa a contar, mas ainda não chegou o primeiro pulso. Então o último pulso seria o de número 99.
Esse método não é legal, pois demora. Imagine quando você pisar no acelerador. Talvez fosse interessante ter três medidas por segundo. Assim daria para você "acompanhar" a taxa de subida pelo medidor.
Considerando essas três medidas por segundo, pelo método inicial, teria um máximo de 33 contagens, o que daria um erro de 3%. Então o método de contagem de pulsos DO CLOCK DO uC, durante o intervalo entre dois pulsos adjacentes te daria mais precisão. Ex. Fclock = 8MHz. Intervalo mínimo entre pulsos (frequ. 6.000 rpm = 100 rps) é de 10ms = 0,01s. A contagem daria 0,01 / (1 / 8.000) = 80 pulsos de clock.
Repare que ainda assim sua precisão (acurácia) não seria melhor que 1%. Que fazer? Considere um intervalo maior que apenas um entre pulsos adjacentes. Por exemplo dois intervalos. sua contagem mínima (F máx.) seria de 160, o que daria melhor que 1% (0,625%). Com quatro intervalos, ... 0,3125%. Para esta última opção, sua contagem levaria 4 x 10ms = 40ms. Não tente utilizar cada medida, pois você teria 25 medidas por segundo, o que seria muito. Talvez tire a média a cada 8 medidas. Isso dariam cerca de 320ms (10ms x 4 x 8 ).
Repare que esses números variam com o valor da rotação. Talvez fosse interessante fazer uma tabela que levasse em conta o valor da rpm:
Tal tabela seria formada por faixas de RPM. Cada uma dessas faixas teria seu número de intervalos e de medidas. Tudo para manter a precisão e as tais três medidas por segundo.
3 - Considere também, que os valores limites dos intervalos de RPM não apenas coincidam (número máximo do anterior igual ao número mínimo do seguinte), mas que haja uma interseção de uns 10 a 15%. É a tal histerese. Ela evita que seu procedimento de medida fique pulando loucamente de faixa de RPM. Com RPM subindo, você está na faixa anterior. Passando do limite desta faixa, passa (logicamente) para a faixa seguinte. Com RPM descendo, mantenha-se nesta faixa até o seu limite inferior. Assim seu procedimento não fica pulando de faixa loucamente.
Bom. É isso aí.
MOR_AL
"Para o triunfo do mal só é preciso que os bons homens não façam nada." Edmund Burke.
"Nunca discutas com pessoas estúpidas. Elas irão te arrastar ao nível delas e vencê-lo por possuir mais experiência em ser ignorante". Mark Twain