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ąć...
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ą...
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...
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 mój program powinien działać tak, że najpierw oczekuje na impuls przy zboczu opadającym na Int0. Gdy go wykryje to wtedy uruchamia przerwanie zewnętrzne Int1 i zaczyna zliczać na nim impulsy. Problem polega na tym, że jeśli jeszcze nie zostało załączone przerwanie Int1, a pojawi się ileś razy niski poziom na tej nodze, to zmienna licznikowa ad_count...
Pracuje nad programem którego część w której mam właśnie problem ma sie zajmować zliczaniem impulsów od dwóch silników.Silniki pracują jednocześnie i każdy z nich daje 2 impulsy na jeden obrót.Prędkośc obrotowa każdego to 600 obr /min.moje zliczanie impulsów ma słózyć do regulacji obrotów tak aby mniej wiecej równa sie kreciły ale tak nie super dokładnie....
Chciałem napisać program, który zlicza wystąpienia stanu niskiego na portach wejściowych (impulsy do 1kHz). Ten, który napisałem jakby liczył czas, w którym miałem wciśnięty przycisk. Podejmowałem już próby napisania programu, gdzie wykorzystując funkcję delay (i zabezpieczenie przed drganiami styków) Jak poniżej: #include <avr/io.h> #include...
Witam, potrzebuje zamienic zbocze rosnace na 1 impuls, a malejace na 2. Chodzi o pomiar czasu zwarcia pewnego włącznika zwykłym zegarkiem ze stoperem. Moment zwarcia wyzwoli 1 impuls - uruchomi stoper. Moment rozwarcia wyzwoli 2 impuls - zatrzyma stoper. Czy ma ktos z Was moze jakis pomysł albo spotkał sie z takim problemem ? Wielkie dzieki i pozdrawiam....
Witam. Czy ktoś z Was spotkał się może z jakimś konkretnym tego typu rozwiązaniem? Potrzebuję Komputerem PC (np.przy pomocy portu LPT) zliczać impulsy z przyrostowego przetwornika obrotowo impulsowego i wyświetlić na monitorze. Jest to typowy przetwornik,który ma dwa wyjścia TTL przesunięte miedzy sobą w fazie - A i B.
ma dwa zadania ale nie wiem o co chodzi proszę aby ktoś chętny znalazł sie do pomocy 1)napisz program w języku drabinkowym który bedzie zliczał impulsy na wyjściu J1 i po zliczeniu 10 impulsów na włączonym wyjściu Q2 na 5s 2)rozwiązać powyższe zadanie w przypadku w którym sterownik ma nie reagować na impulsy przychodzące na wejście I1 podczas załączania...
Witam ! Buduje urządzenie i potrzebuję zliczać impulsy, gdy engoder porusza się w określonym kierunku, w przeciwnym chcę je wyeliminować. Mam enkoder z wyjściem A i B przesunięte w fazie o 90° oraz ich zanegowane wersje. Problem w tym że do tego celu nie mogę wykorzystać mikrokontrolera bo zostało mi tylko jedno wejście - muszę te sygnały obrobić jakoś...
Witam Chciałbym usłyszeć Wasze zdanie na jeden temat. Otóż mam urządzonko zbudowane na bazie Atmegi8 - całość zamontowana na maszynie -gra i buczy (dzięki również Waszej pomocy za co bardzo dziękuję). Maszyna ma czujnik podczerwieni, który bada przesuwające się na taśmie przedmioty (czujnik zasilany jest 24 VDC i ma 3 przewody VDC, GND, i SYGN przedmiot...
Witam mam pytanie dotyczące zbudowania układu, który po zadanej przeze mnie liczbie impulsów zatrzymywałby jakieś urządzenie (np.silnik). Jak wiadomo, silnik zatrzymywany byłby przez przekaźnik sterowany moim układem. Problem polega na tym, jak zbudować licznik, który wcześniej miałby zadaną liczbę impulsów. Np raz 100 innym razem 200. Czy jedynym sposobem...
Witam! Potrzebuję pomysł na układ, który po podaniu na wejscie stanu "1", na wyjściu wytworzy krótki impuls takze o wartości "1" http://obrazki.elektroda.net/76_12500046... Bardzo prosze o pomoc!
Witam Nie moge poradzić sobie z napisaniem programu na AVR lub '51, który: Na wejściu np: A.1 będzie zliczał impulsy i od razu na wyjściu np: A.2 będzie podawał impulsy np o 10% większe Przykład: Wejście A.1 = 700impulsów/sek Na wyjściu A.2 = 10% więcej , czyli 770imp/min Proszę o pomoc Pozdrawiam
Witam, Na wyjściu impulsatora występują dwa przebiegi prostokątne przesunięte w fazie o 90 stopni. Program który napisałem działa na na zasadzie że kiedy na jednym przebiegu występuje zmiana stanu z L na H sprawdzam jaki jest stan na drugim wyjściu i na podstawie tego rozpoznaje kierunek obrotu. Niby wszystko powinno działać odpowiednio ale w nie których...
Witam mam taki problem z przerwaniami int0 chciałem podłączyć transoptor szczelinowy pod wejście int0 atmegi16 i zliczać impulsy tylko jest taki problem ze jak zasłonię szczelinę transoptora to zamiast mi dodać 1 impuls to dodaje mi albo 2 albo 10 jak padnie w czym może być problem poniżej zamieszczam kod i schemat http://obrazki.elektroda.pl/3492000700_1...
Witam, załączam mój licznik mod32 który zlicza od 10 (jeśli są błędy proszę pisać), jak zrobić by licznik ten zakończył zliczanie po 20 impulsie? http://obrazki.elektroda.net/98_12710823...
Od dłuższego czasu myślę i nic nie mogę wykombinowac. Chodzi o układ, który po podaniu zewnętrznego impulsu, wytworzy pojedyńczy impuls(dowolny czas od 1ns-1ms) z określonym opóżnieniem. Może przebiegi czasowe cos pomogą w zrozumieniu problemu http://obrazki.elektroda.net/66_12005819... ma byc wytworzony tylko jeden impuls, nastepny dopiero...
Mam silnik z przekładnią który daje 5 impulsów na jeden obrót przekładni, obrotów jest 139 to liczyłem na piechotę ale chcę wykorzystać Atmege 8 do sterowania tym silnikiem i nie mogę dojść do ładu z liczeniem tych impulsów. Próbowałem liczyć impulsy funkcja DEBOUNCE i szło dobrze dopóki nie zwiększyłem prędkości obrotowej, zaczęło gubić impulsy Następnie...
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...
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...
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...
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..........
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ą...
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 ... 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...
enkoder zliczanie impulsów enkoder przerwaniu enkoder zliczanie impulsów arduino
zrobić alarm domowy deklaracja zmiennych ściągacz łożysko odkurzacz
prostownik tyrystor biała poświata telewizor
Pulsujący obraz w wideodomofonie - przyczyny i rozwiązania Scania G 420: Awaria silnika a jazda bez karty