Jak kolega umie na 8 bitach pokazać 77.125 to będzie się dało;) Nie da się.
W multipleksowanym ADC nie da się zrobić pomiarów w tym samym czasie. W "praktycznie" tym samym czasie- da się.
Witam zaciekawił mnie kod arduino funkcji millis(), która liczy czas od załączenia układu. Byłby mi ktoś w stanie wyjaśnić jak ta funkcja działa. Wg mnie jest ona troszkę zbyt skomplikowana jak na proste zliczanie czasu. Podejrzewam, że chodzi o jej dokładność, żeby się czas nie rozjechał. Wrzucam jedyny kod jaki udało mi się znaleźć w Internecie. Strasznie...
Witam! Potrzebuję zmienić TIMER1 do obsługi PWM na TIMER2 ktoś pomoże? ATMEGA32 BASCOM
Witam Mam problem z RTC w atmega32. Podłączyłem kwarc 32,768kHz jak datasheet nakazuje. Jeśli Timer2 skonfiguruje następująco: [syntax=c] TCCR2 = 0b00000001; ASSR |= 1 << 3; TIMSK |= 1<<6; [/syntax] To przerwanie [syntax=c] ISR(TIMER2_OVF_vect) { TCNT2=255; ... } [/syntax] Wykona się tylko 8192 razy na sekundę zamiast 32768. Natomiast jak...
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...
Te procesory się aż tak nie różnią. Dodatkowe funkcjonalności pinów nie przeszkadzają w niczym dopóki ich nie uruchomisz. (PCINT - Pin Change Interrupt trzeba wiedzieć jak włączyć). Jest duża różnica jeśli chodzi o Timery właśnie. Mega8 ma na przykład tylko jeden rejestr Compare dla Timer2 dlatego inaczej się nazywają. Opisałem to u siebie na stronie...
na podstawie flagi z przerwania INT2 na początku pętli głównej wchodzić w uśpienie. Ale pętla główna jest wykonywana powiedzmy 0.5 sek. Co sekundę wykonywane jest przerwanie od Timer2. Więc procesor będzie w uśpieniu tylko ok. 50% czasu. Ale problem z długim wykonywaniem się pętli głównej wystąpi tylko za pierwszym razem po zaniku zasilania (ustawienie...
Co do wykorzystania ATTiny jako RTC to pomysł ogólnie jest ok, ale lepsza w tym przypadku była by jakaś ATMega, w której to Timer2 może pracować w trybie asynchronicznym z kwarcem 32kHz. Takie rozwiązanie w uśpieniu pobiera ok. 5-10uA, więc czas życia baterii będzie stosunkowo długi, na pewno ponad rok pracy na baterii 2032 da się uzyskać (sprawdzone...
Myślę, iż po sprawdzeniu sprawy dowiemy się prawdy na forum. Wie Kolega, nie, zrobię to w ścisłej tajemnicy, tak żeby nikt się o tym nie dowiedział. 1. Podany na samym początku kod kompiluje się BEZ BŁĘDÓW w Bascomie 2.0.7.6 2. Ponadto - rozmawiamy od ATMega32, tymczasem w kodzie załączonym w 1. poście regfile podany jest dla ATMega644p - a to zupełnie...
A gdy by taktowanie było 12MHZ ? Albo jakaś alternatywa, czy tylko w atmega32 można użyć tych 4 nóżek do sterownia serwem ? Bo w programie docelowym będzie jeszcze UART i timery programowe: [syntax=c] void soft_timers_init( void ) { TCCR2 |= (1<<WGM21); TCCR2 |= (1<<CS22)|(1<<CS21)|(1<&l... OCR2 = 108; TIMSK = (1<<OCIE2);...
teraz jak widać 2 sekundy - manipuluję wartością przepełnień zmiennej Licznik_sd - pomiędzy 58000 a 60000 Załadowanie wartości 6 do Timer2 powinno się odbyć tylko na początku ? Config Timer2 = Timer , Prescale = 64 ' 1 sekunda = 500 Timer2 = 6 On Timer2 Czas '250 x 8us = 2 ms , 256 - 250 = 6 Enable Interrupts Enable Timer2 Z Atmega32 nie miałem takich...
Możesz także wykorzystać kwarc tzw zegarkowy 32,768kHz podłączając go do Timer2 (piny TOSC1 i TOSC2) w trybie asynchronicznym.
Dodałem to tylko dlatego aby sprawdzić gdzie i kiedy resetuje się procesor. Bez łańcuchów nie wiedziałem gdzie i co się dzieje bo otrzymywałem tylko ATMega32 UART test Dokonuje pomiaru ATMega32 UART test Dokonuje pomiaru ATMega32 UART test Dokonuje pomiaru TIMER2 Liczy mikrosekundy jak długo trwa echo z HC-SR04 i po jego ponownym uruchomieniu następuje...
Witam. Potrzebuję napisać funkcję która zainicjalizuje Timer w Atmega32 (asynchroniczny) tak, by działał z zewnętrznym kwarcem 32,768kHz podłączonym pod TOSC1/TOSC2. Timer ma zgłaszać przerwanie co 1 sekunde. W przerwaniu powinien zmieniać stan diody na pinie PD0 na przeciwny. Proszę o pomoc w napisaniu kodu . Przepisz dokładnie to samo co napisałeś...
1Hz to raz na sekundę. 8MHz to osiem milionów razy na sekundę. Sekunda jest tu kluczowa. W ciągu sekundy procesor taktowany 8MHz przetworzy około 8mln instrukcji (pomijam te które wymagają dwóch taktow) no a jak podłączysz do procesora taktowanie 16MHz to odwali dwa razy tyle roboty w ciągu sekundy . Zerknąłem na twoje kody i mam kilka rad. W Bascom...
ATMega32 to moim zdaniem dobry wybór, dużo pinów - możesz dużo ledów podłączyć ;) I2C, SPI, UART, Timery w tym ważny Timer2 więc wszystko co potrzeba, by zacząć miło zabawę z tą rodzina uK. Albo to samo z USB czyli ATMega32U2 ..4.
Ok, wracając do tematu to spłodziłem coś takiego i wygląda na to, że działa. Mcucr = &B00000100 On Int1 Pomiar_impulsu Pomiar_impulsu: If Pind.3 = 0 Then Start Timer2 Else Stop Timer2 Czas_impulsu = Timer2 Timer2 = 0 End If Return Dzięki za pomoc Piotr
Timer0 - jeden kanał: OC0 - PB.3 Timer1 - dwa kanały: OC1A, OC1B - PD.5, PD.4 Timer2 - jeden kanał OC2 - PD.7 Racja zapomnialem, ze atmega32 ma 4 pwm, a nie 3 jak atmega8 :P
Witam! ATmega32 16MHz jako slave odbiera dwa bajty po SPI 1MHz ( 15cm taśmy 10 żyłowej )od mastera LPC2148 . Jeżeli jest włączone tylko SPI, a inne przerwania są wyłączone jest wszystko dobrze. Jeżeli włączę przerwanie od timera2 generowane co 100us to zdarza się że atmega gubi jeden bajt i krzaczy się cała transmisja, ale po jakimś czasie jak zgubi...
To może dość krótka procedurka pozwalająca zbudować ciało zegarka RTC np. w układach ATMega8/88/16/32 ; ========================================... ; procedura wywoływana przez TIMER2 co sekundę (praca ASYNC) ; zliczanie odbywa się w kodzie BCD, można łatwo wyłuskiwać ; kody wyświetlanych cyfr przez proste operacje na półbajtach...
Witam. chce zbudować urządzenie które będzie mierzyło prędkość obrotową turbiny i kilka innych rzeczy jak na razie utknąłem z pomiarem prędkości. układ opieram na scalaku Atmega32 do pomiaru prędkości wykorzystuje czujnik hala i magnes zamontowany na wałku (aktualnie wiatraczku komputerowym do testów) Program wygląda w ten sposób że chciałem mierzyć...
Przy użyciu timera2 i trybu CTC chciałem uzyskać przebieg prostokątny o częstotliwości 10Hz. Czy dobrze dobrałem wartość OCR2, aby uzyskać taką częstotliwość? Nie wygląda abyś to zrobił poprawnie i otrzymał spodziewany effekt. Po pierwsze: Jeżeli wyjście kierujesz na pin PD.7, który jest skojarzony z wyjściem Timera2 (OC2) nie ma potrzeby stosowania...
"Ktoś ma jakiś pomysł, żeby to rozwiązać? Może ktoś ustawiał RTC na innej atmedze i mu działał?" Kiedyś robiłem na Atmega32 , i działało . Rożnica taka , że w A32 timer pracujący z oscylatorem zewnętrznym to Timer2 ASSR = 1<<AS2; TCCR2 = 1<<CS22 | 1<<CS20; TIMSK = 1<<TOIE2;
Czy i który timer wykorzystuje 1wire. Chce wyorzystać jeden timer do cyklicznych przerwań, ale jak wykorzystam timer 0 lub timer 1 wysiada transmisja 1wire. ATmega32 nie ma wbudowanego interface 1wire, wiec nie rozumiem problemu, a wróżyc tylko mogę, że o bascom się rozchodzi... Stawiałbym na niezbyt szczęśliwą obsługe przerwań przez Bascom (zapisuje/odczytuje...
Witam, Mam problem z pomiarem czasu trwania impulsu. Próbowałem różnych sposobów, siedzę już nad tym 3 dzień i nic mi nie wychodzi. Na wejście INT0 atmegi32 podaję sygnał np. 30Hz i wypełnieniu 15%. Sygnał jest stabilny więc tutaj problem odpada. Potrzebuję zmierzyć czas trwania stanu wysokiego. W programie który stworzyłem na wyświetlaczu wyświetla...
Witam! Programuję w BascomieAVR układ ATmega32 do obsługi węwnętrznego zegara RTC oraz miltipleksacji sześciu wyświetlaczy. Chciałem się zapytać czy dokładność wewnętrznego zegara RTC (kwarc 32.768kHz), który uruchamiam komendą: Config Clock = Soft, zależy od przerwań TIMER0, które odpowiedzialne są za multipleksację wyświetlaczy?? Rozumiem, że jeżeli...
Witam Mam układ na Atmega32, który mierzy kilka parametrów ( temperatury, wilgotność, ciśnienie ) i zapisuje na karcie SD. Timer0 wykorzystuje do włączania flag Timer1 w trybie PWM do sterowania jasnością, na podstawie wartości odczytanej z czujnika światła Timer2 jest potrzebny do zapisu na karcie SD Chciałem uruchomić odbiór RC5 ( odbiornik jest na...
Witam, zbudowałem klasyczny zegar, tak jak w temacie napisałem na ATmega32, Chińskim module z układem DS1307 i z jakąś pamięcią na I2C której nie używam, czas pokazywany jest na wyświetlaczu LED. Wcześniej testowałem sobie to wszystko z wyświetlaczem LCD 2x16 HD44780 wszystko śmigało mi super. Po dodaniu LCD i multipleksowania zegar po kilku, kilkunastu...
Łap, bo jak się długo męczy temat a efektów nie widać to można popaść w depresję a tego nie chcemy :D Tego LM293 to kupiłem chyba ze dwa lata temu i tak sobie leżał bo używam innych driverów, ale pomyślałem, że się może kiedyś przydać. No i się doczekał :D Nie wiem jaki jest ten Twój silniczek, ale mój pochodzi z Walkmana. Pump up the volume żeby usłyszeć...
na bascomie sie za dobrze nie znam, timery mam juz wykorzystane w programie tak: Config Timer0 = Counter , Edge = Rising Config Timer1 = Timer , Prescale = 64 Config Timer2 = Timer , Prescale = 1 napisales by ustawic timer tak by odliczal sekunde ale nie wiem jak to zrobic(?) i dlatego nadal szukalem prostszego rozwiazania... moze da sie cos wykompinowac...
Ad 1 i 3: Jeśli pytasz o ATmega8, to timerem asynchronicznym jest (jak napisałem powyżej) Timer2. Posiada on dedykowany temu kwarcowi (32,768kHz) oscylator. W przypadku tego mikrokontrolera niestety piny XTAL i TOSC są tymi samymi pinami. W innych przypadkach np. ATmega32 piny te są wydzielone więc można dwa kwarce podłączyć. Szczegóły w tym zakresie:...
Jeżeli dobrze pamiętam, możesz podłączyć kwarc 32768Hz do MCU i używając Timer2 stworzyć niezależny od taktowania procesora zegar RTC. Przykładów szukaj w którejś z not na stronie Atmela. Dodano po 3 AVR134 http://atmel.com/dyn/resources/prod_docu... http://www.atmel.com/dyn/resources/prod_...
Bardzo dziękuję za te informacje. W przyszłości będę to rozbijał na dwie linie(zerowanie i ustawianie bitów rejestru). Tymczasem, po przeczytaniu datasheet, a konkretnie sekcji dotyczącej Timer0 i Timer2, stwierdziłem, że mogę po prostu wpisać jedną liczbę do np. rejestru TCCR0. Np TCCR0 = 0b00001111. To powinno spowodować włączenie pinów 7:4 jako wejścia...
Witam, Mam taki problem. Chcę wysyłać do PC informację w formie takiego temp1;temp2;f1;temp3 i coś jeszcze. Jak wysyłam informację to chcę żeby ona była raz wyświetlana powiedzmy co ok 1-2s a nie tak jak na screenach pod kodem. (to jest losowe). Co może być nie tak. Timera2 używam jako odmierzacz czasu a timer0 do pomiaru częstotliwości (na 555) $regfile...
Hmm, czy ATmega32 na pewno ma timer3? Rzecz w tym, że mam już gotowy układ, w którym są wykorzystane nóżki procka OCR1A i OCR1B (outputy timera1) - gdybym teraz do PWM wykorzystał inny timer, musiałbym wprowadzać zmiany w układzie, czego chciałbym uniknąć (a do tego timer2 też mam zajęty, a silniki są dwa). Mówisz, że logiczne jest, że praca timera...
Ja osobiście jak narazie pisze w Bascomie. W Bascomie wygląda to tak: Config Timer1 = Pwm , Pwm = 8 , Compare A Pwm = Clear Up , Compare B Pwm = Clear Up , Prescale = 1 ' Konfiguracja Timera1 dla Pwm1a i Pwm1b Config Timer2 = Pwm , Async = Off , Pwm = On , Compare Pwm = Clear Down , Prescale = 1 ' Konfiguracja Timera2 dla Ocr2 Config Pinb.3 = Output...
Witam! Dopiero zaczynam zabawę w Bascom-ie, wiec proszę o wyrozumiałość. Zbudowałem układ na Atmega32, 4 kanały PWM do sterowania RGB+biały. Jeden klawisz do zmiany programów, LCD (do sprawdzenia co się dzieje) oraz czujnik oświetlenia na fototranzystorze. Co chciałbym zrobić: -klawiszem zmieniamy programy (różne kombinacje kolorów) -czujnik oświetlenia...
Witam Mam problem z moim układem. Przy pomiarze ADC w moim układzie wyskakuje mi cały czas wartość w okolicach 60 (zakres ADC do 1023). Obojętnie co podaję na wejście cały czas mam tą wartość. Jeżeli jednak dokonuję pomiaru miernikiem to mam odpowiednie napięcie, np 2,5V. Jednak co ciekawe, jeżeli podam te napięcie bezpośrednio na nóżkę w płytce prototypowej...
Witam serdecznie. Mam taki oto problem. Zbudowałem sterownik do centralnego ogrzewania sterujący elektrozaworem i pompą w zależności od temperatury w bojlerze i na piecu. Problem jest taki - po chwili pracy (nieregularnie) resetuje się. Ktoś ma jakiś pomysł? Napięcie zasilające jest dobre. Program w bascomie: '---------------------------------------...
Witam Zawsze bawiłem się z atmega32 ale od do projektu potrzeba mi 6 kanałów PWM 16bit (sterowanie 2 serwa i 4 regulatory z rewersem). Zastosowałem atmega128 T1 i T3 . Wszystko było było by OK ale na kanale OC1C jest brak sygnału , zapewne banalne rozwiązanie ale jakoś nie mogę zatrybić nadajnika: [syntax=vbnet]$regfile = "m32def.dat" $crystal = 16000000...
Witam Mam Atmega32A + PCF8563 + PCF8574 + RFM12 + DS18B20 +DHT11. Port danych LCD to Port.A, ControlPort to Port.C. I2C standardowo na Portc.0 Portc.1. Niestety jest problem z obsługą I2C, tzn. zegar PCF8563 nie działa w ogóle ( na LCD puste pole ) , a klawiatura na PCF8574 - tylko jeden klawisz i to nie ten, który jest przypisany w kodzie ( działa...
Witam Mam program budzika, który jako dodatkową atrakcję miał mieć możliwość mówienie czasu na żądanie i odtwarzanie oprócz buzzera utworu jako alarmu. Atmega steruje przez jedno SPI programowe układem MAX7219, a przez konwerter poziomów i drugie SPI programowe odtwarzaczem WTV020SD. O ile sam WVT020SD + PCF8563 ( wyjście CLK do INT1 ) działają dobrze,...
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 //--------------------------------------...
Witam, Wybrałem przerwanie wyzwalane wejściem ICP Timera1 ponieważ - załatwia mi to 2 rzeczy od razu. Po pierwsze obsługa IR działa ładnie na przerwaniach i nie zajmuję żadnego z wejść INTx, po drugie od razu zużywam ten sam timer. Jeśli chodzi o kod obsługi ramek IR - to pewnie, że obsługuje on tylko poprawne ramki i jest odporny na te "uszkodzone...
Program skrócony, żeby mierzył tylko prędkość i dystans http://obrazki.elektroda.pl/3747501700_1... W załączniku schemat w PDF i SCH (eagle)
To co dawid512 napisał jest najprawdopodobniej na atmega32. Musisz poczytać dokumentację i zmienić ten kod, gdyż timer0 na atmega8 ma trochę mniejsze możliwości. [dodano] Można też skorzystać z timer2, jego obsługa będzie łatwiejsza.
Ale mieszasz. Ustawiłeś dwa cykliczne przerwania i dziwisz się, że coś nierówno miga. Tu w avr nie ma wielowątkowości sprzętowej i jedno przerwanie przeszkadza drugiemu. Przenieś i wyłącz to przerwanie to co masz w ISR(TIMER2...) do ISR(TIMER1...) . Idea programowego PWM i timerów jest właśnie w tym aby działało wszystko pod jednym wspólnym cyklicznym...
I teraz pierwsze pytanie: czy da się zliczać impulsy z zewnątrz używając Timer2? Wtedy bym podpiął do nóżki TOSC. The Oscillator is optimized for use with a 32.768 kHz watch crystal. Applying an external clock to the TOSC1 pin may result in incorrect Timer/Counter2 operation. Jak źle (lub dobrze) jest z tym w praktyce nie wiem. Tylko jeszcze zostaje...
Przecież pisałem ci aby Getrc5 dać w przerwaniu, eeeh, no kolego - weź no użyj troszkę szukajki na elektrodzie chociażby. Int1_rc5: Disable Int1 Enable Interrupts If Ir_flag = 0 Then Getrc5(address , Command) Ir_flag = 1 End If Return a potem w pętli głównej: Do if Ir_flag = 1 then Ir_flag = 0 If Address < 255 then ..... tutaj dalej obrabiasz...
timer2 atmega32 bascom timer2 atmega32 przerwania timer2
inspekcja liczniku schemat generator xr2206 sanyo akumulatorek
attiny13 arduino siemens wyświetlacz
Volvo FH brak zasilania, działa tylko centralny zamek – diagnostyka BDU, MEGA, przekaźnik 15 Ekspres Philips Saeco DeLonghi zawiesił się na odkamienianiu – brak reakcji na reset, płukanie nie kończy cyklu