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.
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ą...
Cześć, mam pytanie odnośnie Timerów w uC ATmega. Potrzebuję następujących opcji: - zliczanie impulsów z dwóch enkoderów - generowanie dwóch przebiegów PWM - generowanie przerwania co kilka ms. ..............? Czy są jakieś AVR'y mające 4 timery? ........... Pozdrawiam, Bartek Wystarczy ci Atmega48/88/168 Dla 2-ch sygnałów PWM wystarczyłby 1 timer z...
W jakich odstępach czasowych pojawiają się kolejne przerwania przy zliczaniu impulsów?
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...
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...
Prawdę mówiąc nie widzę sensu w realizacji dzielenia przez 40 sprzętowo. Ale jak pisałem, jeśli masz wolny timer, to do rejestru PER timera za pomocą którego realizujesz QDEC wpisujesz 39, wtedy co 40 impulsów wygeneruje ci przepełnienie, które możesz transmitować przez event system jako zegar dla drugiego timera, który w efekcie będzie zliczał co 40...
Owszem zajrzałem do tych przykładów z enkoderem, ale nie rozumiem większości z tych programów. Nie wiem czy dam radę to zaprogramować, bo widzę że jednak może być ciężej niż przypuszczałem. Ale spróbuję, a w związku z tym mam pytania: 1. Jak na razie mam podłączony tylko kanał A. Czytałem trochę o kodzie Graya, ale żadnych praktycznych sposobów jego...
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".
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...
Dla enkoderów ze stykami mechanicznymi, jeśli nie podłączasz go do uC za pomocą prostego filtru RC, wykorzystywanie timera czy przerwań to ślepa uliczka. Z racji, że takie enkodery nie generują impulsów o dużej częstotliwości, to najlepiej zrealizować odczyt programowo, np. cyklicznie w systicku sprawdzać czy mamy stan wysoki przez minimalny czas i...
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...
Mateusz(at) Jak będę w domu to sprawdzę to rozwiązanie. MArSTER_1 Nie wiem jak napisać przerwanie aby w kółko się nie wykonywało jak jest stan niski.
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...
W kwestii formalnej, ten kod się nazywa kodem Gray'a (od nazwiska Franka Gray'a 1887-1969, pracownika laboratoriów Bella, który go opracował) Co do samego problemu, to - prędkość obrotową wyliczysz z jednego kanału mierząc ilość impulsów w jednostce czasu lub mierząc czas trwania jednego okresu i przeliczając to na obroty (wiadomo ile masz impulsów...
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]...
Nie wiem, jakie częstotliwości wchodzą w grę i jak długą masz pętlę programu. Do rozważenia jest wykorzystanie przerwania czasowego (np. co 10 ms) albo sprzętowego (od wejścia enkodera) i liczników. Rodzaj sterownika wydaje mi się sprawą wtórną.
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
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 =...
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....
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...
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.
Witam. Jest taki problem. Robię odczyt z enkodera w mikroprocesorze używając przerwania do zliczania impulsów. Ilość zliczonych impulsów jest zapisywana w zmiennej alfa. Zmienna alfa jest przesyłana do PC przez port COM3 z prędkością 115200 bps. Dane na 100% dochodzą do portu i mogę je odczytać np. w LabVIEW. Jednakże, odczyt tych danych musi być w...
(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ą...
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ę...
Witam. Elektrycznie jest wszystko rozwiązane jak w nocie katalogowej, czyli rezystory są 2,7k. Co do listingu musze tego poszukać, ale z tego co pamiętam nie wykorzystywałem w nim pinu I, był mi niepotrzebny. Ponieważ nie wiem kiedy będę mógł zamieścić listing, polecam poszukać zasadę działania enkoderów. Co do programu najlepiej zrealizować to na przerwaniach....
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...
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ąć...
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ść...
Kolego Chivo ja korzystam obecnie z enkodera dfrobot df400 ma 400 impulsów na obrót, czasem bywały problemy z nim ale znacznie przewyższa tanie impulsatory. Wracając do tematu opracowałem kod który działa mniej więcej tak jak bym chciał. Czujnik odległości optyczny odbiciowy działa na pinie 12, na pinie 2 korzystam z impulsów enkodera. Podczas gdy obiekt...
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...
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):...
michal2666 --> sposobów jest milion. 1 sekunda to hetar czasu zresztą tak samo jak 16ms to także hektar czasu ;) Powiedz lepiej na co ty masz wykorzystany tenże swój Timer1 bo zaraz się może okazać, że także i jego można spokojnie wykorzystać do tych celów. Inna możliwość to - użycie Timera0 do odliczania impulsów do czasu upłynięcia 1sek i wtedy dopeiro...
No tak, poszło, dodane SMB47, HSC1, jeszcze tylko odpowiednio przeliczyć i będzie ok. A tak na marginesie rejestr sterujący 16#F8 powoduje zliczanie x4 w górę, 16#C0, czy te dodane przerwanie uaktywnia zliczanie w dół i w tym czasie zliczona jest odpowiednia ilość impulsów ?? Dziękuję za pomoc
Zmiana enkodera jest nie możliwa. Muszę sobie poradzić ze zliczaniem impulsów tylko nie jestem pewien jak to zrobić. Nie mam za bardzo opanowanych liczników na Atmedze ale jest jakiś sposób zliczania ilości zboczy narastających na nich? Drugim pomysłem jest użycie przerwań zewnętrznych, ale jak wtedy określić kierunek obrotów? Po prostu nie chce wyważać...
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...
Tak jak podpowiada kol.Strumien swiadomosci swia ...Czyli automatyczne sterowanie lewo prawo? Weź Siemensa lub mollera i po sprawie... Licznik będzie miał tylko jedną wartość i zawsze w układzie dwóch przekaźników jeden będzie wysterowany. Tu jest potrzebna opcja histerezy/okna gdzie układ jest w stanie spoczynku i żaden kierunek pracy nie jest wysterowany....
Nie musisz korzystać z enkodera ale musisz z szybkich liczników (choć enkoder ułatwi zadanie). Oczywiście czujnik musi być odpowiednio szybki i współpracować z "tarczką" o odpowiedniej ilości wycięć. Przyjmując 3000obr/ min=50 Hz, max. częstotliwość HSC 20 kHz to możesz mieć max 400 imp na obrót ale lepiej trochę mniej. Potem musisz skorzystać z przerwań...
W obu programach masz błąd. W pierwszym: Akurat kod tu nie ma wiele wspólnego zrobiłem to na dwa sposoby i za każdym razem inne wyniki Widać że jednak ma. Chyba to rozgryzłem Proszę mnie poprawić jak się mylę No teraz by było. Przerwanie Int nie dzieli przez 256 więc masz przerwanie co impuls. Tylko po co później to: [syntax=basic4gl]Lj = Li / 250[/syntax]...
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 kolegów, mam zestawiony układ: PLC - S7 300 (CPU 313 C - 2DP) + enkoder inkrementalny (wykorzystuję sygnały AB, 24V DC). 1.Podłączyłem poprawnie enkoder do sterownika (wybrałem licznik kanału 0, czyli pierwsze dwa wbudowane wejścia cyfrowe modułu wejść/wyjść). 2.Skonfigurowałem sprzęt w Step 7 w HW config, a następnie w programie użyłem bloku...
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...
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...
Marcinn212 pod Warto zauważyć, iż sygnał 1 na przewodach wyjściowych (niebieski i żółty przewód) jest przesunięty względem nich o 90 stopni. Jest to dobre rozwiązanie ułatwiające odczytanie w którą stronę obraca się tarcza enkodera, ponieważ sygnał na jednym przewodzie pojawi się wcześniej niż na drugim. Ja zrobiłbym to w następujący sposób. Przewód...
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 ... 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...
Faktycznie, teraz dopiero zauważyłem, że dodałeś (a u mnie zabrakło zapamiętywanie poprzednich wartości). Dodatkowo skopałem inicjalizację zmiennych A0 i B0. Pierwsze uruchomienie (z pomocą zmiennej "init") pozwoli na poprawną inicjalizację zmiennych przechowujących "poprzednie" wartości. Dzięki temu przy starcie programu nie wygeneruje się impuls zmieniający...
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...
Po obliczeniach wychodzi mi jakies 500 - 600 impulsów na sekunde, nawet nie tak mało. Mógłbym przenieść enkoder bezpośredno na koło, ale wtedy bardzo strace na rozdzielczości (ok 25impulsów/sek :/ ). Chyba zdecyduje sie na rozwiązanie z obrazka, które załączyłem poprzednio... będzie trzeba wykonać serię testów. Sam procek nie ma dużo do zrobienia, głównie...
ENKODER.H To raz. Dwa - nie ma nigdzie sei(); Trzy - jak jest otwarty kolektor to trzeba zrobić pullup na linii wejścia. Napisałeś też push pull więc w sumie nie wiadomo jakie jest wyjście z enkodera. 1) Ile mam błędów? Dlaczego mi to nie zadziała? ( : 2) Czy wyjscia A i B mogę podłączyć zgodnie ze schematem? Czy muszę dodać oporniki? Co to znaczy...
Witam, Do STM32F4 mam podłączony enkoder inkrementalny o rozdzielczości 1024 imp/obr. Chciałbym wykorzystać pełne możliwości sprzętowego modułu obsługi takich enkoderów przez F4, czyli zmieniać wartość licznika na opadających oraz narastających zboczach sygnału. W tym celu skonfigurowałem Timer 3 w następujący sposób: TIM3->CR1 |= TIM_CR1_UDIS; Bez...
Nie wiem jak dokładnie wyglądał twój układ i czy mogłes tak zrobić, ale skoro jeden licznik był wykorzystywany do input capture, to nie lepiej było go ustawić w trybie clear-on-compare bądź compare match a lub b (jeśli już był wykorzystywany do generowania jakiejś podstawy czasu ) na 0,5 sek i jednocześnie ustawić przerwanie input capture i w nim zwiększac...
Do bhtom: Wartość 10ms wpisałem przykładowo, żeby ktoś nie powiedział że niczego tam nie ma. Chodziło mi konkretnie o to co napisał allmar i zastosuję tą ostatnią metodę z podtrzymaniem, ponieważ chcę zmniejszyć jak najbardziej czas cyklu programu, zawsze stosowałęm timery w programie głównym, zobaczymy jaki teraz osiągnę czas cyklu. Czyli dobrze rozumując...
Witam Na moim horyzoncie pojawił się temat, w którym najprawdopodobniej będzie wykorzystany CPU S7-315-2 PN/DP (Work memory 384KB; 0.05ms/1000 instructions). Do niego będzie podłączonych najprawdopodobniej 12 grzałek i 3 enkodery (przyjmijmy 2k imp/obrót). Zakładając, że: - cykl programu, który ostatnio napisałem na S7-314C (0,6ms/1000 instrukcji) jest...
Witam drogich forumowiczów. Jakiś czas temu postanowiłem zbudować wyważarkę do wałków. Część mechaniczna jakoś wyszła natomiast pozostał problem części programowo elektrycznej. Wyważarka ma wykonywać pomiar przyspieszenia na każdym łożysku przy określonej prędkości obrotowej, żeby było ciekawiej przy maksymalnym przyspieszeniu muszę rejestrować pozycję...
Geneza projektu Mając na co dzień do czynienia z zagadnieniami robotyki i automatyki oraz budowy własnych systemów sterowania, zacząłem zastanawiać się nad stworzeniem własnego eksperymentalnego manipulatora. Tak narodził się ten projekt, którego celem było i nadal jest rozwijanie oprogramowania sterującego robotem oraz zbieranie doświadczenia pozwalającego...
kolego nie zrozumiałeś mojego pytania ale po kolei encoder wysokoobrotowy - nie impulsator jako pokrętło optyczny - zasilany 5V - gotowe impulsy na wyjściu - do 6000 obr/min czyli 6000 * 360 = ??? impulsów potega ale nie w tym problem gdyby to był zwykły impulsator jako pokrętło to nie zaprzęgał był ITN0 & INT1 tylko jako przyciski ze wzorem if sw1...
Witam Kupiłem ostatnio na allegro kilka sztuk http://obrazki.elektroda.pl/1735347800_1... enkoderów obrotowych NONAME. Pierwszy raz mam styczność z takim czymś jak enkoder dlatego najpierw chciałem napisać program bez jakichkolwiek przerwań czy funkcji zwracających wartości oraz zanian z kodu Grey-a na binarny. Podłączyłem to w taki...
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ź.
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ą...
W moim przypadku potrzebny jest mi tylko czas pomiędzy poszczególnymi sygnałami a nie zliczanie sygnałów. Wobec takiego założenia to pierwotna proponowana metoda jest bez sensu. Latencje i buforowania w systemie operacyjnym, USB itp. według mnie wykluczają pomiar odstępów czasowych rzędu 140µs poprzez port szeregowy. Jedynie akceptowalnym sposobem...
Mam tarcze z 1200 liniami. Sygnał A z enkodera podaje na przerwanie INT0 i badam tylko jego zbocze narastające. Natomiast sygnał B to ADC0. Podczas każdego przerwania sprawdzam stan sygnału B, jeśli jest wysokie to kierunek prawo, jeśli niskie to kierunek lewo. Gdy obracam w miarę wolno to wszystko gra, natomiast gdy trochę szybciej obrócę tarczę to...
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ć.
Witam. Po przeszukaniu forum nie znalazłem rozwiązania tego problemu. Napisałem swego czasu procedurkę obsługi enkodera, wszystko było dobrze ale przy ipulsatorze 50imp/obr. i prędkości obrotowej ok.500 obr./min niestety wysypuje się. Mam przeczucie że jej wykonanie trwa zbyt długo.Nie jest może to procedurka najprostsza z możliwych ale jest b.skuteczna...
http://obrazki.elektroda.pl/2187134200_1... MECHANIKA Projektowanie zacząłem od pojechania na złomowisko w poszukiwaniu czegoś co nadawałoby się na łożyska liniowe - od tych elementów zależało być albo nie być całej maszyny. Miałem bardzo dużo szczęścia - znalazłem dwumetrowy profil stalowy z 2mm blachy wygięty wzdłuż pod kątem 110°,...
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....
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..........
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...
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...
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ż...
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...
Wszedzie szukam i nie moge znalezc, potrzebuje pojdzielic liczbe 16 bitowa przez 8 bitową w asemblerze Ostatecznie moze byc nawet 8 bit przez 8 bit, bez reszty, choc z reszta tez moze byc. Robie miernik prękości obrotej z enkodera (4096 na obrót). Licznik 16 bitowy zlicza impulsy, potem co 1sekunde wyzwala sie przerwanie ktore podzieli liczbe zliczonych...
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_...
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...
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>...
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...
Witam. Jestem w trakcie pisania oprogramowania do platformy mobilnej w obecnej chwili borykam się nad problemem utrzymania robota w linii prostej i utrzymania stałej prędkości niezależnie od obciążenia. Koła są napędzane niezależnie z dwóch silników a ilość obrotów jest mierzona za pomocą zamontowanych enkoderów [syntax=c]unsigned int volatile a,i,j;...
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. Mając trochę wolnego czasu postanowiłem wrócić do zmagań z PIDem. W sieci znalazłem program PIDa w Bascomie na Atmegę8 (maluszek Attiny2313 okazał się niestety za mały). W programie wyłączyłem różniczkowanie - aby było łatwiej. Program działa dość dobrze tzn. obroty utrzymują się na żądanym poziomie ale troszkę oscylują wokół wartości zadanej....
Witam. Po dłuższej przerwie wracam do tematu stabilizatora. Zmagając się z regulatorem na wzmacniaczach operacyjnych postanowiłem jednak pójść w stronę regulatora na mikroprocesorze. W sieci znalazłem program PID-a w Bascomie na Atmege8, w którym wyłączyłem człon różniczkujący. Regulator działa średnio dobrze tzn. obroty wciąż oscylują wokół wartości...
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...
Witam wszystkich serdecznie! Ostatnio zająłem sie pisanie programu w asm.do pomiaru prędkości kątowej w silnikach.Do zliczania impulsów posłużyłem sie enkoderem(2000imp/obr).Program napisałem raczej poprawnie ponieważ po przepuszczeniu go przez KEIL'A nie wykrywa żadnych błedów ani zaszczerzeń.Jednak po załadowaniu go do mikrokontrolera(ADuC812=8052)zaczyna...
enkoder zliczanie impulsów enkoder przerwaniu enkoder zliczanie impulsów arduino
lenovo sterownik kontroler sieci przygasa płomień eplan makra
bosch wan2006spl25 firstchip fc1178bc
Kostka świateł cofania w Renault Scenic 2 - diagnostyka i naprawa Światło nie działa po odłączeniu czujnika ruchu - co zrobić?