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....
Witam mam taki problem. Posiadam procesor ATTINY 45, ale chciałbym go zmusić do pracy w trybie ATtiny 15 kompatybile, aby timer 1 pracował tak samo jak w TINY 15. Niestety nie wiem jak pokonfigurować poszczególne fusy. Na razie mam to tak jak na załączonym obrazku, ale jakoś nie za bardzo mi procesor chce działać.?? http://obrazki.elektroda.net/54_12342995...
Timer w Tiny25-Tiny85 jest trochę inny. Na przykład może być taktowany z szyny peryferii 64MHz. Może też generować "dead time" dla różnego rodzaju aplikacji które przełączają klucze czyli robi drobne przerwy przełączając, by nie było nigdy przypadku kiedy włączone są na raz dwa tranzystory (ten wyłączony musi mieć czas by się zamknąć). Bascoma ulubionym...
Kolejny element układanki... łopatologicznie ;) bity CS10 do CS13 określają częstotliwość pracy timera, inaczej mówiąc wyznaczają czas aktualizacji (zwiększenia o jeden rejestru TCNT1). W zależności od trybu pracy rejestr ten jest porównywany z zapisanymi przez użytkownika nastawami w OCR1A (kanał A ), OCR1B (kanał B), OCR1C (dla uproszenia maksymalna...
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....
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, bardzo proszę o pomoc. Zrobiłem układ na Atmega32 z podłączonymi diodami do całego PortuA, oraz do PortuB Pin2 (PB2) dekoder podczerwieni TSOP31236 (testowałem też na TSOP31238). Wykorzystać chciałem bibliotekę IRMP https://obrazki.elektroda.pl/6945425800_... a w załączniku spakowany cały projekt z plikami biblioteki irmp.
Witam zainteresowanych tematem. Uplynelo juz wiele dni kiedy ostatni raz opisalem swoje dzialania z modulem RFM65W. Teraz zebralem wiele doswiadczen i doszedlem do wniosku, ze ustawienie rejestrow w RFM65W jedynie udalo mi sie za pomoca ARDUINO po wgraniu programu w /w tego opisu. https://forum.arduino.cc/index.php?topic... Ale to jest przejsciowe...
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...
Witam. Jeśli wyzwalasz triaki długimi impulsami to impuls powinien trwać od momentu wyzwolenia triaka aż do momentu przejścia przez zero w danej fazie. Co do punktu naturalnej komutacji , to jest punkt od którego dany triak zacznie przewodzić . Ale wyzwalać możesz go nawet zaraz po przejściu napięcia przez zero. Po prostu triak w danej fazie przed punktem...
Moze zle sie wyrazilem - nie tyle skladnia pozostaje dla mnie niejasna, co nie umiem stwierdzic, dlaczego nie jest generowany plik ELF, pomimo tego, ze w pliku make istnieje regula (chyba) za to odpowiedzialna. # MCU name MCU = attiny45 # Processr frequency. # This will define a symbol, F_CPU, in all source code files equal to the # processor frequency....
Pisząc Dim Zmienna As Byte opisujesz zmienną że będzie jednobajtowa i tak trzeba opisać każdą. Byte może zawierać się w przedziale od 0 do 255 nie większym (jeżeli zmienna miałaby zawierać wartość większą od 255 np 400 to trzeba by użyć zmiennej 2 bajtowej Word lub Integer ) Co odpowiada za to, że wszystkie zmienne "odnoszą" się do 20ms i mnoży się...
Witam, zbudowałem sobie układ diff -u Kopia ds1820tousb-20100717/Makefile ds1820tousb-20100717/Makefile --- Kopia ds1820tousb-20100717/MakefileTue Mar 23 07:55:24 2010 +++ ds1820tousb-20100717/MakefileFri Jul 1 22:05:55 2011 (at)(at) -8,7 +8,7 (at)(at) INCDIR= . # target mcu (at90s8515, atmega16, atmega8515...) -MCU= attiny45...
Soft PWM i filtr wyjściowy... To w sumie najmniej elementów... i chyba jedyne wyjście.... Tylko trochę zabawy z programem... Sprzętowy timer do interwałów a resztę programowo... Każde inne rozwiązanie wymaga zewnętrznych układów...
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...
A jak masz ustawiony timer - rzuć kodem.
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?
Witam Każdy Atmel z zegarem 12MHz podoła temu zadaniu w trybie CTC. Jeśli chcesz mieć większą dokładność (rozdzielczość) to musisz znależć kontroler z pętla PLL (np ATtiny45). Zakres nastaw jest ogromny, więc timer musiałby pracowac w kilku trybach. Generalnie napisz do czego ten generator ma być potrzebny i czy zmiany musza być płynne, w jaki sposób...
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.
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.
- cli - sprawdzenie flagi - jeżeli jest ustawiona to skopiowanie sobie danych i wyczyszczenie flagi - sei - ewentualne operacje na skopiowanych danych To powinno działać dobrze? Myślę, że tak. Jest tylko jedno małe 'ale'. Jeśli przerwanie A pojawi się pomiędzy cli a sei, to zostanie o pewien czas odroczone. Ano. Dlatego czas w "sekcji krytycznej" chcę...
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 Chciałem zapytać Kolegów, czy poniższy schemat jest poprawny. Wyświetlacze LED są WA zielone, 20,8 mm ( 0,8 ") 15mcd ( 10 mA ), jedna dioda na segment. Wzorowałem się na gotowym układzie, który zakupiłem do celów testowych. Jednak wydaje mi się, że na segmentach powinny być rezystory. Uprzedzając pytanie dlaczego dwa układy 74HC595 - wyświetlacze...
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
No trudno mi dalej Ci coś doradzać bo mieszasz wszystko na raz. W której nocie czytałeś że tylko jeden timer potrzebny? Podałem Ci sposób jak sprawdzic czy fast pwm działa, napisz ten programik i wypróbój. Góra 15 rozkazów i wszystko wiadomo. Jak nie to go tu pokaż w całości a nie będziemy zgadywać, od tego są telewizje komercyjne. Pozdr. N.
Witam, mam chyba dość banalny problem z timerem T1 w ATtiny45. Otóż celem jest generowanie przerwania co około 40 ms - czyli zadanie wydaje się praktycznie śmiesznie proste. Proste było w 8051, ale AVR mi się stawia. Do tego celu zaprzągnąłem timer T1 w konfiguracji „match compare”. Przy kwarcu 8 MHz, preskalerze 2048 oraz wartości OCR1A...
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!
od razu mówię, że jestem trochę zielony, więc tak sobie wykombinowałem, żeby zliczać obroty silnika w "Real Time", będę potrzebować zegara, ale tak sobie właśnie teraz pomyślałem, że przecież mam procesor taktowany jakimś zegarem, więc za pomocą jego mogę obliczać obroty :) no tak, trochę nie pomyślałem. Tak podejrzewałem :-). Zamiast RTC potrzebujesz...
Witam zainteresowanych tematem. Po dlugim okresie uzytkowania powyzszego opisu postanowilem go urposic za zachowaniem funkcji gaszenia swiatel o 24:00 ze zegara czasu rzeczywistego. Rozwiazanie w kodzie programu zrealizowalem w nastepujacy sposob, licze czas trwania dlugosci dnia za pomoca na stale ustawionego timera w ATTINY a dlugosc czasu okreslam...
Witam. Ostatnio zacząłem bawić się w obsługę RC5, ponieważ jest mi ona potrzebna w pewnym projekcie. Po uruchomieniu odbiornika na M8 przyszedł czas na nadajnik. Prowizoryczny był na M8 jednak docelowy miał być na attiny45, ale trochę zbyt późno dowiedziałem się, że Attiny nie posiada 16-bitowego timera1, a także Bascom nie potrafi skonfigurować jego...
A może coś u źródła?: http://www.atmel.com/dyn/products/app_no... - AVR121: Enhancing ADC resolution by oversampling (14 pages, revision A, updated 09/05) This Application Note explains the method called "Oversampling and Decimation" and which conditions need to be fulfilled to make this method work properly to get achieve higher resolution...
No tak... nie znam not na pamięć i okazuje się, że Attiny45 ma za mały timer1 http://www.elektroda.pl/rtvforum/topic14...
Witam Postanowiłem w ramach ćwiczeń wykonać prosty regulator PWM na Attiny45. Potencjometr czytany przez ADC(8bit), wartość napięcia z niego wrzucana do OCR0A dla Timer0 w trybie fast PWM. Program ogólnie działa, tylko przy OCR0A=0 (wypełnienie na 0%) dioda LED podpięta do wyjścia OC0A nadal świeci całkiem ładnie. żeby ją wyłączyć muszę przejąć bezpośrednio...
Moim zdaniem błąd jest w zupełnie innym miejscu. Załącz cały kod.
Funkcja RC5Send nie działa na tym mikrokontrolerze , pewnie dlatego że Attiny25 nie posiada 16 bitowego timera :)
Bo Timer1 w ATTiny45 ma 8bitów.
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ęć...
Jak użyć timera (tzn. jak wyciągnąć z niego np zmienną dodawaną, lub resetowaną co określony czas?) Boję się jeszcze TIMERów :) Nie ma się czego bać. Oto prosty programik, który na pewno pomoże. 796182 Jednak dziwię się dlaczego nie używasz sprzętowego PWM. Attiny 2313 posiada ich cztery. Na każdym z timerów po dwa. [syntax=vbnet]Dim R As Integer Dim...
To i tak chyba się skończy obliczeniami możliwości sprzętu. Przy 9.6MHz wychodzi przy praskalerze=64 przerwanie od timera co 1.7 ms a skok timera co 6.7us. Silnik będzie napędzany przez PWM ok. 500Hz- będzie piszczał. Przy preskalerze=1 silnik pewnie wcale nie ruszy bo indukcyjność uzwojeń nie pozwoli na wystarczająco szybkie narastanie prądu. Przy...
Funkcja WAITMS nie jest odporna na przerwania. Jeśli masz jakieś to każde wystąpienie przerwania w trakcie WAITMS rozjedzie go. Niezależnie od stabilności tej funkcji, a nie ma powodu, żeby nie była powtarzalna jeśli nie jest przerywane wykonanie przerwaniami, to i tak lepsza praktyką będzie wykorzystanie timera.
Ponieważ nie pokazałeś programu na ATtiny i nie podajesz jak RPI resetuje timer watchdoga, stąd poniższe przypuszczenia. Zapewne RPI jednym z pinów jest połączony do ATtiny by resetować timer. Prawdopodobnie w programie ATtiny sprawdzasz stan tego pinu i odpowiednio reagujesz zerując timer watchdoga. Jeśli pin ten pozostawiasz jako wejście niepodłączony...
Albo Config- albo str.112 pdf.- i poprzednie i następne. Polecam to drugie rozwiązanie. "tak by była możliwość dodania czasu martwego. " Nie da się z automatu. Mają to ATtiny 25/26/45/85- o ATMega nic mi nie wiadomo. W ATtiny25/45/85 znajduje się układ DTG-Dead Time Generator- to o co Ci chodzi.
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
Może odpal jakiś Timer żeby generował przerwanie bardzo często. Powiedzmy co 10us. I w przerwaniu sprawdzaj czy pin ma stan 0 czy 1. Jak 1 to inkrementujesz jakaś zmienną. Jak zmieni się na 0 to zwracasz wynik i zerujesz tą zmienną. Oczywiście w tym samym przerwaniu sprawdzaj tak samo drugi pin. Niestety wymaga to kodu obsługi przerwania w assemblerze...
Domyślam się, że trzeba urzyć innego Timera do obsługi PWM, ale nie wiem którego używa odbiór IR. Poczytałem trochę o Timerach i dla PWM najczęściej stosowany jest tryb CTC. Albo nie do końca zrozumiałeś to co czytałeś, albo autor tej informacji wstawił wierutną bzdurę! Zarówno CTC jak i PWM są to oddzielne tryby pracy timerów w AVR i ich funkcjonalność...
Namoje szczęście mnożenie ma być przez liczby całkowite Ale mnożenie przez liczby całkowite też będzie z błędem. Nie podaję częstotliwości i innych szczegółów- na tym etapie jest to nie istotne. To akurat jest bardzo istotne. Do wysokich częstotliwości trzeba inaczej podejść. Podaj chociaż bardzo przybliżony zakres. I powiedz czy wymagana jest stuprocentowa...
Timery (...) Wystarczy włączyć nieużywane. Właśnie tak powinno się to zrobić, ale biblioteka TimerOne blokuje taką możliwość. Dlaczego blokuje? W bibliotece zadeklarowane są wektory Dodano po 3 może Timer2.initialize Zamiast wpisywać w każdym przerwaniu do CNT (jeśli już to sie robi, to na początku obsługi przerwania), co może wprowadzać niedokładności,...
Z timerami też miałem problemy. Albo ja czegoś nie rozumiem, albo źle interpretuje note atmela, dezorientacja kompletna. Taktowane są asynchronicznie z 64MHz z PLL. Update timerów odbywa się co 250kHz Źródło taktowania oraz dzielnik dla Timer1 wybiera się za pomocą rejestru CS1[3:0]. Natomiast źródłem sygnału zegarowego dla PLL jest wewnętrzny rezonator...
Radzę sprawdzić "na żywo", ponieważ AVRStudio ma niejakie problemy, z symulacją Timerów. Jest to zależne od rodzaju symulowanego uC, jak i od trybu pracy timera - nie ma reguły.
W attiny85 (bez "a") brak 16 bitowego timera
attiny45 rs232 attiny45 zaprogramować kwarc attiny45
prosty schemat regulatora wentylatora whirlpool zmywarka kupić windows sterownik skaner
brother j2330 temperatura memtest
Lexus 300 – wypalone gniazdo zaworowe 5. cylinder: koszty naprawy, regeneracja głowicy Zamienione pedały w kierownicy Cobra Rally GT900