1. z tego co piszesz to przerwanie o najwyższym piriorytecie będzie występowało z częstotliwością 4kHz. Zakładając że będziesz miał zegar 8MHz to na obsługe przerwania (zapisanie 8 bajtów) i obsługe innych przerwań będziesz miał: 8MHz/4kHz = 2000 cykli zegarowych co w przypadku procesorów typu RISC daje jakieś 1500 instrukcji. A to jest całkiem sporo....
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...
Nie widzę problemu. 32 enkodery to 64 bity, 8 rejestrów przesuwnych. Ponieważ SPI działa z max CLK/2 to masz przerwanie co 16 taktów. No ale przecież enkoder możesz czytać wolniej, w zależności od założonej max prędkości pewnie nie trzeba częściej niż co 1ms, czyli przerwania ci wyjdą co 0,25ms - kupa czasu. Dekodowanie enkoderów zrobiłbym w przerwaniu...
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...
Przebiegi te są najprawdopodobniej delikatnie przesunięte w czasie... Można np ustawić (w uP) przerwanie na jeden z pinów, jeżeli w chwili przerwania na drugim 0 - obroty prawe, jeżeli 1 lewo.
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...
Pin ICP nadaje się jeśli chcesz określić np. długość impulsu. Dla enkodera się nie nada - enkoder daje sygnał w kodzie Graya, ponieważ M8 nie ma sprzętowego dekodera tego kodu musisz to zrobić programowo. Aby nie czekać w pętli i ciągle nie sprawdzać czy coś się nie zmieniło wyjścia z enkodera trzeba podpiąć pod wejścia generujące przerwania. W handlerze...
Należy zrobić 2 czynności: 1. Usunąć te kondensatory 100n wydłużające czas ustalania stanu układu, 2. Zaprogramować timer na przerwania co około 2.5ms (~400Hz) i w nich odczytywać stan wejść A, B nie zawracając sobie głowy drganiami styków. Sygnał A używamy do wykrycia stanu zwarcia, wówczas sygnał B odczytujemy do ustalenia kierunku obrotu enkodera....
Użyj ATOMIC_RESTORESTATE a nie ATOMIC_FORCEON. Dzięki temu odtwarzany jest stan znacznika I a nie bezwzględnie ustawiany. A po co? Jeśli w programie p Tak, ale jeśli kiedyś, z jakiegoś powodu, gdzieś wcześniej zablokuje przerwania, to co się stanie po użyciu ATOMIC_FORCEON? Takiego błędu mozna później długo szukać. Owszem, ATOMIC_RESTORESTATE to jeden...
Co prawda nie do enkodera, a do czujnika HC-SR04, ale reguła ta sama, pomiar szerokości impulsu. Zrobiłem to na systemie zdarzeń. Kod: [syntax=c]// konfiguracja systemu zdarzeń pod czujnik HC-SR04 EVSYS.CH0MUX=EVSYS_CHMUX_PORTD_PIN1_gc; // źródłem eventu pin PD1 PORTD.PIN1CTRL=PORT_ISC_BOTHEDGES_gc; // ustawienie przerwania na oba zbocza TCD0.CTRLB...
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...
No to chyba tak, jak kombinowałem ( tylko może źle to opisałem ). Wybrałem grupę interruptów PCINT, a potem wybrałem dwa interesujące mnie PCINT'y. I w następnej linii kodu ustawiłem flagę "I" komendą sei(). Czyli spełniłem trzy warunki GIMSK = (1<<PCIE); (albo GIMSK = 0b00100000;) -> Włączyłem przerwania PCINTx PCMSK = 0b00011000 ; (albo...
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.
http://obrazki.elektroda.pl/2570671900_1... Zasilacz ten powstał jako alternatywa dla wszystkich prostych regulowanych analogowo zasilaczy. Powstał on ok 2008 - 2009r w głównej mierze z sampli zamówionych w TI, BB oraz Microchipie. Regulacja potencjometrami nie jest zbyt dokładna ani wygodna. Do ustawiania napięcia wyjściowego oraz...
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...
https://obrazki.elektroda.pl/3153730500_... Witajcie moi drodzy W tym temacie najpierw szczegółowo pokażę wnętrze drukarki HP Deskjet D1360 , a potem przedstawię jak można wykorzystać jej części z Arduino. Określę pinout enkodera ze środka, napiszę kod pozwalający określić pozycję karetki dzięki użyciu enkodera, oraz też oczywiście...
https://obrazki.elektroda.pl/3252078300_... Poniższy artykuł przedstawia – krok po kroku – wykonanie niewielkiego, kieszonkowego oscyloskopu cyfrowego. Nie jest on tak dobry jak zwykły warsztatowy oscyloskop, ale z drugiej strony można zabrać go niemalże wszędzie. Poza tym – nie wszystkie projekty DIY muszą mieć sens....
http://obrazki.elektroda.pl/7114210100_1... Witam wszystkich serdecznie ! Z racji tego, że zbliżają się święta postanowiłem podzielić się z wami projektem elektronicznego drzewka szczęścia. Urządzenie powstało prawie rok temu i było prezentem urodzinowym dla mojej dziewczyny którą serdecznie pozdrawiam !!! :D Założenia do projektu:...
http://obrazki.elektroda.pl/9589280700_1... HPS 2014 Hybrydowy laboratoryjny zasilacz sieciowy. Parametry użytkowe zasilacza w skrócie: 1. Wykorzystanie tanich i łatwo dostępnych elementów. 2. Wydajność prądowa min 3A (dla niskich napięć może dochodzić do 5A). 3. Rozdzielczość DAC 12bit. (filtrowany PWM 4.9kHz) 4. Rozdzielczość ADC...
https://obrazki.elektroda.pl/8691272400_... Witam, poniższy mini-projekt powstał z inspiracji Część elektroniczna Urządzenie bazuje na dwóch PCB (4x wyświetlacz LED + płyta główna) połączonych ze sobą taśmą flex z jakiejś drukarki. Wyświetlacze to wylutowane z czegoś 7-segmentowe pojedyńcze kostki ze wspólną anodą i czerwonym filtrem...
https://obrazki.elektroda.pl/5718944600_... Przedstawiam efekty mojej próby zmierzenia się z tematem sterowania bramą garażową. Taka potrzeba pojawiła się po awarii oryginalnej elektroniki napędu. Zamiast kupować następną identyczną płytkę sterującą (która znowu padnie po jakimś czasie), można przecież zrobić swoją, prostszą, i potem...
Prawdopodobnie błąd tkwi w warunku posOld==pos Silnik ma pewną bezwładność i w momencie jak uzyskasz odpowiednią pozycję wywołana zostanie funkcja stop, po czym silnik obróci się o kawałek obrotu, enkoder uzyska już inną pozycję (nie spełniającą warunku posOld==pos) i silnik zostanie załączony ponownie. Jeżeli zależy Tobie na uzyskaniu dokładnie ustalonej...
Niestety wczoraj zniszczyłem mój DSO150. Cóż, nieważne. Tutaj znowu moje ustalenia. Sporządziłem wykres moich znanych Seriali (przekonwertowanych z Ascii na Dec i zsumowanych) oraz kodów (Hex na Dec). Następnie kod rośnie wraz ze wzrostem numeru seryjnego. W przypadku szeregowego t2uvGy8a nadal miałbym zakres 11037 kodów (co mieści się między moimi...
Witam. Enkoder na jednym przerwaniu [url=http://www.elektroda.pl/rtvforum/to...
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_...
chce się pozbyć enkodera ze względu na przerwania które potrafią zatrzymać mi prace całego układu Enkoder nie musi być obsługiwany w przerwaniach, ale podobnie, jak przyciski w pętli loop().
Nie możesz zamiast korzystać z polecenia encoder podłączyć go do przerwania i ustawić, żeby przerwanie następowało przy zboczu narastającym?
... niestety nie znalazłem dobrej obsługi enkodera bez używania systemu przerwań (nie pozwala mi na to konstrukcja programu, gdyż innym przerwaniem obsługuję RS'a dla którego bardzo ważne są timingi) Bo dobra procedura enkodera musi być na przerwaniach. Spróbuj pogodzić jedne przerwania z drugimi, np. skracając czas obsługi przerwania do minimum, lub...
Cześć! Próbuję sobie wytłumaczyć dlaczego nie widzę poprawnych wartości pozycji silników określanych za pomocą dwóch enkoderów (silniki mogą niestety obracać się z różną-zbliżoną prędkością). Obsługa przerwania: https://obrazki.elektroda.pl/5945440500_... Straszne zakłócenia zauważyłem na jednym z oscyloskopów, gdy oglądałem przebiegi...
Dobrze, a mogą mnie koledzy naprowadzić jak to zrobić. Na przerwaniach zewnętrznych będzie enkoder i to wiem jak wykonać, a jak zrobić przerwania dla biblioteki obsługującej modbus "modbus_update();", i dla oleda. Z góry dziękuję za pomoc.
Zacznij od początku, to znaczy weź jakieś Menu z Enkoderem, jako przykład i zapanuj nad nim. A później do działającego przykładu dorobisz swój program. Generalnie albo robisz Switch-Case, albo duużo bardziej skomplikowane rozwiązania na obiektach, które w kodzie będą bardziej eleganckie, ale trudniejsze dla zrozumienia dla początkujących. Ja zrobiłem...
Mam jeszcze pytanie bo nie umiem sobie poradzić do jakiego miejsca powinna się zamykać i otwierać brama (nie mam odbojników). Wszystko podłączone wg. schematu wyżej. Przeprowadzam konfiguracje domyślną: Lo - tryb działania E - półautomatyczny Nn - liczba silników 2 F1 i 2 - siła silników - 25 En - enkoder - tutaj mam problem bo nie wiem co wybrać (mam...
Witam wszystkich. Jestem zielony w sterownikach PLC, toteż proszę o pomoc doświadczonych kolegów. Próbuję rozgryźć program, który jest zaszyty w moim FATEK'u (układ działa poprawnie) Ne wejściu X1 jest enkoder. Zastosowano konfigurację HSC4, licznik softwarowy,U/D, zlicz w górę X0. W programie głównym jest znacznik (?) M1982 - maskowanie, który jest...
ale wykorzystując przerwania dam rade podłączyć tylko jeden enkoder do atmegi8. Chyba że są tam przerwania o których nie wiem
ustaw sobie dwa porty pod które jest podpięty enkoder enkodera jako wejścia, przerwania zewnętrzne, wyzwalane opadającym i rosnącym zboczem. PO CO? To co ja podałem jest dwa razy lepsze. A dodatkowo - nieistotna jest pozycja enkodera, a event jego ruchu. Jedyne co obchodzi to to, w ktora strone...
Masz rację, nie ma, może to nie jest ten typ przerwania, który pasuje do enkodera poczytam w dokumentacji może coś znajdę jeszcze. Na razie nic nie znalazłem, może po prostu enkoder nie obsługuje przerwań i tyle. Posiedziałem jeszcze dziś nad tym wychodzi na to, że TIM8_UP_IRQHandler jest wywoływany jak pokrętło wraca do pozycji początkowej. Jak pokręcę...
Raczej utrudnienie, łatwiej pisać soft na jeden uC niż na kilka. Twierdzisz kolego, że łatwiej napisać soft jednocześnie obsługujący enkoder, LCD oraz generowanie sygnału niż 2 osobne ? Naturalnie. Jaki problem aby DMA generowało przebieg, pętla główna obsługiwała LCD a przerwania modyfikowały DMA aby uzyskać modulację? Powyższe stwierdzenie jest chyba...
Fakt, ze jest milion różnych sposobów na zrobienie tego. Ok spróbuję tym sposobem co mi podsunąłeś. W sumie nawet lepiej tak. Dzięki. Dodano po 5 Ok, coś tam skleciłem, jest to niepełny program, bo nie ma w nim np. ustawień dla Mute i trybu, oraz nie pokazuje na LCD wartości, ale to później. Póki co mam dziwny problem z wyświetlaniem, ale o tym za chwile....
Witam. Enkoder z otworem wygląda następująco (nie posiadam, żadnej noty pdf...) Przypuszczam, że jest to enkoder inkrementalny z wyjściem pojedynczym - sygnały A,B (TTL, Push-Pull, otwarty kolektor). http://img854.imageshack.us/img854/9044/... Sposób podłączenia: http://img232.imageshack.us/img232/29/sc... Jak enkoder kreci sie w...
Witam wszystkich, czy jest ktoś w stanie wyjaśnić mi (albo skierować do materiałów na ten temat) układ z rysunku poniżej? https://obrazki.elektroda.pl/7844608900_... W swoim projekcie też wykorzystałem enkoder podpięty bezpośrednio do przerwania zewnętrznego arduino i był on niezwykle czuły na zakłócenia (włączenie maszyny do gniazdka...
Mam w firmie sterowanie na s7-200 i servo bosch. Sterowanie wykonała firma zewnętrzna. Rozwiązanie mało eleganckie ale na pewno tanie. Zastosowano zewnętrzny enkoder podpięty do szybkiego licznika w s7-200, wykorzystane przerwania w programie ,natomiast servo sterowane przez moduł analogowy. Układ pozycjonuje opakowanie i sprawuje sie bardzo dobrze....
Witam mam problem z programem do Serwa step dir na silniku DC z enkoderem , chodzi mi o pomoc w zrozumieniu zasady działania tak na chłopski rozum jak powinno się to odbywać naprawde z regulatorem PID . Ja piszę w bascomie jeśli ktoś może pomóc byłbym wdzięczny. Zrobiłem sobie enkoder do silnika o małej rozdzielczości na obrót 10 impulsów , celowo taki...
http://obrazki.elektroda.pl/7861935900_1... Jest to przykładowy projekt zastosowania 16-kanałowego sterownika PWM PCA9635PW firmy NXP o 16-bitowej rozdzielczości, wbudowanego w moduł MOD-23 ( Podłączenie Sterownik PWM podłączony jest do platformy Arduino UNO przez magistralę I2C . Wyświetlacz LCD podłączony został zgodnie z biblioteką...
Tak zmiana zbocza to jeden krok. Filtr oczywiście jak najbardziej, ja po prostu doświadczalnie wybrałem prędkość, przy której jestem w stanie odczytać impulsy. Przerwania będą w 2 cz.
(at)DarkMajster Ten sam błąd a nawet gorszy - czasochłonną funkcję wysyłania danych przez UART umieszczasz w przerwaniach. Dodatkowo porównanie result == DIR_NONE troszkę nie ma sensu, skoro klauzula {} jest pusta. Warto też dodać, że rozwiązanie jakim jest podłączenie wyjść enkodera pod przerwania pinu w tym przypadku jest ok, ale tylko dlatego, że...
No ciężko to jeszcze bardziej uprościć. Bo to są podstawy podstaw. Po prostu uruchamiasz przerwania dla pinów 8 i 9. Oraz 13 i 14. Z reakcją zarówno na zbocza narastające jak i opadające. W STM32F10x przerwania dla pinów 5...9 oraz 10...15 są wspólne. Czyli mają jeden wektor przerwania i nie wiadomo który pin spowodował wystąpienie przerwania. Więc...
Witam Kolegów. Chciałem się doradzić w kwestii procedury ISR. Mam prosta procedurę obsługi przerwania INT0, Która zapewnia mi obsługę enkodera, za pomocą którego reguluje różne parametry - flaga w ISR decyduje o tym jaki parametr jest regulowany. Chciałbym teraz "dołożyć" drugi enkoder, który służył będzie do dokładnej regulacji tych samych parametrów...
(at)Prezeslukasz Przy liczbie impulsów na sekudę jaką podałeś to ślimak sobie poradzi. Więc tu nie ma problemu. Kwestia, aby przynajmniej poprawnie zaimplementować obsługę enkodera. Co do równoczesnych przerwań to też nie ma problemu, gdyż zostaną one obsłużone w kolejności priorytetów. Ważne tylko, aby w trakcie obsługi przerwania nie były zgłoszone...
Będzie, ale w sposób przewidywalny. W dodatku odpowiedni dobór czasu pomiędzy kolejnymi wyzwoleniami przerwania załatwia automatycznie debouncing. Przy przerwaniach z kolei, dopóki nie kręcisz jest ok, ale jak zaczniesz to masz nagle przerwanie za przerwaniem. W efekcie program jest małodeterministyczny, a policzenie czasu reakcji staje się niemożliwe....
Przeczytaj proszę jeszcze raz mój poprzedni post. Nie muszę. Przeczytałem go wystarczająco uważnie. Widocznie nie jestem wystarczająco inteligentny, żeby go zrozumieć. EDIT: - przyjmując, że na obsługę enkodera (dla obu zboczy) będzie potrzebne 10x tyle czasu daje nam to 140 taktów zegara, co przy 16MHz daje nam to: Więc to też tylko szacunkowa wartość....
przerwania enkoder flagi przerwania attiny przerwania
galaxy pilot mostek l293d instrukcje obslugi thomson
moduł otwierania szyby moduł otwierania szyby
Volvo B5254T 2.5 Turbo 154kW – moment dokręcania śrub korbowodów i wału Electrolux EWT11366HGW 913102359 – amortyzatory, kody błędów, diagnostyka, części zamienne