W sensie próbkowania na przerwaniu od timera aby pozbyć się drgania styków, czy podłaczyć do sprzętowego licznika (co raczej w AVR Arduino nie pyknie)? To pierwsze. Aczkolwiek w tym przypadku nie mamy drgań, więc jest ok. Sprzętowy licznik byłby ok, o ile ma enkoder kwadraturowy. W XMEGA to jest, więc tam można zrobić całość sprzętowo.
Witam. Chciałem zrobić program realizujący zliczanie poszczególnych impulsów enkodera oraz określenie kierunku obrotu tarczy - problem niestety tkwi w samej zasadzie działania programu - przy kręceniu w jedną stronę niekiedy pojawiają się błędne sygnały obrotu w drugim kierunku, a ponadto same zliczanie nie pracuje stabilnie - raz przy wolnym kręceniu...
Potrzebujesz sterownika dla silnika krokowego, przy pomocy enkodera możesz mierzyć jego przemieszczenie/ prędkość. Jeżeli chcesz to możesz również wykorzystać enkoder do zadawania parametrów sterujących dla silnika (np. liczba stopni obrotu), poprzez zliczanie impulsów generowanych przez enkoder. Jednak nadal potrzebujesz sterownika.
Hej dzięki za odpowiedzi , niestety problemu swojego nie rozwiązałem. Próbując zmienić funkcje CHANGE na RISING lub FILLING nie każde przestawienie enkodera jest liczone, po przestudiowaniu filmu i nawet użyciu kodu jaki jest zamieszczony enkoder zlicza co 2 co dalej jest nie ok... czy ktoś może coś prostować ? Przyczynę poczwórnego (x4) zliczania...
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ąć...
Witam, mam za zadanie zrobić program zliczający impulsy enkodera, enkoder ma 100 działek/obrót. Chcę, aby po zliczeniu 100 impulsów zaświeciła się jedna część wyświetlacza(wspólna anoda), program wygląda następująco: [syntax=c]#define F_CPU 1000000L #include <avr/io.h> #include <util/delay.h> #define _BV(bit) (1 << (bit)) // wyswietlacz...
Witam potrzebuje pomocy chciałbym napisać program na arduino który by w ciągu 5 sekund zliczał impulsy i w zależności ile tych impulsów było podejmował działania, 3 impulsy zał. wyj. 11, 4 impulsy zał. wyj.12. Po 5 sekundach reset. To co mi udało się zbudować to zlicza 3 impulsy na 4 wraca do zera ale trzymając przycisk program zapętla i cały czas zał....
Witam Mam taki szkic z tej strony: http://akademia.nettigo.pl/arduino_przer... Oto szkic https://obrazki.elektroda.pl/9759030700_... tylko liczone, że np przez 5 sekund było 77 impulsów, a później po upływie kolejnych 5 sekundach ( jeżeli rzecz jasna nie przejeżdżałem magnesem nad kontaktronem) wyświetlało się 0. Bardzo proszę o...
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, potrzebuję pomocy przy budowie licznika impulsów z mikrokontrolerem, który można zaprogramować za pomocą arduino. Urządzenie ma zliczyć impulsy np. z czujnika zbliżeniowego, lub z przycisku ręcznego. Po uzyskaniu zadanej wcześniej liczby impulsów ma uruchomić przekaźnik.(podać napięcie na cewkę) Po kolejnym impulsie ma się zresetować do zera...
Witam, potrzebuje prostego programu który zliczy ile razy na sekundę wciskany jest przycisk. Np na jednym z portów pojawi się 0 kiedy przycisk zostanie wciśnięty, program ma zliczyć ilość impulsów przez sekundę i zwrócić daną do zmiennej. Proszę o pomoc lub podpowiedź. Niestety jestem początkujący i niezbyt rozumiem Liczniki-Czasomierze Timer0 i Timer1....
Witam! Buduje komputer pokładowy oparty na Atmedze 328 w środowisku Arduino. Mam następujący problem. Musze zliczyć w określonej jednostce czasu np. 1 sekunda: 1. Ilość impulsów czujnika przebytej drogi - to już rozwiązałem. 2. Sumę długości impulsów wtryskiwacza - nie wiem jak to zrobić w Arduino. (w ciągu sekundy takich impulsów będzie określona ilośc...
Witam! Jak rozwiazac problem zliczania impulsow z 8 kanalow np. na ATmega8535? ATmega8535 ma 3 wejscia typu timer/counter (ATmega128 tylko 4) a ja potrzebuje zliczac impulsy z 8 zrodel (wentylatory)-w celu pomiaru ich predkosci. CZy jest jakas mozliwosc podlaczenia tego przez jakis multiplekser (jak tak to jaki i jak to podlaczyc )?? Poniewaz jestem...
Witam Chciałbym zrobić prosty układ który będzie liczył impulsy (obroty silnika) i jeśli impulsów będzie od powiedzmy 10-100 w czasie 1 sekundy to na jednym z wyjść będzie stan wysoki, jeśli impulsów będzie mniej lub więcej to zmieni się na stan niski. Mam taki kod ale coś on nie dział, na wyjściu cały czas jest stan wysoki bez względu czy coś do wejścia...
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 mam enkoder kwadraturowy 200 szczelin/obrót kanały A i B 1. jak zrealizować zliczanie impulsów na AVR na każdym zboczu sygnału zeby uzyskać 800 imp /obrót widziałem projekty w którym zlicznie było x1 czyli troche bez sensu tracić na rozdzielczości 2. jak zrobic układ logiczny na TTL który by realizował konwersje sygnału z enkodera na krok, kierunek...
Witam, Jestem początkujący w programowaniu bascom chcę zrobić licznik impulsów podawanych na timer o jako licznik . Zrobiłem licznik ale liczy max 255 a ja potrzebuje licznik z 99999 . Nie bardzo wiem jak mam to zrobić .Proszę o pomoc $regfile = "m8def.dat" 'Info dla kompilatora. $crystal = 16000000 'Informujemy kompilator o kwarcu 16MHz....
Witam!! Napotkałem się na dosyć dziwny problem... Dotyczy on zliczania impulsów i ustawieniu wyjścia po przejściu warunku. Poniżej przedstawiam kod który dotyczy tego problemu. #include <avr/io.h> #include <avr/interrupt.h> int imp=0; #define tau 251; double kat=0.0,x=0.0; unsigned int licznik=250; ISR(INT0_vect) { x++; kat=x*0.9;...
Witam! Próbuję zrobić prosty programik w BASCOMIE AVR na ATmega8, który będzie mi zliczał stan wysoki na porcie b.1 i prezentował na wyświetlaczu LCD.Udało mi się już napisać taki kod: [syntax=basic4gl]$regfile = "m8def.dat" $crystal = 8000000 Config Lcdpin = Pin , Db4 = Portd.4 , Db5 = Portd.5 , Db6 = Portd.6 , Db7 = Portd.7 , E = Portd.0 , Rs = Portd.1...
Witam Tak jak w tytule, chce zliczać impulsy przy obracaniu scroll'a myszki. Do podawania na mikroprocesor impulsów wykorzystałem diodę IR i fototranzystor 3-nóżkowy oraz enkoder na wałku scroll'a. Pin PD5(T1) do zliczania impulsów ustawiłem jako wejście z podciągnięciem do Vcc. Poniżej załączyłem dwa zdjęcia. Niskie napięcie - nie ma impulsu http://obrazki.elektroda.pl/2803823800_1...
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!! Posiadam licznik elektryczny z otwartym złączem impulsowym (otwarty kolektor). Proszę o informację w jaki sposób zaprogramować arduino aby zliczało impulsy o długości 30ms (800imp = 1kWh)
Witam, chciałbym zbudować licznik impulsów na atmega 8 który by zliczał ile impulsów było w czasie 1 sekundy i wartość tych impulsów wysyłała w postaci binarnej na wyjścia procesora. Dodano po 1 Język w którym bym to chciał to C znalazłem identyczny projekt na forum ale w bascomie a w tym języku się wogóle nie orientuje
Cześć chciałbym zrobić kierownice do gier komputerowych na enkoderze obrotowym bez ograniczenia. Mam arduino leonardo 32u4 i ten enkoder z chińskiej stronki zakupowej chciałbym sprawdzić czy arduino odczyta sygnał z enkodera tylko nie wiem jaki program napisać w programie żeby arduino zliczało impulsy. Odrazu mówię enkoder sprawdziłem na oscyloskopie...
Cześć chciałbym zrobić kierownice do gier komputerowych na enkoderze obrotowym bez ograniczenia. Mam arduino leonardo 32u4 i ten enkoder z chińskiej stronki zakupowej chciałbym sprawdzić czy arduino odczyta sygnał z enkodera tylko nie wiem jaki program napisać w programie żeby arduino zliczało impulsy. Odrazu mówię enkoder sprawdziłem na oscyloskopie...
Ze zdjęcia wynika, że ma tylko jedno wyjście impulsowe; Ale znając kierunek obrotu (wysterowanie wciągarki) i przychodzące impulsy można to przetworzyć na zliczanie narastające (+) lub opadające (-) bezpośrednio w procku i wynik wyświetlać...?!
Witam ponownie Wczoraj enkoder przeszedł pozytywne testy. Nic już nie gubi nawet przy prędkościach 3000 obr/min. Dziękuję wszystkim za pomoc. Temat do zamknięcia.
Dane pokazywane oczom użytkownika mogą być zupełnie inne niż te przechowywane w programie. Wpisywanie wartości liczby po cyferce jest uciążliwe. W piekarniku mam ustawianą godzinę jednym przyciskiem (czy dwoma), wystarczy w programie zauważyć że przycisk został wciśnięty, przytrzymany przez 1s, przytrzymany przez 5s,itd. Jak nie używasz delay nie jest...
https://obrazki.elektroda.pl/6863312200_... Jeżeli tarcza encodera zamontowana jest bezpośrednio na osi koła jezdnego, to wystarczy ci znać obwód tego koła i ilość impulsów dostarczanych na jeden obrót przez posiadany encoder. Ten przykładowy ma akurat 20, twój może być inny. Z tego obliczysz jaki odcinek drogi przypadnie na jeden...
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...
Jako czujnik zastosował bym coś prostszego, na przykład jakiś enkoder, Chcemy znać tylko ilość obrotów, więc wystarczyła bym nam tarcza z jednym otworem i transoptor szczelinowy. Zliczamy impulsy i tyle. Można też zastosować żyroskop jednoosiowy. Wyjdzie łatwiej niż z akcelerometrem. Można też by popróbować z magnetometrem, albo prostym kompasem. Co...
Jeśli masz enkoder jak na zdjęciu to jest to tak zwany enkoder inkrementalny. Czyli można za jego pomocą zliczać impulsy. http://obrazki.elektroda.pl/7057659700_1... http://obrazki.elektroda.pl/6028802900_1... Powyższe rysunki pokazują jaka jest zasada działania tego enkodera i jakich sygnałów możesz oczekiwać na jego...
Witam. A jaki jest problem kiedy rozdzielczość enkodera jest większa? Nie da się zestroić do stabilnej pracy? Ja mam takie sterowniki na ATMEGA88 (modyfikacja elm-chan). Ja stosuje tylko enkodery przemysłowe nie bawię się w enkodery zrobiony z myszki no i nie stosuje silniczków od zabawek bo takie do 4-5 A zamiast budować mostekH z procka sygnał na...
Odnoszę wrażenie, że serwo to nie całkiem to, czego potrzeba: ono jest do obrócenia w ułamku sekundy. Do precyzyjnego obracania jest silnik krokowy - najtańszy kosztuje kilka zł. Duża szybkość działania serwa nie jest problemem, zawsze można je spowolnić zgodnie z zasadą "łatwiej kijek obcienkować niż go potem pogrubasić". Musisz wziąć pod uwagę pewną...
Możesz zastosować serwa zamiast krokowców i zadane kroki będą odpracowane bez ich gubienia więc chyba nie będziesz musiał sprawdzać zadanej pozycji bo będzie osiągnięta. Mach czy inny program poradzi sobie z tym bo może synchroniczne napędzać nawet 5 osi więc ruchy będą płynne, interpolacja linowa spowoduje, że odpowiednio dobierze prędkość na każdej...
(at)stachn , no to się pośmialiśmy! Dlaczego nie taki czujnik? 1. Bo się zabrudzi 2. Nie wycelujesz nim w roletę 3. Kłopotliwe mocowanie, mierna jakość pomiaru. Takie sprawy załatwia się za pomocą 2 kontaktronów i enkodera obrotowego na napędzie (np. magnetyczny - niewrażliwy na brud etc.). Ja to działa? W sytuacjach krytycznych (brak zasilania, pierwsze...
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....
Jest jeszcze więcej ofert różnych liczników; allegro Licznik UC3 aukcja nr 8487661360 https://multisort.pl/product/Programowal... https://nordelektronik.pl/KL201A.Mikropr... Dodatkowo...
Impulsy generuję tak, że trasnoptor zakrywam i odkrywam kartką a Arduino liczy zbyt wiele impulsów. Czym ty generujesz te imulsy? Kartką?!!! Zwykła kartka papierowa nie blokuje dostatecznie/ (albo w ogóle) IR światła tych interrupterów szczelinowych. Praktycznie zliczasz tylko różne zakócenia. Jako przesłonę zastosuj raczej coś bardziej 'solid' (grubsza...
Te algorytmy z artykułu niestety kiepskie są i wyłożyły by się na ułamku tego co poniżej... W moim projekcie w C na Atmega32 taktowana 16MHz na dzień dzisiejszy (bo projekt jest rozwijany cały czas) obsługuje: - 2x encoder 1600imp/obr z prędkością max 15obr/s, - 2x encoder 10imp/obr z vmax 10000obr/min, - 1x encoder 25imp/obr z vmax 1000obr/min, - dwa...
enkoder zliczanie impulsów zliczanie impulsów arduino arduino zliczanie impulsów
przewód gruba cienki pomiar temperatura termistor radio blaupunkt kodowanie
Pezal PMC275C-PG420 – brak pracy pompy, diagnostyka i typowe usterki myjki ciśnieniowej Samsung SyncMaster T220HD – brak obrazu, działa podświetlenie, obraz zanika