Z tego co wyczaiłem to mega popędzana jest kwarcem 14,7456 MHz (kwarc do USART)... Timery ustawione są tak, że przerwanie wywoływane jest co 0,05s stąd podstawowa zmienna zliczająca do sekundy zwiększana jest co drugie wywołanie przerwania (odpowiadają za to variable i variable1)... Spróbuj przeanalizować ten kod i skonfrontować go z dokumentacją do...
Dzisij podalem schemat timera na innej stronie .Moze nie zaspokaja wszystkich twoich potrzeb ale moze sie przyda
Opierałem się o ten artykul http://mikrokontrolery.blogspot.com/2011... poprawilem schemat
Ogólnie kwarce o wysokich częstotliwościach są niezbyt dokładne - zwykle +-100ppm w dobrym układzie. Na pewno jednak kwarc jest lepszy niż wewnętrzny RC. Robiłem kiedyś testy i na kwarcu 16MHz bez kalibracji udało się osiągnąć dokładność o ile pamiętam 1-2s na godzinę. Ale jak napisał Ci (może nie do końca) przedmówca (at)Milek7: Najlepiej wtedy w przypadku...
Teraz spróbuję ustawić RTC na zewnętrznym kwarcu. Zanim zamknę temat może ktoś zechciałby podpowiedzieć na co tutaj zwrócić uwagę? (Myślę że to nie odbiega od tytułu tematu) A konkretnie - jaki kwarc? przy okazji jeszcze ten link: Czas - odmierzanie
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....
Wielkie dzięki ;) Rezystor całkowicie rozwiązał problem. Moze i rozwiazal jeden z problemow i to nie calkowicie. Popatrz na swoj kod: Licz: Incr Przerw0 If Przerw0 = 3125 Then Incr Setne Czy na pewno beda to setne sekundy? Druga sprawa to jest bledem umieszczenie startu STOPERA w "Do ... loop, uzaleznione od stanu pinu. Od momentu nacisniecia przycisku...
Nie znam Bascom więc nie analizuję programu, ale: - zrób odpowiednią korektę w programie, - lub wykorzystaj kwarc będący potęgą liczby 2 czyli np. 14745600Hz. Wtedy nie musisz kombinować z różnymi przeliczeniami, bo wystarczy preskaler (który jest potęgą liczby 2) i przerwanie. Istotne może być także włączenie wzmocnienia sygnału zegarowego poprzez...
Przeczytaj opis "Działanie" [url=http://mirley.firlej.org/timer_serw... to Ci się pewnie co nieco rozjaśni :D
W kodzie jest sporo błędów. Nie do końca jestem pewien, czy rozumiem, o co chodzi, ale jeśli przerwanie INT0 jest od przycisku, to nie ma prawa działać poprawnie, a przyczyna efektu, który obserwujesz, leży w operacjach na zmiennej b. Takie przerwanie po wystąpieniu musiałoby być blokowane przy pomocy timera na jakieś 30 ms, co jest znacznie bardziej...
Proszę. Przerobiłem to przy kubku kawy dosłownie w 15 minut tak tylko dla zabawy. Najdłużej robiłem te ikonki czasów T1,T2,T3 i T4 :D Wszystkie cztery czasy są liczone od momentu startu bo nie napisałeś czy ma mierzyć międzyczasy ;) Może taki prosty kodzik kogoś ucieszy :D https://filmy.elektroda.pl/3_1453327306.... [syntax=vbnet]'STOPER '--------definicja...
... to wewnętrzny oscylator może być zbyt mało dokładny, bo błąd częstotliwości może wynosić nawet 10%. Coś Ty się tak uparł z tymi 10%. Pisałeś już dzisiaj o tym tutaj: http://www.elektroda.pl/rtvforum/viewtop... Więc ponownie zdementuję tę wartość: Atmel podaje w notach, że po kalibracji można spokojnie uzyskać 1%: http://mikrokontrolery.blogspot.com/2011...
8 chodziła ma na 4 mHz . no a stoper działal tak ze On Ovf2 1sek Load Timer2 128 co dawało mi przerwanie co 1 sek i zliczało sekundy no i wyświetlało normalny stoper . a teraz sekundy mi leca po 17 tzn 17, 34 itp co dziwne wyświetla mi to w odstępach około sekundowych. czyżby w tym procu inaczej sie konfigurowało timer2 z zewnetrznym kwarcem? to musze...
Prosiłbym o linka jeśli ktoś widział gdzieś Tu widziałem - [url=http://helion.pl/ksiazki/jezyk-c-dl... C dla mikrokontrolerów AVR. Od podstaw do zaawansowanych aplikacji :] Przykładowe projekty znajdziesz bez problemu przez google... poszukaj haseł w stylu "stoper...
mam świadomość, że zegar na PCF8563 może spóźniać/przyśpieszać, ustawiłem go dokładnie według zegara w komputerze i porównując go przez godzinę, nic się zmieniło. No i skąd mogą być te 3 sekundy ? Z dokładności elementów generujących sygnał taktujący, zarówno mikrokontroler, jak i komputer, który zastosowałeś jako wzorzec czasu: http://mikrokontrolery.blogspot.com/2011...
Dziękuję janbernat za fantastyczną i rzeczową pomoc oraz wkład pracy w rozwiązanie mojego problemu. Konrad Nie sadze aby ta metoda pomiarowa i sposob realizacji daly oczekiwany rezultat. Przeciez w aparatach fotograficznych czas otwarcia migawki nie jest zalezny od czasu 'wcisniecia przycisku', za wyjatkiem powiedzmy pracy w trybie "na czas" (B), a...
Nie ma sprawy :) Dobrym sposobem na sprawdzenie, czy działa Ci co sekundę jest odpalenie na przykład stopera w telefonie :)
Stan portu się zmienia, ale nie co 2 sekundy tylko 8 (nie wiem czy równe 8 bo mierzyłem stoperem).
Witam Proszę o pomoc. Potrzebuję wykonać okład mierzący bardzo krótkie odcinki czasu. START podanie impulsu na któryś pin, STOP podanie drugiego impulsu na kolejną nóżkę. Procesor Atmega32 język Bascom. Jaki najmniejszy odcinek czasu mogę zmierzyć ? Jak wygląda procedura pomiaru czasu miedzy Start a Stop? Bardzo proszę o podanie fragmentu kodu. A czy...
Dzięki będą o tym niedługo myślał. Narazie jednak moją uwagę zabrał mój "stoper". Napisałem takie prosty kod: [syntax=c]void stoper_init(void) { //Ustawienia TIMER1 TCCR1B |= (1<<WGM12);// Ustawiam tryb timera na CTC - przerwanie gdy zgadza się porownanie z jakas liczba TCCR1B |= (1<<CS12);// preskaler =256 OCR1A=31250; //podzial przez 31250...
Timer będzie odliczał np. sekundy tak jak Waitms 1000, tylko dokładniej. Dobra rada: Odinstaluj BASCOM i zacznij się uczyć C dlatego: http://mikrokontrolery.blogspot.com/2011... Kurs C: http://mikrokontrolery.blogspot.com/2011... Kurs AVR w C: http://mikrokontrolery.blogspot.com/2011...
Na kwarcu 8Mhz zawsze będziesz miał nie dokładny zegar. Jak się bawiłem zegarem to na 40min koło 1s już przekłamywało. Byś musiał zainteresować się "REZONATOR KWARCOWY 32.768kHz ZEGARKOWY". Kwarc wewnętrzny jest strasznie niestabilny, daj sobie z nim spokój. Wpisz sobie w google: Bascom real time clock atmega Gdzieś na elektrodzie krąży taki kod, zacznij...
Możesz połączyć te dwa tematy i osiągniesz cel (przyzwoitą dokładność i mały pobór prądu) bez zegara RTC: http://mikrokontrolery.blogspot.com/2011... http://mikrokontrolery.blogspot.com/2011... jak napisał dondu. Że hm? Także nie zaskoczyłem :)
$regfile = "m16def.dat" $crystal = 8000000 Config Lcdpin = Pin , Db4 = Portc.2 , Db5 = Portc.3 , Db6 = Portc.4 , Db7 = Portc.5 , E = Portc.1 , Rs = Portc.0 Config Lcd = 20 * 4 Set Tccr0.wgm01 Set Tccr0.com01 Config Timer0 = Timer , Prescale = 64 , Clear Timer = 1 Ocr0 = 125 '****Zmienne**** Dim W_bcd As Byte Dim Zezw_wys As Bit Dim Odsw_wys...
Fusy mam na 8Mhz, czas odmierza dobrze, czestotliwosc takze. Sprawdzalem miernikiem oraz na 40min testow spieszy sie o jakies 2-3s ( -+ czas reakcji na stoperze).
Fakt. Było kilka błędów. W chwili obecnej kod wygląda następująco: [syntax=c] //Porgram mierzy prędkość "przejazdu" między 2 fotokomórkami #define F_CPU 16000000uL #include <AVR/io.h> //biblioteka we/wy #include <AVR/interrupt.h> //obsluga przerwan #include <util/delay.h> //obsluga opoznien #include <LCD/lcd.h> #include "HD44780.h"...
Okej racja,w zasadzie to nie ma znaczenia gdzie są przyciski podpięte, działanie zależy od stanu początkowego w programie. Układ już gotowy, teraz męczę się z tymi timerami: [syntax=cpp] #define F_CPU 16000000uL #include <avr/io.h> #include <avr/interrupt.h> #include <util/delay.h> #include <stdlib.h> #include "HD44780.h" //Wyświetlacz:...
Według LED przy 50 sekundach (stoper), LED ma już 51 mignięć. Możliwe że się tak faktycznie rozbiega, no cóż... Więcej na temat dokładności tutaj
Wiem że układy czasowe w uC są nie dokładne ale mi nie potrzebna dokładoność co do 1 sek :). Jeżeli zamiast 10 min będzie 9 albo 11 to się nic nie stanie. Są ale nie aż tak :) : http://mikrokontrolery.blogspot.com/2011...
Witam Na zajęcia mam zrobić taki projekt : "11. Program – stoper, z komunikacją z PC: obsługa klawiszy klawiatury matrycowej: 1 – start; 2 – stop; 3 – wznów; 4 – kasuj; 5-wyślij do PC;" Posiłkuje się tą stroną : http://extremeelectronics.co.in/avr-proj... #include <avr/io.h>...
z gory zaznaczam ze to moj pierwszy program! mam atmege 128 i wysw. 7segm. i za zadanie mam jakikolwiek prosty zegarek/stoper napisac cos tam napisalam ale niestety zle mi wyswietla tzn wgl nie realizuje kodu teoretycznie algorytm jest dobrze napisany, ale jak zmieniam liczby tutaj : [syntax=c]TCCR0 |= (1<<WGM01); //tryb CTC OCR0 = 39; //ustawienie...
Przepraszam za jakosc ale robilem w starym diptrace bez bibliotek czy program zaczerpniety z innego tematu by dzialal ? $regfile = "m8def.dat" $crystal = 4000000 Dim Setsek As Byte , Dziesek As Byte , Sekjed As Byte , Sekdzies As Byte , Minjed As Byte , Mindzies As Byte Dim 100ms As Byte , Ktorywysw As Byte , Licz As Bit , Pomoc As Bit , Flaga...
Szukałem, ale nigdzie nie ma takiego krok po kroku, z tym że opisane jest wszystko dokładnie co robić. Nie musi to być zegar, ale np stoper który liczy czas. Można prosić o jakieś linki?
Witam ponownie, Poszedłem za radą większości z was i postanowiłem napisać program od nowa. W załączniku zamieszczam kod. Teraz nie mam już problemu z przejściem ADC z np.: 29 na 30 i też nie ma problemu z jego wyświetlaniem ale mam inny problem. Właściwie dwa. 1. Wyświetlenie ADC pomimo uśredniania jest niestabilne - ciężko jest ustawić stabilną wartość...
Kwarc 20MHz miał być zewnętrznym oscylatorem dla atmegi, tak żeby mogła chodzić na 20MHz ale jak rozumiem podłączyłem go pod złe piny. Kwarc należy podłączyć pod piny XTAL1 i XTAL2 szczegóły (max częstotliwość, wartość kondensatorów, ustawienie fusebits) znajdziesz w [url=http://www.atmel.com/devices/atmega... rozdział System...
Czyli jak rozumiem niezależnie od częstotliwości taktowania wykorzystując funkcję _delay_ms() jest błąd rzędu 10%? 1/10ms to rozdzielczość dla opóźnień większych od 262.14ms osiągana za pomocą funkcji _delay_ms() w delay.h. Ten tryb pozwala osiągnąć opóźnienie aż do nieco ponad 6,5s. Ponieważ pytasz o błąd, to przy okazji: Czas odmierzanie
Tak, to jest kod dla Atmega8535. Wrzuc wyraźne fotki z obu stron płytki, aby można było przeanalizować, czy piny procesora są podłączone tak, jak tego wymaga program. Dołącz jeszcze wartości fusebitów odczytane z mikrokontrolera. Ułatwi to analizę.
Skoro masz aktualny czas to pewnie jest w układzie jakiś zegar czasu rzeczywistego... Urządzenie wystawia po uruchomieniu stan wysoki który ty odbierasz na uC i odczytujesz aktualny czas i zapisujesz go sobie do jakiejś zmiennej... Kiedy urządzenie się wyłącza znika stan wysoki a ty odczytujesz znowu aktualny czas... Wyliczasz jak długo urządzenie pracowało......
Nie chodzi mi o dokładnosc oby jakoś działał Więc weź timer bez setnych sekund i dodaj licznik pokazujący na setnych cyferki od 99 do 0. Efekt osiągniesz, dwie cyfry losowe. Tak jak w stoperze liczącym setne sekundy uruchamianym i zatrzymywanym ręcznie. Czas reakcji człowieka to ok 100ms. Co wiec pokaże ostatnia cyferka (setne sekundy)?
Witam, zbudowałem jakiś czas temu zegar LED-owy, z wykorzystaniem taśmy LED i atmegi16. Napisałem do niego program w Bascomie i wszystko niby działa poza jedną rzeczą. Mianowicie nie działają przyciski mające ustawiać czas na zegarze. Czy ktoś byłby tak miły żeby wskazać mi błąd ? :) Program: [syntax=vbnet]$regfile = "m16adef.dat" $crystal = 8000000...
Swoją drogą kod fatalny - strach pomyśleć, ile linii miałby tak napisany kod, który miałby odliczać do tysiąca... To jest tylko fragment, który ma liczyć do 10 a nie do 1000 :) gdybym robił stoper do 1000 to pewnie inaczej by to wyglądało - masz racje - wygląda jak pierwszy program nowicjusza służący do zapalania diody :) A ja bym spytał o ile sekund/minut...
Zastanawia mnie co dokładnie znaczy ta linijka - while (ASSR & (1 << OCR2UB)); Oczekiwanie na zgaszenie flagi OCR2UB. A do czego służy - szukaj w datasheet, jest opisane. Wczoraj były wykonywane pomiary i jednak troszkę różnicy w stosunku do standardowego zegarka jest. Różnice zawsze będą. Kalibracja jest niezbędna: http://mikrokontrolery.blogspot.com/2011...
Co dokładności, o której pisze piotrva zobacz jak duże są to problemy przy odmierzaniu czasu: http://mikrokontrolery.blogspot.com/2011...
niestety zegar mi się delikatnie "rozjeżdża". Co masz na myśli pisząc "delikatnie"? Brałeś pod uwagę dokładność zastosowanego kwarcu?: http://mikrokontrolery.blogspot.com/2011...
Kolego piotrva , dokładność będę mógł oszacować po miesiącu pracy, na razie to urządzenie oficjalnie pracuje od wczoraj :-) To w trakcie testów możesz łyknąć nieco wiedzy w tej sprawie: http://mikrokontrolery.blogspot.com/2011...
Witam. Robię układ do pomiaru czasu. Potrzebuję dokładność do 1ms. Napisałem taki kod: Według zmiennej K - czas w sekundach | Według zmiennej VAL - czas w ms 1|1 2|2 3|4 4|6 5|8 6|10 7|12 8|14 9|16 10|18 11|20 12|22 13|24 14|26 15|28 Gdzie jest jakiś błąd? Bo nie mam pojęcia dlaczego to nie działa.
Witam jestem początkujący w programowaniu i mam taki problem, że po załadowaniu pliku na przykład prosty stoper: [syntax=basic4gl][/syntax ... Bardzo prosty zegar bez możliwości ustawiania Dim Sekjed As Byte , Sekdzies As Byte , Minjed As Byte , Mindzies As Byte Dim , Godzjed As Byte , Godzdzies As Byte , Mux As Byte , Migaj As Bit...
O ile schemat jest prawie doskonały, o tyle PCB jest zaprojektowane źle. Pewne elementy muszą być blisko siebie: - kondensatory filtrujące zasilanie regulatora napięcia należą do niego, - kondensatory filtrujące zasilanie mikrokontrolera, należą do jego pinów. - kondensatory przy kwarcu także do kwarcu należą, nie można więc umieszczać tych elementów...
A mogłes tak pomysleć bo nie dodałem że mruganie na timer robie a nie na delay ok. http://obrazki.elektroda.pl/4555804300_1... DDRB|=(1<<PORTB1); TCCR1A|=(1<<COM1A1)|(1<<COM1... // TCCR1B|=(1<<WGM13)|(1<<WGM12... //PRESCALER=1024 MODE 14(FAST PWM); ICR1=975;...
Jak już koledzy wspomnieli nie ma RTC (czytaj datasheet-y), ale można zrobić własny. Istotnym parametrem będzie jednak dokładność jaką chcesz osiągnąć: http://mikrokontrolery.blogspot.com/2011...
timer stoper stoper timer atmega stoper
stm32 openocd debugowanie podzial partycje windows xenon skoda
diagbox lexia engine fault peugeot
Złącze EIAJ 10-pin jack w sprzęcie audio-wideo Defro Evopell 12 - Problemy z Rozpaleniem Kotła