symulator bascoma jest bardzo dokładny i liczy co do taktu. jeżeli program opiera sie na przerwaniach timera to należy włączyć okienko "Slim Timers" , wtedy symulacja trwa trochę dłużej ale bierze pod uwagę przerwania timera. co do compare1a to jest to rejestr poruwnawczy timera1. co takt zegara jest on poruwnywany z zawartościa timera (czyli licznika)...
Przecież to jest taka sama metoda jak tutaj opisywana.
Ten kod to tak dawno napisany że wiele by można w nim poprawić. Jednak działa i też dawno temu dochrapał się wersji przenośnej, bateryjnej, na Mega8 albo coś podobnego (nie pamiętam). Służy dzielnie do różnych zadań. Można symulować czujniki Halla w autach i podobne rzeczy :D http://obrazki.elektroda.pl/2071243700_1... Co do przeróbki...
Ja się tam na BASCOMie nie znam, ale ten program to wyglada mi na generator liczb pseudolosowych ;) Weź się skup i zastanów co chcesz uzyskać. Kompletnie nie rozumiem, co Ty robisz z tym T. Co to ma reprezentować? Podpowiem, że jeżeli chcesz wyświetlić liczbę X z zakresu 0..99 na swoim wyświetlaczu, to byłoby to chyba coś takiego (zakładając, że wyświetlacz...
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...
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ą...
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,...
(at)seba_x:A co to za bzdura?:> • Peripheral Features – Two 8-bit Timer/Counters with Separate Prescaler, one Compare Mode – One 16-bit Timer/Counter with Separate Prescaler, Compare Mode, and Capture Mode A co do pytania autora, nie, zliczanie umożliwiają tylko dwa pierwsze timery. Trzeciego można używać jako wewnętrznego. Nie tylko...
http://obrazki.elektroda.pl/8267947700_1... Ponad 20 lat temu jako amator hobbysta budowałem proste układy elektroniczne. Studia i styczność z informatyką spowodowały, że porzuciłem hobby pod nazwą "składanie elektroniki" na rzecz "składanie programów komputerowych". W bieżącym roku (2011) dzięki uprzejmości kolegi Jacka.M, który okazał...
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. Jestem poczatkujacym dlatego proszę o błachostkę. Buduje ups-a / przetwornice trafo z starego ups-a a generator 50hz ... Niema dlatego wybor padl na atmege 8 i timer1. Czy ktoś co coś jarzy mógłby mi to sprawdzić ? Byłbym wdzięczny . Oto kod : $regfile = "m8def.dat" 'atmega 8 $crystal = 8000000 '8 mhz 'INNE KONFIGURACJE Config Timer1...
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....
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ę...
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...
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...
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ć.
Ech prawdy ? a po co mam kłamać ? OK mam komplet nawet tu na elektrodzie jest są tam pliki hex bin i bas, bas nawet był z błędem ale poprawiony i jak wgrywam gotowe wsady do działa jak próbuje skompilować załaczony w plikach bas bez zmian to są cyrki czy juz jasne ? A program testowy mostka napisałem i to działa. Błędy sam zobaczysz podpowiem że brakuje(...
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...
Kiedyś były zamieszczane kody źródłowe ale już nie ma ale znalazłem na naszym portalu kod .bas ale ma błędy czy ktoś mógłby pomoc ? na razie nie wiem co jest problemem. [syntax=vbnet] $regfile = "m8def.dat" $crystal = 8000000 '8MHz fuse bity CKSEL3...0!!! Config Portb = &B00110110 Config Portd = &B00001001 'Config Portc = &B00000000 Portd.6...
Na 99% będzie ok. -właściwie wszystkie zegarki na nim pracują. Zazwyczaj jest w formia malutkiego walca z nóżkami. Wtedy jako systemowy zegar może zostać użyty wewnętrzny generator RC.
Witam chce użyć procesora AT90S2313 do sterowania szybkości silnika. I chyba najlepiej do tego będzie nadawał się licznik timer1 skonfigurowany, jako PWM. Czytałem o tym w pomocy, ale jakoś niewiele mi to gada:( z jakiego pinu będą wychodzić te impulsy??? Z T1(PD5) czy OC1(PB3) czy jeśli wpisze te „dosconnet” to wyjściem biedzie T1 a jeśli...
Nalezy zauwazyc ze TimerOne to zewnetrzna biblioteka wykorzystujaca Timer1 w atmega168/328
Dalsza część zmagań. Jako generator impulsów zastosowałem zwykły switch, który zwiera pin ICP1 do VCC. I teraz rodzi się pytanie. Po jednym kliknięciu zmienna "koniec_pomiaru" powinna być równa 0 i tym samym dioda nie powinna się włączać. Natomiast jest inaczej. Pierwsze kliknięcie po uruchomieniu procesora powoduje załączenie się diody. Czyli tak jakbym...
Witam. Potrzebuje zliczać impulsy z dwóch transoptorów szczelinowych. Problem polega na tym że jeżeli ustawię: np. Timer0 - obsługa przerwań, Timer2 - Generator PWM, to zostaje mi tylko Timer1 do zliczania impulsów. Dlatego też chciałbym spytać jak rozwiązać ten problem aby zliczać impulsy z dwóch transoptorów(potrzebne 2 timery w trybie liczników)....
Całkowicie zapomniałem o temacie :) Z problemem poradziłem sobie w następujący sposób, jest to wycinek z większego programu więc coś może być źle wycięte :) [syntax=c] //--------------------------------------... // Dołączone biblioteki //--------------------------------------...
Wewnętrzny generator nie jest zbyt dokładny, trzeba się liczyć z błędem nawet do kilku procent.
jezeli chodzi o czasy zegara to nie sa az tak bardzo tragiczne (od 60 do 100 us) wiec chyba Bascom sobie z tym poradzi, w moim programie mam generator na timer1 ktory dla kwarcu 8MHz (prescaler = 64)i wartosci w rejestrze licznika 65530 daje mi przerwanie co 40us... moze juz ktos napisal taka komunikacje i moze sie podzielic doswiadczeniami ?? Pozdrawiam
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?...
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. Przeszukałem dokładnie internet i nie znalazłem podobnego przykładu stąd zapytanie. Czy może ktoś podpowiedziec jak napisać obliczenia na zmiennych ? Mam zadanie napisać listing i zaprogramować procka , który będzie mierzył ile impulsów z timer1 mieści się w przerwaniu INT1 , tzn. kiedy INT1 =1 wtedy ile w tym czasie impulsów zliczy Timer1. Licznik...
zarzuciłem do pętli głównej Stop Timer1 Waitms 5 Start Timer1 i przy tym TSOP-y nie reagują. Za długo siedzę przy tym i już głupieje od tego. Udało mi się uzyskać zasięg 50cm ale potrzebuję 100cm. :( cry
(wtedy nie mówimy o PWM Oj tam, PWM z wypełnieniem 50% :-). Z tego co się w tej chwili rysuje, program byłby banalny. Timer0 (albo Tim2, bez różnicy) do debouncingu przycisków, Timer1 do generowania fali (16 bitów to większa rozdzielczość), bez potencjometru to wszystko. Z potencjometrem jeszcze ADC. W sumie jakieś kilkadziesiąt linii, do napisania...
Niestety nie mam takiego tranzystora ale posiadam BC547 , BC107 , BC546 Który się nada?? A można chyba pominąć tranzystor? Wartość 0.05 µF to 500 nF czy 50 nF ??? A czy przy niższej wartości napięcia zasilania układ dalej będzie generował 36kHz ?? A może mi ktoś napisać program w BASCOMie do obsługi tej diody czyli generator 36000 Hz w przerwaniu...
potrzebuję zrobić generator na Timer 1 w ATmega 8 1kHz prostokąt. Proszę o sprawdzenie kodu czy może to działać . Siedzę nad pdf atmegi ,przeglądam konfigurację i opisy i nie bardzo rozumiem. Taktowanie wewnętrzne 1Mhz /preskaler =8/ 125 = powinno wyjść 1kHz ,pożniej jeszcze modyfikacja aby można było przełaczyc na 500 i 250 Hz. 15:44:27 ****...
Witam Potrzebuję zbudować licznik który po zliczeniu określonej liczby impulsów wykona jakąs czynność. Jako generator impulsów wykorzystałem kontaktron magnes i filtr RC Początkowo napisałem program obrotościomierza i wszystko działa ok. A Teraz po małych zmianach nic nie zlicza. Wykorzystuję Timer1 $regfile = "m16def.dat" $crystal = 1000000...
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 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...
Dopiero teraz doszedłem do tego, że na samej górze napisane jest jak wół ze Timer1 ma pracować jako CTC. Właśnie kombinuje jak go ustawić. Dodatkowo żel ustawiłem dzielnik, dla Timera1 i zapewne, dlatego wychodziły bzdury.
Witam wszystkich, jestem początkujący w AVR i potrzebuje porady. Napisałem program do zliczania czasu (timer0) oraz generacji prostokąta na 40khz (timer1- fast pwn 16bitowy) Ogólnie to atmega pracuje na 1Mhz nie daje kwarcu.. Moje pytanie czy jest możliwość zrobienia generatora na 40kHz na innym timer0 lub timer 1 (8 bitowe) bo timer 1 jest 16-bitowy...
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...
Witaj. Zajrzałem do helpa - Timer1=Czestotliwosc jest prawidłową instrukcją. Wcześniej masz - Dim Czestotliwosc As Byte a później operujesz na 16-bitowym Timerze1. W ATtiny26 Timer1 jest 8-bitowy, ale w Mega8 już 16-bitowy. Zmień na - Dim Czestotliwosc As Word i sprawdź rezultat. teedd
Na pierwszy rzut oka w kwarcu. Nie możliwe żebyś zastosował kwarc 4915.2MHz do taktowania Atmega8 ale tu nie no to chodzi bo (chyba) masz kwarc 4.9152MHz. Sprawdz wartość _freq_time. 1. Timer1 ma tylko albo aż 16 bitów. 2. Nie zna C i nie wiem czy integer może przyjmować taką wartość.
a jak przy pomocy assemblera wyslac np 40 bitow na pin np 0.8 ? bo wlasnie ja mam podobny problem staram sie zrobic generator stanow logicznych ... taki w ktorym moglbym sobie zmieniac co ma generowac procesorek w danym czasie ,ale jestem za slaby w programowaniu pomoze ktos ? ;/
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....
Udało mi się! 'Przykład generowania fali prostokątnej niezależnie od CPU 'procesor AT Mega8 'zegar wewnętrzny 1 MHz 'piezo pomiędzy PB.1 a +5V 'UWAGA!!!, ATMEGA8 ma domyślnie załączonego Wachdoga!!!. Trzeba wyłączyć bezpiecznik!!! $regfile = "m8def.dat" $crystal = 1000000 Dim I As Byte Ddrb.1 = 1 'port b.1 wyjściowy '---------------------------------------...
Program ma za zadanie sterować określonym wyjściem - coś w rodzaju software'owego PWM tzn. co około 20ms ma być impuls o szerokości 1ms do 2ms w zależności od żądznego wypełnienia. SIGNAL (SIG_OVERFLOW0)// procedura Timer0 { SERVO_OFF;// servo = 0; TIMSK &= 0xFD;// zatrzymanie Timera0 } SIGNAL (SIG_OVERFLOW1)// procedura Timer1 { TCNT1 = 179; // Wewn©trzny...
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...
Dodano po 14 Witam serdecznie Nie zauważyłem że to kolega Niveasoft , wczorajsza pomoc o generator z Timera1 naprawdę mnie zaskoczyła , prosto i skutecznie. Z tym tematem kręcę się w kółko również wokół Timer1 bo do tego węższego impulsu będzie potrzeba dodać około 20% do porównania czy na pewno jest węższy od tego co idzie za nim. Wiem że pisałem...
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...
generator częstotliwości timer1 atmega8 timer1 generator bascom generator impulsów timer1
laptop bateria actina oporność głośnik dodawanie liczb
analizator widma charakterystyka diody
Brak świateł mijania w Citroën Berlingo 2006 1.6 HDI Odpowietrzanie sprzęgła i pompy w VW LT 2.5