Na samym uC z kwarcem zewnetrznym otrzymasz dosc precyzyjne czasy. Nie wiem jakie bledy trzeba zrobic w programie zeby przy czasie 260ms otrzymac rozrzuty 5ms. Dobrze przemyslany program zapewni Ci odmierzanie czasu co do 1 cyklu zegarowego. Tylko bledy w logicznym mysleniu moga wprowadzac wieksze bledy. Proszę używać polskich znaków!
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.
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.
Witam Panowie, potrzebuję oświecenia. Chcę zrobić system na atmega8, który na bazie pomiaru rezystancji będzie sterował diodą led, która to będzie świeciła się przez 2, 4, 6 sekund z możliwością wydłużenia tego czasu do kilkudziesięciu sekund i przerw kilkugodzinnych między cyklami. Korzystam z trybu CTC i w nieskończonej pętli, za każdym razem kiedy...
Jeśli by to nie przeszkadzało to możesz podpiąć kwarc zegarkowy, wtedy na 8 bitowych licznikach na pewno zliczysz sekundę:)
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...
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...
...Co bym nie robił... wynik zawsze jest ten sam... Nic dziwnego, bo Bascom ignoruje polecenie Load Timer2 = 178 Zmień na Load Timer2 , 178 'lub Timer2= 256 - 178 i sprawdź :-P
Zobacz sbie mój temat. Tam zrobiłem odmierzanie na timerku działa bardzo fajnie tyle że dla 8 mhz. Pomnozysz sobie razy 2 te czasy i elegancko bedzie... Funkcja dl. i pamietaj iż mozesz zadeklarować wartości mieszczące się w char. [url=http://www.elektroda.pl/rtvforum/vi... MÓJ POST O DS Pozdrawiam domel.fm
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...
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.
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
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.
Ale skąd mam wiedzieć że licznik dobrze zlicza tzn co 1 mikrosekundę? Skąd mam wiedzieć że udało mi się na podstawie taktowania procesora wyliczyć dokładnie jedną mikrosekundę? Zaletą mikrokontrolerów jest to, że wystarczy być pewnym ustawień rejestrów i zegara, i musi odliczać prawidłowo. Pokaż program. Oczywiście kontrola jest wskazana :)
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...
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...
Sam widzisz, że musisz odmierzać czas. Każdy projekt z mikrokontrolerem zaczyna się od przerwania timera. Bez tego nie da się zrobić prawie nic.
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! 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...
Chyba nie mówisz, że nie masz zaimplementowanej obsługi watchdoga w systemie? Wyobraź sobie sytuację że program gdzieś pójdzie w maliny - jak zachowa się wtedy Twój alarm? Kopanie pieska musisz dobrze przemyśleć przy fazie projektowania programu - dodanie tego na samym końcu projektu może się już nie udać. Pozdrawiam, Krzysztof
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...
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...
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?...
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...
To jest przyklad tego jak mozna obsluzyc DS1820 przez mega 8 ale jest tam tez obsluga wyswietlacza w C.Moze sie pryda.Sam to dostalem od jednego kolegi z forum:-) wiec mam nadzieje ze sie nie obrazi...mnie interesowal DS. Pozdrawiam Maciek! #include <avr/io.h> #include <avr/pgmspace.h> #include <stdlib.h> #include <ctype.h> #include...
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.
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,...
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...
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...
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...
Witam. Przygotowałam taki schemat sterowania diodą RGB i zastanawiam się czy ma szansę zadziałać. Urządzenie zasilanie bateryjnie (lipoly 3.7V) Mikrokontroler: ATmega168PA zasilany 1.8V dioda LED RGB (sztuk: 1). Driver LED: najbardziej to bym chciała TCA6507 (również zasilany z 1.8V), ale nie widze go w żadnym polskim sklepie. N-MOSFET: irll024n (próg...
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, 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)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...
A proszę bardzo wersję: Compiler version: 2.0.2.1 Compiler build: 2.0.2.1.0 IDE version: 2.0.2.0 Windows OS: Windows 7 Proffesional SP1 Oryginał legalny nie ma się czego wstydzić. Timera używam tylko jednego z odmierzaniem około 5 sekund. 'konfigurujemy timer wywoływany co jakiś czas (patrz procedura) Config Timer0 = Counter , Prescale = 1024...
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, 1) Do projektu potrzebuję 2 liczników - jeden do odmierzania czasu, drugi do sterowania wyświetlaczami. Czy to dobra koncepcja?? Odmierzanie czasu - jasna sprawa. Wyświetlacze - po co co Ci licznik do sterowania wyświetlaczami (jakimi, siedmio-segmentowymi?). Nie wiem zresztą jak ocenić Twoją koncepcję gdyż jej praktycznie (szczegółowo) nie przedstawiłeś....
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...
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...
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,...
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ż...
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...
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,...
Mam problem ze zliczaniem czasu przez timer w układzie PCF8583. Na starcie programu ustawiam timer: I2cstart I2cwbyte 162 I2cwbyte 0 'rejestr kontrolny I2cwbyte &B00000100 'alarm aktywny I2cstop I2cstart I2cwbyte 162 I2cwbyte 8 'rejestr kontrolny timera I2cwbyte &B01000010 'zapis rejestru alarmu 'odmierzanie sekund ' włączony alarm timera I2cstop I2cstart...
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...
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ę...
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ć...
Zmniejszenie częstotliwości taktowania mikrokontrolera zmniejsza zużycie prądu: http://mikrokontrolery.blogspot.com/2011... Stąd odpowiedź na Twoje pytanie jest oczywiście twierdząca. Jednakże może należy (Ty decydujesz) zastanowić się...
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...
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...
Witam. Mam taki problem, gdyż chciałbym ogarnąć komunikację poprzez UART między dwoma mikro. Mam dwa uC: Atmegę 16, która działa jako master oraz Atmegę 88 jako Slave (na której będzie termometr, z którego będę odczytywał dane). Programy, definicje wyglądają następująco: plik RS485.h #indef RS_INT_H #define RS_INT_H //rozmiar buforów nadawania i odbierania...
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...
witam! Musze dosc precyzyjnie odmierzac czas (1ms) dysponuje ATmega 32 z zewnetrznym kwarcem 8Mhz... ustawilem sobie preskaler timmera na 8 ( czyli stuka sobie z f= 1Mhz) teoretycznie powinno byc dobrze... ale w praktyce pomiar spoznia mi sie o 3sec. na minute ( ???!!!) juz nie wiem co robie nie tak... jesli ktos moze spojrzec bylbym wdzieczny... #include...
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.
Witam! ATmega32 16MHz jako slave odbiera dwa bajty po SPI 1MHz ( 15cm taśmy 10 żyłowej )od mastera LPC2148 . Jeżeli jest włączone tylko SPI, a inne przerwania są wyłączone jest wszystko dobrze. Jeżeli włączę przerwanie od timera2 generowane co 100us to zdarza się że atmega gubi jeden bajt i krzaczy się cała transmisja, ale po jakimś czasie jak zgubi...
Witam serdecznie potrzebuję zrobić odmierzanie czasu 1250us i drugie zależne od zmiennej. Chodzi mi o to, że w moim programie odwoływał bym się do przerwania które odmierzało by 1250us i po tym czasie nastąpił by powrót i wykonanie dalszych instrukcji, w drugim odwoływał bym się z parametrem ile ms ma zostać zliczone i też nastąpił by powrót po tym...
Dzięki, W tej chwili po dostosowaniu kodu wywala kilka błędów: http://obrazki.elektroda.net/15_12708019... Poniżej zamieszczam kod żeby łatwiej było zrozumieć jak to jest zrobione: $regfile = "m16def.dat" $crystal = 8000000 'konfiguracja portów Config Porta = Output Config Portb = Input Config Portc = Input Config Portd = Input Set Porta.3...
Próbuję zrozumieć zasadę działania timera0 w normalnym trybie pracy, ale niestety mój kod i sposób rozumowania najprawdopodobniej jest zły, ponieważ dioda nie miga. W związku z tym chciałbym poprosić kogoś o weryfikację kodu oraz mojego rozumowania, bo może coś robię źle. W kodzie zamieściłem stosowne komentarze więc nie będę ich dublował. Częstotliwość...
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...
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ć...
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ć...
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...
Procek pracuje na wewnętrznym oscylatorze, ale odmierzanie czasu poleceniami wait i waitms szło mu całkiem przyzwoicie, więc raczej 8MHz jest. ...czy aby ATMega8 nie ma domyślnie ustawionego1MHz??? Nie wiem gdzie jest zadeklarowana, używam BascomAVR. Tu: http://obrazki.elektroda.pl/8600321800_1... ...i tu: http://obrazki.elektroda.pl/9274839800_1...
Przy takim trybie pracy timera (zamiast sugerowanego przez piotrva CTC) Twój zegarek będie się zawsze późnił, bo od zgłoszenia przerwania do przeładowania timera zawsze upłynie pewien czas, w dodatku nie zawsze taki sam. To nie jest dobry sposób na dokładne odmierzanie czasu.
Load Timer 250 pojawił się 2 razy bo pierwszy jest wykonyawny przed wejściem do pętli a następny w pętli. W tym programie jest dodatkowa zmienna Licz_8ms bo Timer0 nie może odmierzyć całej sekundy w jednym przebiegu. Przy użyciu Timer1 i odpowiedniego kwarcu można osiągnąć przerwania co 1 s. Jest to korzystne bo odmierzanie czasu jest nieco dokładniejsze....
Mam Panowie jeszcze pytanko , dotyczące samego PWM'a . Czy układ ma pracować na zasadzie dwóch timerow , w ktorym jeden dziala w trybie PWM , a drugi co okreslona czestotliwosc nastawia pierwszy względem pobranej próbki ? Wtedy do samego odmierzania czasu użyłbym timera 16-bitowego , który w miare precyzyjnie bedzie odliczał okres miedzy kolejnymi probkami...
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...
Nie odpisałeś mi na wszystkie pytania??? :sm9: Ja bym zajął się teraz czujnikiem temperatury, przynajmniej główny ekran nie będzie taki pusty i kijowy. Jak ustawianie godzin chodzi to z RTC damy na razie spokój? To najtrudniejszy chyba w programowaniu układ i zostawiłbym go na koniec, lub w ogóle z niego zrezygnujemy? Bo tak na prawdę nie jest on potrzebny,...
Dobrze już - może nie zrozumiałem w pełni........... Najlepszym wyjściem to poznac zasadę działania timerów i ich trybów pracy, wtedy nie masz wątpliwości co do poprawności wybranej metody pomiaru czasu. Jeżeli chcesz zaoszczędzic na czasie i pominąc niezbyt skomplikowane rachunki, to w internecie jest bardzo duża ilośc różnych kalkulatorów timerów...
Faktycznie powinno być na odwrót. Tak to jest, gdy się pisze coś na szybko:) czy u ciebie nie będzie problemu jeśli ta pierwsza funkcja1(); ustawi sobie Timer1ms - to druga funkcja może to zmienić przecież za pomocą SetDelay1ms. Więc troszkę się kołomyja zrobi chyba? Problem oczywiście będzie. Dlatego każda funkcja (funkcja1(); funkcjia2()) powinna...
(...)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...
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...
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ć...
Kod wydaje sie ok, przy czym moje walki z odmierzaniem czasu mowia ze trzeba brac poprawke na Bascoma /i to duuuza/. Sprawdzilem pod symulatorem (Bascom) i program dziala, w realnym procku pewnie czasy sie rozjada.
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ć?...
Mam problem z uzyskaniem oczekiwanego działania przerwań INT0 i INT1. Procesor to ATMEGA 16 z zewnętrznym taktowaniem 16MHz. PD2, PD3 są skonfigurowane jako wejścia z podciągnięciem do 1. W obu przerwaniach jedyną czynnością jest inkrementowanie zmiennych zdefiniowanych jako volatile uint32_t. ISR(INT0_vect) { N_T++; } ISR(INT1_vect) { N_F++; } Przerwania...
Witam wszystkich majsterkowiczów :D Oto mój jeden z pierwszy programów napisanych na ATMEGE 8. Dotychczas programowanie mikrokontrolerów traktowałem jako zabawę, używając do tego BASCOMA i zestawu Treningowego. Obecnie stoję przed zamiarem budowy pewnego urządzenia ale przed rozpoczęciem prac chciałbym mieć pewność że część programowa będzie ok. Sam...
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...
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...
Pomyśl, jaką wartość będzie miał licznik po zliczeniu 65536 impulsów? Z jakiego powodu uważasz, że Twój program powinien wtedy uznać, że impulsów było 65535? Wydawało mi się, że pomoc, jakiej oczekujesz - to wskazanie błędów w programie. Tymczasem Ty sprzeczasz się, sugerując, że ewidentny błąd, który popełniłeś, błędem nie jest. Nie pokazałeś wersji...
Ja mam tylko takie jedno pytanie. Wszyscy się śmieją, że kolega próbuje odmierzać sekundy NOPami. A czy któryś z was mi może pokazać, gdzie on o tym pisał? Bo z tego co ja wyczytałem z jego wypowiedzi, to chodzi mu właśnie o odmierzanie bardzo krótkich czasów. A co do pisania w C, to owszem, można, ale nie trzeba, a i wiedza z asemblera się przydaje.
Witam. Napisałem taki program w bascomie do obsługi RTC PCF8583. Chcę abym mógł go nastawiać z pilota. Niestety ale nie wychodzi mi to za bardzo (po wciśnięciu klawisza pojawia się tylko kursor i program dalej nie chce iść). Pod Int0 podłączyłem przerwanie od PCF'a a pod Int1 odbiornik Rc5. Odmierzanie czasu jest poprawne. Tutaj kod: $regfile = "m32def.dat"...
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...
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...
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...
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...
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...
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...
Witam Mam pewien problem z odmierzaniem czasu za pomocą ATmegi. założeniem był prosty licznik czasu pracy urządzenia. Za pomocą timera odliczam określony czas po przepełnieniu timera zwiększam zmienną w pętli tak żeby uzyskać sekundę, następnie kolejna pętla zwiększająca minuty itd. Użyłem Atmega8 częstotliwość taktowania to 8MHz z wewnętrznego źródła....
https://obrazki.elektroda.pl/7753289800_... Przedstawiam zaprojektowany i wykonany przeze mnie stoper (czasomierz) pozwalający na precyzyjne odmierzanie długich odcinków czasu. Z rozdzielczością 1 µs można odmierzyć 10000 sekund, czyli blisko trzy godziny, natomiast z rozdzielczością 1 ms aż 10 000 000 sekund, czyli ponad 115...
odmierzanie czasu atmega odmierzanie czasu odmierzanie atmega
prosty pilot włącz wyłącz odinstalować spyhunter przepływomierz paliwo
skrzynia schemat skrzynia schemat
Zakłócenia wyświetlacza w Acer One - przyczyny i diagnostyka Konsola X12 widzi tylko kartę pamięci - jak rozwiązać?