Witam, wiem że w sieci jest 1*e^6 lub więcej gotowych liczników impulsów, lecz ja chciałbym mieć pełną kontrolę nad moim kodem, a nie kopiować bezmyślnie. Tak więc sprawa tyczy się zliczania impulsów 5V od obrotów i prędkości w motocyklu. Do tego celu chcę wykorzystać układ AVR ATMega 16 lub mniejszy (po przeróbce w kodzie).
PYT1:
Obrotomierz kręci się do 12 tys, (max 14 - lecz to jest ograniczone). Po przeliczeniu tych obr wychodzi mniej niż 300Hz więc układ może być spokojnie taktowany zegarem wewnętrznym tj. 4MHz?
PYT2:
Zliczana prędkość i obroty powinny być w tym samym czasie - jednak to jest niemożliwe, więc w moim założeniu najpierw zlicza Timer1 (impulsy podawane na wejście), a timer0 odlicza pewien czas po którym następuje zamiana -> Timer0( zlicza impulsy od prędkości) a Timer1 kontroluje czas zliczania. Co sądzicie o takiej koncepcji? (wg. mnie czasy zliczania powinny być równe oczywiście jeśli odpowiednio ustawi się preskalery).
PYT3:
Jaki powinien być czas zliczania, aby dokładność była +/- 100RMP?
P.S.
uC to zdecydowanie nie moja dziedzina, więc zamieszczony przeze mnie kod wygląda jakby był pisany przez jaskiniowca który to właśnie po powrocie z polowania zobaczył komputer i otworzoną dokumentację Atmegii
(Na codzień programuję na Platforę Android, kod wrzuciłem po to, aby bliżej przybliżyć koncepcję zliczania o której mowa w PYT2)
PYT1:
Obrotomierz kręci się do 12 tys, (max 14 - lecz to jest ograniczone). Po przeliczeniu tych obr wychodzi mniej niż 300Hz więc układ może być spokojnie taktowany zegarem wewnętrznym tj. 4MHz?
PYT2:
Zliczana prędkość i obroty powinny być w tym samym czasie - jednak to jest niemożliwe, więc w moim założeniu najpierw zlicza Timer1 (impulsy podawane na wejście), a timer0 odlicza pewien czas po którym następuje zamiana -> Timer0( zlicza impulsy od prędkości) a Timer1 kontroluje czas zliczania. Co sądzicie o takiej koncepcji? (wg. mnie czasy zliczania powinny być równe oczywiście jeśli odpowiednio ustawi się preskalery).
PYT3:
Jaki powinien być czas zliczania, aby dokładność była +/- 100RMP?
P.S.
uC to zdecydowanie nie moja dziedzina, więc zamieszczony przeze mnie kod wygląda jakby był pisany przez jaskiniowca który to właśnie po powrocie z polowania zobaczył komputer i otworzoną dokumentację Atmegii
(Na codzień programuję na Platforę Android, kod wrzuciłem po to, aby bliżej przybliżyć koncepcję zliczania o której mowa w PYT2)
Kod: C / C++