Uśpienie procesora nie ma wiele wspólnego ze świeceniem lampki. procesor kontroluje to co się dzieje z klawiszem a później wysterowuje odpowiednie elementy wykonawcze - czyli timer z PWM - ten zaś pewnie jakiś mosfet. W momencie w którym nic nie zmieniasz usypiasz rdzeń aby oszczędzić trochę energii. Jak znowu naciśnie klawisz to badasz co ma być zrobione...
Uśpienie procesora to jest jednorazowa akcja. Po wybudzeniu procesor będzie już pracować normalnie i tak ma być. To że Ty migasz diodą w przerwaniu i tylko w przerwaniu nie znaczy że każdy tak chce. Często po wybudzeniu procesor musi jeszcze zrobić wiele rzeczy poza przerwaniem w pętli głównej dlatego takie rozwiązanie jak jest jest optymalne. A jeśli...
Wielbię Cię! "Connect under Reset" zadziałało, sytuacja opanowana. Ale mógłbyś jeszcze wyjaśnić co robi ta opcja i dlaczego tak nagle okazała się niezbędna? Robi to co sama nazwa wskazuje. Istotne gdy zmienisz funkcjonalność pinów SWD lub działasz z uśpieniem procesora.
spróbuj wykoszystać próbkowanie z "uśpieniem" procesora - nie pamiętam dokładnie ale da się tak skonfigurować procka, że funkcją sleep uśpisz niepotrzebne układy wewnętrzne atmegi które wprowadzają dość sporo zakłuceń - funkcja sleep uruchomi wtedy automatycznie przetwarzanie ADC a po jego zakończeniu procesor automatycznie wyjdzie ze śpiączki - poczytaj...
Może też mieć na to wpływ błędne obliczenie UBRR dające nieoptymalną wartość dla tych częStotliwości zegara i transmisji. Cyfry mogą wtedy przechodzić poprawnie, a litery już nie. Takie użycie przerwania UART jest bezsensowne. Mniej czasu zajmie odczyt UDR w pętli zdarzeń, a jeszcze lepiej zrobić całą reakcję na znak w przerwaniu UART, z uśpieniem procesora...
Tutaj masz instrukcje http://www.elektroda.pl/rtvforum/topic33... Jak "wyskoczą" Ci takie znaki " tutaj kod Dodano po 1 Widziałem już kilka razy tę dziwną konstrukcję programu bo wielu ją powtarza jak włączanie przerwań w przerwaniu by odebrać kod RC5. Wracając do tematu kiedy usypiasz procesor to on dosłownie zatrzymuje się na linii kodu "Powerdown"....
Ja tu nie widzę informacji o reinstalacji systemu.
Pierwszy i bardzo poważny problem zauważyłem w funkcji TIMER1_COMPA, jest nim linijka rjmp uspij. Gdy się wykona, to przerwania pozostaną zablokowane, oraz kilka bajtów na stosie zostanie uwięzionych - głównie adres powrotu z przerwania. Można temu zaradzić poprzez wstawienie pop + pop + sei przed rjmp. Drugi problem, to karygodna pętla główna - dławienie...
Cześć wszystkim, jestem nowy na forum, mam pewne doświadczenie w ,,zmianach mózgowych", aby przekonwertować urządzenia Tuya na sterowanie lokalne za pomocą Tasmota. W tej chwili skupiam się na produkcji fotowoltaicznej i autokonsumpcji energii w domu. W moim obecnym projekcie opartym na pythonie z Modbus i influxdb muszę uchwycić zewnętrzną temperaturę...
To w takim razie możliwe że jakaś aplikacja działała w tle i nie pozwalała na uśpienie procesora ;) Jeśli czysty softowo telefon trzyma dłużej to zainstalowałeś jakiś syf :P
Potrafisz wywołać to na zawołanie? Jak tak to spróbuj tam podpiąć jakąś diodkę czy woltomierz z tym wentylatorem i sprawdź czy w takiej sytuacji jest napięcie, jak jest to pokombinuj z samym wentylatorem bo może coś nie styka.
To może ustaw żeby komputer nie przechodził w stan uśpienia? Spróbuj też upgrade biosu inny wydajniejszy zasilacz.
Kolego ADI. Przełączanie częstotliwości taktowania podczas pracy mikroprocesora nie wydaje mi się dobrym pomysłem. Podaj więcej szczegółów nt. co to za procesor to na pewno rozwiązanie się znajdzie, bez zmiany częstotliwości taktowania, Tak jak kolega wyżej napisał, są programowe mozliwości zmiany tej częstotliwości, a nawet "uśpienie" procesora.
[url=http://openocd.sourceforge.net/doc/... cortex_m reset_config connect_assert_srst ??
Zauważ, że blokada INT0 wystąpi w przerwaniu tylko wtedy, gdy odczytany zostanie kod inny niż 0xFF a tylko taki kod dopuści w pętli głównej do uśpienia procesora. Z reszta kod inny od wspomnianego powoduje jego wykorzystanie w pętli głównej, następnie odblokowanie przerwania, ustawienie tego kodu jako 0xFF i wyjście z warunku a następnie w kolejnym...
Do wejścia PB2 dolutowałem 1uF (ceramik) plus kilka zmian w algorytmie. Wydaje się że problem drgania styków jest opanowany. [syntax=c] #define F_CPU 16000000UL // Atmega644 #include <avr/io.h> /*biblioteka avr*/ #include <string.h> /*biblioteka napisy*/ #include <stdio.h> /*biblioteka podstawowa C*/ #include <stdlib.h> /*biblioteka...
Hehe. Zmieniłem według Twoich sugestii dotyczących kasowania bitu SE w ISR. Poza tym nie napisałeś nic konstruktywnego. No ale jeśli Twoja pomoc kosztuje to rozumiem, no mercy. Niemniej jednak soft nie robi niczego innego jak uruchomienie przerwania PCINT0 i uśpienie procesora a wszystkie piny,.które są w uproszczonym schamcie nigdzie nie podłączone...
Co do energii to jest problem, przerabiałem to dla procesorów PIC (pobór prądu ok 4mA przy 4MHz). Najlepszym rozwiązaniem jest uśpienie procesora i budzenie go co jakiś czasu w celu wykonania pomiaru albo budzenie po naciśnięciu klawisza. Wtedy średni pobór prądy spadnie znacznie (uspiony procek pobiera rzędu 10uA). A co do układu RS232 to chyba zaden...
Może coś się mechanicznie poluzowało np. radiator na procesorze.
Możliwe że uszkodziłeś coś na płycie w trakcie montażu, procesor w sockecie przesunąłeś...
1) Najpierw na chama wyświetlaj wartość którą odczytuje ADC. W ten sposób ustalisz co się sypie- ADC czy program. Łatwo zauwazysz jakie sa wahania odczytu i w jakich zakresach 2) Zadbaj o dobre odkłócenie napięcia zasilającego procesor 3) Nic nie napisałeś z jakiego VRef korzystasz (VCC, wewn, zewn?) 4) Na czas pomiaru możesz użyć uśpienie procesora...
Parę podstaw: - w Twoim przypadku procesor wychodzi z uśpienia poprzez przerwanie z ADC - przerwanie z ADC musisz zadeklarować: [syntax=c]ISR(ADC_vect) { ...jakiś kod }[/syntax]
Wakelock Detector może częściowo naprowadzić na winowajcę. Możesz sprawdzić, czy jakaś aplikacja nie wzbudza się zbyt często, albo blokuje możliwość uśpienia procesora.
Częstą przyczyną zwiekszonego poboru prądu jest złe ustawienie portów przed uśpieniem procesora.
Dzięki, pomogło. Lubię jak mam zero ostrzeń, bo ostrzeżenie to potencjalny błąd. Przy okazji zastąpiłem Dodano po 5 Jak napisał (at)BlueDraco w prywatnej wiadomości WFI bez nawiasów nie zrobi literalnie NIC - nie uśpi procesora. (void) tylko ukrywa problem. Prawidłowa odpowiedź: __WFI(); Przy okazji. Uśpienie procesora powoduje utratę połączenia z debugerem....
Zeby ograniczyc pobor prądu regułą jest stosowanie stanów uśpienia procesora. Robisz tak?
Skoro kręcisz się w pętli testowania stanu y, to równie dobrze można również w głównym programie inkrementować tę zmienną na podstawie ustawienia znacznika przepełnienia timera w pętli głównej - kod będzie w ten sposób krótszy o obsługę przerwania. Ponieważ całe urządzenie nie robi praktycznie nic poza czekaniem na upłynięcie czasu, a to, co robi po...
A po co wysyłasz co chwilę informację, że drzwi są zamknięte? Trzymaj procesor w stanie uśpienia, a jak drzwi zostaną otwarte to dopiero wyślij informację o tym fakcie. Gdy będziesz uC trzymał w stanie uśpienia to nawet mały akumulatorek starczy Ci na bardzo długo ;)
Stany uśpienia procesora w BIOS odszukaj. Zdaje się S5 to wyłączenie całkowite.
Proponuję raz jeszcze pochylić się nad głębokim uśpieniem. Dziękuję, działa super. A wyjaśnisz mi proszę, dlaczego głębokie uśpienie jest lepsze? To lutowanie tego procesora to jakaś wyższa szkoła jazdy. A chyba oszczędność prądu jest większa, jak układ całkiem wyłączę. No a przynajmniej porównywalna.
proponuje rozważenie uśpienia procesora. O ile układ będzie elektrycznie dobrze skonstruowany to prąd pobierany przez układ w stanie uśpieniu weźmie uA Pozdrawiam
Jak byk jest napisane Resume on Keyboard a nie Power on Keyboard :!: Klawiaturą można budzić tą płytę tylko z S3 (Suspend to RAM) a nie z S5 (Soft-off). Resume On KBC This item allows the activity of the keyboard to wake up the system from S3 (Suspend to RAM) sleep state. Settings: Disabled, Any Key, Specific Key. S0 - praca (procesor działa i wykonuje...
Przepraszam za kod. Nie pozmieniałem właściwie wstawek z obcych przykładów. Problem w tym, że podniesienie słuchawki (rozłączenie switcha - stan 0/LOW) ma nie mierzyć czasu podniesienia. Słuchawka może pozostawać dowolnie długo podniesiona - swobodny czas wybrania numeru i potem czas rozmowy. Czas ma być mierzony po jej położeniu (włączenie switcha...
W stanie uśpienia procesor nie dostawał by napięcia a więc nie mógł by wybudzić się i uruchomić przetwornicy. Przetwornica musiała by więc ciągle pracować.
Tę zmianę wartości PWM najlepiej zrobić w przerwaniu timera generującego PWM, a program główny powinien mieć pustą pętlę główną z uśpieniem procesora.
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...
Nie pamiętam, jak działa makro sleep_mode(); ale przecież przechodzisz do trybu uśpienia w przerwaniu od timera a jak wiadomo wejście w dowolną procedurę obsługi przerwania blokuje globalne zezwolenie na obsługę przerwań, wiec prawdopodobnie w chwili uśpienia skutecznie blokujesz także przerwanie zewnętrzne, przez co nie możesz później wzbudzić procesora...
Testowany w tym materiale konwerter prąd->napięcie umożliwia pomiar małych wartości prądu (µA, nA) obserwując wskazania na woltomierzu lub miliwoltomierzu. Biorąc to pod uwagę, czy nie byłyby bardziej użyteczne testy poboru prądu w różnych trybach uśpienia procesora? Uważam, że tego rodzaju konwerter byłby całkiem przydatny właśnie do tego celu.
Projektuję swój pierwszy układ, który jest termometrem samochodowym z 2 czujnikami, mierzącymi temperaturę zewnętrzną i wewnętrzną (w aucie). Układ oparty jest o Atmege8 i 2 czujniki DS18B20 oraz wyświetlacz LCD 2x16. Zasilanie jest bateryjne, aczkolwiek do układu będzie podpięty sygnał ze stacyjki, który będzie odpowiedzialny za uśpienie procesora,...
Timer2 będzie lepszy też z tego powodu, że specjalnie został stworzony do pracy jago zegar RTC. Jako jedyny działa po całkowitym uśpieniu procesora.
Powiem szczerze - rady daje na intuicje bo z choćby UEFI kontaktu nie miałem. Jedyne co jeszcze mi przychodzi do głowy to stany uśpienia procesora. Z tego co wiem S5 to wyłączenie zupełne, Teraz pozostaje kwestia jakie jeszcze i gdzie ustawić można. S2/S3 może jakieś opcje z tej okolicy.
Najbardziej wiarygodny byłby pomiar prądu i napięcia zasilającego taki zegarek. Myślę że w rzeczywistości jest mniejszy. Na podstawie zgrubnych szacunków wychodzi teraz, że pobór prądu to około 4µA. Trudno mierzyć takie małe prądy tym bardziej że zużycie nie jest ciągłe - oprócz kwarcu co sekundę jest pobierany spory impuls do napędu mechanizmu......
Poprawnie to by było bez "pętli głównej" (a dokładnie - z pętlą zawierającą jedną instrukcję - uśpienia procesora), tylko z samym przerwaniem timera, w których rozpoznajesz i zmieniasz tryb pracy i regulujesz prędkość silnika.
Najlepiej cały procesor ustawić w stan spoczynku. Możesz to zrobić na dwa sposoby: a) Włączyć timer np. 50mS, który wybudzi procesor i wejść w stan uśpienia. Po 50mS procesor się wybudzi, sprawdzisz czy został naciśnięty klawisz i ponownie przejdziesz w stan uśpienia. W stanie uśpienia procesor pobiera mały ułamek prądu normalnej pracy. b) Podłączyć...
Sądzę, że chodzi o konstrukcję programu w stylu: przerwania wykrywają zdarzenia i ustawiają flagi, main jest prostą pętlą (być może z uśpieniem procesora na końcu), w której są testowane flagi, a na podstawie wyników testów uruchamiane są inne procedury. Pozdrawiam, Dr.Vee
Tak, o ile procesor nie będzie w uśpieniu. Jeśli będzie to wymagana jest funkcjonalność asynchronicznego wybudzania, czego ATMega nie ma dla zboczy, wyłącznie dla poziomu. Trzeba też pamiętać, że zmiany krótsze niż okres zegara mogą być przez MCU niezauważone. Oczywiście dla kwartcu 14 MHz i impulsu 20us nie jest to problemem.
Dobrze opisałeś, lecz nie wziąłeś pod uwagę wszystkich czynników. Przeanalizujmy stan wyłączony. Jeśli na bramce jest napięcie w przybliżeniu równe zasilaniu, to wystąpi ono także na porcie procesora. Ponieważ ten jest połączony diodą zabezpieczającą do zasilania MCU, więc ten zostanie zasilony, co spowoduje spadek napięcia na pinie (zasilanie - prąd...
Jest to urządzenie odbiorcze i nadawcze transmisji DMX-512. https://obrazki.elektroda.pl/7875710200_... https://obrazki.elektroda.pl/1473579200_... Drugi tester wyglądał tak: https://obrazki.elektroda.pl/1506942700_... https://obrazki.elektroda.pl/1505487800_... https://obrazki.elektroda.pl/3619195400_...
Po porstu procesor nie może być w trybie uśpienia. Nic więcej nie trzeba robić. Przeczytaj sobie rozdział Power Management and Sleep Modes noty katalogowej, a wszystko się wjaśni.
Moje pytanie brzmi czy mogę pogodzić precyzyjny odczyt z ADC (z uśpieniem) i dokładny timer czy muszę wybrać albo precyzyjne ADC i niedokładny timer albo standardowy odczyt z ADC i dokładny timer? Timer1 jest taktowany przez prescaler z CLK_I/O, a podczas 'ADC Noise Reduction' , ten zegar jest nieaktywny/ wyłączony. Patrz tabela14 w datasheet; w której...
25uA to w zasadzie zawsze będzie pobierany przez procesor. W głębokim uśpieniu bywa < 1 µA. :cry: Jak zawsze. Ja bym chyba kupił zintegrowaną przetwornicę z monitora w jednej kości bo jest to relatywnie najtańsze i najpewniejsze rozwiązanie. Czy to przypadkiem nie miało trafić do jakiegoś innego tematu ?
Może nie rozwieje to Twoich wątpliwości ale - procesor z serii Haswell refresh po części wymagają zasilacza który jest w stanie uśpienia procesora poprawnie pracować przy małym obciążeniu lini 12V. Trzeba poszukać też, czy ten SilentiumPC jest "Haswell ready". Druga sprawa, polecam jednak zakup dysku SSD, znacząco przyśpieszy ten zestaw.
Hybryda ceramiczna z naklejoną pamięcią uWire. Dodatkowo wyprowadzenia zamalowane lakierem. Pamięci nie da się wyjąć trzeba czytać po uśpieniu procesora. Syzyfowa praca, poszukaj w archiwum bylo coś na ten temat przy gammie 2 lub 3 blaupunkta.
Witam, Chcę ustawić automatyczne przechodzenie komputera w stan uśpienia Windows 7 przy zachowaniu dwóch warunków jednocześnie: - komputer jest bezczynny dajmy na to 10min - procesor nie jest obciążony powyżej 90% Oczywiście zwykłe zaplanowanie stanu uśpienia po 10 minutach bezczynności odpada gdyż Windows wchodzi w niego nawet przy 100% obciążeniu...
Ciekawy design, jednak wydaje mi się, że układy wejść można by zmodyfikować. Diody clamp'ujace są zupełnie zbędne (w ATmega8 są wewnątrz procesora), Zenerke tez można usunąć. Wystarczy w szereg z wejściem zostawić duży rezystor i w trybie uśpienia procesora odprowadzić gdzieś nadmiar prądu aby nie "ubić" portu. Czemu ma służyć kondensator 100n ?
Wygląda OK, mam tylko taką uwagę że musisz się śpieszyć z uśpieniem procesora, bo po kilku sekundach zabraknie mu prądu z kondensatora. Nie widzę na schemacie dokładnie, ale te negatory (chyba IC2) jeśli mają stan wysoki na wyjściu to popłynie prąd z kondensatora i skróci czas podtrzymywania. To samo jeśli do procesora są podpięte jakieś diody LED,...
No i poprawnie: Tranzystor się otwiera, zamyka obwód przekaźnika i ten z kolei powinien załączyć zasilanie głównego transformatora. Jeśli nie załącza przekaźnika - szukaj przyczyny w obwodzie kolektor tego tranzystora-przekaźnik-zasilanie przekaźnika. Jeśłi załącza na chwilę główny transformator i zaraz się wyłącza; szukaj uszkodzenia dalej - może to...
Sporo jeszcze musisz się nauczyć. W języku C wykonanie programu polega na wywołaniu jedynie funkcji main(). Ta funkcja może wywoływać inne funkcje, które "same z siebie" nie są w żaden sposób wykonywane "po kolei". Funkcja powinna być zadeklarowana powyżej miejsca, w którym jest wywoływana. Niektórzy wolą pisać funkcje poniżej main(), ale wtedy przed...
Pierwsze słyszę żeby zasilacz nie obsługiwał uśpienia. Wg. Mnie to nie ma związku, a zasilacz po prostu niesprawny. Niektóre zasilacze mają problem z utrzymaniem napięć we właściwym zakresie przy bardzo niskim obciążeniu generowanym w stanach uśpienia (C6, C7). Te stany zostały wprowadzone z procesorami Haswell (jeśli dobrze pamiętam). Ogólnie jeśli...
D2 i D3 to ping od „alarmu”, idą do procesora w samochodzie. D2 to wybudzenie układu, D3 uśpienie. Nie są połączone z przekaźnikami, ale widzę że błędnie dałem przerwania dla D3 skoro silnik pracuje - wtedy nie chce usypiać układu :)
Pełna specyfikacja komputera. Stare i nowe części. Model monitora i sposób podłączenia. Reset BIOS.
No i pomysł z diodą sygnalizującą rozładowany aku jest raczej chybiony - z czego będzie zasilana? No ale pisałem, że ona by sygnalizowała 'rozładowany' aku czyli już od ok 3.5V a np poniżej 3.3V wcale by się nie włączała. To już by wystarczyło dla użytkownika ;) Napięcie zasilania całej elektroniki będzie takie samo - 3.3V jednak chciałem rozdzielić...
Płyta ABIT IP 35-E (P35-W627DHG-6A790A1AC-18) B01. Odnośnie ustawień oto najważniejsze: Taktowanie CPU, pamięci i napięcia - Auto, ACPI Suspend Type - Suspend to RAM, Resume by USB from S3 - Enabled, Hyper Threading - Disabled, Limit CPUID - Disabled, C1E Function - Auto, Virtualiation Technology - Disabled, EIST Function - Auto, Init Display First...
Udało się rozwiązać problem :D Rozwiązanie znalazłem tutaj: http://www.avrfreaks.net/index.php?name=... Należało wyłączyć układ USART zerując bity RXEN i TXEN przed uśpieniem i włączać go tylko, gdy był potrzebny :) Zamieszczam poprawiony kod programu - może się komuś przyda: ... #define F_CPU 8000000UL ... #define sbi(x,y)...
źle Cię uczono z tym ustawianiem znaczników - taka technika programowania nie ma ani sensu, ani uzasadnienia praktycznego. To taki mikrokontrolerowy zabobon. Obsługa przerwania nie ma być "jak najkrótsza". Ma być "nie za długa", tak, aby nie kolidowała z innymi przerwaniami. Jeśli obsługa przerwani polega tylko na ustawieniu znacznika, to lepiej wyłączyć...
Odpowiedź na przerwania ma szansę być precyzyjna (bo samo przerwanie JEST preczyzyjne) jeśli procesor będzie czekał na przerwanie w uśpieniu, a nie w niepustej "pętli głównej" ze sprawdzaniem zdarzeń. Niektóre modele uC z rdzeniami Cortex mają mechanizm sprzętowy gwarantujący determinizm czasu odpowiedzi dla jednego przerwania o najwyższym priorytecie,...
S3 to Suspend to RAM, głębsze uśpienie niż S1, wyłącza się zasilacz i procesor.
Przy uśpieniu oscylator, czy to kwarcowy, czy RC jest wyłączony. Wybudzić może go zewnętrzne przerwanie wyzwalane poziomem lub (nie w każdym procesorze) przerwanie asynchroniczne od timera2.
Też o takim sposobie myślałem i pewnie tak będę musiał zrobić bo mam jeszcze wolne porty serial, a procesor musi wiedzieć kiedy wyświetlacz wychodzi z trybu uśpienia.
W swojej aplikacji chciałbym użyć Brown-out Detector'a do wyłączania uC kiedy bateria zacznie padać. Jak widać na tabelce z datasheeta procek pójdzie spać kiedy napięcie spadnie poniżej okolic 2,6V (Vbot). Nie rozumiem po co jest Tbod skoro wynosi zawsze 2us. Zakładam że kiedy bit nie jest ustawiony ten czas jest inny. http://obrazki.elektroda.net/95_12674618...
shadow0013 : Zacytuję pierwszą stronę dokumentacji: – Real Time Counter with Separate Oscillator RTC służy do odliczania czasu niezależnie od stanu procesora (np uśpienie) czy oscylatora taktującego procesor (wahania częstotliwości), funkcja zegara/kalendarza jest tylko często stosowanym dodatkiem. Tutaj tą funkcję trzeba zrealizować programowo....
Co do źródła podtrzymującego to chyba nie w tym rzecz bo: 1. Dałem nawet 2x680 uF + 4 * 100 uF równolegle wszystko i problem występuje nadal. 2. Spróbowałem wykonać to na przerwaniu od komparatora i tutaj o dziwo działa z tym że tylko wtedy gdy procesor nie śpi. Ponadto z nie wiadomych mi przyczyn gdy nawet uśpienie jest włączone i uC działa normalnie...
urządzenia konstruowane dla procesorów Haswell powinny zapewniać minimalny pobór prądu z linii +12V na poziomie 10-krotnie mniejszym, niż obecny standard 0,5A wiec trzeba będzie nowy zasilacz jeżeli chce się korzystać ze stanów głębokiego uśpienia.
Możesz użyć Advanced Timera1 który ma wejście Break. I ustawić Break na automatycznie resetowany w każdym cyklu (a dokładniej przy każdym zdarzeniu update, ale chyba na to samo wyjdzie). Czyli Break wyłączy wyjście przy jego wysterowaniu (Breaka), ale można ustawić żeby wyjście automatycznie się spowrotem włączało przy następnym cyklu. Oczywiście poza...
Sekunda to sporo czasu. Impulsy można liczyć w uśpieniu. ;) Tylko trzeba procesor jakoś wybudzić. RTC? Zasil z możliwie niskiego napięcia.
Najprościej. Dobrać odpowiedni procesor tak aby zasilać bezpośrednio z baterii i wprowadzać w stan uśpienia z wybudzaniem w przerwaniu zewnętrznym. Większość nowoczesnych procesorów w stanie uśpienia pobiera naprawdę znikomy prąd (nawet poniżej 100uA).
Ten rejestr jest opisany na stronie 104 w [url=http://www2.st.com/content/ccc/reso... i służy do włączenia zegara do różnych peryferii, m.in. TIM2. Aby TIM2 zadziałał musisz w pierwszej kolejności włączyć mu...
No to jaki jest sens używania przetwornika 12 bitowego Na to pytanie musisz sobie sam odpowiedzieć w konkretnej aplikacji. Zobacz w DT jakie sa szumy własne przetwornika, jak poprawiać jakość odczytów. Więcej bitów nie znaczy dokładniej. Jezeli wejscie jest przez filtr dolnoprzepustowy to sam sygnał raczej nie jest stabilny i jak dodasz szumy ADC +...
Jeśli procesora nie wprowadzasz w tryb uśpienia, to zmiana poboru prądu przez procesor jest porównywalna jak by cały czas wpisywał te dane, jak i co jakiś czas.. jak chcesz, to możesz wykorzystać timer do odmierzania jakiś odcinków czasu np 200ms (w przerwaniu ustawiać jedną flagę, nic więcej) a w pętli głównej jeśli ta flaga jest ustawiona, to aktualizacja...
Brutus_gsm : Radził bym Ci przeprojektować trochę ten kod: ustawianie flagi I (sei()) w przerwaniu jest największym błędem (chyba, że wiesz co robisz oraz to kontrolujesz). Przed wyjściem z funkcji przerwania ustawiasz flagę I (jeśli przyjdą kolejne przerwania, pojawią się kolejne wywołania i przepełni się stos - błąd), po czym usypiasz procesor (zakładając...
Witam. Zwykły kwarc 32K. Usypiasz procesor i możesz go budzić na żądanie w określonym czasie. Jak wszystko pójdzie dobrze uzyskać pobór prądu na poziomie 1uA w stanie uśpienia.
Piszczenie to już dla mnie sprawa pomijalna. Kwestia do rozwiązania to nie działający poprawnie tryb uśpienia po zmianie procesora. Czy naprawdę nikt nie jest w stanie pomóc. Dodatkowy objaw jaki zaobserwowałem to niemoc bootowania z USB (czy to pendrive czy DVD)
1) Zgraj sobie najnowszego bascoma, chyba wersja 2.0.7.cośtam 2) Zamiast POWERDOWN użyj POWER POWERDOWN 3) Na początku Portd.2 = 1 zamień na Portd.2 = 0 czyli wyłącz wewnętrzne podciąganie, bramki 4081 są bardzo słabe Spróbuj przerobić i przełączyć się na INT1 bo INT0 może jakoś upaliłeś. Przetestuj miernikiem czy bramki wysyłają stan niski po wciśnięciu...
Witam, Zaczynam właśnie zabawę z procesorami atmega i mam problem z watchdog'iem na atmega8. Pod atmega328 działa to super ale tam jest troszkę inaczej (jest WDIE, którego w atmega8 nie ma) Skorzystałem z przykładowego kodu z tej strony #include <avr/wdt.h> #include <avr/sleep.h> #ifndef cbi #define cbi(sfr, bit) (_SFR_BYTE(sfr)...
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.
Witam Buduje urządzenie zasilane bateryjnie oparte na atmega169p. Procesor jest zasilany z około 2.6V i pracuje na zewnętrznym oscylatorze 1.8432MHz. Procesorem wysterowuje wyświetlacz LCD (4 wspólne + 12 segmentów). Problemem jest pobór prądu w czasie uśpienia procesora. Nie mogę zejść poniżej 100uA w power save mode. Brownout i debug mode wyłączone....
Pewnie są, ale to jest dosyć intuicyjne. Procesor pobiera w trybie uśpienia pewien prąd (nazwijmy go statyczny). W czasie pracy bierze prąd znacznie większy (nazwijmy go prądem dynamicznym). Liczysz po prostu ile czasu procesor jest w obu stanach z czego wyliczysz średni pobierany prąd. Im wolniejszy jest procesor, tym więcej czasu zajmie mu przetwarzanie...
Wreszcie doczekałem się , że " elektroda " jest czynna . Po takiej przerwie , podpowiedzi kolegów już nie mają znaczenia ale dla wielu zainteresowanych piszę , że rozwiązałem problem z brakiem fonii. Brak napięcia resetu na procesor MSP3400 powodował stan uśpienia tegoż procesora i zarazem brak fonii w trzech oddzielnych torach tj. wyjście m.cz. na...
Poczyniłem pewne usprawnienia układu i mam nowe pomysły. Układ składa się właściwie z 2 przycisków buzzera i attiny2313. Podczas czuwania sam procesor pobiera prąd 0,5 uA podczas gdy buzzer się uruchomi jako alarm to procesor pobiera około 4mA. Gdy zastosuję stabilizator 7805 do zasilania samego mikroprocesora to w czasie uśpienia procesor pobiera ponad...
I weź tu odpowiedz jakkolwiek? Jaki procesor konkretnie. I jakiego trybu uśpienia używasz.
Mam włączone przerwania GIE,RBIE. Ja nic takiego nie widziałem w Data Sheet. Jak to powinno być napisane poprawnie uśpienie i wybudzenie?
Prawdopodobnie procesor wisi w funkcji obsługi przerwania. We wnętrzu przerwania wyłącz je. Włącz je dopiero gdy będzie potrzebne (na przykład przed uśpieniem). Przerwanie na stan niski jest wywoływane cały czas tak długo jak stan niski trwa na wejściu.
Hej, Wielkie Dzięki za pomoc !!! Marco mistrzostwo ... idealna płytka .. w porównaniu co do mojej.. Ale zauważyłem że musiałeś zamienić kilka ścieżek :P Pytanie co to jest za element obok gniazda IDC (programatora ) rezystor, kondensator ? on tam jest celowo do łatwiejszego projektowania ścieżek czy ma jakieś znaczenie ? Dokładnie jest on podłączony...
Bardzo dziwna sytuacja. Nigdy nie zdarzyło mi się aby GPU (czy inna karta rozszerzeń) chodziła na tyle luźno w porcie PCI-E żeby generować takie problemy - a uwierz mi robiłem różne dziwactwa - włącznie z podpiłowywaniem PCB ;). Bardziej niż na sam port PCI-E stawiałbym na przykładowo źle wpięte przewody zasilające. Można tez ewentualnie podejrzeć dziennik...
U mnie ta sekwencja działa bez problemu (STM32F100RB), więc musisz szukać może przyczyny w połączeniach przycisku. Raczej niczego w kodzie nie brakuje. Najlepiej jak przycisk jest stale podciągany do 0 i przyciskiem zwierany do +. A na pewno dochodzi do inicjacji wakeup? Nie wisi przypadkiem na przycisku - while(WAKEUP); ? Dodano po 1 U mnie jest tak:...
Staszicu. Myślę ze to jest problem związany z oszczędzaniem energii. W Opcji Zasilania w oknie "Ustawienia zaawansowane" mozna wybrać trzy tryby : Zrównoważony A funkcję " UŚPIENIE " i opcję z tym związane znajdziesz również w Opcjach Zasilania czyli " Panel sterowania " > Opcje zasilania > u mnie to " Zrównoważone " i wchodzę w >> Zmień...
To, kiedy jest generowane przerwanie i jakie, nie zależy od tego, jakie napiszesz procedury obsługi przerwań, a od tego, jakie przerwania włączysz w odpowiednim rejestrze. Do każdego włączonego przerwania musisz napisać procedurę jego obsługi. Jeśli włączasz TOIE - musisz mieć procedurę timerX_ovf_vect, jeśli włączasz OCIE1A - musisz mieć TIMER1_COMPA_vect....
Przede wszystkim PCINT wymaga większego nakładu programowego. Przy włączonych wielu źródłach danego przerwania PCINT trzeba analizować, który pin zgłosił przerwanie i w jaki sposób się to odbyło (które zbocze). PCINT jest niżej w hierarchii przerwań, zatem na obsługę tego przerwania trzeba czasem dłużej poczekać (w zależności od konstrukcji programu)...
Obrazki się nie powiększają, ale z tego co widać to są to opcje ustawiające czas po którym wyłącza się dysk, monitor a dalej komputer przechodzi w tryb uśpienia-tak jak można też ustawić w stacjonarnych. Najlepiej wybrać max perfprmance i jeśli używasz Windows to zastosuj RightMark CPU Clock Utility.
Praktycznie cały prąd idzie na diody. Jeśli żadna nie jest włączona, pobór wynosi 700uA, przy wszystkich diodach włączonych- 5,5 mA. Oczywiście jest to pewne uproszczenie, bo diody są multipleksowane - nigdy nie są włączona wszystkie naraz. Nie używam uśpienia procesora - zapewne pobór spadłby, gdyby wprowadzać procesor w stan "ADC noise reduction",...
esp8266 uśpienie monitor uśpienie atmega uśpienie
katalizator wydech pendrive zniknął hamulec grzać
plazma samsung driver uszkodzony plazma samsung driver uszkodzony
Dlaczego kable energetyczne są lakierowane? Schemat elektryczny pralki Samsung WF8804DP - gdzie znaleźć?