Witam!
Chciałbym wykonać elektroniczny cyfrowy licznik obrotów do 126p. Projekt swój chcę zrealizować na procesorze AT902313. Jednak zanim wykonam ten obrotomierz chciałbym skonsultować swój algorytm programu z Wami. Być może któś zaproponuje lepszy spobób całego procesu poiaru.
Założyłem że zakres pomiarowy obrotomierza będzie od 500 do 4800 obr./min. Do procesora będą docierały impulsy o częstotliwości odpowiednio 8,3(3) do 80 Hz. Procesor będzie więc realizował funkcję częstościomierza o zakresie pomiarowym od 8 do 80 Hz.
Impulsy z platynek docierają do wejścia INT0 (oczywiście poprzez układ ograniczający i formujący impulsy wejściowe). Zbocze opadające na tym wejściu uruchamia wewnętrzny licznik T1, który pracuje z częstotliwością 10 kHz. Timer ten zlicza ilość impulsów (o częstotliwości 10 kHz), jaka zmieści się w jednym okresie impulsu z platynek. I tak dla 500 obr./min licznik zliczy 1200 impulsów o częstotliwości 10 kHz. W przypadku maksymalnych obrotów procesor zliczy 125 takich impulsów.
Teraz należy otrzymany wynik przekształcić do postaci, która będzie nas informowała o obrotach silnika.
Dołączam plik programu (napisany w BASCOM-ie) aby szanowni koledzy przeanalizowali go i zaproponowali ewentualne poprawki. Jest to wersja robocza. W finalnej wersji zamierzam zastosować zamiast LCD cztery wyświetlacze 7-segmentowe co z pewnością "odchudzi" program. Dodam jeszcze zegarek i być może coś jeszcze.
Wersję protypową mojego obrotomierza wykonałem na płytce testowej AVT-2500 i w roli generatora impulsów zastosowałem 4060.
Pozdrawiam i życzę wielu pomysłów udoskonalenia tego programu.
Przeniesiony z Programowanie Ogólne. - arnoldziq
Chciałbym wykonać elektroniczny cyfrowy licznik obrotów do 126p. Projekt swój chcę zrealizować na procesorze AT902313. Jednak zanim wykonam ten obrotomierz chciałbym skonsultować swój algorytm programu z Wami. Być może któś zaproponuje lepszy spobób całego procesu poiaru.
Założyłem że zakres pomiarowy obrotomierza będzie od 500 do 4800 obr./min. Do procesora będą docierały impulsy o częstotliwości odpowiednio 8,3(3) do 80 Hz. Procesor będzie więc realizował funkcję częstościomierza o zakresie pomiarowym od 8 do 80 Hz.
Impulsy z platynek docierają do wejścia INT0 (oczywiście poprzez układ ograniczający i formujący impulsy wejściowe). Zbocze opadające na tym wejściu uruchamia wewnętrzny licznik T1, który pracuje z częstotliwością 10 kHz. Timer ten zlicza ilość impulsów (o częstotliwości 10 kHz), jaka zmieści się w jednym okresie impulsu z platynek. I tak dla 500 obr./min licznik zliczy 1200 impulsów o częstotliwości 10 kHz. W przypadku maksymalnych obrotów procesor zliczy 125 takich impulsów.
Teraz należy otrzymany wynik przekształcić do postaci, która będzie nas informowała o obrotach silnika.
Dołączam plik programu (napisany w BASCOM-ie) aby szanowni koledzy przeanalizowali go i zaproponowali ewentualne poprawki. Jest to wersja robocza. W finalnej wersji zamierzam zastosować zamiast LCD cztery wyświetlacze 7-segmentowe co z pewnością "odchudzi" program. Dodam jeszcze zegarek i być może coś jeszcze.
Wersję protypową mojego obrotomierza wykonałem na płytce testowej AVT-2500 i w roli generatora impulsów zastosowałem 4060.
Pozdrawiam i życzę wielu pomysłów udoskonalenia tego programu.
Przeniesiony z Programowanie Ogólne. - arnoldziq
