poniedziałek, 1 kwietnia 2013

Licznik rowerowy bez uC

 
Niniejszy projekt powstał jedynie w celach edukacyjnych – autor projektu doskonale zdaje sobie sprawę z możliwości używania do takich celów mikrokontrolera.
Założenia projektu:
- stworzenie elektronicznego urządzenia wyświetlającego wartość prędkości pojazdu (docelowo - roweru),
- brak możliwości używania układów sterowania takich jak mikrokontroler,
- możliwość zasilania bateryjnego,
- bezdotykowy odbiór danych przy użyciu kontaktronu.
- odporność na zakłócenia.
Do budowy projektowanego układu jako czujnika ze względu na łatwą dostępność użyto kontaktronu – docelowo umieszczanego na przednich widełkach przy kole. Dzięki umieszczonym na kole zestawie magnesów (rozmieszczonymi w równych odstępach) podczas jazdy styki kontaktronu ulegają zwarciu podając na wejście układu formowania impulsów sygnał informujący o obecności magnesu podczas przebytego odcinka drogi kątowej koła (odpowiadający odcinkowi przebytej drogi całego pojazdu). Zdecydowano się na użycie układu formowania impulsów z racji możliwego występowania zakłóceń sygnału z kontaktronu i zakłóceń wyindukowanych w przewodzie łączącym licznik z kontaktronem. W roli układu formującego impulsy użyto multiwibrator monostabilny zaimplementowany w NE556N.
Częstość zwarć styków kontaktronu (a więc i uformowanych impulsów) jest wprost proporcjonalna do prędkości pojazdu. Niemniej jednak, aby w pełni liczba impulsów odzwierciedlała prędkość z jaką porusza się pojazd impulsy muszą zostać zliczone w określonym czasie (zależnym od średnicy zastosowanych w konstrukcji pojazdu kół) – dobranym na podstawie prostych obliczeń analitycznych. Z powyższego założenia wynika fakt użycia multiwibratora pracującego w konfiguracji astabilnej zawartego w tym samym układzie NE556N. Impulsy są zatem liczone w takt jego sygnału, co jest realizowane przy użyciu bramki AND (74HC08).
Proces zliczania tak uformowanych impulsów pojawiających się na wyjściu bramki w określonym czasie odbywa się liczniku 2-dekadowym stworzonym na bazie 4518BD  [podwójny licznik liczący w górę]  (z odpowiednio wygenerowanym przeniesieniem do starszej dekady).
Stan licznika odpowiada ilości zliczonych impulsów, dlatego przed końcem procesu zliczania w określonym oknie czasowym nie może zostać wyświetlony. Stąd też potrzeba użycia rejestrów, do których wpisany zostanie stan licznika dopiero po skończeniu operacji zliczania impulsów dla danego okna czasowego. W przypadku projektowanego układu jako rejestrów użyto 2 rejestrów 74HC175. Po zakończeniu procesu zliczania dla danego okna czasowego stan liczników zostaje wyzerowany. Zerowanie licznika jest wyzwalane poziomem sygnału, z kolei wpis do rejestrów – zboczem. Aby wyeliminować ewentualną możliwość niepożądanego efektu dynamiki sygnałów przełączających w torze zerowania licznika dodano dodatkowe opóźnienie w postaci dwóch bramek NAND. Należy nadmienić, że dwuwejściowe są implementowane w układnie scalonym w liczbie 4 sztuk, a jako że i tak układ wykorzystuje 1 bramkę NAND to dodanie opóźnienia nie miało wpływu na wzrost poziomu skomplikowania układu. Tym niemniej pozbyto się zagrożenia, w którym mogło by dojść do faktu, że licznik zostałby wyzerowany przed wpisaniem jego stanu do rejestru. Wówczas do rejestru zostałoby wpisane 0.
Informacja zawarta w rejestrach następnie jest dekodowana na kod wyświetlacza 7-segmentowego (układy 4511BP)  i prezentowana na dwóch wyświetlaczach 7-segmentowych (Kingbright SC04-11EWA).
Weryfikacja działania:
W procesie weryfikacji działania by pozbawić się wszelkich wątpliwości odnośnie dokładności działania układu licznika dokonano precyzyjnej kalibracji długości czasu bramkowania do wejścia projektowanego układu dołączając zamiast kontaktronu mikroprocesorowy układ oparty na ATmega8, na którym zaimplementowano program emulujący działanie kontaktronu idealnego dołączonego do roweru generując na swoim wyjściu fale prostokątne o określonych częstotliwościach dla których prawidłowe (o czasie bramkowania 0,613s) zliczenie wygenerowanych impulsów odpowiada prędkości kolejno od 10, 20, 30, …, 90km/h. Kalibracji dokonano przy tak działającym obwodzie regulując potencjometrem (w układzie multiwibratora astabilnego), aż do momentu uzyskania prawidłowej liczby zliczonych i wyświetlonych impulsów.