do mierzenia okresu sygnału najlepiej wykorzystać licznik i przerwanie zewnętrzne. Sygnał pomiarowy wzmocnić tak aby uzyskać przebieg prostokątny o stromym nachylaniu zboczy. Następnie podać sygnał na wejście przerwania zewnętrznego (np. detekcja zbocza 1->0). W przerwaniu włączyć licznik, wyjść z przerwania i oczekiwać na następne przerwanie w którym...
Kiedyś napisałem prosty przykład użycia Timera w trybie CTC dla AVR w AVR Studio w języku C. W załączniku znajduje się ten gotowy kompletny program powodujący przerwanie od porównania (Compare) co około 250 ms i generujący przy okazji falę prostokątną na wyjściu OC0A. Otrzymujemy w ten sposób przebieg prostokątny na tej nóżce o okresie 2 Hz (2x250 ms...
Jeśli chcesz w sposób ciągły generować sygnał prostokątny o zadanej częstotliwości i zadanym wypełnieniu, to najłatwiej użyć timera w trybie generowania PWM. W przypadku jeśli czas stanu wysokiego i niskiego mogą się zmieniać z okresu na okres, również można użyć generowania PWM (przykładowo Fast PWM (mode=15) dla atmega8) - używając T1, wpisując wartość...
Chciałbym przedstawić jeden z możliwych sposobów wykonania prostego zadajnika sygnału 4-20 mA. https://obrazki.elektroda.pl/3799064400_... Zbudowałem zadajnik ponieważ chciałem sprawdzić czy możliwe jest wykonanie zadajnika 4-20mA który będzie pobierał zasilanie z pętli prądowej i będzie posiadał wyświetlacz który świeci (nie będzie...
Hm, jak rozumiem, to podczas obsługi przerwania mikro kontroler zostawia cały bałagan wykonujący się w pętli loop i pędzi do tego co w tym przerwaniu się znajduje. Przerwanie znajduje się w funkcji poza pętlą loop, a gdzie definiujemy warunek obsługi przerwania? Do czego zmierzam, czysto teoretycznie analizując zagadnienie (może mieć w przyszłości podłoże...
Dzień dobry, Trenuję programowanie i natrafiłem na mały lecz bardzo irytujący problem. Po krótce ma działać tak: ustawiony jest Timer0 na generowanie przerwania co 1ms (kwarc 8Mhz, preskaler 64, TCNT0=131), z tym jest wszystko okej. W przerwaniu dodany jest kod który zlicza 20 tyknięć timera i ustawia flagę: FLAGA_CZAS , która ma odblokować kod znajdujący...
Aha - jeśli przerwanie jest w pliku vectors.c to luz - myślałem, że przerwanie masz gdzieś zupełnie indziej. 4\/3!!
Czy ktoś kto ma działająca transmisję na RFM12 ma dostęp do oscyloskopu? Męczę się już dłuższy czas i nie mogę uzyskać komunikacji. Chyba nadaję ponieważ sonda wcz podłączona do anteny nadajnika wskazuje że podczas nadawania pojawia się napięcie i stany na linii przerwania suregują że nadawanie się odbywa. Ale nie udaje mi się nic odebrać. Przerwanie...
Witam, mecze się i mecze, próbuje stworzyć układ który na wyjsciu bedzie mi generował przebieg prostokątny 5V ale za nic mi to nie idzie, wysyłam wam podgląd schematu który stworzyłem i przebiegi Diody maja po 5V http://obrazki.elektroda.net/2_123972014... http://obrazki.elektroda.net/0_123972024... z góry dzięki wszystkim za wskazówki....
Witam! Mam problem z programem w bascom'ie. Chce generować przebieg prostokątny na jednym z wyjść mikrokontrolera, lecz częstotliwość przebiegu wygenerowanego ni jak się ma do częstotliwości która powinna być wygenerowana. Częstotliwość obliczam dzieląc częstotliwość taktowania kwarcu (w moim przypadku 8MHz) przez podział pleksera ustawiony w timer0...
Korzystając z chwili wolnej poskładałem zestaw i przeprowadziłem kolejne testy. Tym razem wspierając się oscyloskopem. https://obrazki.elektroda.pl/1456926200_... Bazując na ustawieniach preskalera autora w/w artykułu uzyskałem przerwanie co 976,56Hz (16MHz/64/256) które wygląd tak: [syntax=c]ISR(TIMER0_OVF_vect)//przerwan... po przepełnieniu...
ale jak sobie wrzecę na przykład ten mój testowy LED_TOGGLE; w pętle główną to otrzymuję przebieg prostokątny więc oscyloskop działa. Zastanawiały mnie jeszcze ustawienia fuse bits mozę to ma znaczenie. możesz mi podesłać klik makefile i klik hex tego ostatniego programu jaki podałem
Niezły pomysł :-) Niestety z tego co widzę w datasheet mojego procka, timer nie generuje przerwań od przepełnienia w trybie bramkowania, a generuje przerwanie w momencie opadającego zbocza sygnału bramkującego. Jedyne wyjście (jak mi się wydaje), to przestawić timer na taktowanie zewnętrznym sygnałem, a z generatora PWM puścić przebieg prostokątny -...
Chcę uzyskać przerwanie INT0 lub timer od przerwania dokładnie 1kHz. Aktualnie medzia8 pracuje na 16MHz i ni w ząb nie idzie uzyskać precyzyjnie 1kHz wykonując jeszcze chociaż zmienna++ by odliczać czas 1 ms w owym przerwaniu (ctc lub ovf). Świadom jestem niedokładnego kwarcu zewnętrznego dlatego poszedłem w inne rozwiązanie. Wykorzystałem przebieg...
Cześć Chciałem odpalić timer i podłączyć do niego przerwanie ale napotkałem na pewien problem, a mianowicie konfiguruję sam Timer a następnie NVIC i po włączeniu zezwolenia na przerwanie procek skacze od razu do obsługi przerwania i już z tamtąd nie wraca. Umieściłem w obsłudze przerwania zmianę stanu pinu i wstawiłem breakpointa w main-ie zaraz po...
Okres 100ms może nie być najlepszym rozwiązaniem. Ja proponuję kluczowanie sygnału 36kHz z trochę większą częstotliwością Programowo to chyba nie jest dla Ciebie problemem. Wystarczy przez 3..5ms generować sygnał 36kHz, po tym czasie zablokować przerwanie od timera który tą częstotliwość wypracowuje (przy okazji stan wyjścia tak ustawić, żeby dioda...
Dzięki za zainteresowanie chodzi mi o to że mam program w którym po odebraniu informacji z PD3 na PD5 generuję przebieg prostokątny 400Hz (czyli potrzebuje odmierzać czas co 1250us). Po kolejnej informacji z PD3 zaczynam zliczać impulsy z PD3 i potrzebuje odmierzać czas 80ms. Po zliczeniu impulsów przechodzę do podprogramu w którym co jakiś czas będę...
Witajcie!! Mam taki problem: ponizej załączam mój plik źródłowy main.c , programik jest prosty, zawiera dwa przerwania jedno od timera 0 (przerwanie na narastajace zbocze CAP0.0 pin P0.2) drugie przerwanie to przerwanie zewnetrzne od przycisku (przerwanie na narastajace zbocze). Do pinu P0.2 dołączam przebieg prostokątny o częstotliwości okolo 80Hz...
Panowie prośba. Męczę się i męczę i czytam i czytam.... i gdy coraz więcej czytam to się coraz bardziej gubię. Mam wrażenie, że DS od Atmega 168 jest napisany w strasznie zagmatwany sposób. Przejdźmy do sedna: Chcę ustawić końcówkę OC2B by generowało mi na niej przebieg prostokątny o okresie 8ms. No i tu mam problem bo opis z helpa bascoma dla timera2...
Chciałbym zrobić symulację naciśnięć klawiszy na klawiaturze PS/2 wykorzystując ATMega328 z rezonatorem kwarcowym 16MHz i interfejs PS/2 na USB. Posiłkowałem się tym opisem PS/2. https://www.avrfreaks.net/sites/default/... Z opisu wynika, że urządzenie PS/2 (wspomniana klawiatura) musi być w każdej chwili przygotowane do odbioru...
Witam. Zbudowałem układ, który składa się z dwóch części. Pierwsza to generator o częstotliwości 125kHz, druga to przetwornik ADC, który mierzy sygnał i zapala diody w zależności od niego. Oba podukłady (podprogramy) oddzielnie działają poprawnie. Jednak jak skleiłem dwa kody (jeden od ADC drugi od generatora) to już zaczęły się schody. Jak dotąd nie...
Witam. Napisałem sobie prosty program do sterowania fazowego: $crystal = 8000000 $regfile = "8515def.dat" Detfazy Alias Pinb.1 Config Detfazy = Input Q2 Alias Portc.1 Config Pinc.1 = Output Config Timer1 = Timer , Prescale = 8 Stop Timer1 On Timer1 Irq_t1 ' jeśli nastąpi przerwanie od timera Timer1 wykonaj procedurę Irq_t1 Enable Timer1 Enable...
Witajcie. Robię bliźniaczy do wykonanego przeze mnie na '51 projekt układu do pomiaru częstotliwości na AVR w C. Przyjęta przeze mnie logika to: ATMEGA8 - kwarc 10 MHz 1. podawanie sygnału badanego na wejście INT1 2. Timer1 jako licznik z preskalerem CK/1024 2. INT1 wyzwalane zboczem opadajacym 3. Gdy przyodzi przerwanie to nastepuje sprawdzenie czy...
Hej Już teoretycznie wiem o co chodzi. Odwiedziłem FAQ i znalazłem coś takiego: //PWM dla wyjscia PB3 (OC1B). //PB3 wyprowadza sygnal PWM, ktory nalezy podac na uklad calkujacy RC, aby otrzymac sinusoide. //Zastosowano AVR ATtiny26. #include <avr/io.h> #include <avr/interrupt.h> #include <avr/signal.h> #include <avr/pgmspace.h>...
Ja wiem, że mając 14 lat trochę trudno o składne pisanie ...ale bez tego daleko nie "zajedziemy". Uporządkujmy- co chcesz zrobić? Może postudiuj książkę p. Kardasia bo masz problem z pojęciami i tworzy się z tego straszny bałagan. Ty co najwyżej chcesz wygenerować zmiany napięcia na porcie mikrokontrolera za pomocą przerwań. Tryb pracy licznika CTC...
Arduino Nano wystarczy. Przerwanie zewnętrzne w Nano jest obsługiwane na pinach 2 i 3. A przekaźnik wysterowujesz z dowolnego wybranego pinu przez tranzystor - jaki? To już musisz dobrać zależnie od przekaźnika. Tu masz dokumentację: https://www.arduino.cc/reference/en/lang... Zobacz sobie przykładowy...
Skoro masz PWM to masz licznik który stale zlicza od 0 do powiedzmy 255. Dokładasz przerwanie od przepełnienia i robisz tam kolejny powiedzmy 16-sto bitowy licznik software'owy. Następnie wejścia sygnału podpinasz pod przerwania i w przerwaniach sprawdzasz łączną 24-ro bitową wartość. Odejmujesz od poprzednio zapisanej pozycji z uwzględnieniem ew. przepełnienia...
Zacznij od pokazania całego kodu. Jeśli korzystasz z przerwań, to najprawdopodobniej mikrokontroler nie wyrabia i powoduje opóźnienia. Policz sobie (BTW, przy OCR2 = 4, dostajesz 100kHz, popatrz na wzór, należy do OCR2 dodać jeden przed dzieleniem), przy częstotliwości 100kHz, procesor ma 10 taktów na obsłużenie przerwania, co na pewno trwa dłużej,...
Podłączyłeś go tak jak w dokumentacji? Z rezystorem i kondensatorem? Ten odbiornik reaguje również na silne światło, więc może odbierać jakieś zakłócenia. Dobrze jest napisać program który wyświelti wszystko na LCD co jest na wejściu INT0 i mamy to na dłoni (ile i w jakim czasie pojawia się przerwanie).
witam Czy da się zrobić jakimś sposobem pomiar przebiegu prostokątnego mając do dyspozycji tylko 1 timer? nie zależy mi specjalnie na precyzji a jedynie na porównaniu wartości zmieniających się do zapisanej. jakbym miał dwa timery to jednym przerwanie co pewien czas i odczyt licznika z drugiego, a tu?
Istnieją dwie cyfrowe metody pomiaru częstotliwości: 1. Pomiar ilości impulsów wzorcowych w trakcie trwania okresu sygnału mierzonego. Konkretnie mierzymy imp. wzorcowe w trakcie trwania połowy okresu - zwykle, gdy jest poziom wysoki. W takiej sytuacji jeżeli zmierzysz N imp. wzorcowych w trakcie połowy okresu, to: Tx=2*N*Tw, gdzie Tx okres przebiegu...
Musisz najpierw zamienic przebiegi sinusoidalne na przebiegi prostokatne. Nastepnie te przebiegi trzeba podac na przerwania zewnetrzne jakiegos procka. Odblokujesz przerwanie i czekasz na zbocze sygnalu. Kiedy sygnal wyzwoli przerwanie zaczynasz liczyc tajmerem impulsy. Drugie przebieg wyzwala drugie przerwanie i liczysz impulsy drugim tajmerem. Kiedy...
Dodajmy, że kiedfy pilot nie nadaje, odbiornik odbiera śmieci i wystawia na wyjściu przebieg prostokątny, któego zbocza są dużo gęstsze niż podczas odbioru danych, a każde zbiocze będzie w takim przypadku generowało przerwanie. Dlatrego lepiej jest odbierać w przerwaniu timera, a nie używać przerwań od zboczy.
Owszem w konfiguracji Timera głupi błąd, ale ku mojemu zdziwieniu przerwanie działało. W liczeniu czasu chyba się koledze przecinek przestawił. Przerwanie w teorii kompilatora bascom trwa ok 0,16ms. W praktyce: po dodaniu w przerwaniu " toggle portb.0" częstotliwość generowanego przebiegu prostokątnego to 3,289kHz więc przerwanie wykonuje się z częstotliwością...
Witam Mam do napisania program generujący przebieg prostokątny o następujących parametrach: Diody świecą się przez 50 ms, potem przez 950 ms nie świecą, potem przez 300 ms świecą, a potem przez 700 nie świecą. Napisałem na to taki program: [syntax=c]#include<8051.h> #define czas 65536-46080 void zwloka50(void) { TH0=76+1; TL0=0x00; TR0=1; while(!TF0);...
Witam Zasiadłem do BASCOMa AVR i poczyniłem zawiły ale zadowalajacy (jak na to srodowisko) soft dla atmega8, wszystko byloby ok gdyby nie mały problem z obsługą przerwania... mianowicie, na jedno z wejść tj. INT0 podaje przebieg prostokątny, okres 20ms, w aplikacji wymagane jest aby w chwili gdy wystąpi zbocze opadające owego przebiegu (dopiero od pewnego...
Witam! Potrzebuje na procesorze Attiny44 zaprogramowac generator sygnału prostokątnego o częstotliwości 100Hz. Program pisałem w C, jego treść zamieszczam poniżej. Po przestudiowaniu dokumentacji od AVR, stwierdzilem ze użyć należalo by któregoś z Timerów. Mój pomysł był taki, aby zliczać do pewnej wartości, po której licznik zgłaszał by przerwanie,...
Co klakson chcesz zrobić na wypadek jakby nie skręcił? (żart) Jakiej czestotliwości jes tten przebieg i ile trwa obsługa sensorów , no własnie jakich sensorów czy mozna przerwac ich prace na moment? (odczyt) Dodano po 5 Mysle że jak ustawisz priorytet od przerwania realizującego przebieg prostokątny na najwyższy to wtedy otrzymasz niezakłocony przebieg....
Witam, pisze program w którym wykorzystuję 16 bitowy Timer1 z Atmegi 328. Najpierw konfiguruję go tak: [syntax=vbnet]Config Timer1 = Timer , Prescale = 64 'Kwarc 18.43MHz, 1/18430000 * 64 = 3.473us Enable Timer1 On Timer1 Impulsuj 'ISR[/syntax] a potem mam procedurę przerwania której zadaniem testowym jest wygenerować przebieg prostokątny: [syntax=vbnet]'---------------------ISR....
Ja miałem na myśli generowanie sinusoidy. Jeżeli już generujemy jednego, to dodać drugiego to mały problem. Co innego przy sygnale prostokątnym (a taki na razie sygnał generujesz). Tutaj faktycznie ciężko połączyć dwie różne częstotliwości. Zresztą chyba nie miało by sensu ze względu na zniekształcenia takiego przebiegu. Przy sinusoidach dajesz jakieś...
Nie zapominaj o pojemności pasożytniczej ścieżki do kondensatora. Ścieżka nie była przerwana tylko odklejona, odstęp był ok 1cm... to raczej przenosiło się po zasilaniu. Synchronizował się tylko na przebiegu prostokątnym. Jak będę miał czas to kupię i wymienię kondensatory 30uF/16V w torach Y (C6-C9), bo się ostały nie wymienione i widzę, że mają w...
Wygeneruj z Timer-a przebieg prostokątny, przenieś jego "zero" by stał się przemienny względem masy i wpuść w elektrodę pierwszą. Pomysł bez głębszych przemyśleń : aby był przemienny , wystarczy podłączyć do 2 pinów w sterowanych w przeciw fazie np. poprzez przerwanie z licznika. Z tym, że nie będzie przesunięty względem masy, ale czy to potrzebne?
witam Mam do zrealizowania coś takiego: Wejścia INT0 oraz Int1 muszą reagować na pojawiające się na nich sygnały (zbocza narastające ) po czym muszę zliczać czas trwania stanu wysokiego na powyższych wejściach gdy pojawi się zbocze opadające na int0,1 liczenie czasu ma być przerwane i wartość ta zapamiętana. W skrócie jest to pomiar czasu trwania stanu...
To czekam na program... Układ jest zbudowany na 2313 z kwarcem 4MHz. Daje to przerwanie Timera0 co 0.5ms. Układ nie był testowany z aparaturą RC, ponieważ takowej nie posiadam. Sterowałem nim z zewnętrznego generatora przebiegu prostokątnego o wypenieniu 50 - 100% i okresie 2ms. Sprawdzałem go LED'ami połączonymi z uC przez bramki AND - tak jak na...
Nie będziesz miał negacji, tylko będziesz miał generator przebiegu prostokątnego - stan niski na tym pinie od przerwania nie trwa przecież 1ns, tylko może trwać np 100ms, albo równie dobrze 100s. A czas wykonywania przerwania to - np. - 1us. Po tej 1us dalej jest stan niski, więc przerwanie wykona się raz jeszcze, a potem raz jeszcze i raz jeszcze i...
Skoro masz już procesor, to wytworzenie ujemnego napięcia do zasilenia komparatora/wzmacniacza operacyjnego to żaden problem. Wystarczą dwie diody, kondensator i przebieg z prostokątny z uC. Poszukaj na elektrodzie - jak nie znajdziesz to daj znać. Wieczorem będe miał więcej, to wstawię ci schemacik. Wtedy np. wykrywanie tego dodatniego ograniczenia...
Witam. Przejrzałęm archiwum, znalazłem tam kilka ciekawych artykułów, jednakże nieznalazłem tam wszystkiego. Co więcej, ja piszę w ASM pod AVR, a dużo było w C. Ale po kolei. 1. idea pomiaru okresu impulsu. Czy dobra? Przebieg prostokątny, fazy: a. sygnał narasta i jest 1 b. sygnał opada i jest 0 c. sygnał znowu narasta - koniec okresu Musze znac czas...
jezeli do nozki int0 podlaczysz wykres prostokatny... to przerwanie wystepuje tylko przy zmianie wartosci na tej nozce i trwa ono ulamki sekundy wiec chwila pomiarow nie bedzie widoczna. nie wazne czy okres przebiegu bedzie trwal 5us (mikro sekund) czy moze 5s a na wyswietlaczu bedzie sie caly czas wszystko wyswietlalo Tylko pamietaj ze tym sposobem...
Trochę nad tym posiedziałem (dużo czasu minęło od ostatniego postu, ale jakośtak nie było czasu) i mam nowe pytanie, otóż: chcę uzyskać taki przebieg (dla rozdzielczości 1024x768): http://obrazki.elektroda.pl/4684247700_1... a wyskakuje mi coś takiego: http://obrazki.elektroda.pl/7828016300_1... I chciałbym się dowiedziec, jak walczyć...
Na starym PC (chyba jeszcze takim z zegarem 4.77MHz) robiłem pomiary czasu z dokładnością lepszą od 1µs, ale pod DOS-em (żadne Windows, czy nawet Linux, takiej dokładności nie wyrobią). Robi się to tak, że komputer czeka na przerwanie, i po przerwaniu odczytuje zegar. Albo inaczej: generator + licznik + układ zapamiętujący czas, który można odczytać...
przebieg prostokątny narastania generator przebieg prostokątny filtr przebieg prostokątny
modem ruter dialog tuner pewex driver creative
interfejs delphi thomson 32hd3301
OMNK-111 S – funkcje pokręteł selektywność, korekcja, heterodyna – wyjaśnienie dla amatora OA-152 Radmor – działanie pokrętła heterodyna, pozycje A1, 0, A2, odbiór CW/AM/MCW