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 3951 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]
Wygenerowane przez model językowy.
REKLAMA
  • #31 18563361
    _jta_
    Specjalista elektronik
    Posty: 48877
    Pomógł: 3200
    Ocena: 4199
    Slawek K. napisał:
    Tego typu przerzutnik z tego co widzę, ma 20 nóżek.

    To chyba źle widzisz. 7473 (podwójny J-K z CLEAR) i 7474 (podwójny D z CLEAR i PRESET) mają po 14; 16 ma podwójny J-K z CLEAR i PRESET. I jest 6-pinowy 74x1G175 (D z CLEAR).
  • REKLAMA
  • #32 18563832
    Slawek K.
    Poziom 35  
    Posty: 3020
    Pomógł: 259
    Ocena: 1301
    14 czy 20, i tak duźo, a ten ostatni, google znajduje 3 linki, żaden do sklepu.

    Pozdr
  • #33 18564168
    _jta_
    Specjalista elektronik
    Posty: 48877
    Pomógł: 3200
    Ocena: 4199
    To jakoś kiepsko szukasz: http://www.elenota.pl/datasheet-pdf/71384/Philips/74LVC1G175 i masz tam cenę i link do sklepu. A EleCena znajduje na to 31 ofert (58 dla *1g175, z tego 3 nie na to, co trzeba). Być może jakiś uC ma np. 5 nóżek (4 i mniej, to chyba już nie; na szybko znalazłem 6-pinowy PIC10F200), ale wymaga zaprogramowania - a 6-nóżkowy 74x1G175 nie.
  • #34 18564175
    yogi009
    Poziom 43  
    Posty: 14691
    Pomógł: 848
    Ocena: 2649
    Oj tam, każdy wybiera swoją broń :-) Ja bym też poszedł w osiem nóżek od Atmela, tak jest wygodniej, oczywiście jeśli ktoś koduje.
  • #35 18564187
    Slawek K.
    Poziom 35  
    Posty: 3020
    Pomógł: 259
    Ocena: 1301
    8 nóżek jest akceptowalne, dlatego pozostanę przy attiny. Plus taki, że mogę sobie skalibrować wychodzący sygnał wg potrzeb.
    @_jta_, @jarek_lnx dzięki za pomoc ;)

    Pozdr
  • #36 18564950
    yogi009
    Poziom 43  
    Posty: 14691
    Pomógł: 848
    Ocena: 2649
    Dawno temu zrobiłem podobny układ właśnie na Attiny13, przed nim stały bramki Schmitta, cała reszta programowa.
  • #37 18565383
    Konto nie istnieje
    Poziom 1  
  • REKLAMA
  • #38 18565510
    yogi009
    Poziom 43  
    Posty: 14691
    Pomógł: 848
    Ocena: 2649
    Awyrdonyt napisał:
    W rowerze ten układ jest zbędny. Moc dostarczana do silnika powinna być regulowana manetką - wówczas przy minimalnej mocy/wyłączonym silniku można sobie kręcić pedałami w dowolną stronę. Wspomaganie ma działać w czasie jazdy. Jedna z oznak to kręcenie pedałami - możliwe na postoju. Druga z oznak jazdy to kręcące się koła i ewentualnie podkręcony "gaz".
    Jeśli na postoju po zakręceniu pedałami rower ruszy gwałtownie w tył, to będzie to równie niebezpieczne co gwałtowne ruszenie w przód. Jeśli z tego odjąć gawłtowne, to nie trzeba będzie komplikować regulatora.


    To jest jedynie Twoje zdanie. Po to wprowadzili i PAS i manetkę, żeby każdy mógł wybrać to, co mu pasuje. Dodatkowo popatrz w przepisy unijne, oni tam juz za nas zadecydowali, co ma mieć używanie powinno dawać niższe zużycie energii. Mam na myśli wartości mierzone w praktyce, nie teoretyczne dyrdymały.
  • #39 18566362
    Slawek K.
    Poziom 35  
    Posty: 3020
    Pomógł: 259
    Ocena: 1301
    Awyrdonyt napisał:
    W rowerze ten układ jest zbędny. Moc dostarczana do silnika powinna być regulowana manetką - wówczas przy minimalnej mocy/wyłączonym silniku można sobie kręcić pedałami w dowolną stronę. Wspomaganie ma działać w czasie jazdy. Jedna z oznak to kręcenie pedałami - możliwe na postoju. Druga z oznak jazdy to kręcące się koła i ewentualnie podkręcony "gaz".
    Jeśli na postoju po zakręceniu pedałami rower ruszy gwałtownie w tył, to będzie to równie niebezpieczne co gwałtowne ruszenie w przód. Jeśli z tego odjąć gawłtowne, to nie trzeba będzie komplikować regulatora.

    Do jazdy po drogach publicznych nie ma możliwości w żadnym przypadku używania manetki, tylko wspomaganie. Proponuje koledze lekturę przepisów. Tryb manetki możesz używać tylko na własną odpowiedzialność, i tylko poza drogami publicznymi. A już o całkowitym braku znajomości tematu przez kolegę świadczy zdanie u ruszaniu roweru w tył, sterowniki silników rowerowych wszelkiej maści dopuszczają sterowanie obrotami tylko w jednym kierunku.

    Pozdr
  • #40 18566575
    Konto nie istnieje
    Poziom 1  
  • #41 18566601
    Zbigniew 400
    Poziom 38  
    Posty: 4356
    Pomógł: 283
    Ocena: 792
    Przepis stanowi ze jazda ze wspomaganiem jest mozliwa tylko przy kręceniu pedałami.
  • #42 18566604
    jarek_lnx
    Poziom 43  
    Posty: 22580
    Pomógł: 4167
    Ocena: 6039
    Nie jeździłem rowerami elektrycznymi, za to dużo tradycyjnym, więc zastanawiam się jak by to miało działać bez manetki, na samym czujniku PAS. Chyba nie da się tego zrobić poprawnie, bo z prędkości obrotowej pedałów nie wynika czy chcę utrzymać stałą prędkość czy przyśpieszyć, a jeśli przyspieszyć to z jakim momentem.

    Legalny rower z ograniczeniem wspomagania do 25km/h był by dla mnie bezużyteczny, z taką prędkością, to może jeżdżą ci, co wsiadają na rower raz na tydzień.
  • #43 18566644
    _jta_
    Specjalista elektronik
    Posty: 48877
    Pomógł: 3200
    Ocena: 4199
    Jest możliwość rozpoznawania kierunku z jednym hallotronem analogowym i jednym magnesem, ale potrzebny jest układ ferromagnetyków, którego namagnesowanie będzie się zmieniać skokowo, i będzie zależne od pola w kierunku innym, niż to, które wykrywa hallotron - uC z ADC będzie mógł odczytać sekwencję zmian sygnału z hallotronu i rozpoznać kolejność zmian skokowych i płynnych, zależną od kierunku obrotu.

    Ale jest to spora komplikacja, prościej jest użyć dwóch hallotronów, które będą działać zero-jedynkowo, i pozwolą określić kierunek obrotów bez skomplikowanej analizy sygnału.

    A całkiem osobną sprawą jest określenie, gdzie powinien być umieszczony czujnik, żeby silnik działał we właściwą stronę. Zakręcenie pedałami wstecz podczas jazdy do przodu mogłoby uruchamiać hamowanie - w czasach, gdy rowery nie miały silników, a nawet przerzutek, typowy rower miał oprócz czasem mało skutecznego hamulca ręcznego hamulec uruchamiany przez zakręcenie pedałami do tyłu.
  • REKLAMA
  • #44 18566683
    Zbigniew 400
    Poziom 38  
    Posty: 4356
    Pomógł: 283
    Ocena: 792
    Jarek
    Jak masz dużo pary to mozesz jechać powyzej 25 ale tylko własne nóżki.
    Wspomaganie mozna regulowac przelącznikiem.
  • #45 18566887
    yogi009
    Poziom 43  
    Posty: 14691
    Pomógł: 848
    Ocena: 2649
    jarek_lnx napisał:
    Nie jeździłem rowerami elektrycznymi, za to dużo tradycyjnym, więc zastanawiam się jak by to miało działać bez manetki, na samym czujniku PAS. Chyba nie da się tego zrobić poprawnie, bo z prędkości obrotowej pedałów nie wynika czy chcę utrzymać stałą prędkość czy przyśpieszyć, a jeśli przyspieszyć to z jakim momentem.

    Legalny rower z ograniczeniem wspomagania do 25km/h był by dla mnie bezużyteczny, z taką prędkością, to może jeżdżą ci, co wsiadają na rower raz na tydzień.


    Przepisy unijne napisała grupa nadzianych dziadków, dla których 25km/h na rowerze to zabójcza prędkość. Co do wspomagania, przy dobrze wyskalowanym poziomie wsparcia można ustawić PAS do swoich preferencji. Z technicznego punktu widzenia można także wyobrazić sobie prędkość większą od ustawowej :-) Ja tu nie widzę problemów. Ważny żeby wszystko robić z głową, umówmy się, jazda po ścieżce rowerowej z prędkościami samochodowymi nie świadczy dobrze o mózgu tego rowerzysty. Potem ktokolwiek wtargnie na taką ścieżkę i nieszczęście gotowe.
  • #46 18567385
    Konto nie istnieje
    Poziom 1  
  • Pomocny post
    #47 18567430
    Zbigniew 400
    Poziom 38  
    Posty: 4356
    Pomógł: 283
    Ocena: 792
    Wyobrażnia w ruchu jest niezbędna.
    Doswiadczam tego codziennie
  • #48 18567609
    jarek_lnx
    Poziom 43  
    Posty: 22580
    Pomógł: 4167
    Ocena: 6039
    Cytat:
    To oczywiście zależy od jakości roweru, ale ustawodawca tworzy prawo tak, żeby obejmowało zarówno byle złom jak i sprzęt a kilka tysięcy złotych oraz wszystkich potencjalnych użytkowników tego sprzętu.

    Ustawodawca tworzy prawo tak jakbyśmy byli idiotami, cierpią na tym rozsądni ludzie a idiotów i tak prawo nie powstrzyma przed głupim zachowaniem. Rower ze sprawnymi hamulcami to naprawdę nie jest cud techniki. Niestety są ludzie którzy nie umieją ich używać, poznaje się ich po stwierdzeniach typu "nie hamuje przednim, bo się boję przelecieć przez kierownicę", albo "reguluję przedni hamulec tak, żeby za mocno nie hamował, żeby nie przelecieć przez kierownicę"
  • #49 18567755
    Zbigniew 400
    Poziom 38  
    Posty: 4356
    Pomógł: 283
    Ocena: 792
    Czyli uwazasz ograniczenie 25km/ h za niesłuszne ?
  • #50 18569281
    Konto nie istnieje
    Poziom 1  
  • REKLAMA
  • #51 18569299
    yogi009
    Poziom 43  
    Posty: 14691
    Pomógł: 848
    Ocena: 2649
    Awyrdonyt napisał:
    Przekonał się o tym boleśnie jeden amator szybkiej jazdy. Przy 50 km/h hamulce rowerowe są bezużyteczne.


    To wszystko prawda, nikt nie namawia do wyprzedzania samochodów. A co do przestrogi, najlepiej na wyobraźnię działają zdjęcia. Także zamieszczaj fotki.
  • #52 18569364
    Zbigniew 400
    Poziom 38  
    Posty: 4356
    Pomógł: 283
    Ocena: 792
    I szkolenie z praw fizyki bo poziom jest tragiczny.
  • #53 18601624
    yogi009
    Poziom 43  
    Posty: 14691
    Pomógł: 848
    Ocena: 2649
    Też mam ten octalink. Jakoś cudem zmieściłem dziś ten czujnik kosztem wywalenia najmniejszej przekładni. No i niby wszystko zadziałało, jest schowane pod korbą, czyli bezpieczne, ale... wspomaganie działa także przy kręceniu korbą do tyłu. Okazuje się, że PAS wysyła "prostokąt" przy obu kierunkach obrotu. Ja to już wcześniej widziałem, przyrząd pokazał mi prostokąt z wypełnieniem 42% (do przodu) i 48% (do tyłu). Niemniej jakaś pomroczność jasna musiała mi zaciemnić logiczny obraz sytuacji. Na poniższym obrazku mamy trzy rodzaje przebiegów produkowanych przez te czujniki obrotu:

    Układ z czujnikiem Halla do wykrywania jednokierunkowego obrotu

    Wynika z tego, że i ja i Sławek mamy ten drugi typ czujnika PAS. Teraz pytanko kontrolne: czy widzicie prosty kod na Attiny13, który przy zmiennej prędkości obrotu odróżniłby tą niewielką różnicę w wypełnieniu prostokąta? Bazujemy tylko na jednym sygnale. Taki mały moduł załatwiłby sprawę. W przeciwnym wypadku pozostaje zbudować sobie czujnik z dwoma Hall'ami i logiką na Attiny13.
  • #54 18601659
    _jta_
    Specjalista elektronik
    Posty: 48877
    Pomógł: 3200
    Ocena: 4199
    Jest taka kwestia, że przy zmienianiu kierunku impuls (bądź przerwa) może być znacznie dłuższy, niż przy kręceniu w którąkolwiek stronę. Wypadałoby sprawdzać, że np. przerwa między dwoma impulsami jest albo poniżej, albo powyżej 5/4 każdego z nich (wtedy można określić kierunek obrotu), a jak jest poniżej 5/4 jednego, a powyżej 5/4 drugiego, to kierunek jest nieokreślony.
  • #55 18601670
    yogi009
    Poziom 43  
    Posty: 14691
    Pomógł: 848
    Ocena: 2649
    _jta_ napisał:
    Jest taka kwestia, że przy zmienianiu kierunku impuls (bądź przerwa) może być znacznie dłuższy, niż przy kręceniu w którąkolwiek stronę.


    Dlatego soft powinien w pierwszym kroku oczytać bieżącą częstotliwość, a następnie określić, czy mamy większe, czy mniejsze wypełnienie. Generalnie te dwa etapy powinny się "kręcić" w pętli...

    Teoretycznie można inaczej rozmieścić magnesy (niesymetrycznie), wtedy po prostu zmieni się kod wyjściowy. Jednak mam już mechanicznie wszystko ładnie wykonane, wolałbym ew. zrobić mały moduł wpinany między wyjście czujnika PAS, a wejście kontrolera. Zasilanie modułu będzie z linii 5V, tu wszystko pasuje.

    To jest zresztą opisane:

    "Istnieje wariant tego 1-przewodowego czujnika, który pulsuje zarówno z obrotem do przodu, jak i do tyłu, ale szerokość impulsu zmienia się między nimi. Na przykład obrót do przodu może mieć długi stan WYSOKI i krótki stan NISKI, podczas gdy pedałowanie do tyłu jest odwrócone. Układ sterowania musi być zaprogramowany do rozpoznawania na podstawie względnej szerokości impulsu, jeśli jest to kierunek pedału do przodu lub do tyłu i reaguje tylko odpowiednio. Wymaga również wykrycia kilku impulsów, zanim będzie w stanie pozytywnie zidentyfikować kierunek do przodu lub do tyłu, więc normalnie wystąpiłoby nieco dłuższe opóźnienie przed uruchomieniem zasilania PAS."

    Źródło: https://www.ebikes.ca/learn/pedal-assist.html
  • #56 18602005
    _jta_
    Specjalista elektronik
    Posty: 48877
    Pomógł: 3200
    Ocena: 4199
    yogi009 napisał:
    Dlatego soft powinien w pierwszym kroku oczytać bieżącą częstotliwość, a następnie określić, czy mamy większe, czy mniejsze wypełnienie.

    Przesada z dzieleniem na kroki. Trzeba sprawdzać czasy co najmniej dwóch impulsów i przerwy, i czy dają zgodny kierunek, jak napisałem w #54. I to już spowoduje, że do wykrycia kierunku trzeba będzie kręcić ze stałą prędkością - zmienna powoduje, że czasy kolejnych impulsów są różne, i ich czasy nie pozwalają na określenie kierunku obrotów - układ wspomagania nie może działać.

    A jak spróbujesz wyliczyć częstotliwość, a potem mierzyć czas impulsu, bądź przerwy, i częstotliwość się zmieni, to dostaniesz fałszywy wynik. Nawet mierząc dwa czasy między trzema kolejnymi zboczami (L->H, t1, H->L, t2, L->H) dostaniesz fałszywy wynik, jeśli w tym czasie prędkość się zmienia. Dużo lepszy wynik da pomiar trzech czasów między czterema zboczami (L->H, t1, H->L, t2, L->H, t3, H->L): jeśli t1<t2 i t2>t3, to czas przerwy (L) jest większy; jeśli t1>t2 i t2<t3, to czas impulsu (H) jest większy; a przy t1<t2<t3, bądź t1>t2>t3 nie wiadomo. Bardziej zaawansowany algorytm mógłby brać sześć kolejnych zboczy i dopasowywać do zmierzonych pięciu czasów liniową zmianę prędkości w czasie.
  • #57 18602390
    yogi009
    Poziom 43  
    Posty: 14691
    Pomógł: 848
    Ocena: 2649
    Jest 12 magnesów, więc można te 3-4 przeznaczyć na "podjęcie decyzji" co do wspomagania. Tak sobie myślę, że algorytm mógłby brać pod uwagę np. 4 ostatnie pełne okresy porównując czasy stanów wysokich i niskich i wyciągać z nich średnią. I tak po każdym kolejnym impulsie, ostatnie 4 pomiary do uśrednienia. Wtedy minimalizujemy prawdopodobieństwo wystąpienia błędu. Oczywiście 4 pierwsze impulsy (1/3 obrotu) są "stracone" jeśli chodzi o wspomaganie.
  • #58 18602955
    Slawek K.
    Poziom 35  
    Posty: 3020
    Pomógł: 259
    Ocena: 1301
    Ale wtedy rozdzielczość wspomagania jest niska (3 impulsy na obrót) i to jest mało komfortowe które objawia się niepłynnym (skokowym) wspomaganiem i szarpaniem.

    Pozdr
  • #59 18603067
    yogi009
    Poziom 43  
    Posty: 14691
    Pomógł: 848
    Ocena: 2649
    Slawek K. napisał:
    Ale wtedy rozdzielczość wspomagania jest niska (3 impulsy na obrót)


    Chyba nie. Pomysł polega na tym, żeby rejestrować kolejne impulsy i po czwartym wyciągać średnie wartości dla stanu High i Low. Czyli w pierwszym cyklu średnia dotyczy impulsów 1-4, w następnym 2-5, potem odpowiednio 3-6, 4-7, itd. To na razie idea fix :-)

    Pewnie zaraz się okaże, że prościej będzie wykonać czujnik na dwóch Hall'ach i układ z kodem Gray'a.
  • #60 18607390
    yogi009
    Poziom 43  
    Posty: 14691
    Pomógł: 848
    Ocena: 2649
    Pomyślałem przed chwilą, że jest jeszcze inna metoda analizy szerokości stanu High i Low. Załóżmy, że pełny okres to u nas od jednego początku narastania zbocza, do kolejnego początku. Należałoby wykrywać zbocza narastające i opadające. Po upłynięciu jednego pełnego okresu "zbocze narastające - stan high - zbocze opadające - stan low" można porównać czas trwania stanu High i Low. W tym wypadku chyba nie będzie wielkiego opóźnienia, zakładając dużą różnicę w czasie trwania tych stanów można dość szybko określić kierunek obrotu.

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.
Wygenerowane przez model językowy.
REKLAMA