Walka z kiepskimi enkoderami

Czy ma ktoś jakieś tajemnicze sposoby na obsługę kiepskich enkoderów? Metodę ich zmiany na niekiepskie oczywiście znam :) Chodzi mi o enkodery mechaniczne, niskorozdzielcze, stwarzające głównie problemy przy lekkim poruszaniu (drganiu) - potrafią wypluć serię impulsów w losowym kierunku. Dzielenie już i tak kiepskiej rozdzielczości odpada, wprowadzanie histerezy również jak też znaczące ograniczenie częstotliwości pracy. Obsługa w asemblerze, ale nie ma znaczenia, szukam algorytmów, może o czymś nie wiem.

Drugie pytanie - gdzie kupić niekiepskie i niedrogie? (~5zł za sztukę, proste - z przesuniętą fazą, a nie dekoderem kierunku). Zastanawiam się nawet nad odzyskiem optyki z myszy kulkowych, chyba jeszcze można dostać, parę złotych za trzy niezawodne układy, tylko trzeba to jakoś zaadaptować mechanicznie. Może ktoś się bawił?

Reply to
Janko Muzykant
Loading thread data ...

Użytkownik "Janko Muzykant" napisał

Kwadraturowe ?

Jesli to kwestia drgan na zboczach, to nie powinienes miec problemu - powinno to byc +/- 1 krok.

Jesli jest tak ze na zboczu jednego drugi tez sie zmienia ... to przy pozostalych wymogach pozostaje zmiana na niekiepskie :-)

Mozna by sie jeszcze pobawic w filtrowanie krotkich impulsow (kondensatorem ? :-) i dopiero jak stan bitu jest stabilny to go uznajemy i kierujemy do dekodera kwadraturowego, ale to juz spowolni prace.

J.

Reply to
J.F

Użytkownik "Janko Muzykant" snipped-for-privacy@wp.pl napisał w wiadomości news:4ef98bd3$0$1449$ snipped-for-privacy@news.neostrada.pl...

Ja próbowałem po przeczytaniu tego:

formatting link
tym, że ja użyłem dużego potencjometru, kólko z myszy umieściłem bezpośrednio na ośce i prawie wszystkie bebechy zmieściły mi się w środku. pozdrawiam, Andrzej. PS. Te inne rozwiązania (z silnika krokowego) też póbowałem, ale amplituda przebiegu silnie zależy od szybkości kręcenia.

Reply to
Andrzej

W dniu 2011-12-27 10:49, J.F pisze:

Otóż to, niestety.

Popróbuję. Ale chyba cudów nie ma :)

Reply to
Janko Muzykant

Użytkownik "Janko Muzykant" napisał w wiadomości W dniu 2011-12-27 10:49, J.F pisze:

Proponuje zaczac od zapisania tego i obejrzenia jak to wyglada przy powolnym i szybkim kreceniu (oscyloskop cyfrowy, albo jakies cyfrowe wejscie do peceta). Wtedy bedzie mozna zdecydowac do dalej.

J.

Reply to
J.F

Masz na myśli takie śmieci?

formatting link
Na początek dodałem pojemności przy samych wyprowadzeniach enkodera.
formatting link
Uzyskałem pewniejsze "zero" i mniejszą sieczkę, za której obróbkę zabrałem się przy pomocy kodu. Ponieważ te enkodery potrafią się cofnąć o pół taktu przy puszczaniu gałki, stworzyłem sobie tablicę wszystkich możliwych zmian stanów na 2 hopy do przodu (N, N-1, N-2) i ponadawałem im wartości +1/-1 dla przejść dozwolonych oraz 0 dla zabronionych. Straciłem trochę na czułości przy pierwszym cyknięciu, ale na pewno działa pewniej niż przy samym porównywaniu stanu N i N-1. Tylko tyle mi przyszło do głowy, a siedziałem dość długo wzywając Imię Kobiety Upadłej podczas szukania rozwiązania problemu.

Dołączam się do pytania. I najlepiej, żeby nie cykały głośno. Kupiłem chyba 12 tych tanich enkoderów i jakoś nie mam ochoty ich już nigdzie użyć. Paskudne są.

Reply to
Marcin Kulas

Dnia Tue, 27 Dec 2011 13:23:08 +0100, Andrzej napisał(a):

Enkoder inkrementalny można też zbudować z silnika typu BLDC ale nie wykorzystując w tym celu jego uzwojeń. Montując w odpowiednim miejscu względem wirnika hallotrony z wyjściem dwustanowym otrzymuje się dwa sygnały prostokątne przesunięte o 90 st. Opis był jakiś czas temu w EdW.

Reply to
badworm

W dniu 2011-12-27 16:30, Marcin Kulas pisze:

Nie może być dziura po zmianie kierunku, histerezy przy tak marnej rozdzielczości wsadzać nie będę. Ale wsadziłem pojemności (100nF) plus drabinki, by obniżyć rezystancję całości (10k) i jest... no, jeden musiałem wymienić na czternaście - reszta daje radę. Oscylogram jest czysty, przedtem nawet na żywo widać było kulawy płotek.

Robię sobie kolejny projekt midi (z serii z mojej strony) i wyszedłem z założenia, że ci, co będą chcieli sobie taki zrobić, użyją najczęściej enkoderów za trzy złote z allegro. Jeśli na takich to zadziała, na każdych innych również.

Reply to
Janko Muzykant

W dniu 2011-12-27 23:07, badworm pisze:

Jeden - okej, choć można się już na optyczny fabryczny szarpnąć. Ale tuzin tak dziergać...

Reply to
Janko Muzykant

W dniu 2011-12-27 10:11, Janko Muzykant pisze:

Może te kody pomogą:

formatting link
Mnie kiepskie już wkurzyły. Nie lubię urządzeń, w których nastawa przeskakuje inaczej niż grzechotka albo nie mogę za szybko kręcić. Kupiłem 3x drożej Bourns i jak ręką odjął. Na styki (do masy) zakładam

100nF, podciąganie około 3k3.

Michał

Reply to
Michał Lankosz

W dniu 2011-12-29 22:03, Michał Lankosz pisze:

Fajne przemyślenia. Trzymam się jednak dość prostego algorytmu, w przypadku przeciętnych enkoderów i lepszych daje radę bez problemu, w przypadku kiepskich filtr rc praktycznie likwiduje problemy. Puszczony w pętli o częstotliwości zależnej od maksymalnej oczekiwanej szybkości (przy profi optyku o rozdzielczości ok. 200 impulsów na obrót potrzeba już dobrych kiloherców). Może się komuś przyda, w asemblerze 51:

mov c, aktualny_stan_pierwszego_wyjscia_enkodera mov poprzedni_stan_pierwszego_wyjscia_enkodera, c mov c, pierwsze_wyjscie_enkodera mov aktualny_stan_pierwszego_wyjscia_enkodera, c anl c, /poprzedni_stan_pierwszego_wyjscia_enkodera jnc koniec_obslugi_enkodera

mov c, drugie_wyjscie_enkodera jnc zmniejsz_wartosc

inc wartosc_enkodera sjmp koniec_obslugi_enkodera

zmniejsz_wartosc: dec wartosc_enkodera

koniec_obslugi_enkodera:

Reply to
Janko Muzykant

W dniu 2011-12-27 10:11, Janko Muzykant pisze:

Ja tam nie wiem, używałem dziadowskich i bournsa, i na dziadowskich oczywiście kondensatory do masy na obu wyprowadzeniach oraz _mniejsze_ R-pull-up (np 1k) - co prawda energooszczędność cierpi, ale przy większych prądach lepiej działały. No i sam sposób podłączenia do uC - ja staram się zawsze robić tak, że jedno wyprowadzenie enkodera generują mi /IRQ, a w obsłudze tego przerwania sprawdzam 'drugą' stronę, czy ma 1 czy 0 - przez to wiem w którą stronę kręcę, i wyłączam działanie /IRQ na pewien czas, sensowny dla przyjętej prędkości kręcenia gałką. Nawet jak są śmieci później na sygnale, bo słabo enkoder do masy zwiera (co RC ładnie filtruje), to "pierwsze wyzwolenie" jest przeważnie ok, w najgorszym wypadku ten krok jest "nie w tą stronę" ale nie ma wielokrotnych przeskoków.

Reply to
BartekK

W dniu 2011-12-31 12:33, zapinio pisze:

Ciekawa filozofia, idźmy dalej. Załóżmy nieskończenie kiepski enkoder czyli... brak enkodera. Rozumiem, że nieskończenie dobry programista potrafi go oprogramować.

A tak serio, czasami lepiej nie pisać, zanim się nie pomyśli. A problemy natury programistycznej najlepiej zacząć rozwiązywać od ustawienia poprawnego kodowania :)

Reply to
Janko Muzykant

Nikt nie wspomina o napięciu a IMHO przy 12V będzie znacznie lepiej działał niż przy 3,3 - 5V mimo dobrania większych rezystorów i podobnego prądu.

Mirek.

Reply to
Mirek

Janko Muzykant napisał:

czyli można go nazwać, używając słów delikatnych, enkoderem ekskrementalnym.

Historia ewolucji myszy pokazuje, że tak może być. Enkodery z nich zniknęły, oprogramowanie się rozwinęło, a myszy radzą sobie coraz lepiej.

Reply to
Jarosław Sokołowski

W dniu 2011-12-31 14:58, Jarosław Sokołowski pisze:

Historia rozwoju transportu pokazała, że parowozy zniknęły, a jeździ się coraz lepiej (w każdym razie w normalnych krajach). Ale pytanie brzmiało: jak używać kiepskiego parowozu, a nie jak nie używać :)

Reply to
Janko Muzykant

W dniu 2011-12-31 14:42, Mirek pisze:

A to dość odważna teoria... Poza tym, że mocno kłopotliwa.

Reply to
Janko Muzykant

Janko Muzykant napisał:

Historia rozwoju i upadku parowozów pokazuje, jak niewielki miała wpływ na jakość transportu w ogóle. Zamiana napędu parowego na inny, nie była żadnym przełomem dla kolejnictwa (obserwowanego z pozycji pasażera, nie kolejarza).

Na pytanie "jak używać" można odpowiedzieć "nie używać" -- to też jest metoda walki. I to jest dobra odpowiedź, jeśli za kiepski parowóz uznamy ekskrementalny enkoder kupiony za pieniądze, do którego następnie trzeba (za darmo) dopisać czort wie ile oprogramowania. W takiej sytuacji może faktycznie lepiej zrobić enkoder ze szprychy rowerowej i szpulki od nici (w każdym domu znajdzie się niepotrzebna szpukla od nici, więc będzie za darmo). A do tego przysposobić szczytowe osiągnięcie mysiej ewolucji -- w myszach z nieskonczenie kiepskm (nieistniejącym) enkoderem jest soft, który potrafi bezbłędnie cykać impulsami w jedną i w drugą stronę już od samego patrzenia na obracającą się szpulkę.

Reply to
Jarosław Sokołowski

W dniu 2011-12-31 18:03, Jarosław Sokołowski pisze:

Piękna filozofia, a teraz poproszę, nazwijmy już po imieniu, enkodera optycznego za 3zł.

Reply to
Janko Muzykant

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.