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.
Ja wcale nie twierdziłem, że to jest sztywna granica. Właśnie dlatego że twierdziłeś że więcej się nie da: Według moich szacunków, przy częstotliwości taktowania 16MHz, detekcji na jednym zboczu, procedurach napisanych w asemblerze i niezbyt wysokich oczekiwaniach dodatkowych co do pozostałych zadań wykonywanych przez mikrokontroler można osiągnąć...
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...
Czytam i sam się pogubiłem hehe . Czy tu chodzi o względne przesunięcie (tmf) czy bezwzględne (satanistik). Parę miesięcy temu robiłem sterowanie PID dla servo Xmega w bascom . [youtube]https://www.youtube.com/watch?v... Nie obyło się bez problemu , który polegał na zliczaniu bezwzględnym więcej niż 65535 impulsów . Mój wpis z innego...
tablice wykorzystuje sie wtedy gdy masz bardzo zliczanie w odpowiednie DM-y wpisujesz wartość progową a odpowiedni bit wystawia sygnał. Dlatego są te tablice że czas wykonywania programu / scan / może byc długi a te tablice są porównywane w przerwaniach dlatego masz reakcję bespośrednio po przekroczeniu progu a nie czekasz na przejście programu. do...
Witam Pisalem kiedys program do sterowania robotem (manipulatorem ) w bascomie. Zliczal on miedzy innymi impulsy z 3 enkoderow. i wszystko ladnie chodzilo: Fragment kody ktory zlicza impulsy z 3 enkoderow: //enkoder 1 Enk1_a Alias Pinb.0 Enk1_b Alias Pinb.1 //enkoder 2 Enk2_a Alias Pinb.2 Enk2_b Alias Pinb.3 //enkoder 3 Enk3_a Alias Pinb.4 Enk3_b Alias...
Mój enkoder wysyła 4 impulsy i wynik dziele przez 4. Impulsy nie skaczą i zliczają się poprawnie. Funkcja jest wyzwalana przerwaniem zegarowym a nie zewnętrznym. Tak więc nie będę robił deboucingu. Pozdrawiam i dziękuję za odpowiedź.
Według mnie to wychodzi tak : dla czujnika z 4 polami odbiciowymi przy prędkości 2000 rmp uzyskasz 8000 imp / min, co daje częśtotliwosć ok. 133 Hz. Przy tej wartości nie bedziesz mial problemów ze Shmittem. Wyjście z czujnika podajesz np. na wejście INT0 mikrokontrolera i w przerwaniu sterujesz wewnętrznym timerem. Po prostu przerwanie INT0 powinno...
Witam, Mam enkoder inkrementalny E6A2-CS5C o ilości impulsów 100/obrót. Enkoder współpracuje z siłownikiem pneumatycznym za pośrednictwem listwy zębatej, która mierzy jego wysunięcie. Siłownik jest zamontowany w maszynie i ma mechanicznie ograniczony zakres ruchu z obu stron, co oznacza, że teoretycznie może pracować w dość ściśle ustalonym zakresie...
Mam pytanie o zliczanie impulsów z enkodera inkrementalnego. W aplikacji mierzę elementy przemieszczające się po przenośniku taśmowym. Enkoder jest umieszczony w motoreduktorze i liczy obroty silnika 1024 impulsów na obrót silnika. Wychodzi około 24000 imp. na sekundę. Uwzględniając prędkość przenośnika wychodzi 68 impulsów na mm produktu. Błąd pomiaru...
tmf , dlaczego uważasz że nie jest to dobrym pomysłem ? Nie zawsze w programie trzeba zliczać impulsy , czy liczyć czas na innych przerwaniach .Wszystko zależy od programu . do czego ma być.
Problemem jest tutaj fakt ze licznik zlicza impulsy. A ty każdemu krokowi enkodera chcesz przypisać pewna wartość (regulacja zgrubna/precyzyjna) a tego licznik nie robi (bo każdy impuls jest traktowany z taka sama waga). Jednym z możliwych rozwiązań jest zliczanie ilości impulsów i mnożenie ich przez wagę (w zależności od wybranej dokładności). [syntax=c]...
Witam Posiadam enkoder jak w temacie, niestety nie mam do niego wzmacniacza (schemat w załączniku), czy można zastąpić ten wzmacniacz jakimś układem scalonym? Sam enkoder generuje na wyjściach sygnał zbliżony do sinusoidalnego na poziomie 20mV/DIV (stary oscyloskop ale...). Myślałem o jakimś komparatorze, ale chwilowo nie mam pod ręką. Enkoder podłączony...
Witam , posiadam enkoder , dajacy sygnały A i B chce dołaczyc go do uC Atmega, tu jest problem poniewaz procesor ma za zadanie wykonywac pewna czynnosc na wewnetrznym przerwaniu od licznika.... bedzie ona wywoływana z pewna czestotliwoscia i ona ma najwyzszy priorytet. teraz pytanko , jak podlaczyc enkoder do uC aby nie zgubic zadnego impulsu z niego..........
W przerwaniu timera, powiedzmy 1000razy na sekundę, sprawdzany jest stan pinu i porównywany ze stanem odczytanym poprzednio, jeśli jest inny to zwiększany jest odpowiedni licznik, a stany aktualne są przepisywane jako poprzednie. Robiłem tak setki razy i zawsze działało dobrze, tylko miałem do czynienia z gotowymi układami impulsatorów ze sprzętową...
Mam rozumieć, że układ zliczał prawidłowo, jeśli nie wykorzystywałeś INT0. Jeśli tak, to ja mam taką teorię: enkoder podaję impulsy o częstotliwości 250kHz (impuls co 4us), w czasie 100ms, takich impulsów może przyjść 25000. Z racji że opóźnienie jest programowe, każde wywołanie przerwania INT0, powoduje "wyskok" z procedury waitms (załóżmy że to jest...
Dla 600 RPM twój enkoder generuje zaledwie 72000 przerwań. To prawie nic, więc jeśli jest problem, to wynika on wyłącznie ze źle napisanego softu. A więc tu masz duże pole do manewru. Pytanie - czy enkoder zlicza tylko w jedną stronę, czy kierunek obrotów może się zmieniać? Jesli obroty są tylko w jedną stronę, to sprawa jest prosta - podaj impulsy...
A skąd wiesz, że impulsy z enkodera są dobrze zliczane ? Dodano po 4 W AVR Studio zmieniło się że jak zliczy do 100, to obrot = 2, zliczy do 200, obrot = 4, zliczy do 300, obrot = 6. Nie wiem skąd 2, 4, 6 skoro ma dodawać +1... Z tego wynikało by, ze enkoder ma 200 impulsów na obrót. Czyli po jednym obrocie cnt=200, pod dwóch cnt=400 itd.
(at)Flesz Taktuję zewnętrznym kwarcem 16MHz , więc przerwania z częstotliwością 14kHz powinno dać się uzyskać. Na pewno się da - przy prostym programie. Jeżeli jednak procesor będzie mocno obciążony to dodatkowe zliczanie enkodera może powodować utratę impulsów, a co za tym idzie przekłamania. Myślę że z czegoś to wynika że gotowe biblioteki liczą...
Przyznam że niezbyt zrozumiały jest dla mnie ten program z obsługą enkodera, ciężko mi to ogarnąć wszystko po prostu. O co chodzi tak w skrócie z tym przerwaniem timera? Dodano po 3 Czytam teraz ciekawy artykuł o timerze 0, pisze że jego zadaniem jest zliczanie przychodzących do niego impulsów, jeśli to tak działa, to myślę że idealne rozwiązanie. Dodano...
Program ma za zadanie sterować silnikiem krokowym z określoną czestotliwością i jednocześnie zliczać impulsy z enkodera. Do obsługi silnika wykorzystuję Timer0, który odmierza mi równe odcinki czasu pomiędzy kolejnymi krokami silnika. Natomiast do obsługi enkodera wykorzystuję Timer2, który po przepełnieniu zgłasza przerwanie i sprawdza stan na wejściach...
ad2 Jako enkoder można wykorzystać plastikową tarczę z równomiernie nawierconymi otworami + (jak już kolega bogdan_p wcześniej napisał) transoptor szczelinowy, np H22B1: http://www.datasheetcatalog.com/datashee... 2 takie zestawy montujesz na koła i zliczasz impulsy np za pomocą przerwań.
Witam serdecznie. Niestety po wielu bataliach poległem z tematem jakże prostym. Posiadam enkoder optyczny o dokładności 2000 impulsów na obrót. postanowiłem podpiąć go do mikokontrolera aby zacząć liczyć jego impulsy (kierunek obrotu tutaj jest nieistotny) impulsy liczy jednakże liczy je bardzo niedokładnie - szukając nie bardzo mogłem natrafić na szybki...
Rozwiązałem problem w następujący sposób: 1. Impulsy z enkodera podawane są na dwa wejścia timera (TIOA i TIOB) 2. Timer jest ustawiony w trybie CAPTURE 3. TIOB traktowany jest jako TRIGGER wywołujący przerwanie na zboczu narastającym i opadającym. 4. W obsłudze przerwania rozpatrywane są 4 przypadki: if(TIOA == 1) { if(TIOB == 1) { licznik--; } else...
Witam. Zdaje sobie sprawę, że temat ten był poruszany na elektrodzie wielokrotnie, jednak po przeczytaniu kilkudziesięciu wątków nie znalazłem rozwiązania które może mi pomóc. Otóż potrzebuje mierzyć położenie obracającego się wału silnika w czasie, uzyskując wynik do dalszych obliczeń w kaskadowej strukturze sterowania. Ponieważ posiadam (niestety)...
Witam ... jak w temacie mam pytanie enkoder zasilanie 5V wyjście kanały A B na poziomie 1Vpp czy mogę to razem połączyć z wejsciem licznika 16bit PD5 noga 11 bez dodatkowych zbędnych układów układ ma być licznikem impulsów z enkodera 2000imp/obr przerwaniem zewnętrzym będzie sygnał zbocza opadającego na PD3 noga 5 - znalazłem kiedyś dość prosty interface...
Witam. Mam maleńką prośbę. Czy mógłby ktoś z bardziej doświadczonych kolegów podpowiedzieć mi w następującej sprawie?? Mianowicie zliczam impulsy (na zew. przerwaniach) z enkodera i teraz chciałbym ruszyć silnikiem o ileś impulsów i aby ten samoczynnie sie zatrzymał. Problem w tym, że kod na pewno działa poprawnie ale niestety silnik ignoruje moj warunek...
Witam, posiadam płytkę ZL29ARM i staram sie zrealizowac odczyt predkosci obrotowej przy uzyciu enkodera wobit M590. Kierujac sie dokumentacja "reference manual" podlaczylem enkoder - kanaly A i B na piny numer 6 i 7 na porcie A, uruchomilem Timer3 w trybie enkodera i dziala - zlicza w gore, w dol. Problem polega na tym, ze program powinien udostepnic...
ok dzieki za podpowiedz, będę szukał. Mam jeszcze jedno pytanko. Borykam sięz problemem szybkich licznków. Otóż ten problem. mam do dyspozycji silnik z reduktorem na tym wisi enkoder. Zliczam przez szybki liczniki wartość aktualnie zliczonych impulsów i po przekroczeniu x impulsów zatrzymuję silnik. Startuję i po x impulsach zatrzymujęi tak w kółko....
Witam. Chcę napisać program do obsługi enkodera, problem polega na tym że podczas widzenia się diody nadawczej z odbiorczą program zlicza spora ilość impulsów a chcę aby do zmiennej dodawało tylko +1. Proszę o pomoc. Enkoder podłączony jest bezpośrednio do atmegi i działa, błąd jest w programie. Pozdrawiam http://obrazki.elektroda.pl/2316951800_1...
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...
http://obrazki.elektroda.pl/1388386800_1... Jeśli pojawi się 1 na encoderA to chcesz sprawdzić encoderB aby wiedzieć w którą stroną to idzie i czy zrobić EPOZ += 1 czy EPOZ -= 1? Jeśli tak to MSZ nakombinowane jest w obsłudze przerwań, wystarczy jedno do kanału encoderA i sprawdzamy: jeśli encoderB = 1 to zwieksz EPOZ jeśli nie to zmniejsz...
Poprawiłem warunek else na następujący [syntax=c] else PORTA&=~(1<<PA2); // Jeśli nie zgaś LED [/syntax] zaś flagi zdeklarowałem następująco [syntax=c] volatile uint8_t flaga1=0; volatile uint8_t flaga=0; [/syntax] co w efekcie dało cały kod następujący [syntax=c] #include <avr/io.h> //dołączenie podstawowej biblioteki #include <util/delay.h>...
Przesuwam wolno pasek 100 sztuk rezystorów 0603. Ilość zliczona przez serial to 88 sztuk: 09:44:28.832 -> Zliczona ilosc elementow wynosi:85 09:44:29.113 -> Zliczona ilosc elementow wynosi:86 09:44:29.535 -> Zliczona ilosc elementow wynosi:87 09:44:30.379 -> Zliczona ilosc elementow wynosi:88 Może problemem jest mechanika, że nie powinno...
Próbowałem zrobić pomiar częstotliwości, ale wyświetla mi jedynie -1. [syntax=c]#define GetCaptureValue(_tc) ( _tc.CCA ) volatile uint8_t lineCount=15; uint16_t calcFreq=0; char buf[15]; void inic() { // wejścia enkodera PORTCFG.MPCMASK = 0b00000011; // wybór pinów 0 i 1 do konfiguracji PORTD.PIN0CTRL = PORT_ISC_BOTHEDGES_gc | // reagowanie na poziom...
Dzień Dobry Od jakiegoś czasu, po blisko 20 latach przerwy, wróciłem do majsterkowania i elektroniki i muszę przyznać, że zafascynowały mnie dzisiejsze możliwości jakie oferuje się hobbystom. Dostępne dla amatorów technologie, dostęp do wiedzy i możliwości zaopatrzenia się w narzędzia i materiały są zupełnie inne niż przed laty. Ostatnich kilkanaście...
Enkodery dają na wyjściu kod Graya i trzeba to zdekodować zanim zaczniesz zliczać impulsy. Jak to zrobić masz w przykładach do mojej książki o C na AVR (link w stopce, przykłady są za darmo).
Cześć, po analizie działania enkodera obrotowego (mechanicznego) i ilości problemów, jakie on dostarcza, postanowiłem skonstruować prosty układ elektroniczny, który "wygładzi" impulsy enkodera. Układ posiada dwie wersje. Obie są na przerzutnikach Schmitta. Pierwszy na pojedynczych układach TI SN74LVC1G17: https://obrazki.elektroda.pl/5101546100_...
Witam! Wydaje mi się że prowadzącemu chodzi o zbudowanie jakiegos prostego enkodera (np. co obrót będzie podawał sygnał 0 na INT0 lub INT1, lub wykorzystać transoptor i jakąś zębatkę do przerywania diody nadawczej - to chyba najprostsze jakie mi przychodzą). Potem piszesz program zliczający impulsy w przerwaniu (INT0,INT1) i w tym samym czasie puszczasz...
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...
zliczanie impulsów z dwóch enkoderów Jeżeli to są enkodery inkrementalne z sygnałem A, B i ew. Home, zrezygnuj z megi64/128. Xmegi mają wsparcie sprzętowe do obróbki sygnału z takich enkoderów przez użycie liczników w połączeniu z eventami. Na STM32Fxxx zrobisz to łatwiej i być może szybciej korzystając z gotowców. generowanie dwóch przebiegów PWM...
Jedyna zmienna, którą trzeba przechowywać, to old_A; można by zrezygnować z B, która jest używana raz, wstawiając read_B() zamiast B. I jest też sposób, by zrezygnować z A: porównujesz read_A() z old_A, jeśli się różnią, to zmieniasz old_A i zliczasz, kierunek według poprawionego old_A i read_B(). Przerwanie musi być na obu kierunkach zmian sygnału...
Witam, Pomiar jest poprzez HSC który jest ustawiony na pomiar częstotliwości okresem próbkowania co 10 ms. impulsy z enkodera odczytuje w w przerwaniach co 15 ms i przeliczam impulsy na m/min HSC próbkuje sygnał co 10ms a Ty co 15 ms zliczas impulsy. Jak masz pomiar częstotliwości to czemu robisz jeszcze zliczanie ? Czemu nie zamienisz HZ na rpm? Miałem...
Witam, po zrobieniu prób okazało się że zliczanie impulsów jest niepoprawne. Timer zlicza przypadkowe stany (wynikające z drgań styków). Nie pomógł układ RC na liniach A, B enkodera. Pozdrawiam
Dziękuje bardzo za odpowiedzi, rozwiązałem ten problem przy użyciu przerwania czasowego. Mam kolejne pytanie: czy istnieje możliwość użycia dwóch szybkich liczników? Ma ktoś jakiś pomysł jak mógłbym to zrobić? Pierwszy musiałby zliczać impulsy enkodera , a drugi impulsy generatora wzorcowego. Dokładniej można przeczytać tutaj o co biega (metoda kombinowana):...
Moja propozycja: Ustaw przerwanie tylko z jednej linii, np. A. Procedura obsługi przerwania: zmienna = zmienna+1 jeżeli B=1 to zmienna = zmienna -2 koniec przerwania
Witam, kolego nie te instrukcje. Do obsługi enkoderów używa się szybkich liczników, które działają w przerwaniach. W załączniku instrukcja do tej serii sterowników, szukaj "High-speed Counter".
Witam ;) Mam problem z jednoczesnym odczytem prędkości oraz położenia wału enkodera inkrementalnego w sterowniku Siemens S7-1200. Kwestię odczytu samej prędkości lub położenia mam opanowane bo jeśli chcę określić położenie to wykorzystam zliczanie impulsów z HSC, a kiedy chcę prędkość to wejście HSC ustawiam na pomiar częstotliwości. Niestety nie mam...
Może po prostu dane z enkodera są zakłócone i występuje więcej impulsów niż wynikało by z prędkości obrotowej enkodera. Przy kwadraturowym jest jeszcze o tyle dobrze że zakłócenia się same niwelują. Tzn. licznik będzie zliczał do przodu i do tyłu na przemian. Tyle że ten licznik musi po prostu nadążać z tym zliczaniem. A tutaj liczy procek i go może...
1 kHz ??? Będzie ciężko - to jest 1ms, czyli sporo mniej niż skan. Chyba trzeba przejść przez zakiś zewnętrzny szybki licznik, ale nawet jak zliczał będzie zewnętrzny licznik, to rozumiem że interesuje cie wykrywanie jakiegoś konkretnego wyniku. Na SIMATICU czegoś takiego nie robiłem. W Mitsubishi robi się to tak, że szybki zewnętrzny licznik zlicza...
Witam. Mam układ z LS7083 do którego trafiają sygnały z enkodera (1600/obr). Piszę kod na uC do sterowania silnikiem DC. INT0,1 odpadają, bo w połączeniu z przerwaniami od timera (generującego PWM) cały program mam "poszatkowany", tj. przerwania od INT przerywają te od timera. Dlatego szukam rozwiązania tego problemu w taki sposób, aby w przerwaniu...
Jeżeli to ma być projekt czysto teoretyczny, mierzący tylko prędkość obrotową bez położenia obiektu (wałka enkodera), to przecież wystarczy zliczać impulsy sprzętowym licznikiem (16-bit), a drugi wykorzystać do generowania przerwania ze stałym okresem, np. 10ms, aby cyklicznie odczytywać ilość zmierzonych impulsów. Prędkość obrotowa wałka, to ilość...
Witam !! Ustawiłem przerwania dla licznika. Działają gdy licznik zlicza w górę Czyli 0, 1, 4,5 i załącza przerwanie. Czy można tak zrobić aby przerwanie przy 5 załączyło się .gdy licznik liczy w dół 7,6,5 ,4 ? [syntax=c] TCC0.PER=0; //górna granica licznika x4 !!!!! TCC0.CTRLB = TC_WGMODE_NORMAL_gc; // zwykły tryb zliczania impulsów TCC0.INTCTRLA =...
Te coś takiego , to jest układ do resetowania procesora w momencie włączenia zasilania i nie służy do eliminacji drgań S1 (R10 jest nie potrzebny). Jak chcesz zliczać szybkie impulsy to zrób to na zewnętrznych przerwaniach , jeżeli ma to być tylko liczenie ile razy przycisk został naciśnięty , to powinno wystarczyć If Pinc.4 = 0 Then waitms 200 Incr...
Robienie tego na przerwaniach z pinów nie jest dobrym pomysłem. Przy enkoderze właściwie nie interesują cię zbocza sygnału, lepiej zrobić próbkowanie pinu IO co określony czas - zależny od liczby impulsów /s. Przykładowy kod działający na tej zasadzie możesz pobrać za darmo z przykładów z mojej stopki. Łatwo go rozszerzyć o kolejne enkodery. Są też...
Dziękuję wam bardzo za pomoc, pomyliłem się w obliczeniach :D Przy kwarcu 8 MHz, jaki zastosowałem i przy podziale w preskalerze przez 256 okres zliczanych impulsów wyniesie 32 µs. Zliczenie w sprzętowym liczniku 250 tych impulsów to 8 ms i co 8 ms dostanę przerwanie - to już całkowicie dopuszczalne, tym bardziej, że ważniejsze są dla mnie impulsy...
Każde wywołanie millis() trwa w sumie 29 cykli zegara, w tym przerwania blokowane są tylko na mniej niż połowę, czyli około 1us (przy 16MHz), w pętli loop można wywołać millis() raz by potem napełnić swoje zmienne setek ms/sekund/minut/itd. Oczywiście przerwanie zostanie zauważone, po prostu reakcja może być opóźniona o tą 1 milionową część sekundy....
Mam problem z enkoderami w robociku. Silniki sterujące zasilam z L293D i spowalniam PWM'em. Enkodery ( tarcze + transoptory szczelinowe) zasilam z tego samego źródła i zliczam sygnały jako przerwania w procku. Niestety procek zlicza mi również pwm'a (reaguje na zbocze opadające) i zamiast np 100 impulsów wychodzi w granicach 3000. W jaki sposób mogę...
Ok rozumiem. Chcę po prostu zliczać impulsy dla enkodera inkrementalnego(dwa sygnały A i B) ale muszę zliczać impulsy dla każdej zmiany stanu na obu liniach aby otrzymać ilość sygnałów 4xPPR Przydał by się także port USB. Było tak od razu :) Jedno z rozwiązań podał ci kolega Atom, ale skoro chcesz też USB, to proponuję XMEGA, ktory ma sprzętowy dekoder...
Witam kolegów Nie znam się na assemblerze bascom się nie wyrabia w czasie, czy mógłby ktoś napisać wstawkę assemblerową zamiast poniższego listingu ? ten listing jest w przerwaniu INT0 i zlicza impulsy od enkodera , niezbyt szybko działa, a ja potrzebuję bardzo szybkie działanie. If pind.3 = 1 Then decr poz if poz = 0 then poz = 5000 else incr poz if...
Witam ! Dzięki wielkie za porady, po pierwsze przeniosłem cały program do pętli głównej i timera0 już nie używam, Właczyłem tryb CTC i nim pięknie generuję częstotliwość. Ale niestety w toku dalszych prac pojawił się następny problem. otórz w układzie potrzebuję wykorzystać jeszcze przerwanie od INT0 http://obrazki.elektroda.net/59_12685081...
Optymalizacja wydajności silników elektrycznych: Wyjaśnienie technik sterowania PID Kiedy przyglądamy się dronom, deskom balansującym, inteligentnym samochodom i odwróconym wahadłom, ciągle pojawia się ten termin - PID. Ale czym u licha jest PID i do czego służy? Cóż, w tym artykule stworzyłem prosty sterownik silnika, aby zagłębić się w zasadę działania...
Witam, Przyszło mi programować dość egzotyczny (jak się okazało) mikrokontroler Xmega32E5. Programowałem już wcześniej "duże" Xmegi, jak Xmega16A4U czy 256A3U, a w tej E5 napotkałem an szereg problemów, gdyż zmieniło się nazewnictwo komend. W związku z tym mam kilka pytań o ustawienia peryferiów. Jakkolwiek w ustawieniach zegara czy IO nie widzę problemu,...
Witam, Nie chciałem zaczynać nowego tematu o impulsatorze, więc się podpinam;) więc potrzebuję program do obsługi impulsatora, musi zliczać szybko impulsy, oraz działać poprawnie prawo(dodać impulsy)-lewo(odjąć impulsy). Po przeszukaniu wszystkiego co możliwe, po przestudiowaniu wszystkich programów dowiedziałem się że najszybciej działa na przerwaniach....
lbugiera: Wiem jak wyglądają przebiegi z enkodera. Chyba się nie zastanowiłem pisząc to zdanie. 100% racji przyznaje. Ale idąc dalej i w ten punkt. Czy nie jest możliwe, że przesłona zatrzyma się w tak felornym miejscu, że fototranzystor będzie przewodził i nie oscylując? (To właśnie te powolne ruchy). Wydaje mi się że nie, ale chętnie usłyszę waszą...
Witam, Przedstawiam a tym artykule jak można na jednym przerwaniu obsłużyć pokazany poniżej impulsator. Może komuś się przyda. http://obrazki.elektroda.pl/6570210900_1... http://obrazki.elektroda.pl/3250862500_1... Wyjście B enkodera może by na innym dowolnym pinie, wymaga jedynie zmian w algorytmie. /* wyjście impulsatora...
(at)MastrPlastr Pomimo jak się wydawało porządnego pierwszego postu, twoje wypowiedzi są niekompletne, dozują nam stan faktyczny po troszkę i są sprzeczne, co nie pozwala nam zdiagnozować problem. Na przykład: Hmm.. czyżby jakieś zakłócenia? versus: Dysponuje oscyloskopem cyfrowym, doskonale wiem jak wyglądają przebiegi w moim układzie, wiem co tam...
Witam. Mam problem z obsługą enkodera Maxon M 128-512. Problemem jest zbyt duża ilość impulsów generowana na obrót wału wyjściowego przekładni. Enkoder jest sprzężony z silnikiem MAXON A-MAX 22mm ten z przekładnia planetarną. Enkoder na jeden pełen obrót podaje 512 impulsów ( jest to maksymalna rozdzielczość tego modelu ), aby obrócić wałem o 360 stopni...
Obsługuję generator PWM na OC2(PB7) i enkoder optyczny na INT2(Kanał A),INT3(Kanał B).Podczas gdy włączę generator PWM enkoder zlicza mi impulsy ale jak obracam w inna stronę to już stoi.Gdy wyłączę PWM enkoder działa poprawnie w obie strony.Oto jak ustawiam enkoder i PWM. //--------------------------------PWM PORTB &=~_BV(PB7); DDRB |=_BV(PB7);...
enkoder zliczanie impulsów enkoder przerwaniu enkoder zliczanie impulsów arduino
bufor mikrokontroler start silnika pilota magboss samsung
używany telefon telewizor toshiba czarny ekran
Jak odblokować Nokia 500 Mobile Security? Jak zmienić język w aparacie fotograficznym z chińskiego na angielski