Przepraszam ale w pierwszej wypowiedzi popełniłem błąd logiczny - oba przerwania powinny być ustawione na te same zbocze a nie różne. Dlaczego, bo tak jak napisałem wcześniej nie będzie można określić kierunku zmian, zawsze bedzie ta sama kolejność wywoływania przerwań. Obojętnie czy kręcimy w lewo czy w prawo. np. ChA narastanie 0->1 a ChB opadanie...
Musisz mieć nawiązane z Thonny połączenie z ESP. Ten program widzi pamięć ESP tak samo jak foldery w PC.
Jak to "nie ma ujemnych wartości"? Przecież przy zejściu poniżej 0 masz, jak to sam napisałeś, -1, trzeba tylko umieć to odczytać przez odpowiednie zrzutowanie typów - (int16_t)
(at)squelch No i to całkiem prawidłowa reakcja. Jeśli z jakichś powodów program ma zauważyć, że użytkownik najpierw przekręcił w lewo a potem zrobił taką samą liczbę obrotów w prawo to albo częściej musisz sprawdzać stan zmiennej enc_delta, albo dodać sobie bufor pierścieniowy w którym będziesz przechowywał informacje o kolejnych dzianiach użytkownika....
Poziom zaawansowania programu, który chcesz napisać szacuję na "zbyt wysoki". Sklejać kawałki kodu można, jeśli są dobrze napisane. Program, który załączyłeś jest tylko zalążkiem menu. Jeśli się nie poddajesz, to proponuję najpierw zrozumieć w szczegółach, jak działa program, który wkleiłeś. Wtedy automatycznie będziesz wiedział, gdzie wkleić kod wykonawczy...
Teraz problem jak "wcisnąć" CLS. Gdy np. "dojadę" do 10, a następnie cofam ostatnia cyfra zostaje. Wystarczy dodać spacje :) [syntax=basic4gl]Lcd A ; " "[/syntax]
W AMEGA 2560 można to zrobić tylko programowo (podczas wchodzenia w przerwanie). Generalnie nie ma to sensu bo narzut na programowe ustalanie priorytetu będzie większy niż odpowiednio napisana funkcja obsługi enkodera na INT0. Tzn. lepiej szybko obsłużyć INT0 niż się bawić w ustawianie priorytetów przerwań.
Ja coś podobnego zrobiłem na ATmedze16. Podłączyłem enkoder pod wejścia generujące przerwania zewnętrzne i odpaliłem tajmer, zliczam różnice czasu między przerwaniami. W AT90S2313 masz przerwania zewn z PD2 i PD3. w obsłudze przerwania zewn. robisz: prędkość = (obwód_koła / rozdzielczość_tarczy_enkodera) / różnica_czasu_między_przerwaniami lub pomiar...
Kolego andrzej_nied, Proponuję zastosować timer do generowania przerwań co około 2.5ms. W przerwaniu testujemy wejścia portów nie zawracając sobie głowy jakimiś 'drganiami styków'. Sprawdzone, pewne, proste. Czas 2.5ms dobrany jest tak aby zwykły enkoder 20-32imp./obrót obracany energicznie ręką nie zgubił impulsu (gdy czas pomiędzy przerwaniami za...
Witam, też aktualnie bawię się impulsatorem na EVB4.3 M32 16MHz. Fajnie działa sterowanie w przerwaniu: http://www.elektroda.pl/rtvforum/topic14... Dołączyłem kondensatory 68 nF równolegle do styków. Na kwarcu 16 MHz nie ma żadnego problemu z liczeniem impulsów w obie strony. Musiałem tylko dokonać modyfikacji kodu ponieważ trafił mi się impulsator,...
Zakładami że to enkoder inkrementalnyy i do obsługi używasz szybkiego licznika HSC. Wtedy masz obsługę zdarzenia typu wartość licznika=wartość zadania przez przerwanie. Np dla HSC0 jest to zdarzenie (przerwanie) 12
heh mam super wiadomości :D 1 Nie podłączysz więcej niż 4 enkodery :D 2 . Jest już odpowiednia płytka dzięki której można rozbudować go o więcej enkoderów. Świeżynek jeszcze nie poszła do produkcji. Dodano po 48 Możesz jeszcze załapać się na zamówienie grupowe. http://81.210.9.116/~apacz/smf/index.php...
A to jak ci wygodniej. Można na przerwaniach, można przez pooling. Ściągnij przykłady do książki z mojej stopki, tam masz m.in. obsługę enkodera.
Napisać będzie ciężko bo wiele linijek kodu trzeba wyłączyć. Mogę ewentualnie wrzucić soft EvoSony3.15, w którym właśnie mam to powyłączane bo to dedykowany soft do przeróbki Tunera Sony ST-S120 gdzie mam tylko jeden enkoder, klawiaturę + obsługę pilota. Postaram się jutro przygotować Evo3.15 normalne bez Enkodera1 i wrzucę na GitHuba :)
W przypadku układu z nadajnikami linii w każdym torze (A, B i ewentualnie Z) trzeba zastosować odbiornik różnicowy np połówkę UA9637, SN 75175N itp. Bufor TTL 74HCT243 się nie nadaje do tego celu. Idea przedstawiona na załączonym rysunku (a) (wyjścia proste z literką P, zanegowane - N). Wyjście odbiornika linii można podać bezpośrednio na port mikroprocesora....
Msz A, B, przycisk i dwie masy. Co jest co łatwo sprawdzić multimetrem. Masę odnajdziesz bez problemu, bo to obudowa. Podłączyć do mikrokontrolera możesz bezpośrednio, można zastosować wewnętrzne podciąganie.
Siemens LOGO da sobie spokojnie rade z obsługa enkodera nie trzeba żadnych rezystorów wstawiać wszystko zależy od tego czy przypiszemy wejścia jedno czy wielostanowe. Przypuszczam że kolega chce zaprogramować logo jako licznik kata obrotu.
Napisałem Ci pod "Nie polecam:" cały kod obsługi enkodera. Dla wyjaśnienia:[syntax=c] static int a0, b0; int a = odczyt_pina(); int b = odczyt_pinb(); [/syntax] Drugi enkoder analogicznie, np.: a_1, a0_1, ...
Ja mam podobnie napisaną obsługę enkodera i działa bardzo dobrze (Atmega8 enkoder EC11-1B-18T-L15 ). O ile ten enkoder daje taki same sygnały jak mój, to błąd masz tutaj: if (bit_is_set( PORTENCODER, ENCODER_B)) a powinno być PIND.
to ja też coś od siebie dołożę spróbuj wszystko zapisać w postaci liczbowe tj nie baw się w przesunięcia bitów i takie tam tylko na sztywno w pisz co masz wpisać do rejestrów, wnioskuje ze używasz darmowego kompilatora spróbuj wyłączyć optymalizacje kodu, ewentualnie spróbuj dopisać w obsłudze przerwania czy to wejście faktycznie ma stan niski. Swego...
Nie, tego z obsługi enkodera. Jak sądę przejściu 0->top i top->0 towarzyszy przerwanie nadmiaru. Ew. można wykorzystać przerwanie compare z kanałów A-D.
Enkoder to mechanicznie zwykły przycisk. Ma też wszystkie wady przycisku, czyli np. drgania styków. Wiele enkoderów na jeden "przeskok" generuje 2-4 impulsów i oczywiście czasy trwania poszczególnych faz zależą od szybkości kręcenia. Przejrzyj darmowe przykłady do książek w mojej stopce - masz tam przykłady obsługi enkoderów w oparciu o ATMega i XMEGA.
Witam To jest enkoder optyczny nie trzeba w nim eliminować drgań styków, a na 99% gubienie kroków jest spowodowane zbyt wolna obsługą. Pozdrawiam Romek
Cześć! Planuję obsłużyć enkoder z wykorzystaniem mikrokontrolera RP2040 (Pi Pico). Z uwagi na to, iż nie ma on żadnego hardware'owego peryferium do obsługi enkodera chciałem zrealizować obsługę enkodera programowo. Niestety, pojawiają się problemy przy wyższych prędkościach. Efektem jest "gubienie" kroków przez enkoder. Chciałbym zastosować jakiś zewnętrzny...
Już siedzę drugi dzień i dostaje szału, co nie znajdę w necie to tak niezbyt chce działać chociaż ludziom działa, czarna magia sią odbywa. Co konkretnie testowałeś, że stało się przyczyną tak traumatycznych przeżyć?
Witam, Panowie, na podstawie waszych uwag i sugestii skontaktowałem się ze wsparciem Beckhoff. Okazuje się że na przykładzie falownika LG S100 oraz karty EtherCAT, TwinCAT 3 wykrył os NC tzn. wykrywa falownik jako oś bezpośrednio którą może sterować. Czy jest możliwość wykonania funkcji technologicznej jak w Simens a to dużo załatwia. Szczególnie w...
Zobacz coś takiego: $regfile = "m328pdef.dat" 'definicja mikrokontrolera $crystal = 16000000 'częstotliwość taktowania mikrokontrolera $baud = 9600 'szybkość transmisji szeregowej $hwstack = 40 'rozmiar stosu sprzętowego $swstack = 40 'rozmiar stosu programowego $framesize = 40 'rozmiar ramki stosu 'Inicjalizacja portów wejściowych i wyjściowych...
Cóż, nie jest to znana mi metoda obsługi enkodera, ale chyba ciekawsza... Natomiast nie widzę tu operacji na przerwaniach.... To prawdopodobnie powoduje błędy, chyba, że się mylę. Ale enkodery to zawsze zagadka dla mnie były więc wiele nie pomogę.. Pozdrawiam.
Załóż zwykły enkoder, albo sterownik z obsługą SSI
(at)cinek_14 Jak rozumiem masz gotową płytkę, więc to implikuje jakie masz możliwości rozwiązania problemu. Koledzy upierają się, aby wszystko wrzucić do przerwań, co IMHO nie tylko nie rozwiązuje problemu, ale go całość niepotrzebnie komplikuje. Skoro już masz płytkę, to zrobienie 1-wire na UART raczej nie wchodzi w grę. Zresztą nie jest to potrzebne....
Ja bym to zrobił tak: jakiś enkoder mikrokontroler np atmega8 jakiś zegarek na szyne I2C i tranzystory do obsługi segmentów
skoro wykrywasz zmiany w przerwaniu to można tam ustawić flagę (zmienną bool) i wtedy wyświetlać w głównej pętli i ją kasować. Prawdę mówiąc obsługa enkodera w przerwaniu od pinu też nie jest najlepszym pomysłem - chyba, że to enkoder optyczny. Lepiej użyć przerwania timera.
Jako drabinkę możesz wykorzystać układy PGA231x , bardzo łatwe w obsłudze mające świetną jakość audio
Po pierwsze enkoder możesz obsługiwać sprzętowo na XMEGA - w tym celu konfigurujesz event system na QDEC, a dowolny timer będzie ci zliczał impulsy i pracował jako enkoder. Co do transmisji USART - można paczki odbierać przez DMA, co jest wygodne, można to zrobić w oparciu o przerwania. W tym celu odblokowujesz przerwanie RXComplete sygnalizujące gotowy...
Witam, twoje obserwacje są słuszne i schemat który przedstawiłeś też, ale brakuje na min zaznaczonych punktów w których oś enkodera znajduje się w ustalonej pozycji. http://obrazki.elektroda.pl/9028136100_1... możliwe, że te "właściwe" przebiegi są, ale nie mogę ich zmierzyć, bo są za szybkie? Nie tyle za szybkie co występują w czasie...
Ogólnie ciężko rozkminić Twój kod (przynajmniej dla mnie) - nazwy zmiennych, jakieś dziwne odejmowanie (tab http://obrazki.elektroda.net/64_12639194...
Niestety polecenie ENCODER nie działa zawsze właściwie. Dlatego radzę zrezygnować z niego na rzecz samodzielnego programu obsługi.
Lepiej zobacz gotowca [url=http://mirley.firlej.org/enkoder_ob...
Jaki będziesz miał wyświetlacz? Alfanumeryczny że string będzie ok? Czy może LED lub LCD segmentowy? Żeby zmieniać wartość enkoderem trzeba go obsłużyć... Enkoder ma przycisk? Zatem weź zmienną Word w której będziesz zmieniał nastawy np. [syntax=vbnet]dim wartosc as word dim index_wartosc as byte if index_wartosc =1 then wartosc=wartosc + 1 end if if...
Witam! Potrzebuję pomocy ,bo niemogę sobie poradzić: Napisałem program na 2051 w bascomie obsługujący synteze,40 ch w starym CB.wyprowadzone dwa piny p3.0 = Ch down i p3.1 Ch up. Działa to pięknie. Kanał jest zapisywany w eepromie 24c02.ale ma być gałka obrotowa,jak przedtem było na starym przłaczniku 12 kanałowym. zdobyłem encoder obrotowy od sprzetu...
Czy ktoś z Was ma program obsługi enkodera w C ++ AVR Studio 4 ??
- gubi się powyżej ok. 500 obr/min enkodera, Jaką masz częstotliwość procka? Jak długo trwa obsługa tych przewań? Zwszłaszcza, ile czasu zajmuje ten "ditigalRead()"? - nie pokazuje wartości minusowych, - dochodzi do wartości ok 65000 na ,,serial monitor" i zeruje się Dochodzi pewnie do 2^16-1 i się zeruje, tak? To samo jak wyżej. (jakiego typu masz...
Pojawiły się już nowsze wersję, enkoderem, miernikiem i generatorem częstotliwości, obsługą DS1820 i woltomierzem. Są na allegro, ale wysyłka i tak z Chin.
Ja obsługę takich enkoderów wykonuje zawsze na jednym przerwaniu. Jeden z impulsów wywołuje przerwanie, w obsłudze przerwania sprawdzam tylko stan drugiego kanału. Jeśli jest wysoki to ++licznik, jeśli jest niski to --licznik.
Jakaś prosta XMEGA (np. E5), która ma timer z opcją enkodera kwadraturowego (czyli obsługa sprzętowa enkoderów), do tego ma DAC, z którego wyjście dajesz na opamp sterujący napięciem. Oczywiscie można zastosować dowolny mikrokontroler, gdyż enkoder można obsługiwać softwarowo, a DAC można zastąpić PWMem + filtr dolnoprzepustowy RC. Pytanie co potrafisz...
Poprostu enkoder podłączony do samego arduino Musisz jeszcze pamiętać o czymś takim, jak bouncing na stykach enkodera, więc w wypadku generowanie przerwań przez enkoder mogą się pojawiać takie dziwne zachowania. Lepiej skorzystaj ze sprawdzonych bibliotek do obsługi enkodera.
Weź arduino, napisz sobie program do obsługi enkodera (albo weź gotowca z netu) i zobacz co pokaże - czy będzie poprawnie liczył powiedzmy pełne obroty. Potem możesz napisać program symulujący enkoder i zapiąć to do tej bramy i zobaczyć jak ona zareaguje. Aczkolwiek jeśli chodzi o enkodery stykowe do różnych cyfrowych potencjometrów, to psuje się to....
Jak dobrze poszukasz na elektrodzie w tym dziale to znajdziesz sporo odpowiedzi na Twoje pytanie. Wpisz np "obsługa enkodera" albo chociaż sam wyraz "enkoder"
Trochę szkoda , że nie wykorzystałeś tych enkoderów. Obsługa jest banalana, a drastycznie rosną możliwości. Przy samych krańcówkach prawdopodobnie masz dość gwałtowne zatrzymanie, a gdybyś liczył obroty to można by właśnie nieco spowolnić silnik przy końcu. O to aby nie zatrzymał się zupełnie z braku mocy postarałby się już enkoder - brak impulsów przed...
Sprawdź w manualu, które wejścia możesz wykorzystać jako wejscia szybkiego licznika.Ten model ma chyba 4 wejscia przerwaniowe, które można zdefiniować jako szybki licznik.Musisz przede wszystkim napisać procedure referencyjną, jeśli stosujesz enkoder inkrementalny.Do obsługi enkodera służy instrukcja PRV. To po krótce... Co do bezwładności napędu, być...
Witam, Musi być moduł ? A nie ma takich falowników że po prostu podpina się A, B, Z ? Musisz sprawdzić po producentach. Ja programowałem LG iS7 i trzeba było dokupić moduł. Jak falownik ma moduł to musi się komunikować np. RS485 z modułem a do modułu podłączamy enkoder? Nie. Moduł podpinasz od falownika. Komunikacja Cb nie interesuje bo jest wykonana...
Dzięki za odpowiedź (nie wiem czemu do tej pory mało dostawałem na elektrodzie odpowiedzi na dręczące mnie pytania), szczególnie odpowiedź tmf rzuciła nowe światło na mój pomysł. Jeśli chodzi o potencjometry 1-wire, to myślałem o tym, bo ma to wiele zalet, jednak jedyny taki scalak jaki widziałem to DS2890 który jest pojedynczy, drogi a na stronie maxima...
Enkoder AS5048A, obsługiwany poprzez SPI. Obsługę już wykonałem, działa poprawnie. Enkoder zamocowany na statorze, magnes na osi wirnika także. Na cały obrót przypada 8192 wartości.Tylko nie wiem jak wyznaczyć te obszary w których ma następować komutacja.
Co ty opowiadasz... Mamy enkoder, który generuje max kilka impulsów na sekundę i to ma być problem? No właśnie zależy od enkodera. Dlatego zapytałem się w pierwszym moim poście. Ja kiedyś trafiłem na taki enkoder z jakiejś wieży albo wzmacniacza, że miał bardzo dużo impulsów na obrót. To miało chyba symulować 'analogowosc'. Jak zrobiłem odczytując...
w ten sposob pozbylem sie delaya w ogole Jeżeli nie masz żadnych delay w loop() to tym bardziej możesz przenieść obsługę przycisku w to miejsce. Proponuję użycie EasyButton: https://github.com/evert-arias/EasyButto... Funkcja read() z tej biblioteki też nie wprowadza żadnych delay(), a detekcję naciśnięcia przycisku można sobie elegancko podpiąć pod...
Moze warto w tym przypadku zastosowac zewnetrzny ukladzik ( np LS7183 albo 7184 ) do realizacji rozpoznawania wszystkich zboczy A i B i kierunku obrotu. Odciazy to procesor i zapewn bezbledne zliczanie impulsow. Wykorzystywalem taki ukladzik w jednym projekcie i zliczalem bezbłędnie impulsy z enkodera 2000imp/ obrot przy predkosciach do 70 obr/s
Czy tak powinien wyglądać poprawny odczyt z dwóch czujników AS5600? Wskaż proszę o jaką konkretnie bibliotekę chodzi do obsługi multipleksera.
Mam potrzebę wykonać prosty odtwarzacz mp3 który będzie sterowany i będzie odtwarzał w specyficzny sposób: zmiana utworów za pomocą 2 przycisków (enkodera) następny i poprzedni utwór, odtwarzanie tylko po wciśnięciu przycisku play, zatrzymanie odtwarzania po zakończeniu odtwarzanego pliku. Nie potrzebne jest przewijanie, za każdym razem po wybraniu...
Przykład z BASCOMa Do If Enk_A <> Temp_enk Then If Enk_A <> Enk_B Then Incr Poz Else Decr Poz End If Temp_enk = Enk_A End If Loop gdzie Poz to zmienna przechowywujaca liczbe impulsow, a Enk_A i Enk_B to sygnalyz enkodera
Dzień Dobry. Potrzebuje najprostrzy program do obsługi enkodera inkementalnego do LOGO (wiem że tam niema sprzętowego licznika do obsługi enkodera). Max czestotliwosc to 5 Hz.Podłączylem go do wejść I5 oraz I6.Chcę wykorzystać Licznik góra/dół do zliczania impulsów.Potrzebuje również kierunek zliczania. Bardzo proszę o pomoc. Z góry dziekuje Grzegorz
(at)TraCerT Trudno, żeby nie gubił impulsów, jeśli przez cały czas wysyłania danych przez serial nie sprawdzasz stanu liniii enkodera, a to mogą być milisekundy. W takim przypadku należałoby obsługę enkodera oprzeć na przerwaniach.
- Wejścia/wyjścia cyfrowe z separacją galwaniczną 12/24V - Układy sterowania stycznikami uC/5V -> optoizolacja 12/24V -> optotriak 230V -> triak 230V -> stycznik 1/3 fazy - obsługa impulsatorów/enkoderów - 12/24V -> 5V na optoizolatorach - ewentualnie jeszcze sprzętowy dzielnik - wejścia analogowe z dopasowaniem poziomów - transmisja - RS485 + własne...
witam! To niestety nic nie daje, bo właśnie o to chodzi aby podczas wykonywania przerwania od timer2(enkoder), gdy Timer0 się przepełni, procesor powinien zawiesić przerwanie (enkoder) i przejść do obsługi przerwaia od Timer0(czekaj).
No to chyba potrzebujesz silnika BLDC i sterownika z obsługą enkodera - bo najwyraźniej Twój sterownik bez enkodera ma założoną minimalną prędkość na poziomie, który daje Ci te 3000rpm.
W linku na zdjęciu masz wszystkie połączenia . Zachowaj kolory tak jak na zdjęciu . Najnowsza elektronika jest jeszcze troszeczkę zmodernizowana ale kolejność przewodów jak na zdjęciu . Nie podłączasz enkodera którego nie masz . Podczas programowania wyłączysz obsługę enkodera przez elektronikę . Przy zakupie poproś o dołączenie instrukcji , ewentualnie...
Tak tak o to chodzi. Sorki.. dałem link ale nie prawidłowo się zrobiło.. Co o tym myślicie? Można do tego dołożyć enkoder dla wygodniejszej obsługi i poprawiona wersja lepiej działa, Przerobiłem trafo płaskownikiem miedzianym .. dałem dwa razy po 18m².. 3 zwoje .. na jałowym wyszło 3,4V. I chyba dla prostoty działania zrobię końcówkę do ręki z...
Wchodzisz tu: http://helion.pl/ksiazki/jezyk-c-dla-mik... i ściągasz plik z programami- jest wśród nich przykład obsługi enkodera. Jak dalej nic nie rozumiesz- kupujesz tę książkę. Nie tylko dla obsługi enkodera.
Czy ktoś podejmie się podłączenia manipulatora z jednym czy dwoma enkoderami zrobionymi z części od myszy kulowej do systemu? Jak to będzie wyglądało w postaci schematu/algorytmu? Chyba zaszło małe nieporozumienie. Nie chodzi o budowę jakiegokolwiek urządzenia z części od myszy, tylko o to, że dysponując już gotowym interfejsem zrobionym na użytek...
Bardzo dziękuję za pomoc E Marcus. Zamykam. Dar.El
Stacja serwisowa i enkodery sprawne?
Akurat do obsługi enkodera nie potrzeba bibliotek, bo to kilka linijek kodu. Coś więcej powiesz o sygnale wejściowym (maksymalna ilość impulsów na sekundę, największa możliwa ilość impulsów do zliczania) i wyjściowym (jaka jest wymagana rozdzielczość napięcia wyjściowego, jaki błąd jest akceptowalny)?
Projekt fajny. Dodał bym jednak czerwoną maskownice przed wyświetlacz żeby poprawić widoczność cyfr. I jeszcze propozycja poprawy funkcjonalności :) ... Zamiast rozpoznawania reguł czasowych dla skoku co 15, 30, 60s może lepiej by było rozpoznać prędkość kręcenia enkoderem i na tej podstawie zmieniać czas. Wolne kręcenie - zlicza pojedyncze sekundy,...
Obsluga impulsatorow czy enkoderow ( zalezy co nazywac impulsatorem, jesli pokretlo ktore generuje sygnaly A i B przesuniete w fazie to to samo co enkoder) byla walkowana wiele razy na elektrodzie. Wpisz Enkoder w wyszukiwaniu ,a znajdziesz
Żeby zobaczyć przebiegi musisz mieć oscyloskop 2 kanałowy,a przebiegi powinny wyglądać tak jak w załączniku
Witam . Jeśli to tylko sama regulacja fazowa + obsługa enkodera to jak duży może być ten kod. Jak obsługujesz enkoder . I jeszcze raz jak zasilasz mikrokontroler . Z zasilacza bez transformatorowego czy z jakiegoś trafka może przetwornica ?.
Oczywiście należy zawsze dobrać rozwiązanie do potrzeb. Ten prosty kod obsługi enkodera sprawdza się tam gdzie nie ma dużych zakłóceń. Jest prosty, szybki i nie zajmuje też żadnego Timera. Każdy sam ocenia kiedy musi użyć innego rozwiązania. Kod do obsługi enkodera Timerem z pamięcią stanów itd znajdziesz na forum ;)
Przede wszystkim PCINT wymaga większego nakładu programowego. Przy włączonych wielu źródłach danego przerwania PCINT trzeba analizować, który pin zgłosił przerwanie i w jaki sposób się to odbyło (które zbocze). PCINT jest niżej w hierarchii przerwań, zatem na obsługę tego przerwania trzeba czasem dłużej poczekać (w zależności od konstrukcji programu)...
I nagle po trzech latach problem by się pojawił? Sprawdzałem program wiele razy (nie jestem jego autorem) i nie widzę tam błędu. Tam jest tylko obsługa enkodera, skalowanie pomiaru i porównywanie.
Mam projekt do zrealizowania polegający na budowie robota z sześcioma osiami wydrukowanego w technologii druku 3D. Pytania są następujące silniki krokowe już są. 1. Jakie enkodery najlepiej wybrać do obsługi tych silników krokowych, enkodery będą musiały mieć pętle. Stad pytanie jakie wybrać. 2. Sterownik całego robota czy zrobić to na arduino czy może...
Zobacz sobie dokumentację do tego serwomotora. To nie jest zwykły enkoder 2000 impulsów a enkoder inkrementalny sin/cos z dodatkowymi czujnikami położenia wału (Hall: S1,S2,S3) obawiam się, że bez dedykowanego serwonapędu nie obędzie się, a takowym jest seria Kinetix 2000 Allen-Bradley'a. Co prawda, dużo silników nieoryginalnych można podłączyć do Siemens...
Dziękuję za informacje. Jak wygląda podłączenie i obsługa enkodera inkrementnego ? Jak widzę ma on więcej wyprowadzeń sygnałów. Czy w tym przypadku algorytm obsługi jest bardziej skomplikowany ? Znalazłem taki przykład enkodera inkrementnego [url=http://www.kuebler.com/PDFs/leaflet... 2400.
Według mnie najlepiej było by do procka doprowadzić dwie linie. Program i tak w 99% przypadków musi reagować na każdy przeskok enkodera więc wydaje mi się, że najlepszym rozwiązaniem było by wyprowadzenie sygnału impulsu oraz kierunku. Impulsy podpinamy pod przerwanie zewnętrzne mikroprocesora a w jego obsłudze sprawdzamy wejście odpowiadające za kierunek...
http://obrazki.elektroda.pl/1661316800_1... Witam ponownie Tym razem chciałbym zaprezentować projekt lżejszego kalibru - zegarek wskazówkowy i termometr zbudowany na AT91SAM7S64. Wykonałem ten projekt, bo chciałem trochę pouczyć się programowej obsługi wyświetlacza graficznego z Nokii 3310, programowej obsługi enkodera inkrementalnego...
Panowie, Prosty temat. Dotychczas sprzętowo-software'ową obsługę enkodera robiłem w najprostszy sposób. Obie nogi z układem całkującym R/C (10k/100nF), jedna noga do przerwania zewnętrznego Falling, w przerwaniu czytamy stan drugiej i na tej podstawie detekcja kierunku. Ale w ATtiny 1604 działa to jakoś dziwnie: czyta co drugie "pyknięcie" enkodera....
pracuję nad sterowanym automatycznym ramieniem robota. O, fajnie, wrzuć jakieś zdjęcia, rysunki co do tej pory wypracowałeś. Czy ktoś orientuje się, czy są jakieś gotowe sterowniki, które umożliwiają sterowanie pracą silników DC z uwzględnieniem powyższych założeń? Stawiam jedną złotówkę że takiego nie znajdziesz. ps. jak chcesz dobierać sterowanie...
Witam, Muszę zbudować czujnik kierunku robota (tzn. w którą stronę realnie się porusza). Wymyśliłem sobie, że myszka kulkowa wydaje się najprostszym rozwiązaniem. Okazuje się, że sercem mojej myszy jest układ EM84502 - scalony czterokanałowy enkoder obsługujący "kółeczka ze szczelinami" z myszy. Komunikacja z nim odbywa się za pomocą protokołu 8042....
A czy to musi być z użyciem ADC? Bo po zastosowaniu tego układu na wyjściu otrzymujemy typowy sygnał jaki daje enkoder. W tym momencie wystarczy napisać zwykłą procedurę obsługi enkodera lub użyć bascomowego polecenia Encoder. To chyba prostsze niż bawić się ADC. No chyba, że autor postu koniecznie chce na ADC.
Z tym priorytetem to nie do końca jest tak jak myślisz. Dziala to tylko w przypadku jednoczesnego otrzymania sygnału przerwania, natomiast po wejsciu do przerwania od licznika obsługa przerwania z enkodera zostanie zawieszona do momentu ukończenia obsługi licznika. W twoim przypadku w niczym to nie przeszkodzi chyba ze faktycznie enkoder generuje "gęste"...
Zależy mi na wykorzystaniu sprzętowej obsługi enkodera która jest dostępna w XMegach. Działa to świetnie ale bez generowania przerwania podczas zmiany stany jest bez sensu.
Jest parę błędów które widzę już teraz. Pozwoliłem sobie wstawić to w syntax bo nie dało się czytać :) unsigned char ilosc_imp=0; powinno zostać opatrzone jeszcze etykietką volatile. Czyli: [syntax=c] volatile unsigned char ilosc_imp=0; [/syntax] Volatile wyłącza dla tej konkretne zmiennej optymalizację. Jest to konieczne jeżeli korzystasz ze zmiennej...
Witam, ta biblioteka do obsługi enkodera działa super. Skąd ją masz czy pisałeś sam?
Weź pod uwagę takie problemy: 1. zminimalizuj drgania styków przycisków (tzw. debouncing) programowo lub sprzętowo używając kondensatorów 2. przerwanie od enkodera wywołuj stanem FALLING lub RISING (Ty masz LOW co jest bardziej podatne na drgania przycisku zwieranego do masy) 3. zmienna globalna "time" użyta w przerwaniu powinna być typu volatile (Ty...
Bardzo ładny i praktyczny projekt. Przeraża mnie jednak trochę ten zabieg: enkoder obrotowy z przyciskiem, debouncing po 100nF na każdy pin 100nF to bardzo dużo i jestem wręcz przekonany, że przy nieco szybszym ręcznym kręceniu enkoder gubi impulsy.
Ja wiem jak sterować tym potencjometrem (ten dsxxxx to nie jest enekoder!!) mnie teraz interesuje obsługa enkodera (http://lbs.elektroda.net/impulsatory.ht...
https://obrazki.elektroda.pl/9867937200_... Witam, Jako że lubię się bawić silniczkami, enkoderami i łączyć to z drugim moim ulubionym elementem - filmowaniem, chciałem pokazać tu mój najnowszy kran kamerowy, który ma mi pomóc w zdobywaniu fajnych ujęć wideo :) Głównym powodem prezentacji jest tak naprawdę sterownik, którego w życiu...
Przejżałem trochę net pod kątem podobnych rozwiązań i jedyna rzecz jaka ma podobne rozwiązanie to jest to obsługa enkodera. Co prawda nie znalazłem kodu obsługi encodera który by liczył kolejne impulsy i wyświetlał je na wyświetlaczu, a jedynie kod który steruje silnikiem krokowym. Jeśli ktoś miałby kod tego typu to liczę na pomoc.
Obsługę silnika krokowego mam bipolarny zrobiona na tranzystorach, podaje sygnały na poszczególne piny i silnik się obraca. Nic nie stoi na przeszkodzie by użyć tego sterownika o którym mówisz. A enkoder ma dwa wyjścia A i B i działa [url=http://www.falowniki.edu.pl/obrazki... Timer w F4 mają funkcję do obsługi enkodera.
Ponieważ PD2 nie da się skonfigurować jako UART5_TX to nie można zrealizować pół-automatycznego zegara. Pozostaje tylko działanie rdzenia lub przesłanie ciągu danych z użyciem DMA do GPIOD->BSRR dla PD2. Odczyt danych z PA15 będzie wtedy synchronicznie ze zmianą stanu pinu PD2. Obsługa w przerwaniu będzie kosztować trochę więcej, ale też jest możliwa....
Obsługa enkodera polega na liczeniu impulsów w określonym przedziale czasowym, nie potrzeba do tego żadnych dodatkowych układów. Najprościej wykorzystać do tego układ przerwań zewnętrznych danego mikrokontrolera. A jak wygląda zmiana kierunku obrotowego w takich sterownikach. Wiem, że to kwestia sterowania jednym pinem Chętnie bym zobaczył jak chcesz...
Problemem przy sterowaniu programowym jest np. obsługa enkodera czy innych przerwań. Wtedy efekty już ciężej zrobić bez "mignięć i przycięć". Ale ogólnie cena/jakości i możliwości wymiata.
obsługa enkoder obsługa enkoder bascom podłączyć obsługa enkoder
wyciek passat czujnik krancowy iskra komputer
Wewnętrzna budowa wzmacniacza STK4192II Yamaha Majesty 125 1999 – układ i rozkład wskaźników, kontrolki, demontaż kokpitu