Raczej opcja 1 + dokładne prowadzenie mas, połączenie w jednym punkcie AGND i GND + rozlanie masy pod układem (w TQFP), mega filtrowanie, dławik na AVcc itd. Wzmacniacz i wejście analogowe max daleko od układów cyfrowych z bardzo dokładnie filtrowanym napięciem. Pamiętaj też, żeby na czas pomiaru ADC usypiać procesor i nie korzystać z IO cyfrowych na...
Przelicz sobie pobór prądu dla układu i dopiero wtedy planuj dalsze działanie. Procesor będziesz musiał usypiać a wyświetlacz wyłączać. Pamiętaj też że przetwornica nie ma 100% wydajności.
A ja bym zrobił inaczej. Całość zasiliłbym z 4x1.5V. Płytka nodemcu ma w sobie dwa regulatory ams1117 3.3V i 5V, każdy może dać po 1A prądu. Serwo zasiliłbym bezpośrednio z baterii, a resztę z istniejących regulatorów. Oczywiście autor nie podał wszystkich szczegółów komponentów, które podłączy, bo i po co? Jakby podejść do tematu fachowo, to należałoby...
Jak na pierwszy projekt, to bardzo ładny schemat :) 1. R19 zbędny bo wystarczy włączyć programowo rezystor pull-up. 2. Zamiast kontaktronu zastosowałbym transoptor szczelinowy lub fototranzystor i diodę LED. 3. ATmega8 - pewnie że "nadąży", to wbrew pozorom bardzo wydajny mikrokontroler do tak prostych zadań jak Twoje :) 4. C1 i C3 umieścisz jak najbliżej...
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...
Witam serdecznie, Chciałbym przedstawić mój projekt rolet okiennych. Z racji większej ilości wolnego czasu postanowiłem zautomatyzować istniejące rolety. Założenie podstawowe: nie ryjemy po ścianie oraz integracja z istniejącym systemem automatyki domowej. Przejrzałem zapasy układów, i jako główny procesor padło na ESP12-F, zasilanie li-ion 18650 a...
Zrób eksperyment i spróbuj usypiać procesor na czas konwersji. Teoretycznie nie powinno to mieć żadnego wpływu, ale spróbować można.
Nie znam się na arduino, ale czy nie lepiej byłoby zrobić przerwanie od kontaktronu i usypiać procesor zamiast żreć baterię na pętlach ? Program też byłby prostszy. Miał byś tylko 2 pętle (albo nawet i jedną).
A. No to sens jak najbardziej jest. Ale niestety w ATMega8 nie da rady. Co najwyżej to można usypiać procesor z wypełnieniem około 1/8.
Łatwiej byłoby wykorzystać wejście z przerwaniem. W programie ustawić w głównej pętli czy gdzieś sprawdzanie tego wejścia i jak np. przyjmie stan "0" to program usypia procesor i włącza przerwanie. Jak pojawi się "1" to procesor się obudzi. W ten sposób masz tą zaletę, że możesz dokładnie określić w którym momencie procesor ma się usypiać (zaraz po...
Witam. W układzie licznik timer2 pracuje asynchronicznie - taktowany jest z kwarca zegarkowego. W Bascomie używam instrukcji RTC programowego. Czy mogę przy używaniu RTC usypiać procesor - uruchamiać tryb Powerdown?
Szkoda, że nie zaprogramowałeś Arduino w języku C - byłoby bardziej profesjonalnie To w jakim według Ciebie języku napisany jest teraz program? Rzeczywiście, to jest język C, ale z zastosowaniem biblioteki Arduino, która z jednej strony ułatwia początkującym programowanie, ale z drugiej znacznie ogranicza ich możliwości. Znacie kogoś, kto zawodowo...
A nie prościej usypiać procesor? Można to zrobić programowo i wtedy pobiera prąd rzędu uA, do tego mógłby się szybko "obudzić" po sygnale przerwania, albo okresowo sam budzić. Jest jeszcze jedna możliwość, można procesor trzymać w stanie resetu, (zależnie od typu) wtedy nie działa oscylator i prąd pobierany jest znacznie mniejszy.
Rozwiązań sprzętowych jest wiele, ale przypuszczam, że masz na pokładzie procesor, który zapewne ma jakieś tryby uśpienia. Przycisk ON możesz podłączyć do RST lub przerwania, które jest w stanie wybudzić procesor. OFF może być podłączone do cyklicznie odpytywanego wejścia lub przerwania, które uśpi lub nawet odłączy od zasilania peryferia i w kontrolowany...
Daruj sobie oversampling. Zrób kalibrację. Wybierz dwa punkty: jeden blisko dołu zakresu, drugi blisko góry zakresu. Na osi x masz wartość binarną odczytaną z przetwornika ADC, w skrócie WBIN, a na osi y masz U[V]. Równanie prostej łączącej te dwa punkty to: U= a*WBIN + b. Dla obu tych punktów musisz odczytać WBIN oraz U. Wartości odczytane podstawiasz...
Czyli nie jestem osamotniony w tym temacie :). Tak jak pisałem wcześniej zmieniłem procesor na LPC i mam uruchomionych większość jego peryferiów i GPS działa normalnie. Co do STM32 to dowiedziałem się, że to wina pamięci flash. Według firmy ST gdyby wykonywać program z pamięci RAM to powinno działać ale nigdy tego nie sprawdziłem z braku czasu. Sugerowali...
Chociaż ja bym osobiście zrobił na przerwaniach i usypiał procesor. Dzięki czemu uzyskałbyś lampkę która w bezruchu pobiera kilka uA prądu i nie trzeba jej nawet wyłączać.
Jeszcze jest jeden trick, niestety mało wygodny. Można usypiać procesor na czas wykonywania pomiaru przetwornikiem ADC. Dzięki temu mniej zakłóceń przeniknie "wewnątrz krzemu". Niestety potencjometrem zawsze będzie można nastawić napięcie na wartość bliską progu przejścia do kolejnego bitu. Nawet jeśli nastawi się napięcie "idealnie po środku bitu",...
No to go wybudzi. Możesz sobie sprawdzić ile czasu minęło od uśpienia i ew. zignorować to i ponownie uśpić MCU. Możesz też go usypiać w momencie, kiedy użytkownik zwalnia przycisk, a nie, gdy go trzyma. Tak jak pisałem, przerwanie od przycisku możesz zostawić puste - ono jest tylko po to, aby procesor mógł się wybudzić.
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...
Dobry akumulator ołowiowy nie rozładuje się całkowicie sam w okresie jednego roku, miałem ostatnio akumulator z upsa, leżał z 10 miesięcy, i całkiem sporo prądu jeszcze z niego wyciągnołem ( napięcia miał ok 12,5V po leżakowaniu). Czyli jakaś cegła typu 150Ah mogła by się nadać. Według mnie jednak należy znacznie ograniczyć pobór prądu przez układ....
Dostępne lokalizatory na rynku mają 30g lub więcej. Dla kota to chyba za dużo. GPS znalazłem GP-20U7. Wiem że są lżejsze ale ten jest dostępny. Dane chcę przekazywać radiowo nie przez GSM (wiem to też radiowo). Przy dobrej antenie powinno zadziałać na może 2km z modułem HC-12 SI4463 (sprawdziłem działa na 1.5km na antenach typu drucik). Chciałbym przekazywać...
Drogi autorze umieszczając swoją konstrukcje powinieneś się liczyć z jej opinią. Masz swoje argumenty czemu Mega8, a nie inaczej, jednakże powinieneś również posłuchać rad innych. Cena ceną, ale układ mniejszy z pewnością by bardziej cieszył. Co do samego projektu, to nie rozumiem jednej rzeczy. Układ jest załączany po stacyjce by nie rozładowywał akumulatora....
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.
http://obrazki.elektroda.pl/3031779300_1... Pomiar prądu płynącego przez opornik pomiarowy wydaje się być bardzo prosty. Wzmacniamy napięcie, jakie odkłada się na oporniku, podajemy to na ADC i już możemy obliczyć wartość płynącego prądu. Ale w realnej aplikacji, gdy opornik znajduje się na jakimś potencjale, sporo powyżej masy systemu,...
atom1477 no bardzo prawdopodobne bo podłączyłem inną atmege zasilając tylko VCC i na AVCC było właśnie około 4,4V. W układzie z rolet, przy takim samym zasilaniu na AVCC jest 0V. Tylko w jaki sposób to się uszkodziło? Kupiłem nową atmege ze sklepu, wszystko ostrożnie podłączałem. A może dlatego że lutowałem atmege bez podstawki... chociaż wątpię. A...
No więc kombinowałem już wczesniej z tymi różnymi opóźnieniami. Wstawiałem je w kilka miejsc na wszelki wypadek i zmieniałem na bardzo duże. Niestety poległem ;) Często klawisze powtarzały się same, nawet bez wciskania przycisku :/ Nie wiem do tej pory co to było. Ale rozwiązałem już problem. Przynajmniej na razie wszystko działa jak powinno. ;) Zmieniłem...
Witam wszystkich! Jestem w trakcie czytania (po raz nasty) książki autorstwa Tomasza Francuza pt. "AVR. Układy peryferyjne". W książce tej tmfr opisując ADC pisze, że ATXMEGA 128A3U może taktować swój ADC z maksymalną częstotliwością 2MHz. Przy próbkowaniu potokowym mamy odczyt próbki w każdym takcie ADC. Przy założeniu, że rdzeń chodzi z częstotliwością...
Ja miałem podobny objaw w 22DC722/00 ale tam przyczyna usterki była prozaiczna zmienił wartość rezystor w pobliżu stabilizatora, przez co stan wysoki na jednym układzie cyfrowym przy procesorze wisiał w obszarze zabronionym i procesor zachowywał się jakby z uwalonym generatorem (te procesory dziwnie się potrafią usypiać w stanie spoczynku, że jest na...
no racja w sumie. To jak bede wiedzial ze procesor mi przeszedl w stan POWER DOWN? Ta dioda powinna mi wtedy zgasnac? Przeciez pobor pradu ma by wtedy minimalny?
Witam. Dołóż kwarc 32kHz i usypiaj procesor całkowicie. Ustawiając odpowiednio Timer będziesz go budziła np. co sekundę. W trakcie "pobudki" procesora sprawdzaj stan klawisza czy jest wciśnięty. Zatrzymując wszystkie zbędne peryferia w procesorze uda Ci się zjechać z poborem prądu poniżej 2uA.
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);...
Dodam jeszcze, że budzenie z przerwania TWI z IDLE MODE jest CHYBA(?) w tej tabelce jako OTHER I/O: http://obrazki.elektroda.pl/7969103400_1... Dodano po 1 Po zaimplementowaniu zapisu i odczytu wszystko gra i buczy :) Procesor śpi gdy TWI śmiga. WNIOSKI KOŃCOWE - 24C128 IS27 oznacza kość z 2,7V czyli działającą na wyższym zakresie napięcia...
Witam, Konfiguracja: - płyta główna Gigabyte GA-MA770T UD3, - procesor Phenom X4 945, - karta graficzna Radeon 5850, - 4 GB RAM. Problem z komputerem od nowości. Po wyłączeniu komputera i wystygnięciu załóżmy ok. pół godz. (i więcej oczywiście), komputer nie włącza się, tzn. niby startuje - włącza się podświetlenie obudowy, wentylatory i nawet dysk...
Wystarczy nieco zmieinć pętlę i problem z atomowością zniknie, ale to autor zapewne wie. Ale może inaczej ten problem rozwiązać - skoro procesor i tak nic nie robi (chyba, że jeszcze jakieś przerwania wykorzystujesz) to może prościej go usypiać i tak przeskalować timer, żeby generował przerwanie go wybudzające? Skróci to kod i dodatkowo zmniejszy zapotrzebowanie...
Witam, Mam problem z uruchomieniem drugiego alarmu od RTC w procesorze STM32L051. Do tej pory był włączony Alarm A a sam procesor przechodził w tryb deep sleep, wszystko działało jak należy, przerwanie wybudzało procek. Pojawiła się potrzeba jeszcze jednego alarmu, tak więc uruchomiłem (analogicznie to alarm A) alarm B, ale z dziwnego powodu nie pracuje...
Troszkę tych rodzajów błędów w ADC jest, możesz poczytać trochę tutaj http://www.maxim-ic.com/app-notes/index.... . Poza tym najlepiej w przetwornikach wbudowanych na czas pomiaru usypiać procesor, druga sprawa to że w DIPie dokładność jest mniejsza, z tego co pamiętam to ch-ki podane w datenblacie są gwarantowane dla obudów TQFP, tyle że to...
Jeśli chcesz gotowego rozwiązania to napiszę jak sam robię takie systemy: Deklaruję pewną strukturę globalną, koniecznie volatile, w której umieszczam flagi w zależności od tego ile ich potrzebuję, np.: [syntax=c]volatile struct sZmienna { unsigned char Pomiar :1; unsigned char Timer :1; unsigned char Odswiez_LCD :1; //itd. }Zmienna;[/syntax] Następnie...
Faktycznie, przeglądając notę katalogową tego układu wychodziłoby na to, iż jest to chyba rozwiązanie najbardziej optymalne. Nie wiem czy w takim razie projekt nie staje się trywialny, Ja bym poszedł więc zupełnie inną drogą. 1 .masz już czujnik. 2. Toto za oknem ma właściwie robić 2 rzeczy: przesyłać przetworzoną wartość temperatury i pobierać jak...
Witam. Spróbuj wykorzystać watchdoga w trybie przerwania nie resetu. W Main'ie błyskasz diodą pierwszy raz, ustawiasz pieska w tryb przerwania, włączasz watchdoga na 1S i usypiasz procesor i następie pętla bez końca i z pustym ciałem. W przerwaniu mrugasz diodą, resetujesz watchdoga i idziesz dalej spać. Sumarycznie będziesz nawet pobierał mniejszy...
Podaj model oryginalnego radia, producent, numer części. Pokaż pinout z naklejki tego radia. Na pewno na tym przewodzie złącza dodatkowego nie ma + po stacyjce. Nie mogę odnaleźć pinoutu dla radia z takim obsadzeniem pinów w złączach dodatkowych, przypuszczalnie mógł tam być sygnał SPD — zwiększenie głośności radia podczas jazdy lub sygnał PWM prędkości...
Nie wiem czym jest owe "ciągnięcie możliwości procka". Jeśli chodzi o moc obliczeniową, to procesor albo idzie na 100% dostępnej mocy obliczeniowej, albo śpi - nie ma tu systemu operacyjnego, który zarządzał by czasem procesora, funkcje _delay są oparte o pętle(zajęcie procesora na określoną liczbę cykli), nie o usypianie procesora na określony czas,...
Tak jak kolega wyżej napisał. Po uśpieniu procesor już nic nie robi i nie wykonuje żadnych rozkazów. Są jednak zdarzenia opisane we wspomnianej tabelce (Table 14) które ten procesor mogą wybudzić. W Twoim przypadku po prostu nastąpiło takie zdarzenie - przerwanie od zegara T2, które nastąpiło ułamek sekundy po tym jak procesor uśpiłeś i go wybudziło...
usypianie nie jest mi potrzebne bo procesor zasilany z zasilacza . Usypianie to nie tylko pobór prądu, to także mniejsze EMC. Teraz to będzie lepsze? Zdecydowanie.
Albert: dość mocno mijasz się z prawdą. Niektóre uC z rdzeniami Cortex mają sprzętowy mechanizm gwarantujący czas odpowiedzi na przerwanie, który umożliwia redukcję drżenia (jitter) przerwania o najwyższym priotrytecie do zera również wtedy, kiedy mamy w systemie inne przerwania. Jeśli użyjesz tego mechanizmu, to sam decydujesz jawnie o czasie od przerwaia...
Ale Kolega lubi sobie życie komplikować... W programie głównym programujemy dowolny timer na zgłaszanie przerwań z częstotliwością coś pomiędzy 30 i 300 Hz, a następnie usypiamy procesor w pustej pętli. Definiujemy stałą określającą czas włączenia w okresach timera: [syntax=c]#define CZAS_WLACZENIA xxxxx <- wpisz liczbę okresów timera[/syntax] przerwanie...
A co to zmienia? poniżej 5 (bardzo optymistycznie) taktów nie zejdziesz. Nie chce mi się liczyć ale sam zobacz ile taktów potrzebujesz. Odpowiedź nasunie się sama. Procesora usypiać nie musisz wystarczy że stos i zmienne umieścisz w CCM
Weź ogniwo słoneczne o mocy np 5W, zamontuj po bokach cztery czujniki światła (fotorezystor albo coś w tym stylu) i mierz na nich napięcie. Jeśli np z prawego będzie napięcie większe niż z lewego to oznacza, że słońce masz po prawej i musisz obrócić ogniwo dopóki się nie wyrównają (czyli słońce będzie po środku). Najlepiej podzielić układ na dwie części,...
Znikomy bo po złączu cyfrowym jest usypiany...
To zależy jak było zaprojektowane radio, jeśli konstruktor przewidział taką możliwość to wykorzystał możliwość usypiania procesora. Podłączenie kondensatora nawet do samych wyprowadzeń procesora nie na wiele sia zda bo pracujący procesor pobiera mA a uśpiony uA. Pozostaje zawsze niewielki zysk na niezasilaniu np końcówki mocy i tunera radiowego ale...
usypiać zasilać usypiać łączyć usypiać dekoder
mcp23017 raspberry defro optimum komfort projektowanie szafy sterowniczej
podręczniki książki mikrokomputer cobra1
Bosch WTW87490FF/02 – trzy świecące diody, brak działania, blokada odpływu kondensatu URC 22-12 – kody do telewizora SEG, programowanie pilota uniwersalnego