Wyciąg z Polskiej wersji dokumentacji atmegi16 (znajdziesz bez problemu odniesienie do 32): ICES1 - Wybór zbocza zdarzenia na pinie ICP1. Bit ten służy do określenia rodzaju zbocza, które będzie interpretowane jako zdarzenie Input Capture na pinie ICP1. ICES1 = 0 - oznacza wybór zbocza opadającego, ICES1= 1 to zbocze narastające. Tutaj masz obrotomierz...
Układ liczy w dół tylko dlatego, że zastosowałeś przerzutniki z aktywnym zboczem narastającym na wejściu zegarowym. Skoro ma być RESET, bez wykorzystania wejścia asynchronicznego, to znaczy, że trzeba wytworzyć RESET synchroniczny. Zatem konieczne jest dodanie dodatkowych bramek na wejścia D. Potrzebne są dwie bramki OR. Wyjścia do D, natomiast jedno...
Znowu tak. Ogólnie pierwszy schemat jest ok i twoja ostatnia propozycja też. Właściwie to głównie zależy czy chcesz dostawać początek impulsu narastającym czy opadającym zboczem. Podejrzewam że w liczniku jest transoptor i mu wszystko jedno.
Witam! Przepraszam za wczorajszą nieobecność. Mam internet radiowy i po oststnich burzach nie chodzi jak trzeba. Na wyjściu Q1, ledem pdłączonym do masy, nic nie zobaczysz, bo masz diodę D29 właczoną katodą do wyjścia. Zewrzyj tę diodę na czas prób, albo podłącz ledy anodami do + zasilania. Będą świecić w niskich stanach. Różnica między ceramikami i...
Brak wyobraźni? Wszystkie momenty w których interesuje ciebie zmiana stanu, a nie jego aktualna wartość. Przykład: Jedzie puszka na taśmociągu i jest czujnik typu bariera świetlna. W momencie jak czujnik wykryje puszkę taśmociąg jest zatrzymywany, odpala się jakiś timer i przez x sekund nalewany jest płyn do puszki. W tym momencie interesuje nas zbocze...
#include <avr/io.h> #include <stdlib.h> #include <avr/interrupt.h> #define cbi(sfr, bit) (_SFR_BYTE(sfr) &= ~_BV(bit)) #define sbi(sfr, bit) (_SFR_BYTE(sfr) |= _BV(bit)) #define LEDB6_ON sbi(DDRB,PB6);sbi(PORTB,PB6&... #define LEDB6_OFF sbi(DDRB,PB6);cbi(PORTB,PB6&...
W załączeniu impulsator ! Elementy R3 (równolegle z R2) i C1 dają stałą czasowa opóźnienia pojawienia się przedniego zbocza impulsu taktującego licznik względem ustalenia się sygnału wyboru kierunku zliczania (minimalny czas wg katalogu to 340 ns dla 5V, dla 15V minimalny czas wynosi 100 ns) Gdyby czas był za krótki to można zwiększyć C1 np. do 330n-470n....
Program ma alarmować o spadku prędkości obrotowej poniżej zadanej normy. Czujnik hall'a będzie produkował 1 pik na jeden obrót wału. Na podstawie okresu czasu, pomiędzy zboczem rosnącym i następującym po nim zboczem rosnącym, program wylicza prędkość obrotową. Czegoś nie rozumiem. Nie lepiej jest po prostu zliczać same impulsy w zadanej jednostce czasu...
Hmmm, kod Greya... OK, licznik zlicza na zboczu narastającym, natomiast kierunek zliczania zależy od stanu na wejściu DIR w momencie pojawienia się przejścia L-H na wejściu STEP... Na kanale A zbocze narastające mam zawsze przy niskim stanie na kanale B przy obrocie w jedną stronę, natomiast zawsze przy wysokim stanie na kanale B przy obrocie w drugą...
Mniej więcej co 2 tygodnie ktoś tu próbuje obsługiwać przycisk na przerwaniu portu i co dwa tygodnie próbujemy takiemu delikwentowi wybić ten nierozsądny pomysł z głowy. Przeszukaj archiwum. Przycisków NIE obsługuje się przy użyciu przerwań portu, a przy użyciu przerwania timera. Jak chodzi o mikrokontolery jestem początkujący. Tego typu obsługa była...
Witam! mam pytanie czy da sie ustawic w bascom i w atmedze 32 zeby timer1 zliczal , ale od chwili gdy zostanie wywolany zboczem narastajacym, a przestal zliczac gdy bedzie zobocze opadajace? Jesli tak to prosilbym o krotkie napisanie jak to ma byc i dlaczego. z gory dziekuje
Szerokością szczeliny wpływasz na wypełnienie fali prostokątnej, którą generuje transoptor. Nie powinna mieć wpływu na zliczanie impulsów - z opisu wynika, że prawdopodobną przyczyną są wolne narastania/opadania sygnału transoptora na zboczach. I tu histereza powinna pomóc.
Nawiązując do projektu z obrotomierzem, na którym się wzorowałem. Co się stanie, gdy po wykryciu pierwszego zbocza narastającego, drugie zbocze wystąpi po dłuższym czasie? Załóżmy, że silnik akurat się zatrzymał po pierwszym zboczu. Przecież zmienna "ilosc_przepelnien" ma swoje ograniczenia i przepełnienia nie mogą być zliczane w nieskończoność. Co...
Całkowicie zapomniałem o temacie :) Z problemem poradziłem sobie w następujący sposób, jest to wycinek z większego programu więc coś może być źle wycięte :) [syntax=c] //--------------------------------------... // Dołączone biblioteki //--------------------------------------...
A moglibyście mi wyjaśnić czemu nie powinno się używać sygnału PWM do nadawania STEP? Można, ale wtedy traci się podstawową zaletę silnika, czyli przesuwanie o pojedyncze kroki. Jak uruchomisz generator PWM to rzadko masz kontrolę na ilością wyprodukowanych impulsów. Puszczasz generator w ruch i sterujesz jedynie wypełnieniem albo częstotliwością podstawową...
Jeżeli już tak to ustaw przerwanie na każdą zmianę i sprawdzaj stan pinu int0. będzie szybsze bo nie będzie procedur ustawiania falling/rising: config int0=change ... przerwanie_int0: if pind.2=0 then 'opadajace zbocze else 'narastajace end if ... return Z analizy kodu asm bascoma wynika ze szybciej zadziała oddzielny warunek: if pind.2=0 end if...
Witam. Chciałbym zmierzyć czas pomiędzy dwoma impulsami (stanami wysokimi) występującymi na pinie ICP1. Używam do tego celu timera1 oraz kodu znalezionego w internecie, zmodyfikowanego na własne potrzeby: [syntax=c]#include <avr/io.h> #include <stdio.h> #include <avr/interrupt.h> #include <util/delay.h> #include "HD44780.h" volatile...
Witam. Może taki układ. Po włączeniu zasilania bramka uniwibratora jest zamknięta. Otwierana jest zboczem narastającym a zamykana opadającym. Automatycznie zamykana jest bramka generatora 0,08Hz. Reset manualny i układ gotowy do następnego cyklu. Pzdr.
Witam Mam problem ze złym zliczaniem impulsów podawanych z impulsatora. Zbudowałem impulsator z wykorzystaniem silnika krokowego wg tego projektu: http://www.elektroda.pl/rtvforum/topic18... Ogólna praca tego układu polega na wystawianiu stanu niskiego po wykryciu "kroku" silnika na pewien czas na jednym z dwóch wyjść (obroty lewe lub prawe)....
Wybacz, że nie rozumiem wielu rzeczy. To pierwsze w sumie spotkanie z arduino. Tak, potrzebuje dwa kierunki, bo walek do ktorego będzie przylorzony enkoder potrafi (na postoju) minimalnie sie cofnac i jesli nie zmniejsze tego licznika w tedy, to po ruszeniu do przodu, przekaznik bedzie w innym "miejscu" się załaczać. Co do wałka do ktorego bedzie przyłożony...
Witam, potrzebuję na Arduino Uno zliczać impulsy PWM które są podawane na GPIO. Jednocześnie program potrzebuje obsługiwać termometry itd. Wykonałem to na przerwaniu wykrywającym zbocze narastające, natomiast powiedzmy że z pewnych przyczyn nie chcę używać tego rozwiązania. Czy arduino uno posiada może wbudowany licznik który działa niezależnie od programu?...
Nie tędy droga, Ty musisz zrobić coś dokładnie odwrotnego - nie wygenerować sygnał, ale go zmierzyć. Rozwiązania są 2, ale jeśli programujesz w bascomie i nie masz ochoty na operacje na rejestrach w procesora to kurczą się do jednego. Mianowicie: 0. ustawiasz timer na zliczanie impulsów i zmianę wartości jakiejś zmiennej - parametry dobierz w zależności...
Witam. Rozumiem, że działa to tak: Timer cały czas zlicza czas... 1. Gdy zbocze jest narastajace, przepisuje aktualna wartość timera do zmiennej zbocze1. 2. Zmieniam aby teraz reagował na zbocze opadające. 3. Gdy zbocze jest opadające , przepisuje aktualną wartość timera do zmiennaj zbocze2. albo raczej: 1.Gdy zbocze jest narastajace, zeruję zawartośc...
. Zamierzam zrobić tak by mogli wprowadzić korektę (jeśli będzie potrzebna) i zapisać w eeprom. czy to dobry pomysł? Jakoś tak; $Crystal=12000000 Config Timer1 = Timer , Prescale = 8 On Timer1 Inter_1mS Inter_1mS: Counter1 = Counter1 + Licznik (64036 - wychodzi z obliczeń, że da to 1ms) /tu odliczę sobie 103/ Błednie to rozumujesz, albo błednie podałeś...
Prz zboczu narastającym odpal timer, i ustaw przerwanie na wyzwalanie zboczem opadającym. W obsłudze przerwania zatrzymujesz timere i odczytujesz wartośc oraz wyzerowujesz go przygotowując do następnego odczytu. Znając częstotliwośc zegara oraz wartośc prescalera i odczytaną wartość z timera znasz okres od zbocza narastającego do opadającego. Niby...
Witam. Musisz zastosować licznik rewersyjny. Z serii UCY 74 będzie to 74192. Zlicza do 9, ma osobne wejścia dla impulsów dodawanych i odejmowanych oraz zerowanie. Dekoderem może być 7447. Przed wejściami licznika zastosujesz 74123, którego jeden przerzutnik będzie wyzwalany fotoelektrycznie (wyzwalanie zboczem narastającym), natomiast drugi zwykłym...
Witam, Po wykresach widać że czas 10ms jest ok. Więc odczyt trzeba zrobić na zbocze narastające. Na początek: fbTrigger (CLK := bInput) if fbTrigger.Q then uiCounter := uiCounter + 1; end_if. Czas cyklu ustawiłbym na 5[ms] lub nawet 1[ms]. Pozdraiwam,
Znalazłem trochę więcej czasu, żeby przyjrzeć się problemowi i zauważyłem: ... MCUCR|=(1<<ISC01) | (1<<ISC00); //zbocze opadające na INT0 MCUCR|=(1<<ISC11) | (1<<ISC10); //zbocze opadające na INT1 ... No to akurat jest ustawienie dla zbocza narastającego, czyli przerwanie następuje po puszczeniu...
Witam. Mam problem ze zliczaniem impulsow zewnetrznych na 90S2313. W programie licznik TIMER0 ustawiony mam jako COUNTER reagujacy na narastajace zbocze przy czym PORTD ustawiony jest caly jako wejscie i T0 w stanie poczatkowym ma stan 0. Problem polega na tym ze procek zlicza cos mimo ustalonego sygnalu wysokiego na wejsciu, gdy podane jest 0 to nie...
A wracając do tematu... zrób tak: 1. zadeklaruj dwie zmienne globalne: unsigned long impulsy; // liczba zmian RB0 unsigned int tick; // liczba przepełnień Timer0 2. zainicjuj procesor w ten sposób: CMCON = 7; TRISA = 0; TRISB = 0b00000001; // RB0 to wejście OPTION_REG.PS0 = 0; // preskaler 1:1 OPTION_REG.PS1 = 0; OPTION_REG.PS2 = 0; OPTION_REG.PSA...
Skoro masz czujniki indukcyjne o dużym zasięgu to może zamiast zliczać osie wagonów zliczać wagony albo nawet cale składy. Sygnały czujników latwo odfiltrować przez przekażniki z opóźnionym zboczem narastającym i opadającym. Opóżnienie rzędu sekund pozwoli zliczać wagomy a dla opóźnien większych od 10-15s (czas przejazdu przerwy między wagonami) wyjscia...
Należało by zrobić to tak uruchomić timer i w zależności od trwania czasu zadziałania ustawiać "1" na wyjściu q0.0 a jak jest czas 4-6 to resetować pierwsze wyjście a zasetowac 2 jak czas 6-9 to resetować 1 i 2 a setowac 3 potem poczekać za zboczem narastającym z czujnika i wyresetowac wszystkie 3 wyjścia i znowu liczyć czas po resecie timiera. Tylko...
Witam użytkowników forum. Mam następujący problem do rozwiązania. Potrzebuję połączyć dwa schematy, tak żeby sygnał z generatora impulsu wyzwalanego zboczem narastającym (schemat 1), zapalał diodę transoptora układu do zliczania impulsów na PC (schemat 2). Ewentualnie czy można zastąpić transoptor z układu zliczania tranzystorem który jest na wyjściu...
No więc jeżeli chcesz testować ten program, co napisałem, to musisz w kompilatorze (Bascomie) ustawić : 1. framesize ustawiasz na 8 2. softstack ustawiasz na 16 (zaczerpnięte z innego tematu z elektrody). Kwarc wbudowany, 1 MHz. Pamiętaj tylko, że ten program wygeneruje te sygnały szeregowo, czytaj: nie w tym samym czasie, kolejno po sobie. Pozdrawiam....
Dlaczego UPCTR nie może być? Działa tak jak opisujesz. Wykrywa zbocze narastające na EN i zwiększa licznik. Jeśli chcesz, to w zamian można użyć dodawania, tj. Twoją zmienną %M przepuścić przez wykrywanie zbocza POSCOIL i ten wynik podać np. na ADD_INT.
Propozycja układu bramkującego, szczegóły do dogadania. Opis: Dioda D1 z tranzystorem Q1 stanowi barierę fotoelektryczną wykrywającą przepływ cieczy. Potencjometrem R3 regulujemy czułość bariery (punkt zadziałania), do sygnalizacji służy dioda D4 (zwora J1 w pozycji 1). Dioda D4 będzie świecić gdy ciecz płynie. Bramka U1A (z układem progowym Schmitta)...
Piszesz :"Przychodzi zbocze" - ale jakie zbocze narastające , czy opadające Poza tym , co Ty konkretnie chcesz mierzyć Czas pomiędzy jednakowymi , czy różnymi zboczami Dla mnie właściwie nie ma znaczenia jakie będzie zbocze (kwestia wstawienia bramki NAND). Czas musi być mierzony dla częstotliwości z przedziału 10 - 1000Hz przy czym pomiar ma być dokonany...
Witam Kod jak poniżej służy do zliczania czasu trwania jednego impulsu (ta funkcja działa prawidłowo) oraz do zliczania czasu (w celu zliczania ilości impulsów na jednostkę czasu). volatile unsigned char pomiar = 0; volatile uint32_t cw_impuls,impuls = 0; unsigned char sreg; float tc1; char czas[8]; void Inicjalizacja(void) { LCD_init();...
Byc moze sa drgania, a byc moze program jest niefortunnie napisany. Najlepiej sprawdzic w praktyce piszac jakis prosty program testowy. uruchomic przerwania od INT i w procedurze przerwania zwiekszac jakas zmienna. Podac jedno zbocze wolno narastajace i po przycisnieciu przycisku niech na port wystawi ta zmienna. nie mam zadnego generatora bo sam bym...
Układ można zrobić na trzech układach scalonych (łącznie z generatorem) :) http://obrazki.elektroda.net/36_12442065... Bramki CMOS 4093 (NAND 2 wejściowy) mają wbudowany układ Schmitta co pozwala zrealizować generator na jednej bramce. Czyli na bramce U3A mamy generator 10 kHz dostrajany potencjometrem (jest on wymagany ponieważ poziomy przełączania...
Witam, mam pewien problem z przerwaniami, otóż zastosowałem przerwanie zewnętrzne do zliczania obrotów i przerwanie timera do zliczania czasu w sekundach, ale po włączeniu przerwań timera, zobaczyłem w debuggowaniu że przerwania zewnętrzne zliczają do około 4. Czy jest to możliwe że przerwania się gryzą ze sobą? Proszę uzupełnić tytuł postu- zgodnie...
Witam, Napisalem program na atmega8 do regulatora dwukierunkowego, którego schemat można znaleść tutaj. [url=http://www.modelhobby.republika.pl/... Licznik pracuje z zegarem 8Mhz i prescalerem 64. Czyli licznik powinien zapelnić sie minimalnie po 2ms. Sygnał z odbiornika trwa od 1ms do 2ms. Najpierw zliczam czas impuslu. W zależności...
witam. Podłączyłem ten czujnik Halla pod atmegę w ten sposób że zbocze (narastające lub opadające) wyzwala przerwanie które zwiększa zmienną o 1 i później co sekundę jest to przeliczane i zerowane i tak w kółko. Problem polega na tym że układ zlicza mi sam impulsy bez poruszania polem magnetycznym. Gdy przybliżę magnes do czujnika wtedy jest ok impulsy...
Czesc. Szukam pomocy w zaprogramowaniu jednego przycisku żeby ustawiał stan wysoki na pierwszym wyjściu po jednym kliknięciu, drugie wyjście po drugim i trzecie po trzecim i tak dalej aż do resetu. Zaczynam przygode z plc. Z gory dzięki za pomoc. Wstępna ocena dostępnych informacji Cześć, Rozumiem, że chcesz zaprogramować sterownik PLC w taki sposób,...
Właściwie dwa pytania ale jedno z większym priorytetem ;) Otóż, projektuje odległościomierz. Zamysł jest następujący 1. Załączam tranzystor który steruje napięciem dla nadajnika. 2. Włączam zliczanie czasu 3. Gdy pojawi się sygnał na odbiorniku. Wyłączam naliczenie i prezentuje wynik. Timer skonfigurowałem, żeby przerywał co 1us jednak nie jest to zbyt...
Witam!!! Bardzo proszę o sprawdzenie, pod względem koncepcji, poprawności układu. Proszę natomiast nie wypisywać błędów związanych z brakiem C w zasilaniu, podciągnięciem resetu do Vcc itp. Chodzi mi o samą ideę i realizację projektu. Mam zamiar zbudować układ, który będzie zliczał punkty graczom darta. Punkty będą zapisywane na wyświetlacze za pośrednictwem...
Wystarczy ustawić sprzętowe przerwanie int0 np narastającym zboczem kanału A - w momencie przerwania sprawdzić stan kanału B enkodera i stosownie do jego stanu zmniejszyć lub zwiększyć stan licznika o 1.
Bo rozdzieliłeś instrukcję RS, wLADzie by się tak zrobić nie udało. To samo można zapisać w tym języku, tylko trzeba rozdzielić na osobne network'i, ale nie zmienia to faktu, że tak samo by nie zadziałało. CU działa na zbocze narastające, a problemem jest A Q0.0, które za raz po S Q0.0 jest zawsze 1 (CU "widzi" zmianę tylko w pierwszym skanie sterownika,...
Do mierzenie czasów wtrysków wykorzystuje przerwanie zewnętrzne INTx oraz timer co 0.1ms. INTx jest ustawiony najpierw na narastające zbocze. Zliczanie czasu otwarcia wtrysku zaczyna się wraz z przychodzącym narastającym zboczem na przerwanie zewnętrzne INTx. Następnie zmieniam INTx na opadające zbocze. Między narastającym a opadającym zboczem zliczam...
Hmm na początek może spróbuj coś prostego, spróbuj tak ustawić Timer żeby działał ci na jedno zbocze i np narastające w trybie InputCapture i generował w tym momencie przerwanie, a ty każdorazowo będziesz sobie zliczał (dodawał +1). Podpowiem tobie że Ciebie Timer15 posiada 2 kanały i może wygenerować dwa przerwania, spójrz sobie na stronę 377 w RM0041.
zbocze narasta detekcja zbocze narasta buczenie narasta
p0087 peugeot układ czasowy schemat zapłonowy nanoplex
magazyn energii magazyn energii
Traktorek Realy RE155107rb 2008 - Słabe kręcenie rozrusznika Awaria skanera: diagnostyka i naprawa krok po kroku