Prośba o wykonanie testu enkodera.

To nie jest miejsce tylko dla początkujących, wszyscy jesteśmy w czymś początkujący i wymieniamy się doświadczeniami.
Awatar użytkownika
Antystatyczny
Geek
Geek
Posty: 1168
Rejestracja: czwartek 03 wrz 2015, 22:02

Prośba o wykonanie testu enkodera.

Postautor: Antystatyczny » wtorek 31 sty 2017, 13:49

Cześć.

Mam pewną zagwozdkę i proszę, by ktoś z cyfrowym oscyloskopem sprawdził, która z poniższych wersji lepiej nadaje się do stosowania przy enkoderze inkrementalnym. Jedna z wersji jest propozycją Mirka Kardasia, druga wprost z dokumentacji enkodera.

A tutaj wrzucam schemaciki obu wersji:

lpf.png


Gdyby komuś się chciało sklecić pojedynczy kanał obu wersji tych filtrów i sprawdzić na oscyloskopie...

Dlaczego chcę sprawdzić, który lepszy? Ano tylko dlatego, bo wersja B ma o dwa elementy mniej i zawsze trochę łatwiej jest rozmieścić elementy na płytce.

Pozdrawiam.
Nie masz wymaganych uprawnień, aby zobaczyć pliki załączone do tego posta.
"The true sign of intelligence is not knowledge but imagination" Albert Einstein.

Awatar użytkownika
tasza
Geek
Geek
Posty: 1082
Rejestracja: czwartek 12 sty 2017, 10:24
Kontaktowanie:

Re: Prośba o wykonanie testu.

Postautor: tasza » wtorek 31 sty 2017, 14:59

Ja przepraszam, że nieco offtopic, ale czy jesteś pewien, ze chcesz walczyć z drganiami filtrem RC?
Debouncing można zrealizować czysto programowo (jeden kanał wyzwala sprzętowe przerwanie /to, że może polecieć seria wynikająca z drgań - nie przeszkadza/, stan logiczny na drugim kanale jest badany po czasie jaki przyjmiemy, że drgania niby ustały, a czas ten mierzymy od przerwania właśnie, do ustalenia doświadczalnie i jako łatwo poprawialny const w programie) i to wszystko.
Ja się już kiedyś przewiozłam strasznie na takim wyklikanym enkoderze z wylutu, takie harce na oscyloskopie styki robiły że o matko... no chyba że robisz coś na zwykłych cyfrowych kostkach...bardzo to pilne jest?
______________________________________________ ____ ___ __ _ _ _ _
Kończysz tworzyć dopiero, gdy umierasz. (Marina Abramović)

Awatar użytkownika
Antystatyczny
Geek
Geek
Posty: 1168
Rejestracja: czwartek 03 wrz 2015, 22:02

Re: Prośba o wykonanie testu.

Postautor: Antystatyczny » wtorek 31 sty 2017, 15:05

Nie jest pilne, choć jest to element, którym właśnie się zajmuję. Generalnie program w miarę kulturalnie reaguje na pracę enkodera, ale czasami widać, że się pomyli. Obecnie nie mam żadnego filtra w układzie - po prostu gołe druty idą do MCU. Program sprawdza położenie enkodera z częstotliwością 200Hz i nie korzysta z przerwania INT. Częstotliwość zmian położenia enkodera nie powinna przekraczać kilkunastu Hz, bo wykorzystywany jest jedynie do ręcznego ustawiania godzin, minut itp. w budziku.
"The true sign of intelligence is not knowledge but imagination" Albert Einstein.

Awatar użytkownika
tasza
Geek
Geek
Posty: 1082
Rejestracja: czwartek 12 sty 2017, 10:24
Kontaktowanie:

Re: Prośba o wykonanie testu.

Postautor: tasza » wtorek 31 sty 2017, 16:52

Antystatyczny pisze:Nie jest pilne, choć jest to element, którym właśnie się zajmuję.

no czyli jest pilne....grepuję swoje szpargały, miałam przykład jak z tym walczyć, ale jak potrzebne to akurat nie widzę....słuchaj, a może wystaw mi kod źródłowy, ale całość, może uda się coś wydumać, chce spróbować, na priv albo na e-mail, jak wolisz
______________________________________________ ____ ___ __ _ _ _ _
Kończysz tworzyć dopiero, gdy umierasz. (Marina Abramović)

Awatar użytkownika
Antystatyczny
Geek
Geek
Posty: 1168
Rejestracja: czwartek 03 wrz 2015, 22:02

Re: Prośba o wykonanie testu.

Postautor: Antystatyczny » wtorek 31 sty 2017, 17:07

Ok, za chwilę się tym zajmę.
"The true sign of intelligence is not knowledge but imagination" Albert Einstein.

Awatar użytkownika
Antystatyczny
Geek
Geek
Posty: 1168
Rejestracja: czwartek 03 wrz 2015, 22:02

Re: Prośba o wykonanie testu.

Postautor: Antystatyczny » wtorek 31 sty 2017, 17:39

Projekt w eclipse:
Budzik.zip
Nie masz wymaganych uprawnień, aby zobaczyć pliki załączone do tego posta.
"The true sign of intelligence is not knowledge but imagination" Albert Einstein.

Awatar użytkownika
tasza
Geek
Geek
Posty: 1082
Rejestracja: czwartek 12 sty 2017, 10:24
Kontaktowanie:

Re: Prośba o wykonanie testu.

Postautor: tasza » wtorek 31 sty 2017, 18:00

zgrałam sobie, fajnie to napisane, no, długi wieczór się szykuje
______________________________________________ ____ ___ __ _ _ _ _
Kończysz tworzyć dopiero, gdy umierasz. (Marina Abramović)

Awatar użytkownika
Antystatyczny
Geek
Geek
Posty: 1168
Rejestracja: czwartek 03 wrz 2015, 22:02

Re: Prośba o wykonanie testu.

Postautor: Antystatyczny » wtorek 31 sty 2017, 18:02

Folderem switch nie zaprzątaj sobie głowy. Takie tam bazgroły, które dziś zacząłem pisać. Ani to skończone, ani działające, a tym bardziej zoptymalizowane.
"The true sign of intelligence is not knowledge but imagination" Albert Einstein.

Awatar użytkownika
squeez
User
User
Posty: 211
Rejestracja: czwartek 04 lut 2016, 10:13

Re: Prośba o wykonanie testu.

Postautor: squeez » wtorek 31 sty 2017, 18:28

Może wieczorem uda mi się to skręcić na stykówce, ale wersja B wygląda na bardziej "wyrównaną" kondensatory są zarówno ładowane jak i rozładowane przez taką samą rezystancję 10k czyli zbocza będą do siebie podobne, w wersji A jest nieco inaczej zbocze narastające jest bardziej nachylone a opadające znacznie bardziej strome.

Pytanie na jakim zboczu ci bardziej zależy? stromym czy łagodnym, oraz czy w ogóle badasz zbocza czy tylko poziomy.
Ostatnio zmieniony wtorek 31 sty 2017, 18:29 przez squeez, łącznie zmieniany 1 raz.

Awatar użytkownika
Antystatyczny
Geek
Geek
Posty: 1168
Rejestracja: czwartek 03 wrz 2015, 22:02

Re: Prośba o wykonanie testu.

Postautor: Antystatyczny » wtorek 31 sty 2017, 18:29

Podobno strome zbocze jest milej widziane przez MCU, ale to by się musieli wypowiedzieć mądrzejsi ode mnie.
"The true sign of intelligence is not knowledge but imagination" Albert Einstein.

Awatar użytkownika
squeez
User
User
Posty: 211
Rejestracja: czwartek 04 lut 2016, 10:13

Re: Prośba o wykonanie testu.

Postautor: squeez » wtorek 31 sty 2017, 18:31

Jak pisałeś swojego posta ja edytowałem dopisując czy badasz zbocza czy poziomy, wyliczyć stałą czasową też można wówczas będziesz jakiś pogląd o zboczach.

A czy strome zbocze jest mniej widoczne to nie wiem ja bym bardziej podejrzewał że większy problem może być przy łagodnym zboczu. Wejścia mają zazwyczaj przerzutnik Shmita i zawsze jest jakieś "okienko" i chyba lepiej je przejść szybciej, żeby przerzutnik szybciej zareagował ale może tylko tak mi się wydaje :)
Ostatnio zmieniony wtorek 31 sty 2017, 18:34 przez squeez, łącznie zmieniany 1 raz.

Awatar użytkownika
Antystatyczny
Geek
Geek
Posty: 1168
Rejestracja: czwartek 03 wrz 2015, 22:02

Re: Prośba o wykonanie testu.

Postautor: Antystatyczny » wtorek 31 sty 2017, 18:33

Zdecydowanie badam poziomy, ponieważ nie wykorzystuję przerwań wyzwalanych zboczami. Próbkuję stany pinów 200 razy na sekundę.
"The true sign of intelligence is not knowledge but imagination" Albert Einstein.

Awatar użytkownika
squeez
User
User
Posty: 211
Rejestracja: czwartek 04 lut 2016, 10:13

Re: Prośba o wykonanie testu.

Postautor: squeez » wtorek 31 sty 2017, 18:43

Można przyjąć że przerzutnik Shmita zareaguje przy stałej czasowej równej 2, czyli 86% naładowania kondensatora 10n*10k*2 = 200u sek. tyle można przyjąć czas trwania po jakim stan będzie odczytany jako pewne 0 lub 1.
Ty badasz stan co 0,005 sekundy. W sumie mógłbyś chyba zwiększyć rezystory do 25k wówczas miałbyś na ustalenie jakieś 500u sek.

Awatar użytkownika
Antystatyczny
Geek
Geek
Posty: 1168
Rejestracja: czwartek 03 wrz 2015, 22:02

Re: Prośba o wykonanie testu.

Postautor: Antystatyczny » wtorek 31 sty 2017, 18:46

Nie jestem pewien, czy ATmega ma wejścia Schmitta. Rozumiem, o co chodzi, ale trudno mi powiedzieć, czy na łagodnym zboczu detekcja stanu przebiegnie prawidłowo.
"The true sign of intelligence is not knowledge but imagination" Albert Einstein.

Awatar użytkownika
squeez
User
User
Posty: 211
Rejestracja: czwartek 04 lut 2016, 10:13

Re: Prośba o wykonanie testu.

Postautor: squeez » wtorek 31 sty 2017, 18:54

jestem przekonany na 99% ze ma shmitta na wejsciu.

EDIT

widać, że jest:
schmitt.png
Nie masz wymaganych uprawnień, aby zobaczyć pliki załączone do tego posta.

Awatar użytkownika
Antystatyczny
Geek
Geek
Posty: 1168
Rejestracja: czwartek 03 wrz 2015, 22:02

Re: Prośba o wykonanie testu.

Postautor: Antystatyczny » wtorek 31 sty 2017, 19:04

Faktycznie, jest.
"The true sign of intelligence is not knowledge but imagination" Albert Einstein.

Awatar użytkownika
matty24
User
User
Posty: 333
Rejestracja: sobota 31 paź 2015, 20:11
Lokalizacja: Małopolska

Re: Prośba o wykonanie testu.

Postautor: matty24 » wtorek 31 sty 2017, 19:41

Nie mam enkodera ale testowane na buttonach:

Wersja A ma bardziej nachylone zbocze narastające a strome opadające (ok. 3us):
DS1Z_QuickPrint94.png
DS1Z_QuickPrint93.png
DS1Z_QuickPrint92.png
DS1Z_QuickPrint91.png


Natomiast przebiegi wersji A:
DS1Z_QuickPrint98.png
DS1Z_QuickPrint97.png
DS1Z_QuickPrint96.png
DS1Z_QuickPrint95.png


Wersja B ma bardziej nachylone zbocza, szczególnie narastające (ok 400us)
DS1Z_QuickPrint86.png
DS1Z_QuickPrint85.png
DS1Z_QuickPrint84.png
DS1Z_QuickPrint83.png
DS1Z_QuickPrint82.png
DS1Z_QuickPrint81.png


Przebiegi wersji B:
DS1Z_QuickPrint104.png
DS1Z_QuickPrint103.png
DS1Z_QuickPrint102.png
DS1Z_QuickPrint101.png
Nie masz wymaganych uprawnień, aby zobaczyć pliki załączone do tego posta.

Awatar użytkownika
matty24
User
User
Posty: 333
Rejestracja: sobota 31 paź 2015, 20:11
Lokalizacja: Małopolska

Re: Prośba o wykonanie testu.

Postautor: matty24 » wtorek 31 sty 2017, 19:48

Tutaj jeszcze przebiegi z modułu enkodera z wbudowanymi 10k pull-up do VCC oraz dołożonym filtrem z obrazka B.
DS1Z_QuickPrint114.png
DS1Z_QuickPrint113.png
DS1Z_QuickPrint112.png
DS1Z_QuickPrint111.png
DS1Z_QuickPrint110.png
DS1Z_QuickPrint109.png
DS1Z_QuickPrint108.png
Nie masz wymaganych uprawnień, aby zobaczyć pliki załączone do tego posta.

Awatar użytkownika
Antystatyczny
Geek
Geek
Posty: 1168
Rejestracja: czwartek 03 wrz 2015, 22:02

Re: Prośba o wykonanie testu.

Postautor: Antystatyczny » wtorek 31 sty 2017, 19:51

O takie coś mi chodziło. Serdecznie dziękuję, Matty! :) A teraz wnioski. Wersja A zapewnia lepsze zbocza (bardziej strome), a przede wszystkim zbocze opadające. Obie dość dobrze usuwają śmieci spomiędzy stanów ustalonych. Poruszony został również wątek programowej eliminacji zakłóceń, więc zaczekam jeszcze na wyniki badań, które przeprowadzi Tasza.
"The true sign of intelligence is not knowledge but imagination" Albert Einstein.

Awatar użytkownika
tasza
Geek
Geek
Posty: 1082
Rejestracja: czwartek 12 sty 2017, 10:24
Kontaktowanie:

Re: Prośba o wykonanie testu.

Postautor: tasza » wtorek 31 sty 2017, 21:12

:shock: ale fajne screeny

yyyy, no z tym czekaniem to ja nieśmiało proponuję model asynchroniczny, może w międzyczasie RTC się zajmiesz albo no nie wiem...
czymś innym niż encoder? bo ja się dopiero ogarnęłam :( i mam tak:
IMG_5074.JPG

mój encoder (ten z fotki) to http://www.tme.eu/pl/Document/8a385285d ... -ECW1J.pdf
żelazo to and-tech EVB 5.1, zapięte w/g komentarzy w kodzie, a kod bez zmian, jedyne co to że kwarc 16MHz
makefila sobie napisałam do tej zabawki - załącznik, trzeba usunąć .txt a plik ma być w podfolderze /src archiwum , co załączono wyżej.
make clean - czystka, make all - buduje projekt, (sudo) make install - programuje kostkę
hmm, po odpaleniu jest jakoś dziwnie
powolutku, ostrożnie kręcąc ośką - licznik na ekranie pracuje spoko, zwiększa, zmniejsza wartość zgodnie z kierunkiem.
`szarpnięcie`, takie ostrzejsze zakręcenie - albo gubi wartości, albo przeskakuje o kilka albo wręcz błędnie (odwrotnie) interpretuje kierunek obrotów i robi to zupełnie niedeterministycznie
zastanawiam się ile w tym zasługi nieco większego kwarca (16 vs 11) i jakości encodera (co z tego, że drogi, jak parę lat przeleżał w pudle w garażu)

no nic, zaczynam męczyć ten temat, bo zagadka ciekawa
Nie masz wymaganych uprawnień, aby zobaczyć pliki załączone do tego posta.
______________________________________________ ____ ___ __ _ _ _ _
Kończysz tworzyć dopiero, gdy umierasz. (Marina Abramović)

Awatar użytkownika
Antystatyczny
Geek
Geek
Posty: 1168
Rejestracja: czwartek 03 wrz 2015, 22:02

Re: Prośba o wykonanie testu.

Postautor: Antystatyczny » wtorek 31 sty 2017, 21:19

Enkodery mają cudowne predyspozycje do samoistnego psucia się, bo śniedzieją w środku. Być może wzrost częstotliwości pracy zegara również ma swoje negatywne skutki, o ile pozostawiłaś ustawienie timera sprzętowego bez zmian. Zamień, proszę, linię 46 pliku main.c na następującą:

Kod: Zaznacz cały

TCCR0 = (F_CPU/1024/200) - 1;


To zapewni automatyczne dopasowanie pracy timera niezależnie od częstotliwości zegara taktującego. (oczywiście w granicach rozsądku, bo obliczenie zakłada, że włączony jest preskaler 1024)

Aha, jeszcze jedno. Zerkam w dokumentację Twojego enkodera i czy dobrze widzę, że możliwe opcje to ćwierćkrokowy lub pełnokrokowy? Jeśli masz pełnokrokowy, spróbuj w pliku encoder.h ustawić parametr ENCODER_FULL_STEP na wartość 1.
"The true sign of intelligence is not knowledge but imagination" Albert Einstein.

Awatar użytkownika
tasza
Geek
Geek
Posty: 1082
Rejestracja: czwartek 12 sty 2017, 10:24
Kontaktowanie:

Re: Prośba o wykonanie testu.

Postautor: tasza » wtorek 31 sty 2017, 21:34

Antystatyczny pisze:Enkodery mają cudowne predyspozycje do samoistnego psucia się, bo śniedzieją w środku

wypadałoby dodać - nieużywane, niebiegane encodery, bo ja popełniłam parę zabawek ze ``scrollerami``, głównie wylutki ze złomu z Wolumenu i jakoś do dziś działają, ale są bez przerwy używane i to w trudnych warunkach czasem - timerki kuchenne, wilgoć, para etc
Ok, kod zmienię ale to potem, jak tylko moi pójdą spać, to najpierw poszukam kwarca 11.059, typowy pod '51 przecież, ja całe pudełko ich miałam..gdzieś :? chce mieć punkt startu identyczny jak u ciebie
jak coś się wykluje nowego to będę pisać tu, albo na f.
______________________________________________ ____ ___ __ _ _ _ _
Kończysz tworzyć dopiero, gdy umierasz. (Marina Abramović)

Awatar użytkownika
Antystatyczny
Geek
Geek
Posty: 1168
Rejestracja: czwartek 03 wrz 2015, 22:02

Re: Prośba o wykonanie testu.

Postautor: Antystatyczny » wtorek 31 sty 2017, 21:40

Zerknij jeszcze na mój poprzedni post, bo go edytowałem, a w tym czasie napisałaś swój.

tasza pisze:wypadałoby dodać - nieużywane, niebiegane encodery


Tak, dokładnie to miałem na myśli. Pomyślałem o tym, ale nie przelałem na "papier" :)
"The true sign of intelligence is not knowledge but imagination" Albert Einstein.

Awatar użytkownika
dambo
Expert
Expert
Posty: 645
Rejestracja: czwartek 17 mar 2016, 17:12

Re: Prośba o wykonanie testu.

Postautor: dambo » wtorek 31 sty 2017, 22:43

Z ciekawości sprawdzę potem jak radzą sobie STMki ze sprzętową obsługą enkoderów. Dla magnetycznych z obrotami silników w robociku działało idealnie, ciekawe jak dla mechanicznych.
Nowy blog o tematyce embedded -> https://www.embedownik.pl/

Awatar użytkownika
tasza
Geek
Geek
Posty: 1082
Rejestracja: czwartek 12 sty 2017, 10:24
Kontaktowanie:

Re: Prośba o wykonanie testu.

Postautor: tasza » środa 01 lut 2017, 08:27

w sumie to już sama nie wiem czy kolejny offtopic czy ostrzeżenie dla innych - encoder, ale zaniedbany, wyleżany w pudełku i mający kontakt z odrobiną wilgoci przez spory czas (vide co pisał Antystatyczny - zaśniedziałe styki)

bo tak wygląda w miarę na żywo, na analogodiscoveroskopie, możliwe że trigger nieumiejętnie ustawiłam, nie zmienia to faktu że .... to jest jakaś masakra normalnie
:arrow: https://youtu.be/h4mzjrOxHjc
no i jeszcze jedna sprawa sytuacyjna - nie mam odpowiedniej gałki, więc ośkę kręciłam palcami, aby płytka stykowa nie latała po stole - czasem dociskając to do blatu - to ostatnie sekundy filmy - kształt przebiegu zupełnie inny, styki robią co chcą....

@Antystatyczny - no serio szacunek, że twój program w ogóle z tym moim enco. ruszył, bo przypadek zaiste trudny mi się trafił.

Sorki, ale temat parkuje do czasu zdobycia nowego (sklepowego) encodera, jak na Górzystej w Ostr. nie będzie, to Wol. i Warszawa, ale w weekend dopiero....
______________________________________________ ____ ___ __ _ _ _ _
Kończysz tworzyć dopiero, gdy umierasz. (Marina Abramović)


Wróć do „Podstawy elektroniki - teoria i praktyka”

Kto jest online

Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 5 gości