Witam. Przewertowałem dokumentację ATTiny44 i nie za bardzo widzę aby było coś dedykowane do sterowania fazowego (proszę nie mylić z PWM). ATTiny 44 ma dwa timery i oba mają PWM sprzętowy , z czego jeden jest 8 bitowy drugi 16 bitowy (oczywiście timer nie PWM). Natomiast PIC na 3 timery 16 bitowe ale tylko 1 PWM ale o rozdzielczości 16bitów. No i moc...
Czyli zwykły prosty miernik częstotliwości z jej porównaniem przy pewnej wartości - bez problemu się to na jednym timerze realizuje... Zobacz tu: [youtube]http://www.youtube.com/watch?v=... Złapałem tym nawet 40tys. obr/min :) Co prawda to przykład na attiny44, bo obsługa wyświetlacza i takie tam duperele zabierają jednak piny i pamięć...
Witam! Potrzebuje na procesorze Attiny44 zaprogramowac generator sygnału prostokątnego o częstotliwości 100Hz. Program pisałem w C, jego treść zamieszczam poniżej. Po przestudiowaniu dokumentacji od AVR, stwierdzilem ze użyć należalo by któregoś z Timerów. Mój pomysł był taki, aby zliczać do pewnej wartości, po której licznik zgłaszał by przerwanie,...
OK, no to następne podejście z nadmiarowym kodem testowym odliczającym w kółko na ATmega8515 zamiast ADC - wyświetlanie bez zarzutu. Co do tego dziwnie wyświetlanego zera, to może masz zamienione a z g, b z f itp. W tej wersji łatwiej zapanować nad częstotliwością odświeżania segmentów - zbyt duża skutkuje podświetlaniem sąsiednich cyfr, zbyt mała -...
Nie. Chodzi mi o prescaler timerów. Sprawdź w datasheet rejestr GTCCR
Więc Kolego czym to się różni od mojego? Timer0 wygląda tak: [syntax=basic4gl][/syntax] $regfile = "ATTINY44.dat" $crystal = 8000000 Config Timer0 = Timer , Prescale = 1 Enable Timer0 On Timer0 Prztimer0 Enable Interrupts Do Led1 = 10 Led2 = 20 Led3 = 30 Loop Prztimer0: Incr Licznik If Licznik > 100 Then Licznik = 0 End If If Flaga1 = 1 Then If Licznik...
Yogi009 jeśli coś się zmieniło w tej materii to chętnie zerknąłbym na jakieś sensowne tutoriale. Piotrze, nie jestem bardzo mocny w tym programowaniu, ale kilka konstrukcji na ATtiny13 i ATtiny44 popełniłem - nie było tam nic szczególnego. Po prostu piszesz kod, kompilujesz i wgrywasz. Standard.
Panel dotykowy z 6 diodami sterowany po i2c na ATTINY44 Poniższy materiał przedstawia próbę ugryzienia tematu krytycznych zależności czasowych w asemblerze. Zadaniem było stworzenie stabilnie działającej aplikacji która obsłuży: komunikację z procesorem nadrzędnym w trybie slave i2c sterowanie multipleksowanymi diodami z 8bitowa regulacja jasności...
Witam Programuję przy użyciu BASCOM AVR układ ATtiny45 i jeżeli chcę użyć Timer1 to pokazuje się błąd "Error: 222 Illegal character [expected (,got" [TCCR2B]]. Jeżeli w programie użyję Timer0, to wszystko jest OK. Również jest OK z Timer1 gdy wpiszę inny typ mikrokontrolera n.p. Attiny44. Temat był już przed laty poruszany na forum ale nie znalazłem...
https://obrazki.elektroda.pl/6021352700_... https://obrazki.elektroda.pl/6921159500_... https://obrazki.elektroda.pl/3416870700_... https://obrazki.elektroda.pl/7961253800_... https://obrazki.elektroda.pl/7601893100_... Dzisiaj przedstawię państwu dwa sejfy dla dzieciaków,...
Jeżeli cię interesuje duża częstotliwość dla PWM to lepiej nadaje się do tego timer1 a nie timer0, ponieważ pierwszy można popędzić z PLL-a do 64MHz
Witam, wykonuję urządzonka do pomiaru temperaturowy bezprzewodowo, całość zasilane z baterii 3.6V. Zastosowałem Attiny44V, do pobudki ze stanu uśpienia chciałem zastosować Wake-Up Timer z modułu RF12B, sygnału zwrotnego oczekiwałem na nIRQ (w dokumentacji nie opisują tego), ale bez powodzenia. Czy w ogóle można ten timer ze RF12B wykorzystać do wybudzania...
Jeśli chcesz robić odliczanie w pętli głównej to zrób tak: $regfile = "attiny45.dat" $crystal = 4000000 Config Pinb.0 = Output 'wyjście Config Pinb.1 = Output 'wyjście Config Pinb.2 = Input 'przycisk Portb.0 = 1 Portb.1 = 0 Portb.2 = 1 Config Timer0 = Timer , Prescale = 1024 Enable Interrupts Enable Timer0 Start Timer0 On Timer0 Zegar Dim...
Nie znam za grosz bascoma... Ale ogólnie to tak... Pogonił bym go z wewnętrznej PLL (64MHz) na 16MHz... To samo z zegarem timera... Dzięki temu częstotliwość dla PWM będzie jako taka... W zasadzie to sprowadza się to do zrealizowania timera 12-bit... W C łatwiej mi pokazać o co chodzi niż pisać esej... ISR (TIM1_OVF_vect) { if(timer_compare==timer_counter)...
Brakuje inicjalizacji stosu i powrotu z obsługi przerwania (reti).
Odpowiedź szukaj na stronie producenta www.atmel.com a dokładniej: http://www.atmel.com/dyn/resources/prod_... Generalnie atmel podaje sporo informacji dotyczącej wykorzystania nowych układów w zastępstwie wycofanych z produkcji i wymaganych zmian. Jedynym co trzeba zrobić to poszukać i poczytać ;) http://www.atmel.com/dyn/products/app_no...
Witajcie. Tak sobie czytam datasheet ATtiny44, sekcję dotyczącą Timera1 (strona 110.) i trybu PWM (Phase Correct i Phase & Freq. Correct) i mam wątpliwości dotyczące ustawień. Jak wiadomo wypełnienie przebiegu ustawiamy korzystając z rejestru porównania OCR1A natomiast wartość TOP definiująca pośrednio częstotliwość przebiegu PWM równa jest jednej z...
Uruchomiłeś: TIMSK0 |= (1<<OCIE0A); przerwanie od porównania a obsługujesz: ISR(TIM0_OVF_vect) przerwanie od przepełnienia. A tak przy okazji: - zmienne zsyp1 i 2 to gdzieś zerujesz? Czy tylko je inkrementujesz aż się przekręcą? - zmienna "CZAS_NA_test" jest niepotrzebna. Równie dobrze mógłbyś w main sprawdzać czy zmienna i>=75 a w przerwaniu...
..Niestety nóżki procesora ani drgną. Poczytałem wątki na forum, przeczytałem cały rozdział w nocie o Timer0 i 0 pomysłu na dalsze próby. Nie "drgają" :D , bo obie (OC0A i OC0B) są ustawione w tryb normal port operation - patrz tabela 27 i tabela 30 dokumentacji ATTiny13. Spróbuj np.: TCCR0A=(1<<WGM00)|(1&l...
Z jaką znowu biblioteką? RC5SEND jest w kompilatorze jako code template a nie w bibliotece i zmienić się jej nie da. RC5SEND korzysta z 16-bitowego licznika TIMER1, którego to ATtiny45 nie posiada . Ma tylko dwa 8 bitowe liczniki. Rozwiązanie jest i to na forum MCS Electronics. Poszukaj!
Znalazłem rozwiązanie, jak by ktoś potrzebował to należy w pliku hardware/arduino/cores/arduino/wiring.c linijkę: #if defined(__AVR_ATtiny24__) || defined(__AVR_ATtiny44__) || defined(__AVR_ATtiny84__) SIGNAL(TIM0_OVF_vect) #else SIGNAL(TIMER0_OVF_vect) #endif zamienić na: #if defined(__AVR_ATtiny24__) || defined(__AVR_ATtiny44__) || defined(__AVR_ATtiny84__)...
Witam. Postanowiłem pobawić się czujnikiem jak w temacie. Problem Jest taki że nie mogę się z nim dogadać. Dla testów podłączyłem pod Atmege8 z kodem: [syntax=vbnet] $regfile = "m8def.dat" $crystal = 8000000 'taktowanie Open "comd.1:9600,8,n,1" For Output As #1 Print #1 , "serial output" Wait 2 '##################################### Config Pinb.0 =...
Tylko czemu ten kod jest taki nieoptymalny... A dałoby się to zrobić prościej z użyciem tablic danych. Np. podobnie jak to zrobiłem tutaj (kod do lampki RGB z programowym PWM): $regfile = "attiny45.dat" $crystal = 8000000 $prog &HFF , &HE2 , &HDF , &HFF Dim Pwmr As Byte , Pwmg As Byte , Pwmb As Byte Dim Count As Byte Dim Pbshadow As Byte Dim...
Witam, Mam pewien problem dotyczący licznika Timer1 w procesorze TINY45. Programuję w BASCOM. Procesor TINY45 posiada 2 liczniki 8-bitowe: TimerO oraz Timer1. Problem w tym, że nie bardzo mi się udaje zmusić Timer1 do działania... Napisałem taki prosty program na próbę: $regfile = "attiny45.dat" $crystal = 8000000 Config Pinb.3 = Output Led...
Witam Mam taki problem przy wgraniu poniższego programu do attiny45 dioda zamiast świecić z odpowiednią jasnością miga z dużą częstotliwością. Dodam że ten sam program na attiny26 działa tak jak powinien czyli dioda świeci z odpowiednią jasnością bez widocznego dla oka mrugania. Oby dwóch przypadkach fusy przestawione na taktowanie wewnętrzne 8MHz....
Dzięki, szczerze powiem że nie przyszło mi to do głowy. Diody mam 3,3V. Niestety ale na diodach 3,6V jest to samo. Jakieś inne pomysły? http://obrazki.elektroda.pl/7658833200_1... Programator USB ISP działa bezproblemowo na tej płycie, a tez jest na wirtualnym USB. O co kaman? Znalazłem problem, problem stwarza biblioteka "IRremote.h"...
Pracuje nas sterowaniem małego serwomechanizmu: http://www.rctrax.pl/product/Serwo-HXT50... Programuje w Bascom AVR i do tego celu wykorzystuję jedynie Timer0. Nie mogę wykorzystać dodatkowego timera1 bo ten będzie służył do odliczania czasu. Instrukcji Serwos() także nie chce wykorzystywać...jakoś nie mam do niego zaufania...
A jak masz ustawiony timer - rzuć kodem.
Hej! Masz rację - ztym kontrolerem (lub Bascomem) jest coś nie tak, ponieważ próbowałem zrobić na nim prosty sterownik z użyciem IR "Get RC5", i niestety bascom wywala error, że niemożliwe w tym chipie najpewniej błąd Timera (nie pamiętam 0 czy 1). Tak zechyba nie robisz błędu, tylko w Bascomie w stosunku do tego procka jest coś spaprane.
Coś takiego znalazłem. Co prawda na Atiny ale można przerobić. [syntax=c]// // Talking to ultrasonic sensor HC-SR04 with an ATtiny84, and // sending distance data using serial communications. // // electronut.in // #include <avr/io.h> #include <string.h> #include <util/delay.h> #include <avr/interrupt.h> #define F_CPU 8000000...
Bo Timer1 w ATTiny45 ma 8bitów.
Dzięki, znalazłem. Jakiś powód musiał być, że nazwa timera to 'TIM' a nie TIMER'..;/ Zauważyłem że opcja "compare match" może wystąpić jako "A" lub 'B' TIM0_COMPA_vect Timer/Counter Compare Match A TIM0_COMPB_vect Timer/Counter Compare Match B Ty niedawno napisałeś w innym temacie: "Ogólnie najpierw ustawiasz WGM na CTC, preskaler, TCCR0A a potem przerwanie...
Timer 555 ma też wersję CMOS - niskoprądową ale raczej ci się nie przyda, to nie jest element do wyłączania o określonych godzinach. Jak urządzenie ma działać długo bez ingerencji i się nie rozjeżdżać w czasie, to musi mieć precyzyjny zegar na pokładzie, zegar ten też musi być jakoś ustawiany po włożeniu baterii, takie założenia wymagają użycia mikrokontrolera...
No tak... nie znam not na pamięć i okazuje się, że Attiny45 ma za mały timer1 http://www.elektroda.pl/rtvforum/topic14...
Elementem wywołującym pracę układu jest Switch S1 który zwierając port PB1 do masy wywołuję zewnętrzne przerwanie INT0 Uzywanie przerwania do styków butonnów, klawiszy i innych podobnych diabelstw jest najgorszym pomysłem. Temat był na tym forum poruszany setki razy - proponuje włożyć trochę wysiłku i użyć wyszukiwarki.
Witam. Może mi ktoś powiedzieć dlaczego nie działa wyjscie PWM na końcówce PB.4? $regfile = "attiny45.dat" $crystal = 8000000 Config Portb = &B110111 Portb = &B111111 Config Timer1 = Pwm , Compare B Pwm = Clear Down , Prescale = 1 DO OCR1B = 100 loop to kawałek programu reszta nie jest istotna...
W takim razie: w jak sposób i w którym miejscu następuje podłączenie głównego pliku irmp.c z poziomu irmp.h? W źródłach IRMP są przykłady jak używać z konkretną rodziną procków. irmp_get_data Powyższy plik mógłby być po prostu bazą dla twoich funkcji. Najważniejsze oczywiście jest to, że irmp.c musi być poddane kompilacji a potem linkowaniu. W tej...
Timer nie dziala poprawnie , Powinna występować zmiana stanu diody co 1s, a przerwanie co 1ms. Kod programu z przerwaniem: [[syntax=c] int main (void) { DDRB |= (1 << PB3); TCCR0A |= (1 << WGM01); // Configure timer 1 for CTC mode TIMSK0 |= (1 << OCIE0A); // Enable CTC interrupt sei(); // Enable global interrupts OCR0A = 150; // Set...
no ok, wiem już że mogę kombinować z programowym pwm, lecz to sobie raczej odpuszczę. Powiedzcie mi w takim razie jaki scalak dobrać zamiast tiny13? Obowiązkowo musi to być dip8. Rozumiem, że warunkiem koniecznym są 2 timery. Attiny45 się nada? Czy może jest jakiś inny w dip8 z dwoma timerami?
Temat odblokowałem z uwagi na fakt, że potrzebuję takiego wyjścia przeciwsobnego PWM w układzie attiny24, który to nie obsługuje biblioteki TimerOne. Muszę więc ręcznie ustawić rejestry timera tylko nie bardzo wiem jak i które Problem jest trochę inny. W wypadku ATtiny24 dość dużym wyzwaniem będzie skorzystanie z Arduino Core (jest dostępne [1]). Ten...
Tak, na początku napisałeś, że chcesz to zrobić na sprzętowym pwm, ale w programie tego nie widać. Potrzebujesz timera z dwoma kanałami pwm. Dlaczego uparłeś się na jeden kanał? Zrobiłem na tych dwóch pinach, bo takie miałem wolne. Próbowałem wcześniej na 2 kanałach (OC0A oraz 0C0B), ale efekt jest taki sam - to samo napięcie na dwóch pinach. Wykorzystuję...
Teraz ogólnie ciekawe rzeczy wychodzą w ramach TINY. Ostatnio czytałem jakąś AppNote, gdzie w TINY był timer pracujący na 64MHz To już AtTiny24/45/85 miał (wbudowany PLL). AT90PWM chyba też. Mapowanie peryferii ma Tiny167. On tez ma wbudowane źródło prądowe przydatne przy pomiarze rezystancji czy pojemności.
Domyślnie masz 9.6 MHz dzielone przez 8, czyli 1.2 MHz. Wszystko się zgadza. Po co używasz operatora |= przy inicjowaniu peryferiali? Wstaw jakieś usypianie do pętli w main(). Zmienna timer_overflow_ nie powinna mieć atrybutu volatile. Zamiast tego, podobnie jak indeks, powinna być zadeklarowana wewnątrz procedury obsługi przerwania jako static. tab[]...
Jutro jeszcze sprawdzę jak będzie działać Attiny 45. Może coś uda się osiągnąć. Zrobiłem trochę testów na attiny13 i po nich jestem bardzo sceptyczny co do użyteczności funkcji micros() w takim zastosowaniu jak metoda użyta w twoim szkicu. Mam obawy że na attiny45 problem może być ten sam, tylko nieco mniejszy, z powodu możliwości wyższego taktowania....
Overclocker --> w helpie masz napisane, że Rc5send korzysta z Timer1 (który musi być 16bitowy) - a sprawdzałeś w nocie PDF procka ATtiny45 czy jest Timer1 ???? podpowiadam że jest w nim Timer1 ;) ale niestety nie 16bitowy i nie kompatybilny że tak powiem z tym poleceniem - dlatego ci to nie działa a kompilator wywala tyle błędów
Nie mam niestety w mojej wersji Tiny212 i podobnych nowszych kontrolerów, a informatyk że mnie słaby. Jego byś i tak nie zaprogramował bez nowego programatora obsługującego UPDI, a sam procek ciekawy, ma np 4 różne timery :) Mogę zrobić trzeci przycisk (K3) programowo, rozdzielić diodami i podać na raz na K1+K2, ale mogę też użyć PB.5, tylko nie wiem,...
Witam Przy próbie skompilowania pokazuje się taki błąd: http://obrazki.elektroda.pl/3448979900_1... [syntax=vbnet] $regfile = "attiny24.dat" $crystal = 1000000 Config Pina.0 = Input Set Porta.0 Config Pina.1 = Input Config Pina.2 = Input Config Pinb.0 = Input Set Portb.0 Config Pinb.1 = Input Set Portb.1 Config Pinb.2 = Output Config...
Na początku zrobiłem to co już umiem...póki co do testów ustawiłem przerwanie od zmiany stanu wejsciowego. Działa i z każdą zmiana portu wejsciowego licznik się ikrementuje. Ok. Jednkaże taka kwestia...Timer 0 w ogóle niezlicza...obserwuję w Debugerze rejestr TCNT0 i w nim nic się niedzieje... Ustawiłem tryb CCC, tak jak podpowiedział kolega michalko12...doczytałem...
Wziąłem to,co było pod ręką, poza tym każda ATmega posiada sprzętowe mnożenie, które zdecydowanie ułatwia sprawę przy pobieraniu wartości z tablicy oktaw. Na upartego, to i można zrobić na ATtiny24 (warunek: jeden timer 8 bit i jeden 16 bit), ale ten projekt ma służyć początkującym, a tacy, według moich subiektywnych obserwacji działu "Mikrokontelery",...
Na pewno nie będzie włączony cały czas. Albo mrugnie sobie co x sekund, albo będzie "na żądanie" na przycisk. Chodzi o to żeby całość była jak najprostsza w użytkowaniu (dla żony i dzieci), coś w stylu włącz do kontaktu i zapomnij, a wszelkiego rodzaju kupne timery wymagają każdorazowo ustawienia czasu.
programować attiny44 programowanie attiny44 attiny44 timery
panasonic wysuwa kasety flatron monitor przycisk ducato schemat instalacji elektrycznej
problemy diagbox częstotliwości tetra
LG 55LB870V Power Supply Schematic LGP5560‑14PL6 EAX65394001 EAY63072601 Electrolux PerfectCare 600 – test falownika i panelu sterowania, diagnostyka błędów E57/E58/E59/E5A