Skocz do zawartości

Kurs STM32L4 – #8 – liczniki sprzętowe (PWM, enkoder)


Pomocna odpowiedź

Otóż nie 🙂 ale mam (wydaje mi się) taki sam, przynajmniej z wyglądu. Czy to nie oznacza, że również użytkownicy zestawów mogą natrafić na różne enkodery?

Link to post
Share on other sites

@rafal132 wydaje mi się, że Twój moduł jest po prostu inny - podobieństwo z wyglądu to nie wszystko, może jeszcze działać w inny sposób. Ciężko teraz analizować tę sprawę w teorii. Wrócimy do tematu niedługo, gdy zweryfikujemy to w praktyce i będzie pewność co do sposobu działania różnych modułów tego typu.

Link to post
Share on other sites

To jest dość istotna informacja, generalnie mój działa zgodnie ze schematem w nocie aplikacyjnej, nie mogę sobie wyobrazić w jaki sposób miałby działać inaczej.  Spodziewałem się raczej, że to wina Cuba. Niemniej jednak bardzo interesująca zagadka, czekam na odpowiedź.

Link to post
Share on other sites
28 minut temu, rafal132 napisał:

To jest dość istotna informacja, generalnie mój działa zgodnie ze schematem w nocie aplikacyjnej, nie mogę sobie wyobrazić w jaki sposób miałby działać inaczej. 

@rafal132 udało nam się częściowo już rozwikłać tę zagadkę. Faktycznie występują 2 różne enkodery, które wyglądają praktycznie identycznie i mogą czasami pojawiać się u dostawców zamiennie, a działają jednak inaczej. Pisząc w największym skrócie: w przypadku pierwszego typu enkoderów każde przejście do stałej pozycji (jeden "klik") to pół okresu sygnału, a w przypadku drugiego typu enkoderów, każde przejście do stałej pozycji (jeden "klik") to cały okres sygnału. W efekcie (przy tym samym programie) po podłączeniu jednego enkodera uzyskamy zmianę wartości wskazań o 1, a po podłączeniu drugiego enkodera, każdy klik będzie zwiększał wskazania licznika o 2. Żaden z enkoderów nie jest gorszy - każdy ma swoje zalety, ale (jak widać) wprowadza to trochę zamieszania. Badamy właśnie temat bardziej szczegółowo - więcej informacji jeszcze dziś 🙂 

  • Lubię! 1
Link to post
Share on other sites
Zarejestruj się lub zaloguj, aby ukryć tę reklamę.
Zarejestruj się lub zaloguj, aby ukryć tę reklamę.

jlcpcb.jpg

jlcpcb.jpg

Produkcja i montaż PCB - wybierz sprawdzone PCBWay!
   • Darmowe płytki dla studentów i projektów non-profit
   • Tylko 5$ za 10 prototypów PCB w 24 godziny
   • Usługa projektowania PCB na zlecenie
   • Montaż PCB od 30$ + bezpłatna dostawa i szablony
   • Darmowe narzędzie do podglądu plików Gerber
Zobacz również » Film z fabryki PCBWay

Niespodzianki się zdarzają i czasem nawet praktycznie identyczne elementy mogą działać inaczej (nawet do tego stopnia, że mylą się dostawcy). W każdym razie dzięki czujności kolegi @rafal132 wiemy już, że dwa prawie identyczne enkodery mogą się bardzo różnić. W ramach poznawania naszego enkodera podłączaliśmy do niego diody w akapicie "Obsługa enkodera obrotowego". To ćwiczenie okazało się o wiele ważniejsze niż myśleliśmy, więc spróbujmy omówić je dokładniej.

Zanim podłączymy nasz enkoder, warto wykonać jeszcze jedno, bardzo oczywiste ćwiczenie - policzyć ile "kliknięć" składa się na pełny obrót osi naszego enkodera. Jak można się domyślać, nie wszystkie enkodery na świecie mają tyle samo impulsów na obrót, w naszym przypadku już tutaj będzie widać różnicę: jeden enkoder ma 20 "kliknięć" na obrót, a drugi 30.

Teraz warto podłączyć diody i postępować tak jak opisaliśmy w ćwiczeniu, czyli obracać powoli osią i obserwować stany na wyjściu. Stan wysoki będzie sygnalizowany świeceniem diody, a ja wstawię wykresy zebrane analizatorem logicznym aby zilustrować działanie układu. W przypadku enkodera z 20 kliknięciami na obrót, jeden "klik" wygląda następująco:

enc01.thumb.png.cd2377da54d1dbb45c46211bdfd321be.png

Czyli nasze diody wyłączają się na moment, a w kolejnym stabilnym położeniu enkodera świecą ponownie. Jeśli będziemy obracać oś bardzo powoli zobaczymy, że momenty wyłączania i włączania są nieco przesunięte. Drugi enkoder zachowuje się natomiast nieco inaczej. Przy obrocie o jeden klik diody się wyłączają:

enc02a.thumb.png.49054f4376e5c77ef3594bfdf2f9e6e7.png

A obrót o kolejne "kliknięcie" ponownie je włącza:

enc02b.thumb.png.7d7f78914c1ecf196e90f706cd00a320.png

Więc wykonanie obrotu o dwa kliknięcia daje efekt taki sam jak o jeden w pierwszym modelu enkodera:

enc02c.thumb.png.c39f45c770a04aadff18d1a1f8f146ef.png

Różnica jest więc taka, że w przypadku jednego enkodera mamy stabilny stan z zapalonymi diodami i przełączanie do następnego daje tylko krótkie mrugnięcie, a w drugim oba stany są stabilne i łatwiej jest obserwować działanie enkodera przy użyciu diod. Warto jednak podkreślić, że oba enkodery działają tak samo - chociaż kliknięcia generują nieco inne przebiegi sygnału, a i liczba samych kliknięć na pełny obrót jest nieco inna.

W ostatnim ćwiczeniu ustawialiśmy parametr "Counter Period" na 39, co działało poprawnie z enkoderem o 20 "klikach" na obrót, natomiast osoby używające enkodera z 30 kliknięciami, powinny zmienić wartość na 29. Tutaj pojawia się kolejna ciekawostka. Tryb pracy enkodera używany w naszych ćwiczeniach zlicza oba zbocza, czyli zbocze opadające i narastające sygnału na wejściu pinie PA6. Pierwszy z naszych enkoderów generuje dwa zbocza na każde kliknięcie: najpierw mamy zbocze opadające (dioda gaśnie), a po chwili narastające (i dioda się zapala). Dlatego jeden klik zmienia wartość licznika o 2, a pełny obrót (20 kliknięć) o 40.

Drugi enkoder generuje tylko jedno zbocze na każdy "klik", raz będzie to zbocze opadające, a następnym razem narastające. To sprawia, że wartość licznika zmieniana jest o 1 po każdym kliku. A skoro na pełny obrót przypada 30 klików, więc i wartość licznika zmienia się o 30.

Chcieliśmy pokazać przykład podłączenia enkodera jako proste i miłe ćwiczenie na koniec dość trudnego odcinka, a wyszło jak zwykle, czyli rzeczy najprostsze okazały się podchwytliwe.

Link to post
Share on other sites

@Elvis dokładnie wyjaśnił temat wyżej, a ja zleciłem już sprawdzenie enkoderów, które są w zestawach (bo mogą być dosłownie wymieszane, bo nawet dostawcy ich nie rozróżniają). Warto jednak pamiętać, że oba enkodery działają poprawnie - w najgorszym przypadku trzeba rozpoznać (ćwiczeniem z diodami), którą wersję enkodera mamy przed sobą, aby dobrać odpowiednią liczbę impulsów na jeden obrót. Niedługo dodam odpowiednią adnotację do kursu, ale komentarze oczywiście zostawiam, bo jest tu szerszy opis tego tematu. Warto o tym pamiętać (nie tylko w kontekście kursu), bo jak widać, takie różnice mogą sporo namieszać w różnych projektach 😉

Czyli reasumując: problem opisany przez @rafal132 wynikał z tego, że korzystał on z innego typu enkodera niż my, a przy okazji naprowadziło nas to na trop, że te enkodery są jednak różne, a część dostawców traktuje je błędnie jako zamienniki 😉 Mam nadzieję, że nikt kto posiadał nasz zestaw nie miał żadnych problemów z ćwiczeniami, ale jeszcze dokładnie zweryfikujemy ten temat i naniesiemy odpowiednią adnotację na blogu.

Link to post
Share on other sites
4 godziny temu, Elvis napisał:

W ostatnim ćwiczeniu ustawialiśmy parametr "Counter Period" na 39, co działało poprawnie z enkoderem o 20 "klikach" na obrót, natomiast osoby używające enkodera z 30 kliknięciami, powinny zmienić wartość na 29. Tutaj pojawia się kolejna ciekawostka. Tryb pracy enkodera używany w naszych ćwiczeniach zlicza oba zbocza, czyli zbocze opadające i narastające sygnału na wejściu pinie PA6. Pierwszy z naszych enkoderów generuje dwa zbocza na każde kliknięcie: najpierw mamy zbocze opadające (dioda gaśnie), a po chwili narastające (i dioda się zapala). Dlatego jeden klik zmienia wartość licznika o 2, a pełny obrót (20 kliknięć) o 40.

Drugi enkoder generuje tylko jedno zbocze na każdy "klik", raz będzie to zbocze opadające, a następnym razem narastające. To sprawia, że wartość licznika zmieniana jest o 1 po każdym kliku. A skoro na pełny obrót przypada 30 klików, więc i wartość licznika zmienia się o 30.

Z tego wynika, że w kursie jest używany enkoder z 20 klikami typu "zmiana licznika o 2 na każdy klik", tak?

Link to post
Share on other sites

Tak jak już pisałem - weryfikujemy ten temat, aby mieć pewności, że nasz dostawca też nie pomylił się w kwestii tych enkoderów. Naniosę odpowiednią informację do kursu, gdy tylko będzie to pewne. Jeśli ktoś jednak otrzymał enkoder o innej rozdzielczości to może zmienić wartość w programie zgodnie z tym co napisał Elvis.

Link to post
Share on other sites

Dołącz do dyskusji, napisz odpowiedź!

Jeśli masz już konto to zaloguj się teraz, aby opublikować wiadomość jako Ty. Możesz też napisać teraz i zarejestrować się później.
Uwaga: wgrywanie zdjęć i załączników dostępne jest po zalogowaniu!

Anonim
Dołącz do dyskusji! Kliknij i zacznij pisać...

×   Wklejony jako tekst z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Twój link będzie automatycznie osadzony.   Wyświetlać jako link

×   Twoja poprzednia zawartość została przywrócona.   Wyczyść edytor

×   Nie możesz wkleić zdjęć bezpośrednio. Prześlij lub wstaw obrazy z adresu URL.

×
×
  • Utwórz nowe...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.