Wpis z mikrobloga

Siema Murki ( ͡° ͜ʖ ͡°) Czy ktoś z was korzysta z POWODZENIEM z enkoderów inkrementalnych (optycznych) od naszych chińskich przyjaciół na ESP32? Ja mam ciągle problem z zakłóceniami które powodują nierówną liczbę zliczanych impulsów ( ͡° ʖ̯ ͡°) Przynajmniej tak mi się wydaje że to przez to. Generalnie próbowałem już dużej ilość bibliotek ale nic z tego. Ma ktoś z nimi doświadczenie lub przerabiał podobny problem? Kodu nie wstawiam bo to nie jego wina - na dużooo droższym enkoderze działa to super ;)
#esp #esp32 #elektronikadiy
irf540n - Siema Murki ( ͡° ͜ʖ ͡°) Czy ktoś z was korzysta z POWODZENIEM z enkoderów i...

źródło: Zrzut ekranu 2024-03-20 o 09.55.57

Pobierz
  • 11
  • Odpowiedz
Ja mam ciągle problem z zakłóceniami które powodują nierówną liczbę zliczanych impulsów


A sprawdziłeś czy masz większe błędy jak zmieniasz kierunek ruchu w porównaniu z kręceniem w jednym kierunku?
  • Odpowiedz
@irf540n używam ich z powodzeniem, identycznych, w cnc, jakby mi choć raz krok zgubiło to bym miał layer shift i by było widać błąd. Ale nie wprost do esp32.

swoją drogą esp32 słabo do tego się nadaje przy dużych obrotach, bo tam gpio i irq i time critical sprawdzanie stanu pinów jest problematyczne, z tego co kojarzę.
Podłącz oscyloskop i zobacz przebiegi oba, czy ci styki nie dzwonią, czy nie trzeba małych
  • Odpowiedz
  • 0
@hrumque: Zacznę od końca. Spinam je poprzez optoizolatory - dość szybkie, 6n135. Kurde właśnie nie spodziewałbym się drgania styków w enkoderze który ma być niby optyczny ale kto wie, sprawdzę. Projekt dalej rozwijam i zdecydowanie odejdę od ESP32 na rzecz jakiegoś stm. ESP32 jest bardzo fajne do prototypowania ale im dalej w las tym więcej by się chciało a nie wszystko się da. Szkoda że się o tym przekonałem o tym
  • Odpowiedz
@irf540n: słowo klucz: debouncing.
BTW, na grzyba do enkodera ci optoizolacja? Masz go wyniesionego gdzieś na długich przewodach? Bo to chyba jedyny przypadek, gdy była by wskazana i wtedy tym bardziej debouncing niezbędny.
  • Odpowiedz
  • 0
@Jarek_P: Zgadza się, czasami przewody mogą mieć nawet 15m do enkodera XD Pewnie jakiś kondensatorek ceramiczny przydałoby się wstawić między sygnał A/B i masę. Tylko pewnie jego wartość będzie zależeć od prędkości. Mam pod ręką 100nF, wstawię i zobaczę.
  • Odpowiedz
@irf540n: kondensator nie zaszkodzi, ale debouncing najskuteczniej robi się programowo. Nie wiem, w czym tworzysz soft, ale chyba we wszystkich sensownych językach do IoT masz do tego gotowce, nawet nie musisz na piechotę robić.
  • Odpowiedz
  • 1
@Jarek_P: @hrumque @zetisdead @wiecejszatana W sumie to była wina kodu i jednak nie sprawdziłem wszystkich bibliotek ( ͡° ͜ʖ ͡°) U mnie z powodzeniem działa ta: https://github.com/madhephaestus/ESP32Encoder/tree/master Dodatkowo ustawiłem opcję filtrowania impulsów (setFilter(500, domyślnie jest 250). Należy jednak wczytać się w dokumentację żeby zrozumieć co to 500 faktycznie oznacza. Niemniej jednak zamówiłem u pana chińczyka oscyloskop żeby sobie podejrzeć sygnały w różnych środowiskach i z
  • Odpowiedz