Co znaczy "precyzyjne odmierzanie"? Jak precyzyjne?
Na jakiej czestotliwosci dziala procek? 1 MHz. Dzięki. spróbuję przez CTC.
Każdy zapis ma wymagany czas. Chyba że urzywasz trybu stronicowego to tylko raz odmierzasz ten czas na stronę.
Uruchomi się - tak jak pisał kol. (at)dondu na wejściu masz układy Schmitta, czyli po przekroczeniu poziomu progowego nastąpi zmiana stanu. Problem w tym, że dla różnych egzemplarzy ATMega, czy różnych warunków, ten próg będzie nieco dryfował. Więc średnio to się nadaje np. do tego, aby odmierzać czas stałej RC.
Mozesz zrobić dodatkową zmienna w if-ach ustawianą na wartość w sekunach i dekrementowaną razem z x++ , gdy nie jest zerowa to włączasz diode a po dojsciu do zera dajesz opoznienie pomiedzy świeceniem po którym robisz nowy pomiar. Gdy ma być podtrzymywane to nie blokujesz pomiarów. [syntax=c] if (sekunda) { if (czas_swiecenia) { czas_swiecenia--; wlacz...
Jeżeli w programie występuje konieczność odmierzania czasu ATmega musi mieć swój "zegarek" na którym będzie ten czas odmierzał. Tym zegarkiem jest Timer, natomiast funkcje typu delay() wstrzymują tylko wykonywanie programu.
Witam dopiero zaczynam przygodę z programowaniem mikrokontrolerów i mam pytanie odnośnie odmierzania czasu na uc atmega 16. Odmierzam czas przy pomocy timera1 kwarc 16MHz. Z obliczeń wynika, że przy preskalerze 1024 muszę odliczyć 15625 impulsów więc ładuję do timera wartość 49911 i wtedy uc odmierza mi około 4 sekund zamiast 1, natomiast gdy prescaler...
Witam dopiero zaczynam przygodę z programowaniem mikrokontrolerów i mam pytanie odnośnie odmierzania czasu na uc atmega 16. Odmierzam czas przy pomocy timera1 kwarc 16MHz. Z obliczeń wynika, że przy preskalerze 1024 muszę odliczyć 15625 impulsów więc ładuję do timera wartość 49911 i wtedy uc odmierza mi około 4 sekund zamiast 1, natomiast gdy prescaler...
Która atmega? W atmega8 możesz użyć: Timer0 - odmierzanie czasu Timer1 - zliczanie impulsów Timer2 - PWM
Jakie chcesz odmierzać odcinki tego czasu? Jeśli długie np 1h to atmega bez kwarcu będzie dość niedokładna, jeśli odcinki czasu mają być bardzo długie(12h) i ma je odmierzać bardzo dokładnie będziesz niestety musiał użyć jakiegoś RTC.
Co rozumiesz pod pojęciem impuls, bo może to przybliżyłoby nam, co chcesz osiągnąć ? Najprawdopodobniej będziesz potrzebował obsługiwać przerwania OnCompare1A , w których raz włączysz pin, drugi raz go wyłączysz i ustawisz inne odmierzanie czasu.
Kolego, chyba nie chcesz powiedzieć, że czas odmierzasz przez programowe opóźnienia? To jakiś koszmar. Szczególnie w procesorze, w którym masz do tego celu dedykowane timery. Co do 1-wire - po co programowo odmierzać czas, skoro ATMega, podobnie jak każdy procesor wyposażony w UART ma semi-sprzętową obsługę 1-wire? No i przydałoby się dodać jakieś podtrzymanie...
To teraz troszkę mi namieszałeś, ATmega 16 ma ICP1 przy nóżce Timera 1, ja odmierzam impulsy 2-ch sygnałów... Co do sposobu zliczania impulsów za pomocą T0/T1 to po co używać 3 timer do odmierzania okresu czasu. Przecież okres jest odmierzany na przemian. Gdy T1 zlicza impulsy obrotomierza to T0 odlicza okres, po tym okresie T0 zaczyna zliczać impulsy...
Połykanie półokresów wprowadzi składową stałą. Trzeba sterować poprzez wycinanie okresów. Ponieważ okres przy 50 HZ to 20 milisekund trzeba liczyć okresy ( w bardziej zaawansowanych układach). Myślę, że w mniej skomplikowanych wystarczy zmieniać czas załączenia poprzez odmierzanie Timerem wielokrotności 20 milisekund.
Czyli w moim przypadku , raczej opcja pierwsza prawda ? Możnaby przekombinować , odmierzać 16-bitowym i wykorzystać dwa PWM'y dwóch timerów no ale ...
To chyba zły pomysł. Po pierwsze, taki potencjometr pracuje dla napięć 3/5 V, i nie nadaje się do pracy w układzie z U2008. Jeśli regulacja PWM nie działa jak należy, po trzeba ją po prostu poprawić i zrobić dobrze, zamiast wymyślać takie kombinacje. Jeśli żarówka sterowana PWM miga, to najprawdopodobniej jest problem albo z wykrywanie przejścia zasilania...
Sam widzisz, że musisz odmierzać czas. Każdy projekt z mikrokontrolerem zaczyna się od przerwania timera. Bez tego nie da się zrobić prawie nic.
Nie piszesz jakiego kwarcu używasz. Jak kilka MHz to możliwe że masz źle ustawione fusebity. Wtedy µC może chodzić np. na wewnętrznym generatorze 1MHz. Kwarc zewnętrzny nie działa i stąd efekty sporej różnicy w odmierzaniu czasu.
Licznik 2 odmierza 2.5ms (czas jednego z osmiu cykli). licznik pierwszy odmierza ile ma trwac stan wysoki na linii 1-2ms w twoim przypadku
Ale czegość tu jeszcze nie rozumiem przecież mam kwarc 8MHz i stosuje delay_us(value);a value to czas nagłówka i bitów w mikrosekunndach czy czas nie powinien się wydłużyć ośmiokrotnie?????? Zastanów się jeszcze raz nad tym co napisałeś vs nazwa funkcji: delay_ us Innymi słowy, czy ta funkcja jest funkcją liczoną w taktach mikrokontrolera, czy w mikrosekundach?...
Twój problem nie wynika z priorytetu przerwań tylko braku umiejętności prawidłowego ich wykorzystania i zastosowania biblioteki która jest źle napisana . Zazwyczaj dzieje się tak gdy użytkownik w przerwaniu umieszcza całą procedurę obsługi bufora , wyświetlacza lub innych peryferii lub po prostu timer odmierza krótszy czas niż trwa obsługa przerwania...
Wątpliwa sprawa , atmega czy inny układ nie rozwiąże problemu złej koncepcji , braku powtarzalności odmierzania o którą pewnie koledze się rozchodziło. Z drugiej strony chyba nie ładnie pisać nieprawdę: - ma kolega problem z podstawowym układem elektronicznym( nawet jego fachowym określeniem), aż tu nagle wykonał kolega sterownik na mikroprocesorze...
Witam. Może ktoś napisać jak odmierzyć 12.5us? Bo potrzebuje te 12.5us do wygenerowania półokresu przebiegu 40KHz. Chciałbym zmieniać stan pinu na przecieny co 12.5us. Da się to zrobić bez przerwań? Sprzęt to ATMEGA 8 z kwarcem 8MHz, program piszę w Bascomie Będę wdzięczny za pomoc
jeden kondensator mniejszy i równolegle z nim trymer a drugi pozostaje bez zmian zmiana położenia trymera spowosuje lekką zmianę częstotliwości kwarcu i taktowania procesora. licznik w procesorze będzie pobierał impulsy właśnie z oscylatora kwarcowego mówimy o atmega... a może liczniki liczyły Ci źle bo korzystasz z wewnętrznego oscylatora RC, który...
Oscylator może mieć +-3% dla 1MHz i 25stopni zgodnie z notą katalogową (ATMEGA16, str. 27), więc do dokładnego odmierzania czasu zaleca się używanie zewnętrznego kwarca. Podobno może uzyskać +-1%.
Witam, jestem początkujący, chciałem zaimplementować w swoim układzie (dodatkowo) funkcję pokazującą czas, czyli generalnie zegarek. Układ będzie oparty na procesorze ATmega*. Poczytałem trochę na forum o kwarcach i chciałem uporządkować wiadomości. Jeżeli chcę by nie było dysproporcji między aktualnym czasem a wskazaniem układu, to rozumiem, że potrzebuję...
Witam Mam dziwny problem nigdy mi się tak nie zdarzyło z poleceniem Wait/ waitms w Bascomie. Chodzi o to, że mam nowy procek Atmega 8 ustawiony fabrycznie na 1 Mhz i powinien odmierzać dokładnie 1 s na takim ustawieniu fabrycznym a ja wpisuje w programie np. waitms 100 to dioda zapala się na 5 sekund... dziwne. Próbowałem na zestawie ZL2AVR , na innej...
Jak należy ustawić MCU Clock Frequency w eclipse jeżeli w częstotliwość jest np. 4 razy zmieniana za pomocą clock_prescale_set()? Eclipse wykorzystuje wiedzę z MCU Clock Frequency zapewne tylko do makrt lub funkcji, w których do obliczeń (na etapie przygotowania kodu programu do kompilacji) niezbędna jest znajomość F_CPU, a są nimi opóźnienia z nagłówka...
Witam! Zrobiłem sobie taki prosty logger, który wykonuje co 10 min pomiar temperatury i zapisuje wynik na karcie SD. Na początku dokumentacji atmegi pisalo ,że 20 Mhz osiągnid się dopiero przy => 4.5 V. Zasilanie ma wyglądać tak: NiMh: 3x1.2 V = 3.6 V (na początku przy pełnym naladowaniu 3x1.35 V = 4.05 V) [/quote] lub Alkaiczne, cynkowo węglowe: 3...
oraz "the frequency depends on supply voltage, temperature and batch variations" WD nie służy do precyzyjnego odmierzania czasu. Zobacz w nocie jak zależy od podanych parametrów, a okaże się, że to raczej nie ma większego znaczenia. Zewnętrzny WD często oferuje znacznie szerszy zakres wartości limitów czasu. Ma to znaczenie w szczególności w aplikacjach...
Cześć, to mój pierwszy projekt. Chcę zrobić sobie zegarek binarny na atmedze 8, oczywiście multipleksowany. Chciałbym jednak, żeby po wyłączeniu nadal odmierzał on czas, tak że po ponownym podłączeniu do zasilania ciągle byłaby aktualna godzina, jak można to zrobić? Załączam schemat.
Robisz prosty błąd w składni. Poczytaj w helpie o Load. Nie tak: [syntax=basic4gl]Load Timer1 = jakas_wartosc[/syntax] tylko tak: [syntax=basic4gl]Load Timer1 , jakas_wartosc[/syntax] Z tego co pamiętam można również tak. przykładowo: [syntax=basic4gl]Timer0 = 249[/syntax] co jest równoważne: [syntax=basic4gl]Load Timer0 , 6[/syntax] Ale to sobie musisz...
ok, więc może być na konkretnym przykładzie: Mam płytkę AND-TECH.PL EvB 4.3 (mikroprocesor to: ATMEGA 32, 16 PU). Więc jak mogę sobie skonfigurować Timer1 i Timer0 na tym mikroprocesorze przy rezonatorze 16Mh by odmierzał mi czas (zegarek godziny:minuty:sekundy). Jak mogę dobrać preskaler i jak wygląda tok obliczeń. Informacje te są mi potrzebne na...
Hehe, tekstu przesuwać nie próbowałem, bo nie takie jest przeznaczenie tego wyświetlacza (zresztą widać po jego kształtach :P ), jest to prezent dla dziewczyny (dlatego nawet matryca była ręcznie robiona ;) ). Ale to niebyłby problem, wystarczy zaprzęgnąć do pracy timer'a, właśnie nad tym pracuje :P ATMege8 można by dać, ale trzeba by modyfikować schemat,...
Czyli robisz praktycznie pustą płytkę, ciut głupszą od płytki serii Arduino, którą można kupić gotową za 10 zł, za to namęczysz się prowadząc przewody do drugiej płytki. Chcesz użyć PWM, co wyklucza możliwość użycia przekaźników. Chcesz mieć wiele kanałów PWM, ale wybrałeś uC, który ma tylko 3 kanały. Zacznij od założeń: opisu funkcjonalności, czujników,...
Kwarc podczas programowania nie musi być podłączony o ile uC korzysta z WEWNĘTRZNEGO generatora ("fusy"dla ATMEGA 8 i podobnych = 0001 lub 0010 lub 0011 lub 0100), Jeżeli przełączono "fusy" na generator ZEWNETRZNY czyli kwarc lub generator podający z zewnątrz gotowy sygnał taktujący to podczas programowania generator/kwarc musi być podłączony. Na kwarcu...
http://obrazki.elektroda.pl/8592196000_1... Witam, Od zawsze marzył mi się zegar na lampach NIXIE. Jednak nie chciałem żywcem kopiować jakiegoś projektu, tylko samemu coś zbudować. Długo szukałem inspiracji, najbardziej martwiła mnie obudowa bo u mnie z tym zawsze najgorzej. Zainspirowała mnie obudowa zegarka od electoNIXclock więc...
Dzieki wilkie, dziala wszystko jak trzeba :) A wiecie moze o jakims "skrypcie" dla zegara? Albo jak sie do tego zabrac? Chcialbym wyswietlic godzine np. wiem, ze normlanie to godzine program by pobral z systemu, ale przeciez Atmega nie "wie" ktora godzina :D dlatego zastanawiam sie, jak do tego mialbym sie zabrac :) Dzieki wielkie :) Musiał byś powiedzieć...
Po pierwsze, nie wysyłaj printf skoro chcesz odmierzać dokładnie. Po drugie, jeśli chcesz sprawdzić co jest nei tak to zapamiętaj w przerwaniu wartość licznika jaka jest w momencie przerwania i ją wyślij uartem. Po trzecie, zeruj licznik w przerwaniu. Po czwarte, musisz mieć dokładny kwarc/generator. Po piąte, używaj typedef i definicji zmiennych uint8_t...
Najwazniejsze pytanie, czy da sie to zrobic na Atmedze ? oczywiście że się da :D (zakladam ze 30sek=0.0083h ) Zalozmy ze pobieram 1A, czyli po 30s pobralem okolo 1*0,0083Ah czyli czas pozostaly do rozladowania to 60 - 1*0,0083 czyli 59.991h wynik zostaje zaokraglony i przeksztalcony na 59h 54min Nastepnie obciazenie wzrasta do 2A czyli po nast. 30s...
(at)Bogus105 dlaczego piszesz o programowym pwm'iem ? nie mozesz uzyc sprzetowego ? i tak pewnie bedziesz uzywal licznikow do odmierzania czasu :| Nie wydaje mi sie ze moze wystepowac mruganie atmega(at)16MHz powinien sobie spokojnie z tym poradzic nawet jesli ja co zajmie i straci 1ms to i tak wlokno zarowki nie zdarzy zgasnac :) do tego optymalizacja...
Bo gdy tam jest stała, to kompilator wykonuje dużo programistycznej magii podczas optymalizacji na podstawie tej wartości oraz częstotliwości zegara tak, żeby procesor odczekał dokładnie tyle, ile trzeba. Jeśli tam jest zmienna, to wartość nie jest znana (potencjalnie może tam się znaleźć cokolwiek w czasie wykonywania programu) i wtedy kompilator nie...
Zastanawiałem się też nad zegarem RTC, mam scalaka PCF8583, którego można by zatrudnić. Tylko zastanawiam się w jakim trybie musiał by on pracować ? Timer ? Alarm ? Dajmy na to wybiorę PCF'a nie wiem za bardzo jak on miałby odmierzać mi zadane godziny - musiałbym za każdym razem gdy włączam sterownik ustawiać od nowa czas i dopiero względem niego odmierzać...
Dokładnie tak jak pisze Kolega emarcus. W moim przykładzie w programie operujemy na zmiennych minuty, sekundy. Ale do programowania czasu konwertujemy i tak wszystko do sekund. W ogólności można zrobić odwrotnie, tj. używać tylko zmiennej wyrażonej w sekundach i np. co sekundę konwertować tę wartość na wartość minut i sekund w celu ich wyświetlenia,...
Jak napisze prosty program do zaświecenia kilku ledów na porcie D to działa prawidłowo ale regulacja PWM na B1 i B2 nie działa. Fuse bity mam na 8MHz ale chyba wewnętzryny bo jak zewnętrzny kwarc odepne to diody działają poprawnie (w programie do odmierzania jednej sekundy) Dodano po 19 A moze atmega jest uszkodzona?
Mam problem. Procek atmega 32 + dolaczony zewnetrzny kwarc 16MHz (kondensatory po 22 pF). Znalazlem w necie funkcje do odmierzania dokladnego czasu (np. 1s). Plik w zalaczniku zawiera te funkcje. Jednak u mnie zarowno funkcja nop_1s() jak i czekaj() trwaja ok. 12s, a nop_100ms trwa ok. 3s. Wydaje mi sie, ze wina moze lezec po stronie programowej. W...
Witam, dobrze że mówisz bo jeszcze płytki pod proca nie robiłem to jeszcze dorzucę układ detekcji zera pod 230V. Tak z ciekawości to używałeś tego schematu: http://www.hoelscher-hi.de/hendrik/engli... Czy innego, to bym już w pełni sprawdzony wrzucił. Co do tablicy czasów, to przecałkowałem sinusoidę tak żeby odmierzać równe odcinki...
Oczywiście że tak! A tyle razy czytałem pdf'a.... Drugi błąd tkwi w zapisie 10sek do adresu 15. Pamiętałem wszędzie o BCD zapominając, że powinno być nie 10 a 16 (B00010000). Czyli reasumując: zapis ustawień timera adres 0 <- 4 (ustawiony bit 3 włącza timer) adres 7 <- 0 (zerowanie na wszelki wypadek licznika - tu układ zlicza sobie impulsy) adres...
Jest możliwość zrobienia stopera/minutnika z poczwórnym wyświetlaczem 7-segmentowym używając mikrokontrolera z rodziny atmega? Wyświetlacze najlepiej multipleksować w przerwaniach timera, żeby mieć pewność, że każda cyfra będzie wyświetlana jednakową ilość czasu. Odmierzanie czasu dla stopera/minutnika oczywiście też trzeba oprzeć na przerwaniach timera....
Witam, co do Bascoma to ci nie pomogę znaleźć błędu bo nie piszę w tym softu ale skoro masz tak ogromny rozrzut 1min - 7min to przeanalizuj dokładnie program, gdzieś czai się wielki błąd ;) ... tylko że nie pokazałeś schemtau i nie wiem czy zrobiłeś sobie ten zegarek tylko w oparciu o Atmegę i jej (właśnie kwarc zewn czy oscylator wewnętrzny) czy też...
Do odmierzania odcinków czasów wystarczy ci timer i kwarc 32kHz bo dokładność nie odgrywa tutaj dużej roli.Widziałem gdzieś w sieci podłączenie kamerki MCA-25 chyba ale jeśli jesteś początkujący odpuść sobie nie dasz rady.
witam Temat być może jest trochę mylący. Ale do rzeczy. Bawię się zestawem zl3avr i jestem na etapie obsługi transmisji w kodzie RC5 w asemblerze. W książce "Mikrokontrolery AVR ATmega w praktyce" podane są gotowe programy do nadawania i odbierania wiadomości w RC5. O ile procedurka nadawania nie budzi żadnych moich wątpliwości, o ile w przypadku odbierania...
Wiatm. Posiadam ATmega8 i Wyś. LCD 16x2 (BIG). Znudziło mi się wyświetlanie tekstu bez sensu więc chciałem sobie zbudować urządzenie do zliczania sekund tylko, że nie mogę sobie poradzić z tymi przerwaniami. Więc proszę was o napisanie mi takiego programiku który by działał następująco. Podłączam zasilanie i zaczyna odmierzać czas po sekundzie i wyświetlać...
Witam! Mam taki dość nietypowy problem. Kontroler ma reagować na jedno z trzech przerwań: TIMERa 0 i dwóch zewnętrznych (czujki ruchu). Te przerwania zewnętrzne zliczają liczbę reakcji czujek, natomiast TIMER 0 ma odmierzać czas i dzięki niemu co kilka sekund mają być wyświetlane statystyki. Bez TIMERa 0 wszystko działa ok, ale statystyki lecą cały...
Witam. Chciałem sobie zrobić prosty zegarek. Napisałem kod, podłączyłem wszystko na mojej płytce testowej i niby działa, ale ... Za szybko odmierza czas. 1 sekunda trwa tutaj dużo krócej. W ciągu 1 minuty w rzeczywistości, naliczy 170 sekund. ATmega ma ustawiony fusebit na wewnętrzny oscylator 8Mhz, do XTAL1 i XTAL2 mam podłączony kwarc zegarkowy. Kod...
Witam. Kolego spróbuj wykorzystać do odmierzania czasu TIMER, jeśli jest taka możliwość. Mała podpowiedz jak napisać program: W pętli głównej: - sprawdzasz czy masz zapaloną diodę jeśli tak to gasisz i zatrzymujesz licznik - sprawdzasz czy dioda jest zgaszona jeśli tak to zapalasz i startujesz licznik W przerwaniu licznika i odmierzeniu odpowiedniego...
http://obrazki.elektroda.pl/7208083000_1... Witam Od dawna przymierzałem się do zbudowania zegara nixie na sześciu lampach. W internecie jest sporo takich projektów, jednak większość z nich nie odpowiadała moim założeniom. Postanowiłem więc zaprojektować i wykonać zegar od podstaw wykorzystując podzespoły, które miałem pod ręką. Założenia...
Chodzi mi o wykrycie jakiejkolwiek awari w urządzeniu (awaria czujnika, silnika itp). Chciałbym mieć taki niezależny timer ponieważ dokładność odmierzanego czasu nie jest zbyt istotna ale za to sygnał można dać od razu na kilka mikrokontrolerów połączonych we wspólny system. To takie trochę moje własne widzimisię, ale ciekawy jestem jakby się to sprawdziło.
To zależy co robisz z tym odbiornikiem. Jak potrzebujesz dosyć precyzyjne odmierzanie czasu (generowanie sygnału 36KHz lub odbieranie jakiegoś kodu) to wewnętrzny oscylator może być zbyt mało dokładny, bo błąd częstotliwości może wynosić nawet 10%. Jak potrzebujesz tylko odebrać jakiś prosty sygnał typu "0" lub "1" to wewnętrzny oscylator w zupełności...
Komunikacja pomiędzy rtc a atmega przebiega bez problemów poza szczególnym przypadkiem. Sprawdzając zależność częstotliwości (poprawności działania rtc) od temperatury zauważyłem że rtc niezawsze działa prawidłowo. Do rzeczy - wkładałem rtc wraz z atmega do zamrażalnika :D (tak zamrażalnika) na dobe i sprawdzałem czy wystepuje błąd pomiaru czasu - zazwyczaj...
(...)wiele starszych zegarów w autobusach miejskich posiada synchronizację z DCF77, co można zauważyć tuż po rozruchu silnika na przystanku początkowym, zegar potrzebuje do 60 sekund by zacząć odmierzać czas). Do 60 sekund? Jeśli już to co najmniej 60 sekund w idealny warunkach (np. we Franfurcie do 120 sekund, w Polsce nawet kilka godzin. Do 60 sekund...
wow tego nie wiedziałem... Dzięki Przetestowałem, zaczęło działać. Ale... Jeśli zrobię tak:[syntax=cpp]ISR(TIMER0_COMP_vect) { rob_cos=1; }[/syntax]a w main:[syntax=cpp]while(1){ if(rob_cos==1){ PORTD &= ~_BV(3); OCR1A=0; _delay_ms(1); PORTD |= _BV(6); OCR1B=50; _delay_ms(1); rob_cos=0; } }[/syntax]to i tak dalej się resetuje. A potrzebuję umieścić...
W takim razie jak to zrobić? W podlinkowanym przed chwilą przeczytałem że częstotliwość pracy z wewnętrznymi elementami LC jest ok 550kHz, czytałeś? będziesz aż tak zmieniał wartości elementów? W nocie katalogowej jest napisane, że typowe opóźnienie to ~15ns O jakim elemencie mówisz? chyba nie o LM311. I jak działa taki licznik wewnętrzny? Jak go obsługiwać?...
Sorry, troszkę źle nazwałem temat ;). Postaram się poprawić. Wracając co tematu ;) to wyszukałem gdzieś na internecie, że tą metodą, którą chce odmierzać czas osiągnięto dość dobre rezultaty, ale gubiono 1-2 sekundy na 15h. Z tą tylko różnicą, że podłączony został zewnętrzny oscylator kwarcowy 8MHz. No zaraz zaraz. Czyli to dla Ciebie taka mała różnica,...
Pomijając jak działa ten program to źle się do tego zabrałeś. Jak chcesz w sposób wiarygorny liczyć impulst >240kHz, jeśli ATMega jest taktowana np. 8MHz? To daje ci zaledwie 33 takty pomiędzy przerwaniami. Należy mierzony przebieg podać na wejście XCK timera, tak, żeby timer sprzętowo liczył impulsy, a przerwanie z drugiego timera wykorzystać do odmierzania...
Wybacz ale nie znam dokładnie twojego mikrokontrolera, ale w Atmega zdecydowanie lepiej jest ustawić taki preskaler aby czasy jak w one-wire po prostu do niego ładować i stan nóżki z termometrem zmieniać programowo w przerwaniu - w końcu po co robić programowo licznik skoro masz sprzętowy, który nie zajmuje procesora z tak błahego powodu jak inkrementacja...
Wykonuje prace inżynierską "stanowisko szkoleniowe silnika krokowego", chciałbym wykonywać kilka rzeczy czasowo niezależnie bez używania delay, takich jak taktowanie częstotliwości na sterownik krokowca, odmierzanie czasu, cykliczne sprawdzanie stanów wejść. Z bibliotek znam Timer1.h jedynie. Mógłbym to zrobić w "C" chyba, bo kiedyś dużo bawiłem się...
Witam Napisalem prosty programik do sterowania jednym serwem lecz serwo przesuwa sie powolutku w jedna strone tylko. Serwo to mini serwo z Conrada ES-05 .include "m16def.inc" .org 0x00 rjmp reset .org OC2addr rjmp KrotkiCykl .org OC1Aaddr rjmp DlugiCykl DlugiCykl: ldi r16,0xFF out PORTA,r16 ldi r16,0x00 out TCNT2,r16 in r16,TCCR2 sbr r16,7...
Jeżeli nie uda Ci się rozwiązać problemu, to proponuję mój patent. Zastosowałem poczciwy 555 w wersji CMOS, który na czuwaniu pobiera 100uA przy 5V (przy 3,6V będzie mniej). Kondensator tantalowy i odpowiednie rezystancje ustalają czas załączania układu co 20 min. Na moment włączany jest procesor, czujnik i nadajnik, aby zmierzyć temperaturę i wysłać...
zaraz sprawdzę ale ja murze odmierzać krótkie czasy i nie wiem czy to nie będzie przeszkadzać muszę trochę policzyć. Czyli po prostu jest za mało czasu pomiędzy przerwaniami i instrukcje wewnątrz nie nadążają się wykonać tak?
Witam, chciałbym przy użyciu Atmega8 i zewnętrznego kwarcu odmierzać i zliczać setne części sekund, sekundę mogę łatwo wyłapać z timera1 według przykładowych obliczeń 4000000MHz / 256 = 15625 65536 - 15625 = 49911 lub 8000000Mhz / 256 = 31250 65536 - 31250 = 34286 Nie mam jednak pomysłu jak....... Z góry dziękuję za pomocne wypowiedzi. Aby odmierzac...
(at)dondu DS1307 przy odcięciu głównego zasilania pobiera z baterii typowo ok. 300nA, czyli jakieś 30 razy mniej niż 10uA. Zgadza się, ale Twój zegar w stanie zasilania z baterii nie przebywa prawie nigdy - zasilanie to jest tylko na wszelki wypadek : Zasilaniem zastępczym jest bateria litowa 3V. Policzmy więc ile czasu ATmega w zaproponowanym przeze...
Przytoczę tu słowa z książki Marcina Wiązania. W uC atmega8 jest możliwe taktowanie licznika timer2 w trybie asynchronicznym z zewnętrznym rezonatorem kwarcowym tylko wtedy, gdy sam mikrokontroler jest taktowany sygnałem wewnętrznym oscylatora RC. W takim przypadku precyzja odmierzania czasu przez timer2 zależy od oscylatora kwarcowego 32768 Hz, a nie...
PWM potrzebuje licznika, aby odmierzać czas w którym ustawia pin w stan wysoki i niski. Używasz również timera do regularnego pomiaru czasu echa. To nie może być ten sam timer, co do odmierzania czasu w PWM. Atmega32 ma 3 timery (dwa 8-bitowe i jeden 16-bitowy). Spójrz do datasheet-u mikrokontrolera. Pamiętaj również o tym, aby wszystkie zmienne, których...
http://obrazki.elektroda.pl/1587637900_1... Witam, przedstawiam moją konstrukcję timera kuchennego. W dobie smartphonów i rożnych innych “kombajnów” potrafiących precyzyjnie odmierzać czas, pomysł czasomierza kuchennego może wydać się zbędny jednak wizja upuszczenia telefonu do garnka z zupą skutecznie zmotywowała mnie do...
To trzeba poczytać w opisie konkretnego układu - są takie, że można podłączyć bodajże dwa piny do portu drukarki, (+ zasilanie i masę) i programować przez ten port (np. jakieś ATtiny, ATmega), i takie, że trzeba mieć programator. 6MHz zamiast 12MHz - 2 razy mniej RPM (a właściwie zapłonów / minutę), czyli pewnie to będzie 500 / 1000. Nie pamiętam, ile...
Witam Chodzi o to, że jest ATMEGA z wbudowanym zegarem RTC. Po odpowiednej konfiguracji i uruchomie wszystko jest OK, zegar pracuje. Jednak zegar ten ma być wykorzystywany do pomiaru krótkich odcinków czasu. Czyli odmierza ustawiony czas i jest blokowany poprzez STOP TIMER2 (w Bascomie). Po naciśnięciu klawisza start układ wg założeń powinien uruchomić...
Albo jeszcze inaczej. Podpinasz wyjście z wiatraka do przerwania np. INT0 W przerwaniu zwiększasz o jeden dowolną zmienną np. obr. Dodatkowo ustawiasz Timer na odmierzanie stałych odcinków czasu np. 1s. W obsłudze przerwania odczytujesz zmienną obr. i zapisujesz ją w zmiennej obroty, nastęnie zerujesz zmienną obr. Przy okazji w tym przerwaniu wyświetlacz...
2- Do czego służy w ogóle ta detekcja 0? 3-Triak po włączeniu zostaje włączany dopóki napięcie nie osiągnie 0? Spójrz na obrazek : http://static.ddmcdn.com/gif/dimmer-swit... Wykywasz 0 triak wyłączony, odmierzasz czas mniejszy od 10ms i włączasz triak. Pamiętaj tylko o tym, że ta regulacja którą teraz masz czyli 10ms z krokiem 100us nie...
doradzilbym autorowi watku aby na razie zadowolil sie eksperymentami z Timerem1 (nawet przy taktowaniu 1 MHz) - ma on o wiele wiecej funkcji niz Timer0 lub Timer2 w innych uC. Warto poczytać o trybie CTC Timera1. Przy nominalnej f = 1MHz i preskalerze 64 wpisanie do rejestru OCR1A (lub ICR1, zależy od trybu) wartości 1e6/64 - 1 = 15624 pozwoli Ci na...
Licznik zaczyna od wartości 0 nie odmierza jej ... nie ma żadnego wpisu w wartości licznika więc jest on wypełniony zerami po pierwszym zdarzeniu odlicza dopiero więc tak jest własnie 2^16 -1 czyli 65535. Nie zrozumcie mnie źle, rozumiem że po 65535 nastąpi jego powrót do zera i to potraktowałbym jako kolejny takt czyli brakującą wartość 1 ale nie zmienia...
To co rozważasz to bardzo dobry sposób ;) nie ma lepszego. Wszystko zależy czy potrzebujesz super dokładnego 100ms czy tylko zgrubnie odczekać 100ms. W tym drugim przypadku można zrobić programowy timer i na jego podstawie odmierzać różnej długości odcinki czasów dla wyzwalania jakichś zdarzeń itp. Ale jeśli precyzyjnie to tak jak piszesz.
Witam ponownie,z odmierzaniem 1s sobie poradziłem ale z zapisem temp.minimalnej mam problem na lcd temp.min wyswietla mi zero,chce zrobic cos takiego właczam termometr: pokazuje temp 25C i w tym momencie ma pokazac temp max 25C i tak sie dzieje i min. tez ma pokazac 25C i tu problem nie pokazuje,podgrzewam czujnik do 30C zapisuje max jako 30C a min...
I tu mam pytanie: jak to jest mozliwe, zeby Timer w mikrokontrolerze byl tak niedokladny? Przeciez to jest bezsens, jego zadaniem jest PRECYZYJNE odmierzanie czasu, czy to do zliczania czegos z zewnatrz, czy to do generacji np. przebiegu prostokatnego, czy to do ODMIARZANIA czasu. Przeciez przydatnosc takiego Timera jest zerowa (dokladnie jak jego...
Witam ponownie Ten czujnik temperatury jest czescia wiekszego projektu. Urzadzenie oparte na Atmega 8535 ma za zadanie zmierzyc i wyswietlic na czterocyfrowym wyswietlaczu LED cisnienie powietrza atmosferycznego, wilgotnosci tego powietrza i jego temperature. Do tego odmierza i wyswietla aktualny czas z funkcja budzika. Czujniki podlaczone sa do trzech...
Mam pytanko. Jaki jest minimalny czas odmierzany przez timer 8-bitowy? bo mi minimum na zegarze 8mhz wychodzi 0.016ms, nawet jak preskaler dam 1 i OCR0 =1. A 16 bitowym mogę mniejsze odmierzyć. według mojej wiedzy powinny minimalny czas mieć taki sam (1/czestotliwość zegara głównego) edit: No i jest problem atmega z zegarem 16mhz jest za wolna. Gdy...
shadow0013 : Zacytuję pierwszą stronę dokumentacji: – Real Time Counter with Separate Oscillator RTC służy do odliczania czasu niezależnie od stanu procesora (np uśpienie) czy oscylatora taktującego procesor (wahania częstotliwości), funkcja zegara/kalendarza jest tylko często stosowanym dodatkiem. Tutaj tą funkcję trzeba zrealizować programowo....
Notmalnie, przecież licznik w tym przypadku służy tylko do odmierzania czasu, żeby w ściśle określonym momencie wyłączyć diodę. Dodatkowa zmienna jest zupełnie niepotrzebna. Przerwanie timera można wykorzystać do czegoś innego (konkretnie przerwanie porównania) - do określania momentu wyłączenia LEDa i ustawienia flagi sygnalizującej konieczność uaktualnienia...
Spokojnie panowie...... po co tyle opinie sprowadzających się do "nie"... Atmega8 ma możliwość podpięcia rezonatora zegarkowego 32kHz do pinów i emulacje RTC z wystarczająca dokładnością do zastosowań amatorskich w oparciu o pracę asynchroniczna jednego z liczników. Wtedy reszta uP pracuje w konfiguracji taktowania wewnętrznym zegarem RC. Dodanie zewnętrznych...
Co zrobić żeby jeszcze precyzyjniej odmierzać czas? Czego brakuje w tym układzie? Brakuje trymera do podstrojenia częstotliwości generatora kwarcowego.
Ciekawe, czy istnieje tani elektrozawór, który potrzebuje prądu tylko do otwierania i do zamykania, a nie do utrzymywania otwarcia, czy zamknięcia? Być może dałoby się to załatwić poprzez startowanie przepływu pompką, albo chwilowym otwarciem zaworu, i takim układem hydraulicznym, który by odmierzał ilość wody i zatrzymywał przepływ - ale nie znam takiego...
Funkcja wait w Bascom nie jest dokładna i na dobra sprawę nie należy jej stosować do odmierznia czasu. Aby dokładnie odmierzać czs należy posłuzyć się timerami. Jakie dałeś kondensatory do kwarca?
Musiałbyś dodać zmienną, która będzie służyła do odmierzania czasu bez impulsów, tzw. "timeout". Jeśli przez okres ponad 10 s nie przyjdzie żaden impuls, to n=0. Wbrew pozorom, liczenie timeoutów najłatwiej zrealizować w przerwaniu :) Dodano po 1 fragmenty kodu: inicjalizacja przerwań (akurat dla Atmega32) [syntax=c] TCCR0 |= (1 << CS02); TIMSK...
Nie do końca zrozumiale napisałeś. Odmierzanie czasu oczywiście da się zrobić w przerwaniach i jest to najczęściej stosowany sposób. Dobrze jest wywoływać przerwanie co stały okres, który będzie wspólnym dzielnikiem obydwu czasów, które chcesz odmierzać. Np. 250us. Wtedy w przerwaniu inkrementujesz jakiś rejestr i sprawdzasz czy osiągnął wartość 5....
A wiec tak: Gdzie się podziało zainicjowanie licznika podczas wejścia w procedurę przerwania, drogi kolego ? oto ona: // Timer(s)/Counter(s) Interrupt(s) initialization TIMSK=0x40; // Analog Comparator initialization // Analog Comparator: Off // Analog Comparator Input Capture by Timer/Counter 1: Off ACSR=0x80; SFIOR=0x00;...
Config Timer0 = Timer , Prescale = 1 Jeśli chcesz dokładnie odmierzać czas, to zapomnij o preskalerze 1 Ciekawe, ile czasu trwa zrzucanie rejestrów na stos...
Czas radzę odmierzać na timerze i zrezygnować z funkcji typu _delay_us.
Witam Potrzebuję zbudować zegar z dużymi wyświetlaczami do odmierzania czasu jak w stoperze. Problem polega na dokładności pomiaru. 00.00.00 ( minuty, sekundy, milisekundy ) Potrzebuję aby można go było uruchomić za pomocą przycisku i zatrzymać za pomocą tego samego przycisku. Drugim przyciskiem kasowanie wyświetlanego wyniku. ( Start stopera - Stop...
Witam! Wykonałem taki diy , znaczy na atmega 8 , do niego podpinam dwa klawisze , dwa termometry DS18B20. W skrócie - mierzy czas , dwie temperatury oraz napięcie do 20Vdc . W fusebit-ach ustawiony tylko kwarc wewnętrzny 8MHz , jednak do wejść xtal dolutowałem kwarc zegarkowy. Wszystko chodzi idealnie, a jednak... Nie ma podtrzymania zegarek i za każdym...
Najdokładnie moźna oczywiście odmierzać czas na timerze... Jeżeli pisane w asm to w dokumentacji jest podane ile potrzeba cykli na daną instrukcję...
dokładny odmierzać odmierzać godzina odmierzać arduino
podswietlenie przyciskow radia manta ekran włącznik pociągany podłączenie
hewalex sterownik hewalex sterownik
Hikvision DS-KIS704EY – brak podświetlenia przycisku w panelu bramowym, diagnostyka LED Mata obecności pasażera – działanie, diagnostyka, typowe usterki BMW, Toyota, Mercedes