Spis treści

W jednym z przygotowywanych przeze mnie projektów potrzebowałem mierzyć prędkość obrotową wirnika. Obrotomierze nie są w prawdzie bardzo drogie, ale co to za przyjemność kupić gotowe ?. Cała frajda zrobić coś samemu.

Pomiar prędkości obrotowej możemy dokonać w sposób analogowy bądź cyfrowy. Sposób analogowy możemy zrealizować dołączając do obracającego się układu prądnicę i mierzyć jej napięcie woltomierzem wcześniej wyskalowanym w jednostkach prędkości obrotowej. Ten sposób jest kłopotliwy i dodatkowo może sam być źródłem zmian w mierzonym układzie.
Dlatego ja wybrałem sposób cyfrowy. I tu możemy pójść dwiema drogami: możemy np. do wirnika dołączyć przyrząd zwany impulsatorem, który przy wykonaniu jednego obrotu generuje na wyjściu określoną liczbę impulsów. Teraz możemy odmierzać ściśle określone odcinki czasu i zliczać ilość impulsów, które pojawiły się w tym czasie, albo zliczać stałą liczbę impulsów i mierzyć czas. Ja wybrałem sposób pierwszy, ale zanim zaczniemy coś mierzyć zajmiemy się samym impulsatorem.

Schemat blokowy, który umieściłem powyżej przedstawia tzw. przełącznik hallotronowy o symbolu TLE 4905g. Jest to malutki układzik scalony, który reaguje na obecność pola magnetycznego w ten sposób, że jeśli wykryje jeden z biegunów pola magnetycznego otwiera swój tranzystor w stopniu wyjściowym i dopiero jak wykryje przeciwny przywraca go do stanu poprzedniego.
Wybrałem ten układzik dlatego, że na obracającym się wałku wystarczy umieścić przynajmniej dwa malutkie magnesiki a w pobliżu nich wspomniany czujnik i mamy świetny impulsator generujący jeden impuls na jeden obrót. Wystarczy dokładać kolejne pary magnesów by zwiększyć liczbę impulsów.
Był jeszcze jeden powód dla którego wybrałem ten konkretny model czujnika. Będzie on musiał współpracować z mikrokontrolerem więc impulsy nie mogą być dowolne - muszą spełniać warunki standardu TTL, ogólnie rzecz ujmując czas narastania i opadania impulsu musi być stosunkowo krótki a mówiąc jeszcze prościej muszą przyjmować kształt prostokątny. Taki wygląd impulsów zapewni nam bramka Schmitta, która znajduje się w stopniu sterującym tranzystora wyjściowego. Jaką rolę ona pełni ?. Pełni rolę układu progowego z histerezą, przełączanie bramki Schmitta następuje przy przekraczaniu napięcia ok. 1,7V przy narastaniu sygnału wejściowego i przy napięciu ok. 0,9V przy opadaniu tegoż sygnału.

Świetną ilustracją definicji bramki schmitta jest powyższy rysunek, gdzie przebieg na górze przedstawia sygnał na wejściu a dolny to przebieg na wyjściu już w standardzie TTL.

Starczy już tych rozważań teoretycznych, teraz zobaczymy czy nasz układ w ogóle sprawdzi się w roli impulsatora, ale jak go podłączyć ?. Układ ma unipolarny stopień wyjściowy tzw. otwarty kolektor. Impulsy w bardzo prosty sposób możemy podawać bezpośrednio do mikrokontrolera.

Impulsy odbieramy w miejscu woltomierza na schemacie. Układzik jest prosty więc na próbę połączyłem wszystko "na pająka" by sprawdzić w praktyce jak to działa.

I układ działa idealnie: przykładamy jedną stronę magnesu i na wyjściu mamy 5V, przykładamy drugą i mamy 0V, układ zasilam oczywiście napięciem 5V bo z takiego napięcia będziemy zasilać nasz mikrokontroler.
A teraz sprawdźmy jak się będzie zachowywał przy dużej częstości impulsów, oczywiście na mierniku wiele nie zobaczymy więc trzeba zaprządz do pracy oscyloskop. Jako mierzony układ zastosuję wentylator chłodzący zasilacze ATX do którego łopatek przykleję dwa małe magnesiki neodymowe najpierw po przeciwnych stronach osi, tak że na początki czujnik się załączy a po pół obrotu wyłączy. Następne załączenie zasygnalizuje już kolejny obrót.

Tak wygląda mój układ testowy, na razie mało praktyczny ale do testów wystarczy.

Po włączeniu wiatraczka na ekranie oscyloskopu widzimy, że nasz układ świetnie sprawdzi się w swej roli.

Jeszcze małe zbliżenie wirującego wiatraczka z czujnikiem, który co pół obrotu jest włączany i wyłączany.

A powyżej zdjęcie oscylogramu, widzimy, że czujnik daje piękny sygnał z bardzo krótkim czasem narastania i opadania, gdzie pełny okres przebiegu sygnalizuje jeden obrót. Gdy taki sygnał podamy na mikrokontroler wystarczy, że zaprogramujemy go tak by reagował na impuls narastający i każdy taki impuls to będzie jeden obrót.
A co jeśli magnesy będą ułożone niesymetrycznie ?

Nie będzie miało to wpływu na pomiar.

Zmieni się tylko wypełnienie impulsu, ale nadal każde kolejne zbocze narastające (nie widać na oscylogramie bo trwa super krótko) sygnalizuje jeden obrót.
Wykorzystywanie oscyloskopu do pomiaru prędkości jest kłopotliwe, czasochłonne i mało praktyczne, lepiej by było, gdyby pomiar wyświetlał nam się na ekranie. Dlatego pora zbudować część elektroniczną i napisać odpowiedni program, który będzie odmierzał krótkie odcinki czasu i zliczał w tym czasie ilość impulsów prezentując jednocześnie wynik na wyświetlaczu. Ale to już w drugiej części materiału po kliknięciu linku do następnej strony.


Na początek zajmiemy się impulsami z czujnika, ja dla bezpieczeństwa mikrokontrolera i dla dodatkowego zabezpieczenia zastosowałem dodatkowy tranzystor.

A poniżej mikrokontroler połączony z wyświetlaczem LCD na którym będziemy prezentować wynik pomiaru prędkości.

Teraz czas na program, który musimy załadować do naszego uniwersalnego mikrokontrolera. Napiszę go w bardzo popularnym i prostym języku Bascom.
Do zliczania impulsów wykorzystam wbudowany w mikrokontroler ATtiny2313 układ czasowy: Timer/Counter1. Układ ten możemy programowo skonfigurować jako timer - i będzie odmierzał czas, lub jako counter - i będzie zliczał impulsy zewnętrzne podawane na nóżkę Nr. 9 mikrokontrolera. Mając do dyspozycji taki układ sprawa pomiaru prędkości jest bardzo prosta: wystarczy programowo odmierzać odcinki czasu i zliczyć impulsy, które w tym czasie wystąpiły na wejściu układu. Więcej informacji na temat samego programu umieściłem w pliku poniżej, zawiera on nieskompilowaną wersję wsadu do mikrokontrolera z obszernymi komentarzami każdej linii.

Pobierz plik: Obrotomierz.bas

Zanim zaprojektowałem i wykonałem płytkę drukowaną do układu, całość sprawdziłem na uniwersalnym zestawie testowym do ćwiczeń z książki "Mikrokontrolery dla Początkujących".

Zaprojektowany układ działa dokładnie tak jak chciałem, wyskalowałem go w obrotach na minutę, co wiązało się z dodaniem jednej linii programu, w której mikrokontroler mnożył wynik zliczania x 60.

Po chwili pracy w programie EAGLE mamy gotowy projekt płytki PCB, który teraz trzeba wytrawić.

Pobierz mozajkę PCB do wydruku [plik .pdf]


A tutaj już wytrawiona płytka z wlutowanymi wszystkimi elementami, zabrakło mi tylko potencjometru do regulacji jasności podświetlania wyświetlacza, ale w tym przypadku brakujący element możemy zastąpić zworką, podświetlanie będzie pracować z maksymalna jasnością.

Na poprzednim zdjęciu widzimy, że mikrokontroler pracuje podobnie jak współpracujący z nim wyświetlacz LCD. Na tym zdjęciu czujnik hallotronowy zbliżyłem do wirującego wentylatorka z magnesikami. Wszystko działa jak należy.

W bardzo prosty sposób możemy mierzyć prędkość obrotową innych wirujących elementów.