mam zrobione generowanie na OC1A. Generujesz nośną programowo. Atomowi chodziło o generator sprzętowy (Timer w trybie CTC). Ale on chyba też używa przerwań? Dla mnie już za późno na myślenie. Do jutra.
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,...
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...
Zliczaj przerwania timera co odpowiedni odstęp czasu. Po 59 zliczeniu przerwij generowanie i wyzeruj timer. pozdrawiam
Ten kod nie wykonuje modulacji. Żeby ją wykonać musisz zatrzymać timer/odłączyć jego wyjście do pinu.
Fusebity nie mają tutaj nic do rzeczy. Timer1 oczywiście można skonfigurować w trybie CTC. A przykład Ci już chyba podawałem: [syntax=basic4gl]OCR1A = 65200 'Wartosc porownania TCCR1B = 0b00001001 'Tryb CTC (bit WGM12) oraz start Timera (bit CS10, czyli ustawienie preskalera na 1 co jest rownoznaczne z uruchomieniem Timera)[/syntax]
Jest tylko jeden problem , jestem totalnie zielony w tym temacie i nie za bardzo kojarzę o co chodzi :/. ADC procka ??. próbowałem coś dizałać z timer jak PWN ale nie wyszło.
Nie bawiłem się ATtiny2313, ale jeśli ma PWM to da się zrobić jakieś odtwarzanie dźwięku z próbek. Robiłem takie coś na ATmega128. Puszczasz generator PWM na najwyższej częstotliwości i jakiś timer do generowania przerwania okresowo. Timer determinuje częstotliwość prókowania. Podczas każdego przerwania timera wpisujesz nową próbkę do rejestru generatora...
Czy ktoś budował generator na bazie tego procka i napisał program w bascomie? Zastanawiam się czy można to zrobić w raki spsób: CONFIG TIMER2 = TIMER , MODE = 5 , CLOCKOUT = x a potem zmieniać częstotliwość przez incr/decr x?
Sposobów znalazłoby się kilka, ale ja proponuję: Włączenie "generatora" [syntax=basic4gl]Config Timer1 = Timer , Prescale = 8 , Compare A = Toggle , Clear Timer = 1[/syntax] Wyłączenie "generatora", przez "odłączenie" wyjścia OC1A, od portu(pinu). [syntax=basic4gl]Config Timer1 = Timer , Prescale = 8 , Compare A = Disconnect , Clear Timer = 1 [/syntax]
w bascomie jest dużo gotowych procedur
-Konfigurujesz Timer na stałą, krótką wartość czasową. -Tworzysz tablicę do której wpisujesz czasy poszczególnych sygnałów. -W procedurze przerwania dekrementujesz pobraną zmienną z Tablicy (w tej procedurze nie rób pętli tylko dec). Gdy zostanie wyzerowana pobierasz następną zmienną. inny sposób: -Konfigurujesz Timer jako czasomierz. -Tworzysz tablicę...
Eeeee.... to znaczy? Konfig portu D jest chyba dobry (PD0 do PD6). Dodam, że nie zastosowałem generatora zewnętrznego, a gdy nie zdefiniuję timera, wtedy wszystko (oprócz zegarka oczywiście) działa dobrze.
Najlepiej zacząć od http://www.elektroda.net/download/pafile... Wyjaśnienie jak ten program napisać to o wiele większa fatyga niż program napisać. Skoro mówisz, że chcesz to zrobić sam, przyjemnej lektury. Mam nadzieje, że wiesz że układ czasowy z wyłącznikiem zmierzchowym to tylko połowa sukcesu. Potrzeba ci jeszcze generator...
Nie do końca zrozumiałem wasze obliczenia (programuję dopiero 2 miesiące i nie za bardzo wiem jak ustawić ten timer). Chcę napisać program w bascom a nie w c .Nie wiem jak generować timer tak aby działał na dowolnym porcie D na dowolny port.
Nie wiem co to ma wspólnego z przestrajanym generatorem częstotliwości. Ten mój mnożnik częstotliwości będzie miał Jitter na poziomie kilku % co całkowicie go dyskwalifikuje jak "generator częstotliwości". Generalnie to trzeba zacząć od przetestowania tego co już mamy. Potem się pomyśli nad zwiększeniem zakresu częstotliwości pracy. Jako że nie masz...
Witam. Mam drobny kłopot w zrozumieniu przyporządkowania pinów mogących być wyjściem PWM do zastosowanego timera. W moim przypadku mam trzy timery i każdy z nich potrafi działać w roli generatora PWM. Patrzę jak sroka w gnat w datasheet, ale nie widzę/nie rozumiem odpowiedzi.
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...
Ja to widzę tak: - ustawisz ADC w tryb Free Running, czyli będzie na okrągło wykonywał pomiary na jakimś wejściu a ponieważ wejście zostawimy niepodłączone, to jest szansa na losowe bity. - po skończeniu pomiaru ADC wywoła przerwanie które będziemy wykorzystywać do wszystkich Twoich potrzeb nie tylko do generowania losowej liczby. Innymi słowy ADC zastąpi...
PWM afair, ma tylko kilka możliwych częstotliwości. Raczej byś musiał to poprostu na timerach zrobić. Ale na ile to będzie dokładne w bascomie;P
Może dlatego, że częstotliwość kwarcu lub generatora wewnętrznego (nie wiem co używasz, sądzę że to drugie) jest niedokładna: http://mikrokontrolery.blogspot.com/2011... Programu nie sprawdziłem, bo z Bascom się nie lubimy :)
Coś mi tutaj nie pasuje. Kolega chce generować zmienny sygnał dla buzzera z już wbudowanym generatorem?? Trochę dziwne rozwiązanie. Dlaczego nie zwykły mały głośniczek?
czy do kwarcu 32768 kHz zapiętym do timera 2 trzeba podłączyć kondensatory do masy ??? Jak podłączyłeś ten kwarc? Jeżeli bezpośrednio do wejścia timera to nie będzie działał, musisz zrobić generator na tym kwarcu i dopiero wyjście z generatora podłączyć do procka.
Do drasmen: jeżeli chcesz aby układ zadziałał musisz przestawić fuse bity na wew. generator np. 8MHz a do pinów gdzie podłączasz kwarc musisz wpiąć kwarc zegarkowy 32.768kHz. Program dla autora tematu: 'Program wykorzystujący przerwanie od timera0(8 bitowego) generowane co 8ms 'jeżeli przerwanie zostanie wywołane 125 razy, otrzymamy 1 sekundę...
Jeżeli to jest przetwornica to nie pisz UPS. To kwestia tylko zamiany przed główną pętlą Do Loop: Reset tr1 Set tr1 W kodzie tym początkowym. Pamiętaj o tych 10ms.
Nie wiem dokładnie jak to jest w bascomie zrobione, ale teoretycznie nie. Przerwanie Timera2 musi wprawdzie poczekać na zakończenie obsługi przerwania timera 0, ale wywoływane jest zawsze w takich samych odstępach czasu (generator nie jest przecież zatrzymywany). więc jeżeli nawet w którymś momencie wykona się za późno, to następnym razem wykona się...
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...
wcale sie nie dziwie ze sa takie bledy. wiele razy pisalem i napisze jeszcze raz bascom nie nadaje sie do programow gdzie czas odgrywa wazna role !! a co do dokladnoscie kwarcu to nie o to chodzi bo nawet na oscylatorze rc i programie w asmie mozna uzyskac wieksza dokladnosci niz z superprecyzyjnym generatorem i bascomem !! bascoma pozostamy do aplikacji...
Nie podałeś jeszcze jaki masz kwarc ale kiepsko to widzę... Timery 51 są 16bitowe (max), czyli mogą odliczyć najwyżej 65536 cykli maszynowych, ewentualni mogą zliczzać impulsy zewnętrzne ale to wymaga dodatkowego generatora. Zazwyczaj robi się to tak, że przerwanie jest np. co 10ms i czas 1s czy dowolny inny się odmierza przy pomocy licznika programowego.
Co w tym dziwnego? W czasie 0,1s. generator wykona 400000 taktów. Jeśli przez ten czas pętla zwiększa zmienną o jeden i na końcu wychodzi 9300 to znaczy, że pętla wykonuje się w ok. 43 takty. (niewielki ułamek w wyniku 400000/9300 może pochodzić od Impw = 0 Timer1 = 0, które wykonują się jeden raz po uruchomieniu Timera.)
Kwarc 32768Hz stosuje się gdy uC ma asynchroniczny timer. Taki Timer - Timer2 znajduje się np. w MEGA8. Procek idzie wtedy na generatorze wewnętrznym, a Timer2 na kwarcu dołaczonym do końcówek XTAL. Co prawda nie studiowałem całej noty TINY2313, ale sądzę, że z tym uC się to nie uda.
Cześć mógłby mi ktoś pomóc w zrobieniu układu który by ragował na częstotliwość od 20 do 50Hz. Chodzi mi oto że doprowadzam do wejścia uP sygnał o określonej częstotliwości a procek zaraguje np. zapaleniem diody gdy sygnał ten będzie miał wartość z zakresu 20-50Hz. Poprost nie wiem w jaki sposób dobrać wartości timera i preskalera. Piszę w Bascom-AVR...
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)...
Mega8 faktycznie nie ma OC0 (CTC dla T0), ale już Mega88 i Mega168 mają... sygnał wyjściowy komparatora jest fizycznie dostępny na pinie, nie trzeba go generować programowo. Ostatnio potrzebowałem zrobić taki generatorek na AVR: [url=http://www.elektroda.pl/rtvforum/to... frequency sweep, przemiatanie częstotliwości
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...
Jestem nowy i nie wiem czy dobrze myśle (BASCOM8051)Rezonator standardowy 11Mhz konfig T0 ,włączenie przerwań itp.., a następnie on timer0 40khz load timer0 , 23 do loop 40khz: p3.0 = not p3.0 Dobrze czy zle ,pomóżcie :))
Witam. Ja zrobiłbym to tak: 1. Przebieg pomiarowy wprowadziłbym na wejście przerywające INT0 lub INT1 (w 2051 są dwa więc można mierzyć dwa kanały). 2. Ustawiłbym timer do pracy ze zliczaniem impulsów 1/12 fxtal, w trybie pracy 1, a więc 16-bitowym. Przy kwarcu 12MHz daje to rozdzielczość timera 1us, a maksymalny czas liczony przez timer to 65535 us,...
89C2051 nie ma wewnętrznego oscylatora, więc bez kwarcu lub generatora nie ruszy. Reset - wystarczy sam kondensator. Rzecz jest na tyle mała i prosta, że warto to napisać w asemblerze. Z drugiej strony, jeśli jesteś nowicjuszem, to masz sporo do nauczenia się - potrzebny Ci będzie timer do odliczania czasu, więc musisz się z nim zaprzyjaźnić. Bascom...
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...
Ja też dotarłem do tego helpa :D . Nie chodzi mi o konfigurację poszczególnych timerów, tylko o korzystanie z nich w programie. Tak się składa, że po skonfigurowaniu timera 1 jako generatora PWM, aby z niego korzystać wystarczy w programie wpisać na przykład pwm1a=10. Ta komenda daje (w przypadku na przykład działania 8 - bitowego) współczynnik wypełnienia...
Witam. Maiłem zbudowany zegar z pomiarem temperatury na atmega 16, lcd standard, temp na ds18b2, czas na wewnętrznym oscylatorze 1mhz. Ze względu na dużą niestabilnośc wewnętrznego generatora dołożyłem zewnętrzny kwarc zegarkowy oraz zmieniłem program, który używał timera1 na timer2. I tu pojawiły sie problemy z 1wire. Przypuszczam, że procedury Bascom...
https://obrazki.elektroda.pl/5128171500_... https://obrazki.elektroda.pl/1498445100_... https://obrazki.elektroda.pl/5424905700_... Witam. Przed rozpoczęciem opisywania mojej konstrukcji chciałbym ostrzec: OZON W ZBYT DUŻYM STĘŻENIU JEST SZKODLIWY DLA ZDROWIA I MOŻE ZAGRAŻAĆ ŻYCIU ! Wszelkie próby...
Widzisz ja zajmuje sie programowaniem w Assamblerze nie w c(BASCOM), moje pytanie bardziej brzmialo jak ustawic rejestry od licznika(np T0) zeby pracowal on jako generator, reszta ukladu(tj ladowanie itp, to juz wiem jak wykonac), otoz generator ten ma miec T=0.02s(czyli 50Hz), ma to byc przebieg prostokatny o wypelnieniu 50%, negacje tegozsygnalu bede...
Tryb CTC to tryb pracy timera, w którym przerwanie (od porównania, nie przepełnienia) jest wywoływane na skutek zrównania się wartości timera z rejestrem OCRA timera (jest o tym w dokumentacji do attiny2313). Moje wytknięcie jest raczej przypuszczeniem. Jeśli ów redaktor sprawdził, upewnił się, że wartość do timera jest wpisywana w dopuszczalnym zakresie...
W Bascom też da się to świetnie zrobić, ja raczej bym zapytał: Dlaczego wszędzie te koszmarne Wait (i _delay_XX w C)? W przypadku przedstawionym przez Autora wystarczy użyć 2 timerów do osiągnięcia tego efektu. Jeden timer, jeśli mu to zadamy, co jakiś czas zmniejsza wartość PWM, a drugi jest sprzętowym generatorem pwm. program główny tylko wystawia...
Program ma wygladac nastepujaco. Sa dwa czujniki. W momecie gdy procek dostanie sygnal z pierwszego czujnika, uruchamia wyjscie impulsowe czyli wlacza silnik. Procek czeka i impulsuje do momentu impulsu z 2 czujnika. Po tym caly cykl sie powtarza. Czyli sadzisz zeby tooglowac portem, a przerwy uzaleznic zmienna od ADC wstawiona w waita?? Nie mozna jakos...
Witam !! Proszę mnie oświecić, gdyż mam mętlik w głowie. Chciałbym zrealizować generator na 89.. o częstotliwości 100Hz, tak aby ta częst. była dostępna na jednym z portów. Hmm... najlepiej sinusoida. Bascom oczywiście.. Czytałem o timerach, ich przeładowaniach, ale coś się u mnie zablokowało. Dla swojego ułatwienia zastosuję kwarc 12MHz aby po wewn....
AT90S2313 koszt 3zł+ kwarc do tego biblioteka i2c slave do bascoma, bascom, a czterokanałowy PWM można bez problemu zrobić na jednym timerze - wszystko programowo Zostaje ci jeszcze pare pinów Inne wyjście ATiny2313 koszt 7zł Sprzętowy czterokanałowy PWM, sprzętowy generator 8/4 Mhz i USI z możliwością pracy jako i2c slave - wszystko sprzętowo Wiem...
Mimo moich usilnych prób dalej nie wyświetla nic na LCD, zupełnie nic. Jak będzie tak dalej szło to dam zewnętrzny generator 1kHz na sygnał przerwania i zobaczę co się stanie dalej. Liczyłem na to że uda mi się wycisnąć przy zegarze 8MHz ten sygnał 125khz do generowania PWM 1,25khz. Połowy procedur jeszcze nie ma w programie a tu już za mało ma czasu...
Tu nie ma żadnej filozofii. Ja co prawda programuję na ATmega16 i procedura wygląda tak: void generator_PWM(unsigned int wypelnienie) { TCCR2 =0x69; //tryb FAST PWM, bez preskalera, zeruj OC0 gdy porownanie = TRUE; f = 16M/256 = 62,5kHz OCR2 = wypelnienie; //wartosc porownywana 0..255 } Jak zrobiłeś PWM na ATmega32 to z tego co wiem...
Witam. Nie wiem czy dział będzie ok. Mam nadzieje że tak. Chciałbym poprosić kogoś o napisanie krótkiego programiku w Bascomie. Dawno temu bawiłem się w AVR a teraz mam szybki temat i proszę o pomoc. Program miałby wyglądać następująco. (tak bym go napisał w PLC) Impuls (zbocze narastające) na wejściu X1 setuje marker M1 Marker M1 wyzwala Timer T1 Timer...
Ja? Miałem na myśli Ciebie. Dodano po 7 Żeby nie był offtop: Jak już koniecznie, ale i ja odradzam, to: Jakiś Timer trzeba uruchomić. I programowo nim sterować. To zawsze lepsze, bo nawet jak procesor się zawiesi to Timer będzie chodził. Dokładniej mówiąc to Timera najlepiej uruchomić w Trybie CTC. Ja bym to zrobił na Timer1. Ale początkujący + BASCOM...
Tego nie widziałem. Znalazłem za to informację że dotyczy to rezonatora pracującego jako generator wytwarzający główny sygnał zegarowy: http://obrazki.elektroda.net/9_123515576... A po drugie, akurat w ATMega8 jest błąd w krzemie i te wewnętrzne kondensatory nie działają (tzn. FuseBit ich nie włącza). Użycie rezonatora jako źródła sygnału dla...
Witam, Atmega 8, Timer1. Prosty generator: przerwanie od timera1 ze skróconym cyklem, pętla główna pusta, w przerwaniu zmieniam stan portu. Niby proste... Oto kod: http://obrazki.elektroda.pl/8467182600_1... Są to regularne skrócenia cyklu z 1.085ms na 0.6355ms. Proszę o wyjaśnienie co to jest i jak sie tego pozbyć?
Co prawda w bascomie nie programuje ale tak ogólnie... To musisz wykorzystać timer (żeby częstotliwość była w miarę stabilna) do odmierzania czasu... I znając częstotliwość liczysz okres T=1/f... I tyle razy na sekundę zmieniasz stan pinu(Portd.2)... A z tego co się orientuję to $CRYSTAL dotyczy kwarcu (lub wenętrznego generatora) z jakim pracuje uC...
już prawie ale... jeszcze coś jest nie tak, zrobiłem jak doradzaliście przypisałem 8 do zmiennej i za-load-owałem do timera (reszta programu taka sama jak poprzednio) na pierwszy rzut oka wszystko jest ok, diodka świeci zmieniając swoją jasność w zależności od P I Myśle sobie nareszczie mam generator (tylko teraz przyciski chałowo działają, chyba za...
Witam Od kilku lat bawię się Bascomem i jest to fajny kompilator, ale tylko do pewnego momentu. Helpa można zużyć spokojnie jako papier toaletowy. Publikacje Pana Wiązani są dobre ale tylko na początek zabawy. Ostatnio pracuję nad pilotem RTV który ma obsłużyć 4 urządzenia. No i zaczęły się schody. Pierwszy problem to sprzętowy generator nośnej ok....
ok popróbuje z tą konfiguracją ale jak poprzedni kiedyś programowałem to nie konfigurowałem i działało a teraz nie wiem mam nadzieję że to to i dzięki za pomoc tylko jak skonfigurować jeśli jego stan ma się zmieniać z określoną częstotliwością ?? i raz będzie 1 a raz 0 ?? ----------------------------------------... ok to...
W ASM rozwiązanie Twojego problemu wygląda następująco: [syntax=text] ;DDS DEMO by Bobeer 2012 ;MCU - ATTINY13A ;XTAL - no ;EXT OSC 16,384kHz startup 14CK+64ms BOD=DISABLE CKDIV8=OFF ;minimalna rozdzielczość kroku to 10Hz/256 (0,0390625Hz) ;minimalny "okrągły" krok 10Hz ;maxymalna czestotliwosc 327,68kHz ;regulacja pwm 8bit 0=0V 255=VDD-1bit ;-------------program...
Sprawdzę dopiero jutro jak to działa bo siedzę na 2 zmianie. Jeżeli by to nie poszło to można tak jak mówisz wykorzystać ICP1. Wtedy ( wg. mnie ) na wejście T1 dam sygnał z generatora zewnętrznego na kwarcu np. 125kHz 50% Po co z zewnętrznego. Użyj wewnętrznego. Nie wiem jaka dokładność chcesz otrzymać (po preskalerach sądzę, że niewielką). Jeśli dużą,...
Usiadłem przy Atmedze328P i uruchomiłem SPWM dla Twojego przykładu. Zdefiniowałem następujące wyjścia sygnałów: - PD0 - sterowanie lewym dolnym MOSFETem mostka H - PD1 - sterowanie prawym dolnym MOSFETem mostka H - PD5 - sterowanie lewym górnym MOSFETem mostka H - PD6 - sterowanie prawym górnym MOSFETem mostka H Wyjścia PD5 i PD6 są niezmienialne, ze...
Witam, Otóż wykorzystuję licznik Timer0, do liczenia (aby wygenerować liczbę pseudolosową NIE wykorzystuję do przerwań!) Więc wydaje mi się, że może być wykorzystywany razem z odbiorem RC5 Jak naciśnie się przycisk na pilocie, to ___rseed = Timer0 Czyli podstawa generatora RDM, jest taka jak licznik,po prostu wygeneruje mi się l za każdym razem (bo...
Wbrew pozorom najłatwiej będzie zrobić to na małym mikrokontrolerze ;-) Procesor, rezystor, dioda, 10 linijek w Bascomie i miga jak sobie tylko zażyczysz. Tylko po co, pytam retorycznie? µCPU jeszcze nie znano, a ja takie generatory - na przestrzeni lat '60'70 ub.w. - konstruowałem, ale (co prawda) w technice cyfrowo-analogowej. Wiem, rozumiem,...
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...
Njaprościej ustawiając i zerując bit na porcie w pętli. Np w Bascomie: do Set PortX.Y Gosub Opoznienie Reset PortX.Y Gosub Opoznienie loop Jaki problem ? masz ograniczoną częstotliwość maksmalną, oraz sygnał nie jest symetryczny ze względu na opóżnienie przy skoku w do loop. (można użyć konstrukcji goto to zmniejszy nieco asymentrię) Aby sygnał był...
Każda częstotliwość generatora, która jest podzielna przez 12 umożliwia precyzyjne odmierzenie 1/12 sekundy - wystarczy zaprogramować timer tak, aby (wraz z preskalerem) odliczył 1/12 sekundy, np: - oscylator 12 MHz, odliczamy do 1000000 (np. preskaler 64, okres 15625) - oscylator 11059200, odliczamy do 921600 (np. preskaler 1024, okres 900) ... i pewnie...
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ź...
Witaj. Postaram się w miarę szybko wyjaśnić algorytm działania programu. Procesor jest taktowany z częstotliwością 4MHz, i ta częstotliwość jest dzielona przez 1024 w preskalerze timera 0 - na wejściu timera 0 mamy impuls co 0.256 ms. Timer 0 jest tak skonfigurowany, że wywołuje przerwanie po jego przepełnieniu. Chcemy mieć przerwania z regulowaną częstotliwością...
Zrobiłem ten filterek z tym, że zamiast 220nF dałem 100nF bo nie miałem takiego. Reszta takie same parametry. Testowałem dzisiaj, niestety z marnym skutkiem zero na wyświetlaczu, zarówno przy impulsach z motocykla jak i tych z timera. Program w uC ten który ładnie liczył impulsy z generatorka sprawdzony. I teraz nie wiem czy mam coś źle podłączone czy...
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,...
Czereśnie na moich drzewkach już się skończyły :] Szpaki odstraszałem zeszłorocznym odstraszaczem, który nie najlepiej się spisuje. Teraz myślę nad odstraszaczem na przyszły rok. Trzepotanie skrzydłami to rozwiązanie za pewne dobre, zastanowię się jeszcze nad tym. Dondu, mógłbyś zarzucić jakiś przykład takiego generowania dźwięku w C? Znalazłem jedynie...
Właśnie przed chwilą też uruchomiłem zegar na ATMega8 choć wykorzystujący kwarc 32kHz (tzw. zegarkowy) niezależny od generatora głównego procesora. Jeżeli chcesz pozostać przy swoim pomyśle (równie dobrym) to w BASCOM-mie po kompilacji przejdź do opcji programatora gdzie będziesz miał trzy zakładki FlashROM ,EEPROM i Lock and Fuse Bits. Więc wybierz...
Następnym razem zanim zaczniesz pisać kod to użyj kalkulatora. To wszystko przecież można policzyć. Inną sprawą jest samo podejście do tematu. Chyba nie poczytałeś zbyt wiele. Tranzystory nie zamykają się "od razu" i jeśli nie zastosujesz przerw pomiędzy włączaniem drugiego tranzystora po wyłączeniu pierwszego to przez chwilę będą przewodzić oba. Takie...
"ukladu fotokomorki a mianowicie w tym ukladzie generatora 33kHz" moim zdaniem tutaj nie ma co sie bawic w generowanie 33khz z procesora.... chyba prosciej bedzie zrobic generator na 555. Jesli jest potrzeba wlanczania i wylanczania go, to mozna poprzez pin 4 (reset).
Jeśli masz sterownik do silnika i potrzebujesz tylko dir i enable to raczej nie steruj go przez PWM. Potrzebujesz generatora o zmiennej częstotliwości zrobionego na procesorze. A nie o zmiennym wypełnieniu impulsów. To się nazywa rampa. Powinna być używana zarówno przy starcie jak i hamowaniu silnika. Wypełnienie powinno być stałe albo dawać krótkie...
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...
Bardzo dziękuję za tą podpowiedź. Obecnie podkształcę się o tym trybie i postaram dokończyć program. Jednak po tym co wyczytałem wykorzystałem generator wewnętrzny na 8MHz '$crystal = 8000000 Ale tu pojawia się małe pytanie, czy lepiej dać generator wewnętrzny czy może kwarc zewnętrzny Wprawdzie za dużo nie udało mi się znaleźć pod BASCOM-a, a pod C,...
Testowałem wprowadzanie wielocyfrowych liczb przy użyciu Getkbd() z powodzeniem w dwóch "edukacyjnych" projektach zabawowych z ciekawości. Jednym był przelicznik wartości Hex to Bin and Dec/ Dec to Bin and Hex/ Bin to Hex and Dec, a drugim mini generator - wpisujesz częstotliwość możliwą do wygenerowania przez sam AVR z palca i ten sam konfiguruje Timer....
Witam, chcę zbudować generator przebiegu prostokątnego o wypełnieniu 50% na ATtiny2313. Chcę zmieniać płynnie jego częstotliwość. Znalazłem program w Bascom dla uC AT90S2313 (generator przebiegu przestrajany liczbą): http://obrazki.elektroda.net/54_11989575... problem w tym, że nie chce on działać w uC ATtiny2313 !!, tzn. niby działa bo stan...
Rób od razu gadającą hahahaha :D [url=http://evertdekker.com/Joomla/index... (dzwięki sa w tanim eepromie I2C) ..a tu kawałek funkcji losującej. Dla lepszego "mieszania" użyto jako wartości wejsciowej stanu Timera [syntax=basic4gl]Do ___rseed = Timer2 'Random generator is seed with timer2...
Dr.Vee , fajnie piszesz i tym razem coś tam zrozumiałem hihihihihihi, wiem że wdepnąłem na forum gdzie prawie rozmawia się asemblerem, zaraz ktoś mnie skwituje że asembler jest podstawą hehehehe, Ja niestety spocząłem na podstawach Bascoma. Może dla tego że kiedyś bawiłem się ośmio bitowcami ale to dawne czasy :) . Popatrzcie Panowie na to troszkę inaczej,...
Witam. Jestem kompletnie słaby jeśli chodzi o timery i przerwania w atmegach. Próbowałem to zrozumieć, ale całkiem mi nie idzie. Mam "generator" impulsów prostokątnych o różnym odstępie i długości. Potrzebuje mierzyć czas trwania całego impulsu. Częstotliwość niewielka, maksymalnie 200Hz. http://obrazki.elektroda.pl/8068495000_1... Czyli...
Moze lepiej uzyc przerwania od przepelnienia Timera. Ustawic tam taka wartosc poczatkową, żeby przepelnial sie co 5 sekund, a jak sie nie da tak duzo, to co 1 sekunde i zwiekszać jakiś licznik. Jak licznik osiagnie wartość 5 to wywołać podpogram Dim Licznik As Integer On Timer1 Co_sekunde Enable Interrupts ' Wlaczenie przerwan Enable Timer1 ' Aktywowanie...
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ść...
Witam. Jestem początkujący jeżeli chodzi o mikrokontrolery. Chciałbym prosić kogoś bardziej doświadczonego o sprawdzenie poprawności mojego programu. Działanie: Sterowanie 3 silnikami BLDC i 1 serwo za pomocą PWM. uC otrzymuje przez UART literę oznaczającą funkcję, następnie ma ją zrealizować. Silniki podłączone będą przez regulatory modelarskie, 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...
emarcus dzięki teraz już gra. ... Mam jeszcze takie pytaniena wejście INT0 podam np sygnał z generatora który podaje przebieg np 4.8KHz to na wyświetlaczu pojawia mi się liczba 11136 zamiast 4800. Co może być nie tak ? Poniżej podaję listing programu. $regfile = "attiny2313.dat" $crystal = 12000000 Portd = &B00100100 Portb = &B00000000 Config...
Tak ale impulsy mają być sygnalizowane i widoczne na diodzie LED , a w ten sposób chyba nie zobaczę . Może by to zrobić przez PULSEOUT tylko między nimi musi być WAIT ? Dodano po 3 Zrobiłem coś takiego ale proszę o sprawdzenie i poprawki , Nie wiem też jak zrobic podprogram Generator aby zrobił 3 razy taki impuls jak w programie Odmierz . Ma to sens...
Zamiast kombinować z WDT to można zrobić zewnętrzny generator na bramkach NAND dający impuls co np 10sek albo dłużej (zwykły NE555 za dużo prądu żre). Zwiększasz sobie 16-bit timer i np. na int compare_a robisz żeby zaskoczył co godzinę. Odpada wtedy zabawa z pamięcią. Innym sposobem jest wzięcie zegarkowego PCFa i ustawienie mu godziny oraz minuty...
PRESCALEThe TIMER is connected to the system clock in this case. You can select the division of the system clock with this parameter. Valid values are 1 , 8, 64, 256 or 1024 Jak masz szybszy kwarc to dajesz stosowny dzielnik. Aby przebieg PWM odpowiadał wymaganiom. Wszystko zależy z jaką częstotliwością ten generator ma nadawać. Zegar 8MHz/65536/PRESCALE...
Witam szanownych Forumowiczów. Napotkałem pewien problem podczas pisania programu pod nowe urządzenie. W programie wykorzystuję Timer0 do generowania przerwania w obsłudze którego wykonuje się praktycznie cały program, czas wykonania obsługi jest różny w zależności od parametrów. Tu wszystko jest OK, mogę wpisać początkową wartość, i dowolnie częstotliwość...
$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...
Odświerzę trochę temat. Ja konkretnie muszę w miarę precyzyjnie zmierzyć prędkość obrotową w możliwie krótkim czasie. prędkość w zakresie 750-6500 obr/min. Dysponuje tarczą 25 nacięć na obrót i fotokomórką szczelinową która daje ttl na wyjściu. Puki co ttl generuje z generatora ne555 by uniknąć błędów pomiarów związanych ze stroną mechaniczną systemu....
Na wyjściu TxD (port po przejsciu przez 232) powinno utrzymywać się napięcie około -10V przy braku transmisji. (5V na porcie procesora) Jeśli terminal nie reaguje być może jest zła prędkość tzn źle zaprogramowana, może generator częstotliwości będącej podstawą prędkości transmisji (tzw. baud rate generator) nie jest dobrze zaprogramowany lub uruchomiony...
Co do kwarca do attiny13 zapomniałem, że nie ma wejścia ale na pytanie odpowiem: Generator albo zintegrowany albo zbudować Pierce'a może da się jakoś wykorzystać do budowy mikrokontroler ale nie wiem czy da się wyprowadzić odwrotność clocka. Zawsze można wewnętrzny ustawić na 128kHz i podzielić lock_prescale_set( clock_div_4) nie wiem jak to się robi...
Witam wszystkich! mam zamiar zrealizować przetwornice http://www.elportal.pl/pdf/k04/37_05b.pd... na attiny13 tzn. końcówka mocy ma pozostać ale sterowanie na mikrokontrolerze. Według obliczeń wyszło, że generator na bramkach w tym układzie z kitu AVT ma ok 2,5kHz sprzężenie zwrotne nie wchodzi w grę. Napisałem taki kod w bascomie: [syntax=basic4gl]$regfile...
Witam! Chciałbym uzyskać przebieg o wypełnieniu 50% i f~33kHz w trybie CTC na pinie PB3 Atmega 8L (OC2). Podpiąłem wyjście OC2 na oscyloskop i ciągle stan wysoki. Pierwszy raz i na szybko potrzebuję wygenerować taki przebieg. Proszę o pomoc. Późno już i coś mnie chyba przyćmiło. Namieszałem coś z ustawieniami portów czy jakiś rejestr nie jest ustawiony?...
To popraw zasilanie, bo jesli tak ci się to sypie to znaczy że jest bardzo źle. Włącz sobie generator RC, do nóżek TOSC podłącz kwarc 32kHz. Prawdopodobnie trzeba tez dodac do jego nóżek kondensatory. W AtM8 mozna je właczyć wewnętrznie, a widzę że ty masz M32 więc nic z tego. TIMER2 będzie ci cykał tym kwarcem. Ustaw mu preskaler na 1024. Co 32 cyknięcia...
Przedstawię bliżej sprawę: mam 2 potencjometry 50 k Ohm. Zmieniając wartość rezystancji pierwszego z nich muszę wygenerować częstotliwość od 100 do 3000 Hz z krokiem co 100 Hz, a zmieniając wartość rezystancji drugiego z nich muszę wygenerować częstotliwość od 30 do 70 Hz z krokiem co 1 Hz. Na końcu muszę zsumować te dwie częstotliwości i je "wygenerować"...
Poleceniem: $crystal ustawiasz częstotliwość generatora/rezonatora i nie ma to znaczenia dla programatora i programowania a ma znaczenie dla niektórych poleceń Bascoma, takich gdzie jest potrzeba liczenia czasów bez timera, np. wait, itp. Zamiast używać polecenia $crystal możesz ustawić częstotliwość w ustawieniach Bascoma, ale zawsze lepiej umieścić....
timer generator generator timer bascom generator
montaż front zmywarka przewodność mosiądzu powolne narastanie
elektrownia wiatrowa radio alpine jakie kupić
Sterownik Delta Dore - świecące diody czerwona i zielona Jak skleić śmigło zmywarki: kleje i techniki