To sprobuj wybudzac recznie a nie za pomoaca CLK i zobaczysz czy przyczyną jest długosc sygnalu '0". Kiedys mialempodobny problem nie wnikajac w szczegóły dale diode i kondensator na wejscie INT1 i osiagnąlem 100% wybudzen oczywiscie pod warunkie ze to wejscie tylko uzywasz do wybudzen. Zwróc uwagę ze kazdy procesor startuje w okreslonym czasie po wybudzeniu...
W tym trybie timery są wyłączone - może działać tylko Timer 2 z zewnętrznym, kwarcem zegarkowym. Najpierw czytaj Datasheet, potem wymyślaj oprogramowanie... ;)
Witaj. Na początek uporządkuj sprawy dot. trybu usypiania, ponieważ wykonujesz niepotrzebnie w pętli głównej część czynności w tym zakresie. Poza tym skoro już używasz nagłówka sleep.h, to używaj go w pełni, a nie osobno ustawiasz np. [syntax=c]MCUCR |=(1<<SE)|(1<<SM1);[/syntax] Zobacz przykład funkcji main tutaj: [syntax=c]int main(void)...
Witam pisałem program który miał po pewnym czasie zmuszać mikrokontroler do przejścia w stan uśpienia po czym wybudzanie miało następować w reakcji na zewnętrzne przerwanie na linii PD2. Mikrokontroler wchodzi w uśpienie po zadanym czasie jednak nie chce się potem wybudzić w reakcji na zewnętrzne przerwanie. Byłbym wdzięczny gdyby ktoś rzucił okiem...
Weź pod uwagę, że w trakcie wchodzenia w usypianie wykonywana jest jeszcze kolejna instrukcja, w twoim przypadku cli(). Jak się domyślasz cli w połączeniu z sleep tworzy śmiertelną pułapkę z której procesor może wybudzić tylko reset. Swoją drogą, piszesz o oszczędności energii, a używasz staruszka procesora, który bierze energii kilka razy więcej niż...
Może trzeba dać SEI przed uśpieniem procka? Przecież włącza SEI tyle że wszystko wg najgorszych praktyk programistycznch. SREG |= 0x80; --------------------------------- W nocie PDF ATtiny2313 wprawdzie napisano w uwadze, że tylko INT0 reaguje na wybudzanie poziomem, ale to słówko tylko (Only) tyczy się poziomu a nie samego przerwania. Powinno być...
Witam, Zbudowałem taki układ: http://obrazki.elektroda.pl/9541154400_1... Czy zasilanie mikrokontrolera jest prawidłowe oraz czy nie za mało dałem kondensatorów ceramicznych bo mam pewne problemy z uC. Program się co prawda wgrywa ale moim zdaniem nie funkcjonuje poprawnie. Np. ustawiam wszystkie porty C na wyjścia oraz w stan wysoki...
Witam Mam pytanie jak obudzić procesor w przerwaniu. Jak usypiam w głównej pętli while usypianie i budzenie działa jak powinno. Ale chciałem usypiać na INT1 a na INT0 budzić lub na INT0 budzić i usypiać (co chyba jest bardzo trudne). [syntax=c] void sleepNow() { MCUCR|=(1<<SM1); MCUCR|=(1<<SE); asm volatile ("sleep"::); } int main(){ serialInit(9600);...
Witam, Posiadam płytkę testową EVB 4.3. Za pomocą programatora na płytce chce zaprogramować ATmege8. Wszystkie połączenia wg tej [url=http://and-tech.pl/wp-content/downl... Wszystko przebiega tak jak autor miał na myśli, niestety po wgraniu mojego krókiego kodu: [syntax=c]#include<avr/io.h>...
Wgrywam na atmegę, programator wyświetla, że ok(wcześniej rozpoznaje atmege), podłączam do baterii 4,5v(teraz około 4 pod obciążeniem) i nic nie działa wszystkie wyjścia dają około 0v ?! Co do słabej baterii, zgoda, ale atmega ze starym programem, działa stabilnie, a dwie świeżo zaprogramowane, nie reagują?! Program jest trywialny, bo kompletnie nie...
Witam kolegów nigdy nie miałem większych problemów żeby zaprogramowac jakiś procek ale tym razem jest masakra ale do rzeczy: Program do wgrania to http://mariuszelektro.elektroda.eu/anali... analizator widma akustycznego który był omawiany już na forum Problemem jest to że trzeba zmienić taktowanie procesora z wew na zew niby proste a...
Witam, Bawię się w programowanie uC i wszystko szło dobrze póki nie wpadłem by przetestować jak działa procesor z innymi ustawieniami zegara. Mowa konkretnie o ATMega 8, fabrycznie taktowana wewnętrznym 1MHz. Chciałem zmienić na dalej wewnętrzny tylko 8 MHz (podobno jest niezbyt dokładny, ale nie potrzeba mi dokładności do testów). Otworzyłem więc datasheet'a...
nic nie rozumiem :( "troche" mnie to przerasta... "idealnego czasu" ?? to jak nastawię timer0 na 50Hz to nie będzie idealnie?? A skąd układ ma wiedzieć, że ma się wybudzić od timera0 a nie od timera1 odpowiedzialnego za multipeksowanie.
Witam. Mam zaprogramowana atmega8 poprawnym programem. Podczas jego testowania kilkakrotnie wlaczalem i wylaczalem zasilanie az w koncu za ktoryms razem atmega nie wlaczyla sie ( mialo krecic serwem tam i z powrotem). Pierwsze podejrzenie to brak zasilania, ale wszystko jest poprawnie, ze 3 razy sprawdzalem wszystkie luty, jest OK. probujac potem jeszcze...
Witam! Mam pytanie: w jaki sposób obudzić uP Atmega8 ze stanu powersave? Poniższy program nie działa: Config Int0 = Rising On Int0 Przerwanie Enable Int0 Enable Interrupts print "reset" powerdown do loop przerwanie: print "aaaa" return Bez polecenia 'powerdown' program działa i wykonuje przerwanie. Czy jeszcze coś trzeba ustawić?
Witam serdecznie! Od jakiegoś czasu bawię się trochę atmegą8. Jako, że jestem początkujący, pisałem proste programy, typu zaświeć diodki, zgaś diodki. Podczas wykonywania programu, który miał zaświecać daną diodę, gdy wciśnięty jest dany przycisk, mikrokontroler przestał odpowiadać. Program w ogóle napisany był tak, że dopóki nie jest wciśnięty przycisk,...
Witam, jestem początkującym więc od razu proszę o wyrozumiałość. Mam problem z prawidłowym uruchamianiem się mikrokontrolera Atmega8. Problem jest następujący po podaniu zasilania mikrokontroler uruchamia się on na chwilę po czym od razu przestaje działać. Na chwilę zapala się dioda, która powinna świecić się przez cały czas pracy układu. Co ciekawe...
witam zaznaczę, że zaczynam z uC na co dzień bawię się PLC zmontowałem sobie układ na płytce stykowej wgrałem prosty program z kursu który znalazłem w necie /* przykład 2.1 "leds.c" */ /* 8 diod LED przłączonych do portu D */ /* ATmega 1MHz */ #define F_CPU 1000000L #include <avr/io.h> #include <util/delay.h> int main(void) { /* Wszystkie...
Witam. Postanowiłem zająć się ostatnio tematem związanym z "zablokowanymi' mikrokontrolerami. Mam kilka egzemplarzy Atmega8 i atmega 168, które w jakiś tam sposób podczas programowania zostały "zablokowane. Poczytałem w necie posty na temat fuse doktor'ów i innych metod ich reanimcaji. Ponieważ nie posiadam żadnego urządzenia typu resuerektor czy programator...
Witam, Mam spory problem gdyż chciałem ustawić początkowe fusy w atmedze ale omyłkowo zamieniłem wartość high i low fuse i nie mam pojęcia co ustawiłem przez co nie mogę tego naprawić bo µP nie reaguje a to już moja ostatnia atmega na stanie (no...mam jeszcze jedną co skończyła w podobny sposób i czeka na odrodzenie :). Domyślam, że potrzebuję...
Kupiłem Atmege8 i programator http://www.kamami.pl/?id_prod=5060900. I kompiluje program: /* 8 diod LED przłączonych do portu D */ /* ATmega 1MHz */ #define F_CPU 1000000L #include <avr/io.h> #include <util/delay.h> int main(void) { /* Wszystkie linie portu D będą wyjściami */ DDRD = 0xFF; /* 0xFF binarnie 1111 1111 */ /* Początek...
Witam Mam taki mały problem z budzeniem procesora M128 za pomocą zewnętrznego przerwania, gdyz nie chce on wstać z prawie żadnego trybu (wyjątek IDLE). Męcze się z tym już jakiś czas, więc może Wy mi pomożecie. Zamieszczam część mojego programu: #include <avr/io.h> #include <avr/interrupt.h> #include <avr/signal.h> #include <avr/sfr_defs.h>...
Witam, domyśliłem się, że gotowców nie robicie (w sumie to i dobrze:) ), tak więc zabrałem się sam za programowanie. Chcę napisać prosty program zapalający diodę, podłączoną do bitu 0 portu B, po przyciśnięciu przycisku podłączonego do bitu 0 portu D. Teoretycznie napisałem, ale nie chce to działać. Znalazłem link na forum gdzie problem był opisany,...
Witam! Jakieś dwa lata temu kupiłem sobie atmegę 8 i programator stk200, i chciałem ten zestawik jakoś zaprogramować, ale z powodu braku odpowiedniej wiedzy, źle podłączałem zasilanie i programator co często kończyło się mocnym nagrzaniem procka. Pomyślałem że kasa poszła w błoto, ale ostatnio znowu zachciało mi się pobawić elektroniką. Po przeszukaniu...
A odbiornik IR ile pobiera prądu?
Nie, trwa dodatkowe 4 takty zegara. Ale po co ci ta informacja? Tak naprawdę w trybach uśpienia ważne jest tylko to czy pracuje zegar, czy nie. Jeśli nie pracuje to istotnie warto wiedzieć ile wstaje procesor, bo liczba taktów staje się znacząca i jest określana przez konfigurację fusebitów.
Temat dość stary bo aż z 2006 ;) ale nie chce zakładać nowego ... wiec może ktoś mi odpowie tu na to pytanie a wiec interesuje mnie wybudzenie atmega8 przez narastające zbocze INT0 Config Int0 = Rising jest to możliwe czy nie ??? w nocie katalogowej pisze cos takiego Only level interrupt INT1 and INT0. czy to znaczy ze tylko niskim poziomem może być...
Witam Już dłuższy czas męczę się z banalnym .... Powerdown nie powinien być w Interrupt service. Zwróć uwagę na bit7 (I) w SREG - jest on zerowany i twój INT0 jak i inne na ten czas są blokowane. e marcus
100µA?!! Tosz zwykła ATMega8 pracująca jako RTC (Timer2 i wybudzanie co sekundę dla zinkrementowania daty) pobiera jakieś 8µA (przy 3V).
Witam Procesor przechodzi w stan Powerdown po ustalonym czasie kiedy zmienna L=1. Ustawiłem wybudzanie z przycisku (podanie 0 na int0) no i nie działa . Przepatrzyłem już chyba wszystkie tematy na forum i robiłem z milion kombinacji. Już nie mam pojęcia co robić czy to może być wina BASCOM, procesora , prosilbym o konkretne wskazówki jak ustawić aby...
Zastanawiam się jak zrealizować cykliczne budzenie mikrokontrolera ATMEGA8 z jakiegoś "głębszego" trybu oszczędzania energii (inny niż idle)? Ta cykliczność to 1-2 min. Priorytetem jest minimalizacja zużycia energii (zasilanie z baterii). Z tego co wiem to: 1. Można użyć watchdog timerów (wdt). Czyli mikrokontroler budzony byłby co jakieś 2 sek. Trzeba...
Z tym odbiornikiem podczerwieni powinno być oczywiste, przecież czy użycie innego pilota, czy też jakakolwiek inna podczerwień i sygnał pojawia się na wyjściu odbiornika. A jak sygnał się pojawia to procek się wybudza. I to jest całkiem normalne, dzieje się tak w każdym urządzeniu, czy to w telewizorze, czy w czymkolwiek innym co używa podczerwieni,...
Nie jestem pewny ale przerwania od twi wywoływane są na starcie transmisji. Używane w układach slave pozwalają na przerywanie programu głównego / wybudzanie gdy nadejdzie transmisja. Dla konfiguracji master nie zaoszczędzają czasu traconego w pętlach while. Przerwania TWI sa wywoływane na dowolnym etapie transmisji i pozwalają na niestosowanie pętli...
Witam Przy tak skomplikowanym układzie i programie :) można zmodyfikować założenia i spokojnie zejść z poborem prądu na kilkanaście uA a może nawet niżej. Kilka zasad: - zjechać z zegarem ile się tylko da, np. wewnętrzny zegar 1MHz, albo niżej na kwarcu zegarkowym, bo procesor się będzie nudził ; - zastosować stabilizator liniowy o bardzo małym poborze...
O ile mi wiadomo z własnych doświadczeń, to przejście w tryby oszczędnościowe nie powoduje zmian w rejestrach i w pamieci ram, wiec stan wyjsc pozostaje niezmieniony. Tylko reset powoduje ustawienie we/wy w stan highz, ale nie powoduje wyczyszczenia zawartosci pamieci,. Przydaje sie to np. przy wybudzaniu z trybu power down przy pomocy watchdoga.
Jasne, że wybranie technologii zależy od wielu czynników, o których autor nie pisze. Zwróciłem tylko uwagę, że wykorzystuje POWER DOWN, a to ogranicza możliwości wybudzania.
Czyli jezeli dobrze rozumuję to co 8 sekund procesor się wybudzi. A jakto wygląda z kwarcem bo czytam ze do powersave potrzeny jest 32,768 kHz a do obsługi programu ja potrzebuję 8 MHz.
Oczywiście można skorzystać z idle'a. Tylko powiedz mi jak niby miałby się wybudzać...
Nie no, jakby to był poważniejszy projekt to bym wziął MSP430-coś tam, one mają b. mały pobór ;) a i zegar też można wybierać. Zaproponowany procesor ma podobne parametry do MSP430, a jest ciągle AVRem. W dodatku ma 1 kHz generator o ultraniskim poborze energii, więc bez zewnętrznego rezonatora można korzystać z głębszych trybów uśpienia + asynchroniczne...
Kondensator tantalowy pasuje jak najbardziej i jest znacznie mniejszy. Soldermaska lepiej zabezpiecza; lakier uniemożliwi serwis zegarka STK200 i tak trzeba zasilać; programujesz bez baterii Wybudzanie poprzez SW1 to głównie jak jest napisany program. Po cynowane ścieżki - utlenia się cyna - powinna być soldetmaska 2k2 to zbyt duża wartość, to ok 600uA...
Ten pomysł z takim wykorzytaniem diod wydaje mi się bardzo mało szczęśliwy - tym bardziej, że nie będziesz miał na procku 0V tylko tyle co na spadku napięcia na diodzie a w tym momencie na wejście portu będzie podawane dla procka niższe napięcie niż jego GND ... Diody to można byłoby próbować zastosować do wybudzania procka ze stanu uśpienia którymś...
W trybie IDLE oraz POWER SAVE można użyć Timera2. W IDLE Timer2 może być taktowany synchronicznie jak i asynchronicznie. Tryb POWER SAVE takiej możliwości nie daje bo clkI/O jest zatrzymany. Zatem w tym trybie licznik może być taktowany wyłącznie asynchronicznie. Dodatkowo występują tu pewne niuanse opisane w datasheet ATMega8L na str. 34-35. Możesz...
W swoim programie wyłącz timer wybudzający, a resztę pozostaw tak, by mikrokontroler wszedł w IDLE bez wybudzania i wtedy dokonaj pomiaru.
Czy jest możliwe że zasilanie procesora napięciem trochę wyższym niż 3 V - 3.2V może powodować problemy z jego wybudzaniem? Dodano po 5 Wersja procesora:ATMEGA8A-PU
Ech... To mi pod dziadowski SPL podchodzi. Jakby tak nie można było: MCUCR |= (1<<SE)|(1<<SM1)|(1<<S... Przynajmniej wtedy zajrzałbyś do DSa i zobaczył że T2 wybudza z tego przerwania ale tylko w trybie zegarkowym.
Może lepszym rozwiązaniem byłoby normalne zasilenie układu i usypianie go za pomocą timera. INT0 podciągnięte rezystorem do VCC a wybudzanie zboczem opadającym branym przez diody z przycisków. Czyli np. komenda Powerdown i wybudzenie sygnałem na wejściu INT0 ?
Dzielnik napięciowy 10k i 5k6 ma za zadanie wykryć zanik zasilania i dzięki temu uC przechodzi w stan niskiego poboru energii (po zaniku zasilania) i analogicznie wybudza się z niego po pojawieniu się napięcia na tym pinie. Kwarc nie ma kondensatorów gdyż programowo podłączona jest wewnętrzna pojemność atmegii (nóżki kwarcu podpinamy tylko do uC) ....
Nie masz LEDów? :) Ale masz multimetr, a przycisk możesz zastąpić przewodem :) W ten sposób najszybciej potwierdzisz, czy wybudza się z power down, czy też nie.
Jak juz chcesz wybudzac watchdogiem to popraw program tak aby omijany byl fragment programu inicjalizacji LCD po resecie od watchdoga a od innych resetów dzialał normalnie.
W kwestii PWM tranzystory nie stanowią żadnej przeszkody. Użycie przerwań konieczne nie jest, ale zdecydowanie przydatne - można uśpić procesor obniżając pobór mocy, i wybudzać z uśpienia przerwaniem. Jeszcze kwestia zasilania, co będzie przed 7805?
A google nie działa?. Twój problem jest problemem twoim i indywidualnym. Wybudzać procek możesz również Uartem. Na niewielka ilość danych to tak jak tmf powiedział fram lub nawet eeprom..
Zawsze możesz zapomnieć o tym aby wyłączyć S9 a tak masz "święty spokój". Co do wybudzania to nie wiem czy przy takich analogowych przyciskach będziesz w stanie wybudzić uC. Poza tym nadajnik wtedy będzie i tak cały czas pobierać prąd.
Witam. Schemat całego układu: http://obrazki.elektroda.net/75_12533785... Przed położeniem uC do snu ustawiam stany wysokie na bazach tranzystorów (zmierzyłem prąd samych tranzystorów, poniżej 0.00uA bo miernik nie chwyta). Ustawiam wszystkie pozostałe piny w stan wysoki oprócz: pinów przycisków S1-S4 które mają być masą dla pinu przerwania...
Racja, dzięki, umknęło to mojej uwadze. Ale problem jest nadal : podprogram obsługi przerwania wykonuje się szybciutko i kończy, ale niski poziom trwa dalej. Czy da się od tego jakoś uciec, żeby dopiero na następnym niskim poziomie wywołał się podprogram? Jest dla mnie istotne, żeby wybudzać z power-down przez INT0, na którym jest przebieg niskiej częstotliwości.
Wydaje mi sie ze wiem co robie, badalem pobor prady, podczas normalnej pracy jest ok 14mA, podczas idle jest 7mA, a przy powerdown jest jest duzo ponizej 1mA. A jakbym chcial korzystac z timerow do wybudzania to bym skorzystal :) Nie mam wielkiego doswiadczenia w programowaniu, dlatego pytam o rozwiazanie mojego problemu.
Przerwanie od przepełnienia (co 1 sek.) Jeśli masz taką potrzebę możesz co 1 sekundę, ale jeśli nie musisz, to wykorzystaj timer do końca i wybudzaj co 8 sekund :) Czy poza Atmegą8 i Atmegą32 jest jeszcze jakiś inny AVR mający taką fajną funkcję jak możliwość podpięcia kwarcu zegarkowego oraz to aby pracował na nim w trybie asynchronicznym ? ... nie...
i nawet ręczny reset nie działa tylko odpięcie zasilania pomaga. Właśnie się zastanawiam jak może procesor się zablokować że nawet ręczny reset nie wybudza go, to jest raczej nie możliwe. Może wiesz a się układ który odpowiada po magistrali I2C i należało by go właściwie ponownie zainicjować.
Witam. Jestem obecnie na etapie budowy stacji pogodowej. Po pokonaniu problemów ze stacją bazową, nadszedł czas na budowę czujnika zewnętrznego. Będzie się on składał z mikrokontrolera AtMega88PA, czujnika SHT11, nadajnika RTFQ2 i czujnika mierzącego prędkość wiatru (kontaktron lub dioda + fototranzystor, jeszcze nie zdecydowałem). Czujnik będzie zasilany...
Czy wystarczy zasilanie (ew. przez rezystor) podłączyć do INT1 (na przykład) i wykrywać te zbocza ? Nie wiem czy wystarczająco zrozumiale to opisałem. Jeżeli użyjesz trybu najgłębszego snu, to musisz być świadomy, że on wybudza mikrokontroler (ATmega) tylko poziomem nie zboczami. To może nie mieć dla Ciebie znaczenia, ale równie dobrze może być baaardzo...
Poradzilem sobie z tym stanem wysokim zerując TCCR1A. Zaczne od tego, że programje pilot 6 przyciskowy z usypianiem, wybudzaniem i przełączaniem miedzy podprogramami - zapalniem Led-ów. Ma 4 przyciski do wysyłania kodów i 2 do przełączania podprogramów. Do tych czterech przycisków podpięte są diody które podają też niski stan na INT0. Wyjscie OC1a podpięte...
3 paluszki + LDO to nawet mi odpowiada. Używam atmega8A z tego co wiadomo nie należy ona do najoszczędniejszych. Będę usypiał mikro-kontroler i wybudzał przerwaniem zewnętrznym (przyciskiem) praca tego pilota to około 10 min na tydzień. tmf może poleciłbyś jakąś bardziej oszczędną atmegę ? Na razie miałem do czynienia tylko z 8A.
Co do INT, to myślę, że Atmega8 przecz, i dajemy Atmega88A(z obniżonym poborem energii). Pin change na każdym pinie do enkodera i tym sposobem INT do wybudzania jest luzem. Jeśli układ pracuje w obszarze zakłóceń elektromagnetycznych(zwłaszcza w pobliżu silników trójfazowych), to bym się zastanowił nad dodatkowym zasilaniem z... anteny. ;)
Witam, chciałbym prosić o pomoc przy budowie układu wykrywającego dźwięki, a konkretnie odbicia piłeczki pingpongowej. Układ będzie współdziałał z mikrokontrolerem atmega8. Ponieważ zasilanie musi być bateryjne chciałbym żeby atmega była cały czas w trybie uśpienia (PowerDown) i wybudzana za pomocą przerwania zewnętrznego INT0. Przerwanie to miało by...
Jak dla mnie to przede wszystkim zamiast deley() wykorzystać jakiś zew. zegar RTC usypiać procka i wybudzać przerwaniem z RTC Nie trzeba używać zewnętrznego RTC - wystarczy podłączyć kwarc i użyć przerwania z wewnętrznego timera. Nie wiem, jak w przypadku Arduino, ale zastosowany w nim mikrokontroler to chyba ATmega8, więc jest taka możliwość (o ile...
"The pin change interrupt PCI2 will trigger if any enabled PCINT23..16 pin toggles. The pin change interrupt PCI1 will trigger if any enabled PCINT14..8 pin toggles. The pin change interrupt PCI0 will trigger if any enabled PCINT7..0 pin toggles. The PCMSK2, PCMSK1 and PCMSK0 Regis- ters control which pins contribute to the pin change interrupts. Pin...
Witam, chciałbym zaprezentować schemat wykonany w Eagle'u i poprosić o sprawdzenie. Schemat przedstawia minutnik, który: - będzie zasilany z baterii 2 x AAA, - sterowany jedynie enkoderem obrotowym, - posiadał 3 cyfrowy wyświetlacz 7-seg ( będzie on tylko chwilowo pracował), - sygnalizował koniec odliczania buzerem, - miał możliwość późniejszego przeprogramowania...
atmega8 usypianie wybudzanie atmega8 powerdown wybudzanie wybudzanie akumulatora
generator minuta gigabyte ponownym telewizor samsung ue37d5000
agregat honda podróbka schematy polskie
United LED22X16 dump for T.EME380.61 and T.SP7050.10A 9503 main boards, panel M215X12‑E2‑P(G5), TC216B101 Adapter USB 3.0 do IDE/SATA III – instalacja, zasilanie, konfiguracja, prędkości, UASP