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...
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...
Mam problem, otóż zrobiłem sobie generator częstotliwości za pomocą licznika timer1 w trybie CTC. Steruje sobie tutaj wartością szczytową podawaną z przetwornika ADC, która odpowiednio jest przeliczana na szczytowa wartość TOP do której licznik zlicza. Mój problem polega na tym ze charakterystyka ta nie jest liniowa... A ja potrzebuje liniową, męczę...
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...
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 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....
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...
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...
Witam , głównie chodzi mi o generator , stałe 50% pwm podziale do 16 bitów na wyjściu . Przy minimalnym podziale rzędu 2,3,4 ... wyjście jak najbliżej częstotliwości oscylatora a 65533 ... rzędu herców ,jak to robie programowo obniża się częstotliwość na wyjściu
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 -...
Witam, muszę tak skonfigurować timer1 aby przerwanie występowało co 1us. Mam uC atmega328pu i kwarc 16MHz. Warości, które wpisuję do rejestrów porównania są na pewno poprawne, ale w moim przypadku dioda zmienia swój stan w czasie dłuższym niż 1s (dla testów w ISR umieściłem licznik ,który w momencie osiągnięcia warości 1 milion zmienia stan diody)....
Witam, potrzebuje zbudować generator z 2 częstotliwosciami rzędu kilku 1-2kHz. Do tego celu przeznaczyłem Timer1 i rejestry OCR1A i OCR1B i tryb CTC. Generator będzie miał dodatkowo zmieniane wypełniania impulsów, wiec zbudowałem sobie taki odo program: [syntax=basic4gl]$regfile = "m8def.dat" $crystal = 8000000 $hwstack = 64 'Stos Systemowy , Gosub...
Nawiązując do wcześniejszej wypowiedzi chce zbudować generator regulowany za pomocą 2 potencjometrów. Jednym chcę regulować czas trwania logicznej 1 a drugim potencjometrem czas trwania logicznego 0. Przy tych założeniach dyskusja na temat ustalania częstotliwości nie ma żadnego sensu. Praktycznie, jeden z potencjometrów zmienia wypełnienie, a suma...
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...
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...
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...
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ą...
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...
Cześć, działam sobie nad zadaniem: program Timer1 działa w trybie porównania( CTC). Licznik T/C1 taktowany jest wewnętrznym sygnałem zegarowym. Wpisz odpowiednią wartość do rejestru OCR1A. Licznik zlicza od 0 do odpowiedniej wartości i po jej osiągnięciu generuje przerwanie. Proszę ustawić preskaler. Dioda podłączona do PA.7 mruga w takt licznika co...
Witam. Chcę za pomocą Timera1 odmierzyć czas w przybliżeniu 1 s (dokładność do 0,1 s). Wprowadzam następującą konfiguracje: ldi Temp, 0x29 ;załadowanie do r16 wartości ldi R20, 0x29 ;załadowanie do r17 wartości out TCNT1H, Temp ;wpisanie do rejestru TCNT1L wartości out TCNT1L, R20 ;wpisanie do rejestru TCNT1H wartości out TCCR1A,r29 ;wpisanie do rejestru...
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ź...
Wie ktos cos moze na temat prawidłowego odmierzania czasu w ATMega8L, jak skonfigurować jeden z wewnętrznych Timerów i jaki oscylator zastosować by uzyskać przerwanie dokładnie co 1s ? Gdzie w programie zadeklarować wybrany rezonator?
Potrzebuje odmierzyć dokładnie 1 sekundę mam to zrobione na _delay_ms(1000); czy ktoś może podać jakiś przykład na timerze. Z góry dziękuje za pomoc
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ć...
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...
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...
...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...
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...
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...
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...
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...
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, udało mi się coś wyskrobać i zrobiłem na razie sam generator częstotliwości, właściwie jakoś tam działa ale chyba napisałem to dookoła , może ktoś spróbował by to jakoś poprawić. Nie dodałem jeszcze generatora PWM, próbowałem ale nie wychodziło mi, chciałem taktować go z wejścia T1 ale nie udało mi się to, nie wiem jak go zmusic do tego żeby...
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 ! 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...
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...
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...
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...
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...
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, .......... 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! 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...
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...
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...
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...
$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...
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...
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...
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. 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...
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...
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...
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...
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,...
timer1 generator atmega8 timer1 generator bascom generator impulsów timer1
tracer highlander silent szczotki silniku pralki pralka automatyczny schemat
hydrostat zmywarki samsung saunier duval wymiana pompy
Dalmierz laserowy w aparacie analogowym – Leica Disto, Minolta, Canon, integracja LiDAR Non-inverting op-amp amplifier: gain formula, TI OPA391, AD8420, design tips, stability