logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

[Rozwiązano] Układ z czujnikiem Halla do wykrywania jednokierunkowego obrotu

yogi009 21 Mar 2020 16:19 3972 61
Najlepsze odpowiedzi

Jak zbudować prosty układ na czujnikach Halla, który daje na wyjściu impuls 0–5 V tylko przy obrocie w jedną stronę, a przy obrocie w drugą milczy?

Najprościej zrobisz to na dwóch czujnikach Halla ustawionych jak enkoder kwadraturowy — potrzebna jest tylko odpowiednia kolejność zboczy, a nie dokładne czasy [#18548367] [#18561687] Jeden czujnik podaj na CLK przerzutnika D, drugi na RST, a wejście D ustaw na stałe na „1”; wtedy dla jednego kierunku na wyjściu pojawiają się impulsy 0/1, a dla drugiego wyjście pozostaje w stanie „0” [#18549625] [#18563059] Jako prostszy wariant sprzętowy padł też przerzutnik JK, ewentualnie logika na bramkach NAND/RS, ale forumowo najczytelniejsze rozwiązanie to właśnie dwa Hall’e i przerzutnik [#18549625] [#18563059] Jeśli zależy Ci na małej liczbie elementów, wspomniano też 74LVC1G175 w obudowie 6-pinowej albo mały mikrokontroler, ale to już wersja z programem [#18564168] [#18561587]
REKLAMA
  • #1 18547884
    yogi009
    Poziom 43  
    Posty: 14693
    Pomógł: 848
    Ocena: 2650
    Szukam jakiegoś nie przekombinowanego układu wykorzystującego czujnik (czujniki Hall'a) dającego na wyjściu prostokąt 0-5V, ale tylko w przypadku obrotu w jedną stronę. Przy obrocie w drugą na wyjściu ma milczeć. Zasilanie 5V, prąd max. rzędu 20mA. Może Koledzy podrzucą coś sprawdzonego.
  • REKLAMA
  • Pomocny post
    #2 18548367
    jarek_lnx
    Poziom 43  
    Posty: 22647
    Pomógł: 4183
    Ocena: 6076
    Czujniki muszą być dwa, jeśli będą dawały przesunięte w fazie sygnały tak jak w enkoderze z wyjściem kwadraturowym, przerzutnik D może służyć jako detektor kierunku, dalej bramka AND sygnałów z czujnika i przerzutnika.
    Cytat:

    Może Koledzy podrzucą coś sprawdzonego.
    Eee tam, zaraz chciał byś sprawdzone, na słowo nie uwierzysz że zadziała ;)


    Układ z czujnikiem Halla do wykrywania jednokierunkowego obrotu
  • #3 18548409
    yogi009
    Poziom 43  
    Posty: 14693
    Pomógł: 848
    Ocena: 2650
    jarek_lnx napisał:
    na słowo nie uwierzysz że zadziała ;)


    To nie kwestia wiary :-) Twoja wiara w moje oczy za to jest wielka, myślisz, że takie malutkie obrazki są lepsze? :-)

    Dawno temu zrealizowałem coś takiego (wejściem był silnik krokowy) w małym projekcie impulsatora, wtedy użyłem jakiegoś opamp'a i attiny13, ładny prostokąt toto dawało... Tam też wszystko opierało się na opóźnieniu jednego przebiegu względem drugiego. Nie mogę dotrzeć do tego projektu.
  • Pomocny post
    #4 18548485
    Konto nie istnieje
    Poziom 1  
  • #5 18548521
    yogi009
    Poziom 43  
    Posty: 14693
    Pomógł: 848
    Ocena: 2650
    Tak, tak, trzeba bramkę Schmitta zastosować, ale w tzw. cyfrowych Hall'ach ona chyba jest już zintegrowana. Tam na krzywej wzrostowej dochodzi do przełączenia wyjścia w stan niski, a na zboczu opadającym w wysoki. Fajny kod, możesz kilka słów rozwinąć na jego temat?
  • Pomocny post
    #6 18548568
    Konto nie istnieje
    Poziom 1  
  • #7 18548619
    yogi009
    Poziom 43  
    Posty: 14693
    Pomógł: 848
    Ocena: 2650
    Bardzo ładna realizacja tematu.
  • Pomocny post
    #8 18549625
    _jta_
    Specjalista elektronik
    Posty: 48958
    Pomógł: 3205
    Ocena: 4227
    Dwa czujniki Halla przesunięte w fazie, które dadzą sekwencję (0,0), (0,1), (1,1), (1,0) - w zależności od kierunku obrotu do przodu (tak, jak jest napisana), albo do tyłu (od końca).

    Jeden na wejście CLK przerzutnika D, drugi na wejście RST (powiedzmy, że aktywne niskie); wejście D na stałe 1. Przy obrocie do przodu na wyjściu 0,0,1,0; przy obrocie do tyłu stale 0, bo kiedy CLK zmienia się z 0 na 1, na RST jest 0.

    Inna możliwość, to pokombinować z bramkami NAND, z 2 robimy przerzutnik RS i na jego wejścia podajemy sygnały z czujników Halla, jedno wyjście i jedno wejście na wejścia kolejnej bramki... co będzie na wyjściu tej bramki? Z dwóch możliwości co najmniej jedna kombinacja prawie daje to, o co chodzi - tyle, że z powodu opóźnień propagacji sygnału na wyjściu trzeciej impuls pojawia się zawsze, tylko dla jednego kierunku bardzo krótki. Wypada dodać czwartą bramkę, by go wyeliminować - jeśli to będzie bramka z przerzutnikiem Schmitta, to może dać ją na wyjściu i poprzedzić filtrem RC, żeby krótki impuls nie przeszedł. A może da się wykombinować prościej...
  • Pomocny post
    #9 18549670
    Zbigniew 400
    Poziom 38  
    Posty: 4356
    Pomógł: 283
    Ocena: 793
    Kup sobie czujnik PAS i masz gotowe.
  • REKLAMA
  • #10 18549751
    yogi009
    Poziom 43  
    Posty: 14693
    Pomógł: 848
    Ocena: 2650
    Zbigniew 400 napisał:
    Kup sobie czujnik PAS i masz gotowe.


    Kolego, tu chodzi o schemat i ew. kod, o pełne zrozumienie sposobu realizacji, a nie o gotowy wyrób.
  • Pomocny post
    #11 18549801
    Konto nie istnieje
    Poziom 1  
  • Pomocny post
    #12 18549916
    _jta_
    Specjalista elektronik
    Posty: 48958
    Pomógł: 3205
    Ocena: 4227
    yogi009 napisał:
    Kolego, tu chodzi o schemat i ew. kod, o pełne zrozumienie sposobu realizacji, a nie o gotowy wyrób.

    To rozpisz sobie sekwencje stanów do tego, co zaproponowałem w #8. Z bramkami możesz poszukać najlepszej kombinacji.
  • #13 18549989
    yogi009
    Poziom 43  
    Posty: 14693
    Pomógł: 848
    Ocena: 2650
    Tak, już sobie przypomniałem te sekwencje, dzięki za przypomnienie. Realizacja na bramkach jest możliwa, jednak czasem nie wystarcza, chodzi o sytuacje, kiedy znaczenie ma rozkład procentowy stanu high i low. Programowo możemy to łatwo "dostroić". Czytałem dość duże opracowanie naukowe dotyczące reakcji Hall'i na magnesy o różnych rozmiarach i różnie ułożonych na okręgu (różne ułożenie i odstępy między magnesami). Tam były ciekawe wnioski, np. niewielkie znaczenie miała wielkość magnesu, natomiast przerwy między nimi były bardzo istotne. Czyli takie mechaniczne "strojenie" układu, a tego wolę uniknąć. Łatwiej wyedytować kod, niż robić od nowa obręcz z magnesami.
  • #14 18561201
    Slawek K.
    Poziom 35  
    Posty: 3020
    Pomógł: 259
    Ocena: 1302
    @yogi009, chętnie sie podepnę pod temat, jeżeli mogę ;)
    Kończę mały komputerek do e-bike'a, i została mi implementacja PAS czyli wspomagania silnikiem podczas pedalowania.
    Standardowe czujniki PAS do kupienia powszechnie, maja zwykle jeden czujnik hall, a różnią się ilością magnesów na tarczy.

    Przykładowy :

    Układ z czujnikiem Halla do wykrywania jednokierunkowego obrotu

    To powoduje, że nie jest możliwa detekcja kierunku obrotów, co jest ważne, gdyż sterownik może przypadkowo uruchomić silnik podczas postoju, gdy ruszymy korba w tył, a rower poleci mocno do przodu.

    Dlatego też chciałbym zrealizować prosty układ który wykrywa kierunek,a do tego, jak napisałeś, potrzeba dwóch czujników. Oprócz zagadnień elektronicznych, sa też ważne mechaniczne, a ściślej, umiejscowienie czujników względem magnesów.
    Zamówiłem hall'e, jutro powinny przyjść, to zrobię układ testowy. Najprościej dla mnie to dać mały uC, np. attiny85 i odczytywać jak zwykły enkoder obrotowy (kwadraturowy), ale chciałbym aby też poznać możliwości zbudowania takiego układu w sposób nei programowy.

    Pozdr
  • #15 18561241
    Zbigniew 400
    Poziom 38  
    Posty: 4356
    Pomógł: 283
    Ocena: 793
    Pas na pewno rozróżnia kierunek obrotów.
  • #16 18561290
    Slawek K.
    Poziom 35  
    Posty: 3020
    Pomógł: 259
    Ocena: 1302
    Zbigniew 400 napisał:
    Pas na pewno rozróżnia kierunek obrotów.

    Na pewno nie wszystkie.
  • #17 18561468
    _jta_
    Specjalista elektronik
    Posty: 48958
    Pomógł: 3205
    Ocena: 4227
    Slawek K. napisał:
    chciałbym aby też poznać możliwości zbudowania takiego układu w sposób nei programowy.

    Przeczytaj uważnie - przecież rozwiązanie zostało podane (nawet niejedno)...
  • #18 18561480
    Slawek K.
    Poziom 35  
    Posty: 3020
    Pomógł: 259
    Ocena: 1302
    _jta_ napisał:
    Slawek K. napisał:
    chciałbym aby też poznać możliwości zbudowania takiego układu w sposób nei programowy.

    Przeczytaj uważnie - przecież rozwiązanie zostało podane (nawet niejedno)...

    Pokażesz swój schemat ? jestem inżynierem a nie humanistą ;) jeden obraz jest wart więcej niż 1000 słów ;) widzę w tym wątku tylko jendo rozwiązanie sprzętowe, podane przez @jarek_lnx.


    Pozdr
  • REKLAMA
  • Pomocny post
    #19 18561587
    jarek_lnx
    Poziom 43  
    Posty: 22647
    Pomógł: 4183
    Ocena: 6076
    yogi009 napisał:
    Tak, już sobie przypomniałem te sekwencje, dzięki za przypomnienie. Realizacja na bramkach jest możliwa, jednak czasem nie wystarcza, chodzi o sytuacje, kiedy znaczenie ma rozkład procentowy stanu high i low. Programowo możemy to łatwo "dostroić". Czytałem dość duże opracowanie naukowe dotyczące reakcji Hall'i na magnesy o różnych rozmiarach i różnie ułożonych na okręgu (różne ułożenie i odstępy między magnesami). Tam były ciekawe wnioski, np. niewielkie znaczenie miała wielkość magnesu, natomiast przerwy między nimi były bardzo istotne. Czyli takie mechaniczne "strojenie" układu, a tego wolę uniknąć. Łatwiej wyedytować kod, niż robić od nowa obręcz z magnesami.


    Ja jestem zwolennikiem konkretów, dlatego nie lubię takiego pieprzenia jakie uskuteczniał kolega yogi009 powyżej. Niby standardowe opiewanie uniwersalności uC, jakie to problemy można rozwiązać na procku. Kłopot w tym że problemy są wymyślone, opisane zadanie nie wymaga żadnego kombinowania, ani z programem ani z mechaniką. Ale od postu #13 już nikt nie ma pewności jak to zrobić bo przecież są problemy, ach to strojenie włosy na głowie dęba stają....

    W rzeczywistości żeby metoda opisana przeze mnie albo _jta_ zadziałała wystarczy że mamy taki przebieg jak poniżej, dokładne zależności czasowe nie są ważne! jedynie kolejność zboczy.

    Układ z czujnikiem Halla do wykrywania jednokierunkowego obrotu


    Układ z czujnikiem Halla do wykrywania jednokierunkowego obrotu


    tą samą zasadę można zrobić programowo

    Kod: C / C++
    Zaloguj się, aby zobaczyć kod
  • Pomocny post
    #21 18561687
    _jta_
    Specjalista elektronik
    Posty: 48958
    Pomógł: 3205
    Ocena: 4227
    Niewątpliwie kolejność zboczy jest kluczowa: przy innych (oba zbocza A w czasie, gdy stan B się nie zmienia - nieważne, czy B jest wtedy L, czy H) nie da się rozpoznać kierunku obrotu (chyba, że mierzymy czasy i wiemy, że np. przy obrocie w prawo czas między zmianą A z H na L, a zmianą B z L na H jest dużo krótszy, niż odwrotnie, a przy obrocie w lewo dużo dłuższy - ale taki system nie może prawidłowo działać, jeśli prędkość obrotu się zmienia). Czyli trzeba czujniki Hall'a rozmieścić tak, by mieć taką kolejność zboczy, od tego się nie ucieknie.
  • Pomocny post
    #22 18561995
    Slawek K.
    Poziom 35  
    Posty: 3020
    Pomógł: 259
    Ocena: 1302
    No dokładnie, dlatego napisałem, że rozmieszczenie czujników jest tu bardzo istotne.
    Na animacji poniżej widać, jak to powinno wyglądać aby przebiegi pozwalały na detekcję :

    http://www.creative-robotics.com/quadrature-intro

    Układ z czujnikiem Halla do wykrywania jednokierunkowego obrotu
  • #23 18562232
    yogi009
    Poziom 43  
    Posty: 14693
    Pomógł: 848
    Ocena: 2650
    Kiedyś robiłem impulsator z silnika krokowego (200 kroków na obrót). Tam nie było możliwości "rozmieszczania" czujników. Ale algorytm i tak wykrywał kierunek obrotu. Wniosek jest taki, że zawsze jest jakieś lekkie przesunięcie odczytu przy dwóch czujnikach. I przy narastającym (lub opadającym) zboczu porównujemy precyzyjnie opóźnienie między narastaniem pierwszego i drugiego przebiegu. W praktyce da się to zrobić.Najgorszy scenariusz to taki, w którym dwa Hall'e są umieszczone w odstępach idealnie takich, jak magnesy, jednak chyba BARDZO trudno trafić taki przypadek.

    Dodano po 1 [minuty]:

    Slawek K. napisał:
    Standardowe czujniki PAS do kupienia powszechnie, maja zwykle jeden czujnik hall, a różnią się ilością magnesów na tarczy.


    Sławek, to nie jest prawda. Większość tych czujników PAS obecnie wykrywa samodzielnie kierunek i podczas ruchu korby w niewłaściwą stronę nie wysyła prostokąta do kontrolera.
  • REKLAMA
  • Pomocny post
    #24 18562571
    Slawek K.
    Poziom 35  
    Posty: 3020
    Pomógł: 259
    Ocena: 1302
    Szkoda, że mi nie wierzycie ;)

    No to proszę, najbardziej popularny czujnik PAS dostępny na rynku, wersja z 12 magnesami. Wtyczka 3 pin, czyli +5V, GND i sygnał.
    https://www.google.pl/search?q=czujnik+pas+un...HjqQKHR-VCdkQ_AUoAXoECAwQAw&biw=1920&bih=1057

    Układ z czujnikiem Halla do wykrywania jednokierunkowego obrotu Układ z czujnikiem Halla do wykrywania jednokierunkowego obrotu Układ z czujnikiem Halla do wykrywania jednokierunkowego obrotu

    Wydrukowałem sobie przyrząd do testowania, podpiąłem czujnik pod atmegę, i odczytuję w przerwaniu czas pomiędzy impulsami i obliczam rpm, nic nadzwyczajnego, zwykły algorytm.

    Poniżej nagrany przez mnie film z działania tego "jednokierunkowego" PAS ;) w tle, w konsoli portu szeregowego na monitorze widać odczyty przy kręceniu tarczą w obie strony.





    Jeżeli są jakieś pytania to chętnie odpowiem ;)

    Stąd mój post w tym wątku dotyczący układu wysyłającego impulsy przy kręceniu korbą w jedną stronę.
    Pomijając fakt, że i tak musże zrobić ten czujnik sam, bo mam korby Octalink i tam jest tylko z 3mm luzu między korbą a suportem.

    Pozdr
  • #25 18562664
    _jta_
    Specjalista elektronik
    Posty: 48958
    Pomógł: 3205
    Ocena: 4227
    yogi009 napisał:
    Kiedyś robiłem impulsator z silnika krokowego (200 kroków na obrót). Tam nie było możliwości "rozmieszczania" czujników.

    A skąd brałeś sygnał? Ten silnik miał jakieś czujniki (chyba takiego nie spotkałem), czy brałeś sygnał z uzwojeń? Bo uzwojenia są przesunięte w fazie akurat tak, jak trzeba... ;)

    Slawek K. napisał:
    Standardowe czujniki PAS do kupienia powszechnie, maja zwykle jeden czujnik hall, a różnią się ilością magnesów na tarczy.

    To też może umożliwić rozpoznanie kierunku, ale w sposób, który może być zawodny (da się go oszukać, kręcąc kołem ze zmienną szybkością), i warunkowo: na przykład czujnik bipolarny i dwa magnesy przeciwnie skierowane blisko siebie - jeden z nich ustawia czujnik na stan '0', drugi na '1', dla obrotu w przód pierwszy ustawi '0', zaraz potem drugi '1', i przez większość czasu będzie '1'; dla obrotu w tył drugi ustawi '1', zaraz potem pierwszy '0', i przez większość czasu będzie '0'; ten sygnał można podać na filtr dolnoprzepustowy RC, za nim dać jedno wejście bramki NAND z przerzutnikiem Schmitta, drugie wejście podłączyć do sygnału przed filtrem - i dla obrotu w przód będą impulsy na jej wyjściu, dla obrotu w tył nie.

    Przy większej ilości magnesów i czujniku analogowym można rozpoznawać kierunek obrotu w sposób odporny na zmiany szybkości - czujnik przy obrocie "widzi" cykliczną sekwencję N i S - i jest kwestia, jaka najkrótsza sekwencja jest asymetryczna, żeby dało się rozpoznać kierunek obrotu, np. NNNSSNS jest asymetryczna, i nawet zamiana N z S nie odwraca kierunku, jak byłoby dla NNSSNS - są jakieś krótsze?

    Slawek K. napisał:
    Pokażesz swój schemat ? jestem inżynierem a nie humanistą

    Mam antytalent do rysowania, musiałbym się bardzo długo męczyć, choć to w sumie może kilkanaście kresek (układ może być prostszy, niż w #2 i #19, ale wtedy będą impulsy albo dla obrotu do przodu, albo do tyłu), i teraz nie mam na to czasu. Spróbuj sam, według mojego opisu - skoro bez schematu nie potrafisz, to pewnie lepiej umiesz rysować.
  • #26 18562673
    yogi009
    Poziom 43  
    Posty: 14693
    Pomógł: 848
    Ocena: 2650
    _jta_ napisał:
    Bo uzwojenia są przesunięte w fazie akurat tak, jak trzeba...


    No właśnie z tego skorzystałem :-)

    Dodano po 2 [minuty]:

    _jta_ napisał:
    na przykład czujnik bipolarny i dwa magnesy przeciwnie skierowane blisko siebie - jeden z nich ustawia czujnik na stan '0', drugi na '1', dla obrotu w przód pierwszy ustawi '0', zaraz potem drugi '1', i przez większość czasu będzie '1'; dla obrotu w tył drugi ustawi '1', zaraz potem pierwszy '0', i przez większość czasu będzie '0'; ten sygnał można podać na filtr dolnoprzepustowy RC, za nim dać jedno wejście bramki NAND z przerzutnikiem Schmitta, drugie wejście podłączyć do sygnału przed filtrem - i dla obrotu w przód będą impulsy na jej wyjściu, dla obrotu w tył nie.


    Ale akurat mamy tam równomierne rozmieszczenie magnesów i identyczne odstępy między nimi. Generalnie zasada pracy tego czujnika zakłada różne prędkości obrotowe, więc nie ma o czym mówić. Obecnie stosuje się dwa Hall'e umieszczone blisko siebie i zalane epoksydem. Jest jeszcze jakaś "logika", która decyduje o wysyłaniu prostokąta przy obrocie tylko w jednym kierunku.
  • Pomocny post
    #27 18562703
    Slawek K.
    Poziom 35  
    Posty: 3020
    Pomógł: 259
    Ocena: 1302
    _jta_ napisał:
    yogi009 napisał:
    Kiedyś robiłem impulsator z silnika krokowego (200 kroków na obrót). Tam nie było możliwości "rozmieszczania" czujników.

    A skąd brałeś sygnał? Ten silnik miał jakieś czujniki (chyba takiego nie spotkałem), czy brałeś sygnał z uzwojeń? Bo uzwojenia są przesunięte w fazie akurat tak, jak trzeba... ;)

    Slawek K. napisał:
    Standardowe czujniki PAS do kupienia powszechnie, maja zwykle jeden czujnik hall, a różnią się ilością magnesów na tarczy.

    To też może umożliwić rozpoznanie kierunku, ale w sposób, który może być zawodny (da się go oszukać, kręcąc kołem ze zmienną szybkością), i warunkowo: na przykład czujnik bipolarny i dwa magnesy przeciwnie skierowane blisko siebie - jeden z nich ustawia czujnik na stan '0', drugi na '1', dla obrotu w przód pierwszy ustawi '0', zaraz potem drugi '1', i przez większość czasu będzie '1'; dla obrotu w tył drugi ustawi '1', zaraz potem pierwszy '0', i przez większość czasu będzie '0'; ten sygnał można podać na filtr dolnoprzepustowy RC, za nim dać jedno wejście bramki NAND z przerzutnikiem Schmitta, drugie wejście podłączyć do sygnału przed filtrem - i dla obrotu w przód będą impulsy na jej wyjściu, dla obrotu w tył nie.

    Przy większej ilości magnesów i czujniku analogowym można rozpoznawać kierunek obrotu w sposób odporny na zmiany szybkości - czujnik przy obrocie "widzi" cykliczną sekwencję N i S - i jest kwestia, jaka najkrótsza sekwencja jest asymetryczna, żeby dało się rozpoznać kierunek obrotu, np. NNNSSNS jest asymetryczna, i nawet zamiana N z S nie odwraca kierunku, jak byłoby dla NNSSNS - są jakieś krótsze?

    Slawek K. napisał:
    Pokażesz swój schemat ? jestem inżynierem a nie humanistą

    Mam antytalent do rysowania, musiałbym się bardzo długo męczyć, choć to w sumie może kilkanaście kresek (układ może być prostszy, niż w #2 i #19, ale wtedy będą impulsy albo dla obrotu do przodu, albo do tyłu), i teraz nie mam na to czasu. Spróbuj sam, według mojego opisu - skoro bez schematu nie potrafisz, to pewnie lepiej umiesz rysować.

    Wszystkie magnesy są zamontowane w tej samej polaryzacji. Na tym czujniku nie da się tego zrobić detekcji, a to popularny czujnik, no bo tani :D
    Są oczywiście inne, i nawet pewnie z dwoma czujnikami halla w obudowie i jakimś układem, i to jest moje pytanie własnie, z jakim, ze jest tak mały, czyli musi być banalnie prosty ;)

    Pozdr
  • #28 18563059
    _jta_
    Specjalista elektronik
    Posty: 48958
    Pomógł: 3205
    Ocena: 4227
    yogi009 napisał:
    Obecnie stosuje się dwa Hall'e umieszczone blisko siebie i zalane epoksydem. Jest jeszcze jakaś "logika", która decyduje o wysyłaniu prostokąta przy obrocie tylko w jednym kierunku.

    No to przecież wiadomo, jak można to zrobić.
    Slawek K. napisał:
    Są oczywiście inne, i nawet pewnie z dwoma czujnikami halla w obudowie i jakimś układem, i to jest moje pytanie własnie, z jakim, ze jest tak mały, czyli musi być banalnie prosty

    No jest banalnie prosty, opisałem, a Ty każesz mi rysować, bo inaczej nie rozumiesz...

    Idea jest taka: mamy przerzutnik D, na jego wejście D podajemy '1', na CLK (zegarowe) sygnał z jednego czujnika, na RST (reset) z drugiego. Jak zbocze narastające na CLK będzie w czasie stanu nieaktywnego na RST, to będzie impuls, od zbocza narastającego na CLK (sygnał z pierwszego czujnika) do przejścia RST w stan aktywny (sygnał z drugiego) - i to będzie dla jednego kierunku obrotu.

    Można jeszcze (kolejne rozwiązanie) użyć przerzutnika JK: jeden czujnik do J i K, drugi do CLK; przy '1' na J i K przerzutnik zmienia stan na CLK, przy '0' na J i K zachowuje. Impulsy wyjdą 2x rzadziej, ale czasy '0' i '1' przy kręceniu ze stałą prędkością będą takie same (i wystąpią tylko dla jednego kierunku obrotu).
  • #29 18563094
    Slawek K.
    Poziom 35  
    Posty: 3020
    Pomógł: 259
    Ocena: 1302
    Dziękuje, ale chyba nie doczytałeś, napisałem mały układ a nie, że nie rozumiem. Tego typu przerzutnik z tego co widzę, ma 20 nóżek. Widzę, że najprostszy i najmniejszy będzie attiny85 ;)
    Nie śmiecę już autorowi w wątku, dziękuję za odpowiedzi ;)

    Pozdr
  • #30 18563344
    yogi009
    Poziom 43  
    Posty: 14693
    Pomógł: 848
    Ocena: 2650
    Luzik, każda dyskusja coś wnosi, no... prawie każda :-) Ale ta jest ok.

Podsumowanie tematu

✨ Użytkownik poszukiwał prostego układu z czujnikiem Halla do detekcji jednokierunkowego obrotu, generującego sygnał prostokątny 0-5V przy obrocie w jedną stronę. W odpowiedziach zaproponowano różne rozwiązania, w tym zastosowanie dwóch czujników Halla z przesunięciem fazowym, co pozwala na detekcję kierunku obrotu. Wskazano na możliwość użycia przerzutników D oraz maszyn stanów na mikrokontrolerach, takich jak ATtiny, do eliminacji drgań styków. Uczestnicy dyskusji podkreślili znaczenie rozmieszczenia czujników oraz analizy czasów impulsów dla poprawnej detekcji kierunku. Wspomniano również o czujnikach PAS, które mogą nie rozróżniać kierunku obrotu, co może prowadzić do niebezpiecznych sytuacji w rowerach elektrycznych.
REKLAMA