A po co ci te informacje? Bo one nie mają żadnego praktycznego zastosowania. Jeśli 20MHz to za mało to masz serię XMega do 32MHz. Jeśli to ciągle za mało to zmień rodzinę. Parametry z noty są określane tak, żeby założony odsetek układów pracował w podanych warunkach. To znaczy, że większość będzie pracować przy szybszym zegarze, a jak szybkim nie ma...
Ale jak pisałem ten projekt Duch ma błędy i forumowicze mają same problemy. W Twoim przypadku było kilka błędów które się na siebie nałożyły. 1. to nadpisywanie zmiennej ss string as 6(za krótka) powinna być 7 lub 8 2. złe pozycjonowanie napisów na LCD 3. złe podłączenie DSów (zasilanie) to że u innych działa to nie znaczy że jest dobrze) jeśli miałbyś...
Zmiana OSCCAL na maksa może spowodować problemy przy zapisie do EEPROM i FLASH. Możesz trochę zrobić wstawek asemblerowych w newralgicznych miejscach programu.
Przede wszystkim to zastanów się dlaczego do generowania nośnej usilnie chcesz pisać jakiś kod programu i obciążać tym program główny procesora, skoro można to zrobić CZYSTO sprzętowo za pomocą timera. Tylko nie Timera0 bo ATmega8 jest biedna w porównaniu do ATmegai88 gdyż timer0 nie posiada w niej trybu CTC. Tymczasem masz jeszcze timer2 i wystarczy...
Twój po kompilacji. Niestety nie wiem jak będzie działał natwoim mikrokontrolerze bo nie wiem z jaką częstotliwością masz taktowany.
Muszę po prostu zmieniać OCR2 w przerwaniu o zadanej częstotliwości? Tak.
A zmieniłeś Timer na Timer1? Przecież bez tej zmiany Timer nie jest ładowany i zlicza nie 1000 lecz 65536 cykli. Co daje właśnie około 64-krotne spowolnienie.
Witam , mam pytanko związane z Atmegą8, czy jest możliwe z poziomu Bascoma utworzenie programu, który stworzył by generator PWM w którym można płynnie regulować częstotliwość tego generatora w jakimś szerokim zakresie np. od 10Hz do 100kHz . Regulacja wypełnienia jest oczywiście prosta ale nie wiem czy jest mozliwość sterowania częstotliwością . Ważne...
""Nie wiem czy to odpowiedni dział jak nie to porszę przenieść i napisać na PW gdzie jest. :D"" Mam AT8 i programuje go. Teraz mam problem bo nie wiem jak uzyskać czestotliwość 1 Hz. Mam taki kod: $regfile = "m8DEF.DAT" Config Portb = Output Dim A As Byte For A = 1 To 10 Step 1 Portb.0 = 1 Waitms 100 Portb.0 = 0 Waitms 100 Next A End 1.Ale...
jak chcesz takie duze czestotliwości mieżyć to musisz użyć timera żeby liczył zewnętrzne impulsy, wtedy drógim timerem wyzwalasz przerwanie co określony czas (im dłuższy tym lepszy bo pomiar dokładniejszy) liczysz ile było ilmpusów z zewnątrz w okreslonym czasie. wydaje mi się że tą metodą dało by sie mieżyć nawet do 100Mhz ale jest jedno zalożenie...
Witam Robie PWM ( tryb 14 -atmega8) jego sterowanie odbywa sie za pomocą 16 bitowego rejestru ICR1 który to odpowiada za uzyskaną częstotliwość na wyjściu OCR1A (PB1) . Jezeli do rejestru ICR1 przypisuje stała wartość to wszystko jest ok, dioda poprawnie swieci, wynik na lcd jest OK. W momencie kiedy rejestr ICR1 zależy od adc1 to wtedy wyswietlacz...
Ustawiam F_CPU w trzech miejscach.. W kompilatorze w opcjach projektru (uzywam AVR Studio 4), w pliku lcd.h - plik nagłowkowy wyświetlacza, i w Proteusie w opcjach Atmegi8.. w każdym z tych trzech miejsc ustawiam tą samą czestotliwość => 16 MHz, przy użyciu preskalera 1024.
Poleceniem crystal podaje sie czestotliwość podłączonego kwarcu. Jeśli chodzi o resztę kodu to niewiem czy jest poprawny.
Zrobiłem prosty termostat. Atmega8 jest docisnieta do bojlera. Prograsm mierzy czestotliwość zegara wewnętrznego i na tej podstawie wyświetla temperature wody. Wyświetlacz najpierw był LCD do prób docelowo ma to byc kolumna 5 diod LED o róznych kolorach od 40 do 80 stopniach niebieskiego do czerwonego. Rozdzielczosć wskazan 5 stopni C. Wprowadzanie...
Upewnij się czy sygnały Latch i Clk są dobrze podpięte do mikrokontrolera. Celem testu możesz zamienić je miejscami. Mając oscyloskop łatwo odróżnisz linię danych od zegarowej. Dowiesz sie tez jaka jest czestotliwość zegarowa i czy AVR ma szanse się wyrobić. Nie myślałeś o wykorzystaniu SPI w roli rejestru jak to juz było proponowane wcześniej? SPI...
Wykonałem syntezę do radia ze strony http://sq1ftb.prothost.pl/articles.php?a... http://obrazki.elektroda.pl/2235817300_1... Generator i separator działa, scalak syntezy LM7001 pracuje z kwarcem 7,2MHz, po wyjęciu jego Atmega prawidłowo "milczy" tzn. brak wtedy wyświetlania częstotliwości zmian na enkoderze itd. Ta część programu...
Dzięki za odpowiedź. Tak musialem taktować, żeby dostać czestotliwość ok 36 Khz. Później zamieszcze przebieg pilota z programu VMlab. Może się myle ale pilot raczej działa dobrze. Wydaje mi się, że błąd istnieje w odbiorniku.
Korzystam z: ATMega8 LCD podłączony tak jak na schemacie u Alcon_x (z tytułu topika) czyli 4 bity Czestotliwość jak narazie dowolna, dla ustalenia uwagi 1 MHz LCD - 2 wiersze po 16 znaków (niestety nie znam modelu - kupilem na allegro z rozbiórki - mysle, że to HMC16225SY-PY - wyglada tak samo). Programuje w C - WinAVR. Próbowałem korzystac z bibliotek...
Hej, Jeśli chcesz płynnie regulować współczynnik wypełnienia to musisz wybrać jeden z modów PWM i wtedy będziesz skazany na jedną z kilku częstotliwości wynikających z zegara systemowego i tego jak ustawisz prescaler, Jeśli chcesz płynnie regulować częstotliwość to wybierasz mod CTC(clear timer on compare) ale będziesz miał wtedy stałe wypełnienie,...
Niech ci bóg w dzieciach wynagrodzi!!!! Trzy dni sie z tym męczyłem. Nie doszedlem do tej strony dokumentacji gdzie Timer2 jest opisany :P Jeżeli ktoś by kiedyś potrzebował wygenerować 36kHz na ATmega8 to podaje przepis: TCCR2=0x99; TCNT2=0x00; OCR2=0x1b;/ i na PB3 pojawia nam sie potrzebna czestotliwość :D
urzywasz wewnętrznego oscylatora?? moze tu jest proglem, moze jego czestotliwość jest niezbyt podobna do tego co powinno być a przecież RC5 opiera sie na zależnościach czasowych. i czy ustawiłeś większe wartości w HWstack Soft stack i frame ?? w opcjach kompilacji??
Masz rację, ale maje pytanie bardziej dotyczyło samochodów w których są wskaźniki wychyłowe. Chyba w Pandzie jest to tak zrobione. Przecież zanim weszły silniki krokowe musiało coś takiego powstać? Jak dotrzec do takich instrukcji. A może z innego zastosowania można podpatrzeć? Jakies sugestie? A tak przy okazji. Macie pomysł na pomiar prędkości, raczej...
Widzę,że nie ma zainteresowania tematem. A mnie na razie udało się stworzyć układ na Attiny2313. Config Portb.0 = 1 ' ustawienie całego Portu B0 jako wyjścia Portb.0 = 1 ' stan spoczynkowy Portu B0 ustawiony na 1 Config Portb.1 = 1 ' ustawienie całego Portu B1 jako wyjścia Portb.1 = 1 ' stan spoczynkowy Portu B1 ustawiony na 1 Config Timer0 = Counter...
Kod pochodzi z EP 4/2005 Problem polega na zmianie wyświetlanej wartości tylko z 1 na 2 przy kręceniu w jedną stronę. $regfile = "m8def.dat" $crystal = 16000000 Config Lcd = 16 * 2 Config Lcdpin = Pin , Db4 = Portc.3 , Db5 = Portc.2 , Db6 = Portc.1 , Db7 = Portc.0 , E = Portc.4 , Rs = Portc.5 Config Portd = Input Dim Licz As Byte Dim Stan_enk...
Dziś rano zmierzyłem częstotliwość w punkcie pomiarowym do którego chcę podłączyć konstruowany częstościomierz. Czyli do zacisku cewki zapłonowej, który to zacisk jest podłączony do układu zapłonowego, podłączyłem dodatni zacisk standartowego miernika uniwersalnego z funkcja pomiaru częstotliwości. Przewód masowy tegoż miernika podłączyłem do zacisku...
Witam czy ktoś potrafi podać przyczynę dlaczego zmienna "czas" raz przyjmuje wartość 1000 a raz 768 w tym programie? TO liczy impulsy z generatora LC, T1 natomiast odlicza odcinki 1ms. [syntax=c] #include <avr/io.h> #include "HD44780.h" #include <util/delay.h> #include "Przerwanie_INT0.h" #include <avr/interrupt.h> #include <math.h>...
Witam. Streszczając się : zaprogramowałem ostatnio atmegę do pracy, jako woltomierz i amperomierz w jednym. Kod w `bas`umieszczam w załączniku. Podłączyłem napięcie do przetwornika atmegi, zrobiłem dzielnik 1:10 i ... mierząc napięcie otrzymuję prawidłowy wynik, ale co chwilę (nieregularnie) wynik skacze na jakąś wartość i wraca (nie jest to wachanie...
Tak jak podejrzewasz - ATmega8 jest w dwóch wersjach: ATmega8L (niskonapięciowa) - max 8MHz i zwykła ATmega8 - max 16MHz. A co powiesz na AVC9107C jako generator zegara? Taki lub podobny układ można znaleźć na płycie głównej komputera (ja znalazłem na płycie od 386). Generally, the AV9107C-07 can produce frequencies within 0.1% of the desired output.
Temat nie poruszany od pewnego czasu.. Miałem podobny problem, fusy CKSEL0..3 ustawilem na 1111 w PonyProg (zaznaczone bity), programuje przez STK500 -> ISP. Jednak zaraz po tym procek przestał być wykrywany :) - przestał działać z dołączonym kwarcem i wew. oscylatorem - taktowanie sygnałem z zewnątrz na XTAL1. Pomyliło mi sie zaznaczenie z zaprogramowaniem...
Witam! Moja ATmega8 przy pracy na wewnętrznym oscylatorze 8MHz pobiera aż 85 mA przy podłączeniu do niej tylko zasilania i programatora? Ma ktoś pomysł co może być tego przyczyną ? Przez pony-proga mogę odczytać urządzenie wiec jakoś tam niby działa. dziękuje za propozycje.
Przede wszystkim zastosuj bramkę z wejściem Shmidta - np. 74132. Tu prawdopodobnie tkwi problem w pojawianiu się oscylacji przy sygnale sinusoidalnym. AK
Jakie częstotliwości taktowania ma ten procek?
Witam, Jak sprawdzić taktowanie zegara atmegi8 - chcę uzyskać wykres na oscyloskopie ? Mam dostęp do oscyloskopu analogowego i sondy, ale nie wiem pod jakie nóżki podłączyć sonde aby uzyskać oczekiwany efekt ? Pozdrawiam, Tomek
Witam Nie dawno zacząłem zabawę z mikroprocesorami. Wybór padł na atmege8a-pu i środowisko programistyczne Eclipse dostosowanie do programowania AVR'ów. Problem mam z opóźnieniem (_delay_ms), a częstotliwością taktowania uP. Przy ustawieniu (w Eclipse) częstotliwość na 1 MHz, dając opóźnienie 1000 ms, w rzeczywistości takie jest, ale jak ustawie częstotliwość...
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...
Jestem w trakcie pisania programu na Atmegę8. Mam zdefiniowane trzy przerwania: [syntax=c] ISR(INT0_vect) { net = 0; //wywołanie co 10ms 50Hz } ISR(ADC_vect) { pomiar = ADCW; } ISR(TIMER1_COMPA_vect) { PORTC ^= 0x10; if (enable_flag == 1) { step++; } if (step == 5000) { step = 0; } } [/syntax] Obecnie pierwsze przerwanie INT0 jest nieaktywne. Początkowo...
Mam następujący problem: Chce mrugać diodą co 1 s. Pracuje z ATmega8 ustawioną na wewnętrzny oscyl. RC 1 MHz - fuse bity ustawione jak na zdjęciu poniżej: http://obrazki.elektroda.net/44_12382358... Opcje kompilatora również jak na zdjęciu: http://obrazki.elektroda.net/6_123823596... Nagłówek mojego programu wygląda następująco: #include...
Chce sie tylko cos upewnic. Atmega8L wg. manuala moze byc taktowana od 0-8MHz na wewnetrznym oscylatorze. Czy na zewnetrznym oscylatorze sa takie same ograniczenia? bo nie moge tego znalesc...
Witam, mam w ukladzie ATmega8 + MAX232 do komunikacji z komputerem. ATmega jest taktowana z zewnetrznego kwarcu 16MHz. Wydaje sie, ze fuse bity sa dobrze ustawione, bo do obliczenia parametru predkosci USART (wpisywanego w UBRR) musze wykorzystywac wlasnie 16000000. Mam jednak problem z timerami. Zarowno _delay_ms(), jak i _delay_loop_2() dzialaja tak,...
Witam już od jakiegoś czasu próbuję zrobić na ATmega8 wykryła mi naciśnięcie guzika i nic. próbowałem już według wielu instrukcji, z podciąganiem, bez i nic. teraz próbuję na kodzie prtzepisanym z książki "mikrokontrolery AVR w praktyce", z rezystorem podciągającym 1kΩ. jest kompletny brak reakcji w przypadku zaciśnięcia lub rozwarcia zworki. może...
Witam, robię miernik częstotliwości przy taktowaniu 8 MHz, jako generatora używam karty dźwiękowej. Do 16 kHz wszystko jest ok ale powyżej pomiar jest dużo zaniżony. Sygnał podaje na wejście T1 uC. Program poniżej. [syntax=c] sei(); PORTD |= (1 << PD5); while(1){ lcd_str("START"); _delay_ms(1000); lcd_cls(); TIMSK=(1<<TOIE1);// PRZERWANIE...
Witam. Czy ktoś próbował komunikować się przez rs232 pomiędzy atmegami lub z pc jeżli będzie wykorzystany zegar wewnętrzny w Atmega8 - chodzi mi o to, jak bardzo błędna jest transmisja np. 19200bps to przy częstotliwości 4MHz lub 8MHz to błąd 0,2% - wg. pdf ale dochodzi błąd samego zegara. Potrzebuję się z tą prędkością komunikować pomiędzy procesorami...
Witam, potrzebny jest mi generator fali PWM o zmiennej częstotliwości i wypełnieniu. Górna częstotliwość wynosi 150kHz, dolna 10kHz. W programie wykorzystuję dwa kanały adc (tj. adc1, adc2) oraz jedno wyjście dla wspomnianej fali (tj. PC5). Atmega8 pracuje z zewnętrznym kwarcem 16MHz. Górna częstotliwość wymaga 106 cykli zegarowych, dolna natomiast...
ok, dzieki. napisalem (z twoją pomocą DAWID512) program, ktory bedzie zapalał kolejne wiersze od dołu do góry...heh i jest problem bo widać jak diody mrugają...czy problemem jest ustawienie timera, czy moze czestotliwość taktowania mikrokontrolera (8MHz)? $regfile = "m8def.dat" $crystal = 8000000 Config Timer0 = Timer , Prescale = 1 On Timer0...
Co prawda to co proponuję jest w asm i jest autoreklamą, ale napisane w miarę czytelnie, może załapiesz o co chodzi : http://www.elektroda.pl/rtvforum/topic18... Powoli się zastanawiam na dopisaniem analoga w C, ale to raczej nie jutro... Tak przy okazji:[syntax=c]#define timing_hz 1000000 //Taktowanie uC[/syntax]To jest zbędne, używaj F_CPU...
' czestotliwość $crystal = 20000000 'procesorek Atmega8 mój ulubiony :) $regfile = "m8def.dat" '$regfile = "attiny2313.dat" 'stosy, jak program będzie działał to mozna je pozminiejszać $hwstack = 32 $swstack = 10 $framesize = 10 Const Ile = 12 ' ilość miejśc po przecinku w przyblizaniu, im wiecej tym dokładniej liczy ale...
regfile = "2313def.DAT" $crystal = 11059200 Config Lcd = 16 * 2 Config Lcdpin = Pin , Db4 = Portb.5 , Db5 = Portb.4 , Db6 = Portb.3 , Db7 = Portb.2 , E = Portb.6 , Rs = Portb.7 'Config Lcdpin = Pin , Db4 = Portb.2 , Db5 = Portb.1 , Db6 = Portb.0 , Db7 = Portd.6 , E = Portb.3 , Rs = Portb.4 Cursor Off Config Pind.6 = 1 Config Pind.0 = 0 Portd.0...
ja po skonfigurowaniu u sibie Timera2 jako PWM i podłączeniu do niego tego miernika to mierzy bez problemu. Tak samo jak zrobi się w pętli Set i Reset jakiegoś portu to też mierzy częstotliwość przełączania.
RC (wewnętrzny) 1MHz CKSEL = 0001 SUT = 10 4MHz CKSEL = 0011 SUT = 10 8MHz CKSEL = 0100 SUT = 10
spr dodać 'volatile' przy deklaracji zmiennej, możliwe że kompilator optymalizując wpisuje na stałe wartość zadeklarowaną na początku, w przerwaniu jej wartość się nie zmienia, dla kompilatora jest ona w tym miejscu jako stała ...
Nie uszkodzi Ci to mikroprocesora, wiesz, że żeby wykryć wciśnięcie w takiej klawiaturze trzeba ją skanować (odpowiednio nią sterować) z odpowiednią częstotliwością?
Strasznie się nakombinowałeś, jednak bez choćby analizatora logicznego Saleae to jest błądzenie po omacku. Zrobiłem ten układ na tranzystorze i 2 kondensatorach, w przykładzie Colpitts Oscillator zmieniłem cewkę na 410nH ( miałem niby 470nH, ale zmierzona chińskim testerem), kondensatory 100n, rezystory bez zmian R100 i 1k, tranzystor pierwszy leżący...
ad.1. o ile przepisałeś z dokumentacji, to dobrze ad. 2. za pomocą fuse bitów. Ustawiasz kwarc zewnętrzny wysokiej częstotliwości.
A komendy toggle będą działały tak szybko, że zmiany będziesz wstanie zaobserwować jedynie oscyloskopem/analizatorem stanów logicznych/multimetrem z funkcją pomiaru częstotliwości.
Strona 28 PDF-a. I wcale nie wszystkie CKSEL bo tylko 1 z 4. Pozdro Dexter
Z tego co wiem to "odstraszacze gryzoni" pracują najczęściej na częstotliwości 300...400Hz, ponoć sygnał sinusoidalny jest zdecydowanie lepszy do odstrzaszania, dobrze aby sygnał był powtarzany w nieregularnych odstępach co kilkanaście ... kilkadziesiąt sekund i najlepiej jako przetwornik nadaje się zwykły głośnik ( najlepiej z jakąś palstikową membraną)....
Jaką masz częstotliwość oscylatora bo problem może polegać na tym że Twój program nie działa a przykład kolegi nie działa bo kompilujesz go dla częstotliwości 1MHz...
R3 - 10k C4, C5 - 100nF C6 -47-100uF C8-C9 - 12-22pF C2 - w jakim celu? Gdzie jest rezystor diody LED transoptora? R1 - nie wystarczy rezystor pull-up w pinie mikrokontrolera?
Nie podałeś ważnej informacji - częstotliwości zegara jaki jest ustawiony.
Mam pytanie odnośnie pomiaru częstotliwości, lecz nie wiem jak zrealizować pomiar z zastosowaniem układu preskalera (SAA1059). Nie wiem w jaki sposób należy podłączyć układ, abym mógł mierzyć częstotliwość do 120MHz. Chciałbym wykorzystać ten układ do radia, które nie posiada skali cyfrowej. Analizowałem inne powiązane tematy np. http://www.elektroda.pl/rtvforum/topic73...
Zacznij od podania co to za moduły, bo częstotliwość ich pracy niewiele wnosi.
Może jest na granicy błędu zegarowego. Licznikiem częstotliwości można to sprawdzić.
Napisz dokładnie jak podłączyłeś diodę świecącą. Migania diody przy kręcącym się wiatraku nie zobaczysz ze względu na wysoką częstotliwość.
F_CPU=8000000 ustawione w Properties projektu A fuse bity w uc masz ustawione na 8MHz. Jeżeli nic nie ustawiłeś to uc domyślnie pracuje z częstotliwością około 1MHz.
No Dobra program juz prawie napisałem i głowiłem sie nad wersja ze zmiennym PWM+f... ale z tego co mi odpisałes to wnioskuję ze coś tu mi nie gra... A nie możnaby programowo realizować ten restart co 80ms? Moze napisz dokładniej co to ma być a coś doradzimy :) Pozdro No wlasnie o to chodziło by nie restartorwać tego zewnetrznie bo chyba prosciej zaimplementowac...
Czasem się da - kiedy nie używasz standardowych szybkości transmisji albo kiedy szybkość jest niewielka i błąd wnoszony przez kwarc "ni w pięć ni w dziewięć" wynosi poniżej 2% albo kiedy oba komunikujące się urządzenia mają taką samą częstotliwość kwarcu.
czestotliwość pomiar czestotliwość górna czestotliwość matrycy
plama środku podłączyć kamera rejestrator unitra oddać
reset pieca buderus rejestracja zdarzeń
Jak dodać obrys płytki w EAGLE - poradnik Napięcie wtryskiwacza w silniku Boxer 2.2 - Subaru i Peugeot