Przekształciłem taki wzorek http://obrazki.elektroda.net/89_12697288... wyliczam z niego OCRnA czyli ilość zliczeń timera, a zamiast częstotliwości zadanej daje funkcje liniową (formułkę np. 0,0478*ACD + 0,952 => i ona mi daje częstotliwość liniowo zależną od ACD w granicach od 1 do 50 Hz) Więc teraz chyba rośnie ona liniowo ??? myślicie że dobrze...
Witam ! Obliczenia źle oraz pewnie źle ustawione fusebity (pewnie default - 1Mhz internal rc). Instrukcja Load jako parametr ma po ilu impulsach ma wystąpić przerwanie, więc powinno być 625, ale że pojedyńcza połówka przebiegu sieci trwa nie 20ms a tylko 10ms więc powinno być 312,5 :D. Więc lepiej chyba prescale = 64 i load timer1, 1250. Pozdrawiam...
potrzebny jest mi generator fali PWM o zmiennej częstotliwości i wypełnieniu. Moim licznikiem jest timer1 pracujący w trybie CTC. Nie analizowałem kodu, bo przekombinowałeś. Jak chcesz mieć zmienne wypełnienie to użyj trybu FastPWM (tryb 15 z wartością TOP w OCR1A), a nie CTC. W trybie tym częstotliwość zmieniasz za pomocą rejestru OCR1A, wypełnienie...
Rezonator w MHz, a w przypadku ATtiny13 zewnętrzny generator.
Jakiś straszny ten kod. Po pierwsze, generator przebiegów (PWM) na swoim liczniku z prescalerem 1. Generator podstawy czasu na drugim liczniku, prescaler 8, tryb CTC. Generator PWM konfigurujesz raz i tylko uaktualniasz rejestr OCR, w równych odstępach czasu pochodzących z licznika drugiego na podstawie tablic. Regulację częstotliwości wykonujesz w...
A może by tak dwa liczniki zaprzęgnąć do jednego zadania... Timer0 byłby generatorem PWM 8-bit z regulowanym wypełnieniem, z zewnętrznym taktowaniem z koncówki T0. Timer1 byłby generatorem o regulowanej częstotliwości (Tryb CTC) i za pomocą przerwań zmieniałby stan końcówki wyjściowej, którą to podłączysz do wejścia T0.
Z PWM będzie ci ciężko, w twoim linku na końcu jest to opisane w czym problem. Nie uzyskasz równego kroku. To już lepiej wziąć jakiś zewnętrzny generator i procesorem go tylko przestrajać.
Czyli liczy 10x za wolno. A czy dobrze ustawiłeś w programatorze fusebit odpowiedzialny za to z jakiego generatora ma korzystać? Bo wygląda że korzysta z wewnętrznego 1MHz
Witam wszystkich chętnych do pomocy. Potrzebuję zrobić na uC Atmega88 generator sygnału w trybie CTC na Timer1 16bit o częstotliwości 2kHz. Przetaktowałem w mkAVRCalcutaor procesor na 128kHz + CKDIV8 czyli wewnętrzny podział przez 8. Daje to 16000Hz więc preskaler ustawiłem na 8 = 2000Hz. Generator ma wysyłać falę cały czas, bez żadnych regulacji itd....
Witam Też się męczyłem jak zrobić sprzętowo bez żadnych przerwań generator około 36 kHz i 40 kHz. Polecam książkę Pana Piotra Góreckiego "Mikrokontrolery dla początkujących" (oczywiście o Bascomie). To naprawdę jest to jedno z nielicznych źródeł gdzie rzetelnie są rozpisane funkcje Timer1 po polsku. Właśnie testowałem układ Pana Góreckiego na At90S2313...
W uproszczeniu częstotliwość sprzętowego generatora PWM to następująca zależność: F oscylatora / Prescaler / X, i tak: dla rozdzielczości Pwm=8 bitów X=510, dla rozdzielczości Pwm=9 bitów X=1022, dla rozdzielczości Pwm=10 bitów X=2046. Przykład dla rozjaśnienia: F kwarcu = 8MHz, rozdzielczość generatora PWM=9 bitów (możliwe 8,9 i 10), Prescaler=8 (możliwe...
Nierozpoznanie takiego polecenia jak TCNT1. Zmieniłem natomiast Timer1 = Timer1 + 1 na Timer1 = 65450 i już bardzo pomogło bo udało się osiągnąć 11kHz. Zmieniałem też wartość Timer1 miedzy 65450 a 65535 ale nic to nie pomagało. Czy od tej wartości Timer1 liczy do przepełnienia czyli 65536 określona liczbę cykli i dopiero robi kolejny krok w programie?...
a ustawiłeś Fuse Bity?? Bo jeśli nie masz ustawionych to ATmega pracuje z częstotliwością 1MHz. Musisz ustawić Fusy na albo 8MHz na wewnętrznym generatorze albo ustawić Fusy na zewnętrzny kwarc. i mniej więcej kod by tak wyglądał: $regfile = "m8def.dat" $crystal = 8000000 Cursor Off Dim Czestotliwosc As Long Const Licznik = 22336 Config Timer1...
Witam. Na forum jestem nowy, ale Atmege8 gryzę już od roku:). Zakładam że czytałeś datasheet'a od Atmega8 i niestety nie udało Ci się zrozumieć.Jeżeli tak to Ci pomogę. Po pierwsze w Atmega8 masz trzy timery/countery: -Timer0 8bit -Timer1 16bit -Timer2 8bit Timer1 i Timer2 możesz wykorzystać jako PWM,gdyż mają wbudowaną taką funkcje. Wiadomo że 16bitowy...
Witam. Napisałem poniższy program do generowanie impulsów o różnej częstotliwości . Zauważyłem jednak, że przy szybkim zwiększaniu częstotliwości timer1 tak jakby się zacinał na okres około 1s i potem wszystko jest ok. Prośba o informację czy ktoś spotkał się z podobnym zjawiskiem. Regulacja częstotliwości polega na zmianie wartości rejestru ORC1A (rejestr...
Witam, .......... Czy arduino uno posiada może wbudowany licznik który działa niezależnie od programu? Tak aby przerwaniem co sekunde mógłbym sprawdzać jaka jest wartość w liczniku który liczyłby impulsy? TAK! Arduino posiada ich trzy, funkcjonujące totalnie niezalenie od wykonywanego programu, z pewnymi jednak warunkami lub ograniczeniami. Są to :...
1. Czy nie będzie przeszkadzać że jest 20nF zamiast klasycznych 22nF? Raczej pF. 20, czy 22 raczej bez znaczenia, chociaż ja dałbym 12-15 pF. Podane wzory we wskazanym linku przez kol. (at)stmx są ok, tylko trzeba uwzględnić pojemność wejścia MCU oraz pojemność ścieżek. Stąd te 15 pF max myślę, że jest lepsze. 3. Użyte kondensatory trochę się różnią...
Witam. Z pewnych przyczyn musiałem przejść z pisania oprogramowania w Bascom na C. I pojawił się problem. Mianowicie chodzi o konfigurację Timera1 tak aby był generatorem, którego częstotliwość zmienia się wpisem do rejestru pwm1a. Pwm1a = 312 Config Timer1 = Timer , Prescale = 8 , Compare A = Toggle , Clear Timer = 1 On Compare1a Impuls Enable Interrupts...
Dobra, Panowie działa, jak ktoś mówił że problem jest z generatorem to miał racje. Dałem kondensator między generator a nano i działa. Mimo tego plan jest do bani bo powyżej około 20Hz chyba zaczynają na siebie włazić funckje print i przerwanie - zaczynają się duże wahania odczytów. Dla wolniejszych częstotliwości jest super. Pewnie trzeba będzie jedno...
Witam! Ponieważ potrzebuję miernik częstotliwości do 160MHz, postanowiłem przerobić nieco projekt AVT3003. Zamiast kwarcu 10Hhz i AT90s2313 włożyłem ATTiny2313 z generatorem kwarcowym 20MHz. Przy takim taktowaniu należało zmienić również program. W komentarzu ' moja zmiana wskazałem, co zmieniłem - trzy linie programu. Problem jest taki,że podłączony...
emarcus dzięki teraz już gra. Mam jeszcze takie pytanie bo tak jak wcześniej pisałem docelowo chcę zrobić miernik indukcyjności. Przejrzałem projekty mierników w necie i na elektrodzie i są oki tylko większość z nich opiera się na mikrokontrolerze PIC 16F84A. W sumie mam wsad do procka w asm ale kiepsko znam asemblera wiec postanowiłem napisać własny...
Witam. Zająłem sie tworzeniem prostego generatora DDS na ATmega16. Przetwornik to drabinka R-2R. Rozdzielczość 8 bitów, kwarc 8MHz (oczywiście możliwa zamiana na 16MHz). W pamięci mikroprocesora przechowuje 256 próbek sygnałów (np. sinus, piła). Poprzez tryb CTC Timer1 (preskaler ustawiony na 1) obsługuje przerwanie. Niestety napotkałem na problem -...
Konfiguracja timera '51 jest inna : [syntax=basic4gl]Składnia: CONFIG TIMERx = COUNTER | TIMER , GATE = INTERNAL | EXTERNAL , MODE = 0 | 1 | 2 | 3 gdzie: x0 – TIMER0, 1 – TIMER1, Opis: TIMER0 i TIMER1 mogą pracować jako liczniki impulsów zewnętrznych gdy pierwszy parametr jest ustawiony jako COUNTER. Impulsy zliczane muszą być dostarczane...
Proponuję użyć dowolnego uC z dwoma licznikami, ale niekoniecznie atmega8 ;) Pierwszy pracuje w trybie pomiaru częstotliwości lub pomiaru czasu (Input Capture). Drugi pracuje jako generator przebiegu wyjściowego, pędzony np. z zegara systemowego. Wartość zmierzona przez pierwszy licznik jest argumentem funkcji modyfikującej częstotliwość i/lub wypełnienie...
$crystal = 11059200 Dim Licznik As Long Dim Czestotliwosc As Single Config Int0 = Falling Config Timer1 = Timer , Noise Cancel = 1 , Prescale = 1 On Int0 Licz On Timer1 Przerwanie_co_1ms Enable Interrupts Enable Int0 Enable Timer1 Timer1 = 54477 Do Loop End Przerwanie_co_1ms: Timer1 = Timer1 + 54477 Licznik = Licznik + 1 Return Licz: Stop Timer1...
Witam Napisałem kilka linijek kodu, który ma działać jako generator częstotliwości z częstotliwością regulowaną przez SPI przez inny procesor. Mam zadeklarowaną zmienną globalną: unsigned int tim_reg_Val=3030 i zainicjowany timer1: TIMSK=(1<<TOIE1); TCNT1=tim_reg_Val; TCCR1B=0b011; sei(); Przełączanie stanu wyjścia załatwiam w...
Usiłuję napisać program takiego miernika i podczas analizy konfiguracji timer-ów w różnych tego typu projektach a szczególnie w jednym (ale o tym później) pogubiłem się trochę i pojawiły się wątpliwości. Do testów używam platformy arduino nano (atmega328p, 16MHz, 5V) i na chwilę obecną napisałem coś takiego: [syntax=c]#include <Wire.h> #include...
http://obrazki.elektroda.pl/7329866000_1... Miernik częstotliwości o całkiem niezłych parametrach, bo potrafiący mierzyć częstotliwości od 1Hz do 10MHz (9,999,999Hz) z rozdzielczością 1Hz w całym zakresie. Idealny do generatorów funkcyjnych lub jako zwykły miernik. Do tego tani i prosty w wykonaniu, z ogólnodostępnych części, a małe wymiary...
Wiem że atmega16 ma tryb CTC który próbowałem bezskutecznie włączyć. Kolega Zumek napisał że bascom ma w tym miejscu błąd i nawet po zastosowaniu jego wskazówek nie mogłem tego trybu uruchomić a było by to najlepsze rozwiązanie. Męczę się już z tym przebiegiem strasznie i nic mi nie wychodzi. Może ktoś by mi napisał gotowca do bascoma jak skonfigurować...
Witam Chciałem zrobić prostu generator przebiegu prostokątnego. uP AT89C2051 kwarc 11059200. częstotliwość generowana około 38 kHz czyli czas impulsu około 0,013 ms. Napisałem taki programik: Config Timer1 = Timer , Mode = 2 , Gate = Internal counter0 = 242 On timer0 impuls Enable Interrupts Enable Timer0 start timer0 do loop impuls: P3.2 = not P3.2...
1. Używasz nowych wektorów przerwań, ale starej funkcji SIGNAL. Zamiast niej używaj ISR(): http://www.nongnu.org/avr-libc/user-manu... 2. Zmienna accumulator jest 16-to bitowa a nie dbasz o sprawdzanie, czy już przekroczyła rozmiar tablicy. Rzeczywiście to pewnie jest jedna z przyczyn, zmieniłem na: 3. Poza tym, jaki sens...
Witam Siedzę nad generatorem do przetwornicy Proszę o sprawdzenie moich wyliczeń czy dobrze rozumuje i liczę Chcę uzyskać z procesora częstotliwość ok. 41Khz Kwarc mam 8Mhz Tak ustawiam Timer Compare1a wpisałem 3 więc 125000/3=41666 Na wyjściu spodziewam się takiej częstotliwości 41,666Khz Czy dobrze to wykombinowałem ?
Prosze bardzo: 'Program regulujący prędkość obrotową silnika DC 12 V 'Do sterowania wykorzystano sygnał PWM 'Częstotliwość przebiegu PWM ok. 254 Hz - 8 MHz/510/64 'Przycisk S1 zwiększa prędkość obrotową silnika 'Przycisk S2 zmniejsza prędkość obrotową silnika $regfile = "m8def.dat" 'informuje kompilator o pliku 'dyrektyw mikrokontrolera $crystal...
Dzieki za "łopatologię", dzięki temu stworzyłem coś takiego: $regfile = "2313def.dat" $crystal = 8000000 Config Pinb.1 = Output Config Pinb.0 = Output Config Timer1 = Timer , Prescale = 256 Config Int0 = Rising Dim A As Integer Enable Interrupts Enable Timer1 Enable Int0 On Int0 Zlicz Do Cls Lcd A Waitms 100 Loop End Zlicz: Start Timer1...
Witam serdecznie forumowiczów. Jestem w trakcie budowy generatora sygnału PWM o zmiennym wypełnieniu oraz częstotliwości. Wypełnienie 0-100% co 5%, częstotliwość 1-50 kHz co 1 kHz (plus kilka częstotliwości poniżej 1k). Generator będzie częścią nieco większego projektu. Całość ma działać mniej więcej w taki sposób: odpalam timer1 w trybie PWM z korekcją...
Timer2 jest nieco inny niż Timer1. Timer2 w M8 może pobierać sygnał zegarowy z oscylatora taktującego procesor bądź z kwarcu małej częstotliwości. Spróbuj dodać do Config Timer2 ASYNC = OFF . Skieruje to do Timera 2 sygnał zegarowy generatora uC. P. S. Jak chcesz sprawdź to sobie ustawieniach rejestrów. Mnie się nie chciało. Poczytaj sobie helpa. No...
Jeśli chodzi o PWM to dorzucam Ci 2 programy sterowania PWM za pośrednictwem 2 przycisków w języku BASCOM. 'Program regulujący prędkość obrotową silnika DC 12 V 'Do sterowania wykorzystano sygnał PWM 'Częstotliwość przebiegu PWM ok. 254 Hz - 8 MHz/510/64 'Przycisk SI zwiększa prędkość obrotową silnika 'Przycisk S2 zmniejsza prędkość obrotową silnika...
Witam Chce zrobić generator PWM do półmostka H (Half-Bridge) sterującego dwoma mosfetami w typowy sposób dla półmostka czyli że gdy górny załączony, dolny wyłączony a między tymi stanami czas martwy. Chciałem zrobić to na timerze Timer1 ale jest problem z częstotliwością bo potrzebuję minimum 60kHz a najlepiej 100kHz. Ma ktoś jakiś pomysł/podpowiedź...
Przepraszam za dłuższą nieobecność. Nie mając nic nowego (i mądrego) nie pisałem. Ale w międzyczasie polutowałem zestaw startowy, a ostatnio napisałem inny program, który umożliwia (w zamyśle) liczenie dokładniej częstotliwości dla "paczki" impulsów, tym razem około 500 Hz. Wiem, że to dosyć skomplikowany tok myślenia, pewnie można to zrobić prościej,...
Witam! Potrzebuję wykonać na Atmedze generator przebiegu prostokątnego w zakresie częstotliwości 0-10kHz do współpracy ze sterownikiem silnika krokowego. Nie jestem najlepszy w obsłudze timerów więc stąd prośba o pomoc. Chciałbym aby wybrana częstotliwość mogła być zadawana przy pomocy przycisków "góra", "dół" oraz potencjometra. Udało mi się stworzyć...
...czyli cały procesr zajmuje się mierzeniem napięcia A reszta "sprzętu" leży odłogiem ;) ... niestety potrzebuje aby ten sam uk wykożystać jako generator fali prostokatnej... Użyj timera 0 lub 2 i wyjścia OCx.Czy proc ma generować impulsy ze stała (jaką ?) częstotliwością :?: ...i do mierzenie częstotliwości z zewnętrznego generatora sinus (poprzez...
Witam Przekopałem całe forum manuala i mam kłopot bo nie znalazłem odpowiedzi na moje pytania. Może najpierw zacznę od tego co muszę zrobić. Potrzebuję generatora impulsów PWM, ma mieć kilka częstotliwości do wyboru z góry zdefiniowanych, po wybraniu jednej częstotliwości i naciśnięciu startu wypełnienie ma się zmieniać powiedzmy co 5 sekund o 5%. Nie...
Witam Napisałem taki program do regulacji prędkości silnika. [syntax=vbnet] $regfile = "m32def.dat" Enable Interrupts $crystal = 16000000 $baud = 9600 Config Portb = Input Set Portb.1 Config Pind.4 = Output Config Porta = Input Dim Freq As Long Dim Pomoc As Byte Dim A As Integer Dim P As Integer P = 0 Config Timer1 = Counter , Edge = Falling Enable...
Witaj. Skądś znam ten problem, ktoś mnie o coś takiego prosił. Tyle, że wartości częstotliwości i wypełnienia były ustawiane potencjometrami. Programik był napisany na ATtiny26, wartości częstotliwości i wypełnienia nieco sie różnią, ale możesz sobie to zmienić. Programik testowałem (ale bez oscyloskopu). W razie błędów proszę o łagodny wymiar kary...
mam już od dłuższego czasu problem mianowicie generator częstotliwości dzisiaj bardzo się zdziwiłem gdy nie ładuje do timera wartosci początkowej wszystko jest ok, dioda sobie miga co ok 2 sek i jest spoko gdy natomiast załaduje do timera1 16Bit np 1000 co w zauważalny sposób nie powinno zmienić częstotliwości migania diody ona zaczyna migać jak oszalała...
Witam Mam do zrobienia generator na atmedze w którym zadaję częstotliwość oraz wypełnienie sygnału prostokątnego. Udało mi się odpalić i generator i PWM z osobna ale mam problem z ich połączeniem. Chcę taktować Timer2 (na nim robię PWM) z wyjścia Timera1. Czysto teoretycznie wydaje mi się to możliwe ponieważ Timer2 może pracować w trybie asynchronicznym....
[syntax=vb]'--------------------KONFIGUR... $regfile = "m16def.dat" 'informuje kompilator o pliku $crystal = 8000000 'informuje kompilator o częstotliwości oscylatora Reset Pinb.1 'Sterowanie podświetleniem: Reset - włączone Set - wyłączone Config Pina.7 = Input 'port wejściowy PRZYCISK Config Pinb.1 =...
Upss. Przeoczyłem "nie", chyba z braku porannej kawy :wink: Ja bym to zrobił tak, że mierzyłbym timerem okres przychodzącego sygnału a następnie programował drugi timer (pracujący jako generator) na okres odpowiednio krótszy. Np. Timer 1 (16-bitowy) do generowania (sprzętowo) sygnału + np. Timer0 (8 bitow)+ sofwarowy licznik do pomiaru. Nie pamiętam...
Mam problem z przerwaniem od timer1, wywołuje się ok. 64x wolniej niż wynika z obliczeń. Przykładowy prosty program: [syntax=basic4gl] $regfile = "m8def.dat" $crystal = 8000000 Dim 1ms As Word 1ms = 0 Dim A As Byte A = 0 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...
Witam wszystkich. Potrzebuje zbudować generator oparty o arduino nano. 1) Jdno wyjście pwm po podaniu zasilania ma być tam w stanie spoczynku 720Hz 2) Pierwsze wejście microswitch zmienia pwm na pierwszym wyjściu z 720Hz na 630Hz 3) Drugie wejście microswitch zmienia pwm na pierwszym wyjściu z 720Hz na 530Hz 4) Trzecie wyjście analogowe potencjometr...
Witam ! Mam mały problem mianowicie potrzebuję za pomocą procesora Atmega8 wygenerować dwa przebiegi odwrócone w fazie (na wyjściach OC1A i OC1B) Czy jest to możliwe do realizacji programowej ? Pozdrawiam KOD (dwa generatory): Config Timer1 = Timer , Prescale = 1 , Compare A = Toggle , Compare B = Toggle , Clear Timer = 1 Compare1A=100 Compare1B=100...
Na pewno można to zrobić w C AVR bezpośrednio pracując na rejestrach uC. W Arduino też można wstawić taki kod C, na pewno nie radziłbym wejść do przerwania od Timera czy od tego zewnętrznego generatora i tu robić analogRead, które trwa >100us. Tu jest przykład do AVR C: http://mikrokontrolery.blogspot.com/2011... Arduino...
http://obrazki.elektroda.pl/3499461100_1... Jest to bardzo specyficzna konstrukcja i prawie na pewno nikomu oprócz mnie nie przyda się w tej konkretnej postaci jaką tu opisuję, ale zawsze pozostają walory edukacyjne, nauczenie się jak coś zrobić albo jak czegoś w żadnym wypadku nie robić :D Urządzenie jest protezą dzięki której omijam...
Nieścisle się wyraziłem, wspólczynnik wypełnienia zostawiamy w spokoju, tylko korzystamy z rejestrów od PWM ustawionych na Toggle & Reset Counter on compare match - im mniejsza wartość w TCNTC, tym wieksza częstotliwość na wyjściu . Ma to ta zaletę, że sobie działa w tle, a my zajmujemy się czym innym.... ;) No chyba, że coś pomieszałem z nowszymi...
Chciałem po prostu wiedzieć czy te bity konfiguracyjne dla trybu Fast PWM mam dobrze ustawione bo już dość długo nad tym siedzę i nie potrafię dojść do ładu. To zależy co chciałeś uzyskać. Jeśli chodziło Ci o tryb FAST PWM z definiowaną rozdzielczością to do tego przeznaczone są tryby 14 i 15. W trybie 15 wartość wpisana do OCR1A definiuje rozdzielczość...
koledzy ODCZEPCIE się wreszcie od zasilacza. Cały zasilacz pożyczyłem z zaprzyjaźnionego serwisu ze sprawnego Tv napięcie 370V defekt jak był tak jest. A teraz trochę porad z przebiegu naprawy- głównie dla innych i siebie, bo zapomnę Aby zablokować błędy inwertera ( i móc cokolwiek mierzyć ) należy zewrzeć diodą wyjście TIMER2 OZ9928 pin 28. co ciekawostka...
Witam ! Jakiś czas temu chciałem wykonać projekt programu do generowania sinusoidy, otrzymałem taki kod od kolegi Michała SQ3LVJ. Program generuje częstotliwość słyszalną dla ucha, nie sprawdzałem czy to sinusoida. W kodzie nie ma żadnych komentarzy, szkoda ! Może ktoś pomoże mi i zakładającemu post Krzysztofowi SQ3FYK w poznaniu zasady pisania kodu,...
http://obrazki.elektroda.pl/8805867100_1... Przeglądając zawartość strony natrafiłem na interesujący projekt układu naśladującego brzmienie klasycznej mechanicznej pozytywki. Do generowania dźwięku Autor wykorzystał znany już w latach 70 algorytm oparty na tablicy próbek, ang. Wavetable . Ten rodzaj syntezy wykorzystuje próbki brzmień rzeczywistych...
Witam, Czy jest możliwość zrobić na atmedze w bascomie generator prostokąta od 1Hz - 1kHz z regulacją wypełnienia ? Coś tam znalazłem na elektrodzie, coś doskrobałem sam, ale pasowała by mi regulacja co 1Hz. Regulacja wypełnienia chodzi ładnie, gorzej z regulacją częstotliwości ... Prosił bym o jakieś sugestie [syntax=vbnet]$regfile = "m8def.dat" $crystal...
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. Napisałem prosty programik. Działa on tak że po włączeniu układ generuje impulsy o częstotliwości regulowanej przez ADC2. Teraz nie mam pojęcia jak zrobić aby przycisk podpięty na PD.0 włączał i wyłączał mi ten generator na wyjściu atmegi. [syntax=Basic4GL]$regfile = "m8def.dat" $crystal = 8000000 Config Portd = &B00000000 Config Portb = &B11111111...
W programie na początku ustawiłeś rozdzielczość PWMa na 8 bitów: Config Timer1 = Pwm , Pwm = 8 , Prescale = 1 , Compare A Pwm = Clear Down PWM=8 to właśnie to. Czyli masz 256 kombinacji wypełnienia (od 0 do 255) i teraz wartość 255 to 100%, wartość 0 to 0%, wartość 127 to 50%. Resztę wartości możesz policzyć z proporcji. Częstotliwość PWMa zależy od...
1. 0000 = częstotliwość z zewnętrznego generatora, 2. 0001 = oscylator w wewnątrz procesora o częstotliwości 1MHz, 3. 0010 = wewnętrzny oscylator 2MHz, 4. 0011 = wewnętrzny oscylator 4MHz, 5. 0100 = wewnętrzny oscylator 8MHz, 6. 0101 = zewnętrzny oscylator RC 1MHz, 7. 0110 = zewnętrzny oscylator RC 2MHz, 8. 0111 = zewnętrzny oscylator RC 4MHz, 9. 1000...
Wzorcowy układ : http://obrazki.elektroda.pl/6609990300_1... i program ze znanej książki : [syntax=vb]'Program sterowania jasnością dwóch diod LED za pomocą sygnału PWM 'Rozdzielczość sygnałów PWM 8 bitów 'Częstotliwość sygnału PWM ok. 15,6 kHz $regfile = "m8def.dat" 'informuje kompilator o pliku 'dyrektyw mikrokontrolera $crystal =...
KaJakKrzysztof: W katalogu Bascoma w program files masz katalog Samples. Jest tam o ile się nie mylę zegarek, jakiś bardziej skomplikowany zegarek i mnóstwo innych przykładów zastosowań timerów, przerwań itd. Na pytanie - czy coś takiego będzie działać odpowiedz sobie sam, załaduj program do AVR-ka. Timer od countera różni się tym, że służy do ODLICZANIA...
stan niski ma mieć 0,0100sec natomiast stan wysoki 0,00032sec = 0,01032sec stąd f=96,899225Hz Rozpisałem sobie w taki sposób: https://obrazki.elektroda.pl/1425365900_... powstał mi kod: [syntax=c] DDRB = 0b00000100; // PB2 USTAWIONE JAKO WYJŚCIE //USTAWIENIE TIMER1 TCCR1A |= (1<<WGM10); TCCR1B |= (1<<WGM13); // USTAWIENIE...
Witam Próbuje ogarnąć temat generowania częstotliwości Postanowiłem wykonać generator 22kHz Mam straszny problem z wyliczaniem ile należy wpisać do licznika aby uzyskać odpowiednią częstotliwość pozłużyłem się kalkulatorem ze strony 'Generator 22khz $regfile = "m8def.dat" $crystal = 8000000 Config Lcd = 16 * 2 Config Lcdpin = Pin , Db4 = Portc.3...
Odnośnie kolegi który myśli że nie umiem czytać, otóż umiem ! Wykrzykniki odłóż na półkę i zachowaj dla siebie. Albo chcesz się czegoś dowiedzieć na forum albo jeśli sam lepiej wiesz to po co pytasz? a więc dam sobie przypuśćmy preskaler/1. Myślałem, że muszę ustawiać bity CS1...tak by ustawiać jakieś zewnętrzne zegary z jakimiś zboczami. Z tego co...
Witam. Dawno nie pisałem w BASCOM-ie a zdecydowałem się na niego bo myślałem, że tak będzie szybciej i prościej. Nic bardziej błędnego. Do napisania był dwu-trybowy program uśredniający do nieco przerobionego radiometru SOSNA. Ale nie w tym rzecz. O ile kod który zamieszczam powstał w miarę szybko o tyle błędu nie potrafię wyeliminować 3 dzień. Po krótce...program...
Witam! bardzo serdecznie. Chciałem zrealizować w oparciu o mikrokontroler ATmega8 odtwarzacz dźwięku. Jest to tylko układ realizowany w celach edukacyjnych, więc chciałem dane zapisać najpierw w pamięci EEPROM (ATmega8 ma 512b). Ma być to jeden krótki dźwięk odtwarzany po włączeniu mikrokontrolera. Dźwięki chcę odtwarzać za pomocą głośnika przez PWM....
Witam serdecznie. Próbuje stworzyć generator PWM o zmiennym wypełnieniu i zmiennej częstotliwości. Generator ten chce stworzyć na ATmega32 12MHz w języku BASCOM. Zmian dokonywać będzie można przez dwa potencjometry. Mam już napisany program ale niestety sygnał na oscyloskopie wariuje. Co jakiś czas jest przebicie innych wartości. Walczyłem z tym dość...
Timer0 i timer1 używają tego samego preskalera. Dlatego instrukcja prescale=64 zmienia warunki dla funkcji getrc5. Zajrzyj do noty katalogowej ATtiny2313 i nie pisz głupot więcej. Dodano po 14 Odmierz20ms1: 'funkcja obsługi serwa1 Timer1 = 65286 'przy wartosci 65286 timer1 bedzie generował przerwanie co 2ms Incr Licz2ms1 'zwiększ licznik zliczający...
Jeśli nie masz na stanie generatora to może zainteresuje Cię, albo kogoś innego, taki najprostszy generator który operowany jest dwoma potencjometrami. Jeden ustawia częstotliwość a drugi wypełnienie 1%-99%. To pozwoli szybko znaleźć odpowiednie parametry dla przetwornicy i potem można ustawić Tiny13 na rejestrach . Kod będzie działał na Arduino Mega2560,...
Nawet po zmianie tych zmiennych zasięg spada do 1cm. Dodano po 15 Ze względu na brak wielu pasywnych części generator muszę wykonać na atmedze.
https://obrazki.elektroda.pl/2028213700_... Obecnie praktycznie każdy multimetr w cenie powyżej 50-100 złotych posiada zdolność pomiaru pojemności kondensatorów. Pomiar ten przydaje się szczególnie wtedy, gdy mamy do czynienia z kondensatorami, na których oznaczenia są nieczytelne, lub ich zwyczajnie brak. W tym przypadku pomiar z...
Witam, mam nadzieję że tym razem rozwieje już wszelkie wątpliwości... A więc robimy filtr-przedwzmacniacz, tak jak w załączniku. zasilanie może być to same co uC, aczkolwiek zalecam więcej, np. 9V. Masa wspólna. Na schemacie nie rysowałem samego uC, a to dla tego że każdy wykorzysta inny, więc mija się to całkowicie z celem... LCD podłączamy pod dowolny...
Witam Mam problem z programem odmierzającym czas. Mikrokontroler współpracuje z czujnikami ultradźwiękowymi. Ogólne założenie programu jest takie że generuje paczkę 8 impulsów prostokątnych o częstotliwości 40KHz następnie 4ms na wyciszenie układu. Generowanie paczki wykonywane jest za pomocą Timera2 w trybie CTC. Następnie za pomocą Timera1 powinien...
Ok dzięki panowie już teraz rozumiem. Pobrałem sobie ze strony BTC z zaproponowanej książki przykładowe programy BASCOm i pewnie chodzi o ten właśnie kod ?? 'Program regulujący prędkość obrotową silnika DC 12 V 'Do sterowania wykorzystano sygnał PWM 'Częstotliwość przebiegu PWM ok. 254 Hz - 8 MHz/510/64 'Przycisk S1 zwiększa prędkość obrotową silnika...
No więc idąc za waszymi poradami skonstruowałem program który generuje sygnał w oparciu o PMW. Na symulacjach wszystko jest ok. Niestety kiedy programuję prawdziwy mikrokontroler pojawia się pewien kłopot. Wypełnienie działa prawidłowo mogę sobie je regulować odpowiednim potencjometrem. Problemem jest częstotliwość. Kiedy potencjometr wykręcony jest...
Witam Myślę że trzeba by to zrobić korzystając z trafo.Inaczej nie widzę możliwości jak sterowanie napieciem (wielkością napiecia) .PWM zapewni tylko zmianę napięcia po stronie pierwotnej.Trzeba by spróbowac...'Program regulujący prędkość obrotową silnika DC 12 V 'Do sterowania wykorzystano sygnał PWM 'Częstotliwość przebiegu PWM ok. 254 Hz - 8 MHz/510/64...
Panowie ulepiłem taki oto kod [syntax=csharp] #include "Arduino.h" #include <avr/interrupt.h> //zbocze low-high(TCCR1B |= (1<<ICES1); TIFR1 |= (1<<ICF1); zbocze = 1;); //zbocze high-low(TCCR1B &= ~(1<<ICES1); TIFR1 |= (1<<ICF1); zbocze = 0;); volatile uint32_t Aktualny_stan_Licznika =0; volatile uint32_t Ostatni_stan_okresu...
rzeczywiście może mało precyzyjnie się wyraziłem... z tym ATX 2.4 PWM Control Input Signal http://www.formfactors.org/developer%5Cs... częstotliwość pwm domyślne jeśli chodzi o arduino to chyba 490 Hz Ta informacja dotyczy wentylatota cztero-przewodowego; czy takie wentylatory masz w użytku? Jeżeli tak to: -defaultowa w arduino...
Witam. To mój pierwszy projekt jeśli chodzi o avr, prosiłbym o przegląd kodu i ewentualne poprawki, chętnie dowiem się jak można było zrobić to inaczej. Opis : generator impulsów prostokątnych z regulowanym współczynnikiem wypełnienia (1-99%), oraz częstotliwością regulowaną w zakresie od ok.100 Hz do 10 kHz. PA.0-PA.1 -> 74F139 PD.0-PD.6 -> 4...
(...) Więc pytanie- zastosujesz rezonator kwarcowy w tym rozwiązaniu czy będziesz dalej próbował coś działać z generatorem RC? Zdecydowanie kwarc. Czym większa stabilność pomiaru częstotliwości tym większy zasięg wykrywacza. Pozdrawiam Dodano po 3 Dla uzupełnienia tematu działający prototyp: Filmik: http://youtu.be/bQox3S40gTE http://obrazki.elektroda.pl/2340370400_1...
Dzięki za podpowiedź. Oto już mój finał i poprawiony kod. $sim $crystal = 4000000 'Deklaracja częstotliwości kwarcu $regfile "attiny2313.dat" 'deklaracja modelu procesora Config Lcd = 16 * 2 Declare Sub Zwieksz 'Deklaracja procedury zwiększającej stan Declare Sub Zmniejsz 'Deklaracja procedury zmniejszającej stan Dim Wartprocentowa As Single...
Coś mi się nie zgadza wychodzi na to że siłownik ten jest sterowany przy 1Khz i napięciem 10V, czy ja dobrze to wszystko odczytałem? Tu jest filmik jak to działa na generatorze zmieniając wypełnienie reguluje położenie dźwigni, zaś częstotliwość (prędkość działania). Czyli moje 5V z arduino to jest za niskie napięcie? https://obrazki.elektroda.pl/9436367700_...
Proszę uprzejmie oto najnowsza i aktualnie używana wersja kodu: [syntax=c] #include <avr/io.h> #include <stdlib.h> #include "HD44780.h" int main(void) { LCD_Initalize(); DDRD |= (1<<PD5); ADCSRA |= (1<<ADEN); //Inicjalizacja Timer1 (PWM) TCCR1A |= (1<<COM1A1) | (0<<COM1B1) | (1<<WGM11); //Tryb 14 (FAST PWM,...
Oto ostateczna wersja programu, przebieg PWM ma częstotliwość ok 30kHz, przy taktowaniu układu z wewnętrznego generatora częstotliwością 8MHz (domyślnie jest 1MHz, theba przestawić FB): ' ########################################... ' # Control programm for Trolling Motor driver # ' # (C)2008 by Tomasz Orczyk # ' ########################################...
Dodatkowy wpływ na błąd ma niedokładność częstotliwości generatora kwarcowego. Błąd w sekundach na dobę, wyraża się wzorem: \Delta=86400*(1-\frac{fwzr}{f}) \Delta - błąd w sekundach na dobę (wartość ujemna oznacza spóźnianie się) fwzr - częstotliwość wzorcowa (czyli to co ma być np. 4000000 Hz) f - częstotliwość rzeczywista kwarcu lub generatora kwarcowego...
Jak według tych wskazówek zrobić kod ; Wskazówka : ""Cały czas mowa o precyzyjnych częstotliwościach, współczynniku wypełnienia ,a delay to jedno z najgorszych z możliwych rozwiązań mając sprzętowe sterowanie GPIO, gdzie trzeba liczyć każdy cykl maszynowy jak w latach 80. W Generatorze DDS z EP 6/2018 jest sprzętowe sterowanie wyjściem: void Timer1_Start(uint8_t...
Witam Buduję wykrywacz metalu (nadal :D ). Zasadnicze elementy wykrywacza to cewka nadawcza i cewka odbiorcza. Cewkę nadawczą zasilam napięciem o częstotliwości ok 6kHz. Wykorzystuję do tego celu jeden kanał układu PWM. Problem pojawia się z pomiarem napięcia na cewce odbiorczej. Chciałbym pomierzyć napięcie dokładnie 128 razy na okres cewki nadawczej....
Witam. Pożyczyłem sobie kod źródłowy od kolegi "michal2666"(któremu bardzo dziękuje za udostępnianie swoich projektów, dużo się z nich nauczyłem). Wygląda on tak: $crystal = 4000000 'Deklaracja częstotliwości kwarcu $regfile "attiny2313.dat" 'deklaracja modelu procesora Declare Sub Zwieksz 'Deklaracja procedury zwiększającej stan rejestru...
Dodano po 54 Wszystko co napisałeś po 54 minucie myślę, że dałoby się obalić jednym zdaniem (Uwaga! Długie i zawiłe): Procesor AVR ATmega32L taktowany 8MHz, gdzie przerwanie z Timer0 odpowiada za podawanie kolejnych próbek do OCR1A i OCR1B w równych odstępach czasu; gdzie Timer1 jest podwójnym synchronicznym generatorem PWM o f=31250Hz, w którym to...
Witam :) Mam problemy z programem analizatora widma z obsługą RC5. Na lcd wyświetla głupoty albo resetuje się Atmega32.Czy w programie wszystko OK jest? Oczywiście sam program analizatora widma akustycznego działa poprawnie. $regfile = "m32def.dat" $crystal = 16000000 Config Pinb.2 = Input Config Int2 = Falling Enable Interrupts 'obsługi RC5...
http://obrazki.elektroda.pl/9589280700_1... HPS 2014 Hybrydowy laboratoryjny zasilacz sieciowy. Parametry użytkowe zasilacza w skrócie: 1. Wykorzystanie tanich i łatwo dostępnych elementów. 2. Wydajność prądowa min 3A (dla niskich napięć może dochodzić do 5A). 3. Rozdzielczość DAC 12bit. (filtrowany PWM 4.9kHz) 4. Rozdzielczość ADC...
No i super! bardzo fajna konstrukcja, tego typu sprzęt tylko jeszcze wyższa częstotliwość przydała by mi się do zbudowania generatora do radio odbiornika na 80m, z tym, że wymagałbym częstotliwości bliskich 10MHz. Są tanie moduły DDS na układach Analoga. 10MHz jest ok, 50MHz (jak piszą) juz nie za bardzo. Z AVR wiele więcej nie wyciągniesz. Na Xmega...
Witam wszystkich. Zaprojektowałem i uruchomiłem zegarek z wyświetlaczami LED(SA10-21GWA) i układem PCF8583 współpracującym z mikroprocesorem Atmega8 oraz układami PCF8574AP na szynie TWI(i2c). http://obrazki.elektroda.net/21_12497604... http://obrazki.elektroda.net/58_12497606... http://obrazki.elektroda.net/95_12497605...
Witam Chciałm zrobić automatyczną regulację obrotów silnika. Pierwszy silnik napędza drugi silnik który pracuje jako prądnica i muszę wraz ze zmianą obciążenia prądnicy regulować obroty silnika tak aby uzyskać stałe napięcie na wyjściu prądnicy. Do sterowania zastosowałem Atmegę 8. Napisałem taki programik i niby działa, ale ... regulacja jest zbyt...
http://obrazki.elektroda.pl/5335012100_1... Mister Gloves to bezprzewodowy interfejs USB, pozwalający poprzez intuicyjne ruchy ręki i palców sterować komputerem. Rękawica noszona na prawej dłoni umożliwia użytkownikowi kontrolę ruchu kursora, wykonywanie skrótów klawiaturowych oraz symulowanie kliknięć przyciskami myszy, poprzez zginanie...
Łap. Mam co robić ale tak się chwile pobawiłem. Program nie jest przemyślany tylko tak z doskoku :D Mierzy długość impulsu jednego i drugiego i pokazuje na LCD Do tego sumując obydwie długości wróży tez częstotliwość :P Nie miałem na szybko nic z PWM żeby zadawać różne wartości to złapałem ten mój programowany generator 50/50 i dlatego wyniki takie...
timer1 generator atmega8 timer1 generator bascom generator impulsów timer1
biały ekran matrycy monitora pompa pęknięty konwertowanie plików video
samsung s24d330h telewizor samsung uszkodzony zasilacz
Audi A1 VIN – jak sprawdzić numer felgi fabrycznej, kody PR, ETKA, parametry obręczy MAN TGL 12.250 – brak wyświetlania biegu po wymianie sprzęgła, czujnik skrzyni, FFR