Witam,
Mam problem z układem który ma zliczać ilość obrotów silnika i przełączać kierunek obrotów przeciwną stronę po odliczeniu odpowiedniej ilości. Silnik napędza pręt gwintowany na którym jest nakrętka (uproszczony prototyp siłownika z którym układ będzie pracował w rzeczywistości).
Program działa tak, że po odliczeniu 50 obrotów w jedną stronę, przełącza silnik w drugą stronę i to działa w pętli. Zliczanie obrotów odbywa się przez pseudo enkoder zrobiony z tekturki wraz z transoptorem szczelinowym (ITR9606-F) później sygnał trafia na bramke Schmitta (złożoną z LM324) w celu określenia jednoznacznie sygnału (0 lub 1, bez stanów przejściowych) a następnie na INT0 Atmegi8 jako sygnał przerwania zewnętrznego (zbocze narastające).
Zaznaczyłem sobie na tekturce zakres ruchu nakrętki na pręcie gwintowanym, po około 20 minutach ciągłej pracy zakres jest przesunięty o ok 1cm (zakładając że cały zakres ruchu nakrętki to 5cm)
Schemat:
Zdjęcia układu:
I jeszcze sygnał który wchodzi na INT0 mikrokontrolera, a wychodzi z bramki Schmitta:
Program:
Nagrałem 10 minut film z pracy układu, potem przeanalizowałem na komputerze, okazuje się, że czasem układ doliczy 46/47 obrotów (zwykle liczy 50 obrotów) i przełącza kierunek... Hmm.. czyżby jakieś zakłócenia? Może ktoś ma jakiś pomysł?
Mam problem z układem który ma zliczać ilość obrotów silnika i przełączać kierunek obrotów przeciwną stronę po odliczeniu odpowiedniej ilości. Silnik napędza pręt gwintowany na którym jest nakrętka (uproszczony prototyp siłownika z którym układ będzie pracował w rzeczywistości).
Program działa tak, że po odliczeniu 50 obrotów w jedną stronę, przełącza silnik w drugą stronę i to działa w pętli. Zliczanie obrotów odbywa się przez pseudo enkoder zrobiony z tekturki wraz z transoptorem szczelinowym (ITR9606-F) później sygnał trafia na bramke Schmitta (złożoną z LM324) w celu określenia jednoznacznie sygnału (0 lub 1, bez stanów przejściowych) a następnie na INT0 Atmegi8 jako sygnał przerwania zewnętrznego (zbocze narastające).
Zaznaczyłem sobie na tekturce zakres ruchu nakrętki na pręcie gwintowanym, po około 20 minutach ciągłej pracy zakres jest przesunięty o ok 1cm (zakładając że cały zakres ruchu nakrętki to 5cm)
Schemat:
Zdjęcia układu:
I jeszcze sygnał który wchodzi na INT0 mikrokontrolera, a wychodzi z bramki Schmitta:
Program:
Kod: C / C++
Nagrałem 10 minut film z pracy układu, potem przeanalizowałem na komputerze, okazuje się, że czasem układ doliczy 46/47 obrotów (zwykle liczy 50 obrotów) i przełącza kierunek... Hmm.. czyżby jakieś zakłócenia? Może ktoś ma jakiś pomysł?
