Witam
Wykonuje urządzenie pomiarowe które mierzy mi prędkość obrotową szpuli o niskiej prędkości obrotowej w zakresie 0,1 - 2obr/ s a więc bardzo wolno. Na wale zamontowany jest czujnik pola magnetycznego (kontaktronowy), który raz na obrót generuje mi przerwanie na AVR. Problem polega na tym że wyznaczenie prędkości obrotowej ma się odbyć co impuls więc nie jest realne odmierzanie ilości impulsów przez np minutę a następnie wyznaczenie obr/s.
Ponadto pomiaru muszę dokonać z dokładnością 0,01obr/s więc pozostaje pomiar czasu pomiędzy impulsami. I tu się zaczynają schody tzn. dzielenie liczb, które przyjmują bardzo duże wartości w dzielniku z racji tego, że wykorzystuje rejestr ICR licznika taktowanego z oscylatora 3646800Hz / 1024 (prescaller). Na sekundę daje mi to ok 3600tików timera. Dzielenie dzielenie 3600/ICR daje mi ilość obrotów na sekundę.
Dzielenie tak dużych liczb trwa dość sporo cykli zegara co do obsługi w przerwaniu średnio się nadaje. Jest jakaś inna strategia wyznaczania odwrotności liczb która będzie mniej obciążała procesor?
Wykonuje urządzenie pomiarowe które mierzy mi prędkość obrotową szpuli o niskiej prędkości obrotowej w zakresie 0,1 - 2obr/ s a więc bardzo wolno. Na wale zamontowany jest czujnik pola magnetycznego (kontaktronowy), który raz na obrót generuje mi przerwanie na AVR. Problem polega na tym że wyznaczenie prędkości obrotowej ma się odbyć co impuls więc nie jest realne odmierzanie ilości impulsów przez np minutę a następnie wyznaczenie obr/s.
Ponadto pomiaru muszę dokonać z dokładnością 0,01obr/s więc pozostaje pomiar czasu pomiędzy impulsami. I tu się zaczynają schody tzn. dzielenie liczb, które przyjmują bardzo duże wartości w dzielniku z racji tego, że wykorzystuje rejestr ICR licznika taktowanego z oscylatora 3646800Hz / 1024 (prescaller). Na sekundę daje mi to ok 3600tików timera. Dzielenie dzielenie 3600/ICR daje mi ilość obrotów na sekundę.
Dzielenie tak dużych liczb trwa dość sporo cykli zegara co do obsługi w przerwaniu średnio się nadaje. Jest jakaś inna strategia wyznaczania odwrotności liczb która będzie mniej obciążała procesor?