Minimalizacja prądu pobieranego przez uprocesor

Tutaj mozesz poruszać tematy ogólne powiązane z elektroniką, np. dyskusje na temat podzespołów, układów, zasad ich działania. Czyli można pisać o wszystkim czego nie da się przyporządkować do innych działów.
ODPOWIEDZ
Awatar użytkownika
Kulpina
Użytkownik
Posty: 2037
Rejestracja: 28 lip 2005, 16:57
Lokalizacja: Sanok
Kontakt:

Minimalizacja prądu pobieranego przez uprocesor

Post autor: Kulpina » 17 mar 2010, 20:16

Chcę zminimalizować prąd pobierany przez mikroprocesor.
Co mogę zrobić? Pomijając Idle i powerdown, czy jak ustawie wszystkie porty w stan niski, to pobór prądu przez mikroprocesor zmniejszy się? Ewentualny prąd wpływający będzie pobierany przez elementy, ktore są podłączone do portów, ale nie przez uprocesor, tak?

alaris
Użytkownik
Posty: 530
Rejestracja: 21 lut 2006, 14:56
Lokalizacja: Gorzow/Poznan

Post autor: alaris » 17 mar 2010, 20:25

Wyłącz nieużywane moduły, zwłaszcza ADC.
Wymuszanie stanu niskiego, według mnie, ma sens wtedy, gdy odcina to zasilania dołączone do peryferiów, np. można w ten sposób wyłączyć diody LED. Porty można również ustawić w stan wysokiej impedancji (DDRxy=0, PORTxy=0 bodajże)

samson
Użytkownik
Posty: 111
Rejestracja: 26 cze 2007, 0:33
Lokalizacja: Wroc/Leg

Post autor: samson » 17 mar 2010, 22:59

Jeżeli bardzo zależy Ci na zmniejszeniu pobieranego prądu to powyłączaj wszystkie peryferia nie używane oraz o ile to jest możliwe zmniejsz częstotliwość taktowania zegara.

alaris
Użytkownik
Posty: 530
Rejestracja: 21 lut 2006, 14:56
Lokalizacja: Gorzow/Poznan

Post autor: alaris » 18 mar 2010, 17:26

samson pisze:oraz o ile to jest możliwe zmniejsz częstotliwość taktowania zegara
Obniżenia napięcia zasilania też pozwoli oszczędzić trochę prądu.

Awatar użytkownika
Ertew
Użytkownik
Posty: 1414
Rejestracja: 03 lip 2005, 10:36
Lokalizacja: Leszno
Kontakt:

Post autor: Ertew » 18 mar 2010, 17:36

Przejrzyj dokumentację procesora. Większość procesorów z rodziny AtMega umożliwia programową zmianę częstotliwości taktowania (włączenie/wyłączenie/zmianę dzielnika głównego sygnału zegarowego).

Do tego jeszcze jak proponują inni, wyłącz zbędne peryferia.

Jeszcze taki drobny szczegół: na porty podawaj napięcia bliskie napięciu zasilania lub masy. Przy około połowie napięcia zasilania znacząco rośnie pobierany prąd.
Jeśli procesor przejdzie w tryb oszczędzania energii i wyłączy porty, to powinieneś dać zewnętrzne rezystory pull-up lub pull-down.

Awatar użytkownika
kayron
Użytkownik
Posty: 2088
Rejestracja: 21 wrz 2008, 12:53
Lokalizacja: Poland
Kontakt:

Post autor: kayron » 18 mar 2010, 18:40

A możesz podać konkretny procesor :?: Najwięcej można chyba zdziałać w tej dziedzinie na ATTINY, ale też nie każdej. Ogólnie taktuj CPU jak najmniejszym zegarem, już na 1MHz (ja robiłem z powodzeniem nawet na 128KHz) można spokojnie pisać programy nawet złożone.
Jednak w dużej mierze to sztuka programowania i wykorzystanie sprzętu jak np. WACHDOG, decyduje tu o końcowym sukcesie.

Awatar użytkownika
Kulpina
Użytkownik
Posty: 2037
Rejestracja: 28 lip 2005, 16:57
Lokalizacja: Sanok
Kontakt:

Post autor: Kulpina » 19 mar 2010, 11:45

Nie za bardzo jestem w stanie zmniejszyć częstotliwość taktowania, ponieważ, uklad pracuje standardowo z 4Mhz, a zmniejszyć pobór prądu chcę, gdy zabraknie zasilania głównego (zostanie pomocnicze CR2032). Chcę podtrzymać także mikroprocesor (oprócz RTC), aby możliwe było uruchomienie budzika, nawet gdy odcięty zostanie dopływ prądu z sieci do zegarka :mrgreen:

Awatar użytkownika
kayron
Użytkownik
Posty: 2088
Rejestracja: 21 wrz 2008, 12:53
Lokalizacja: Poland
Kontakt:

Post autor: kayron » 19 mar 2010, 14:35

Hm.. tym bardziej nie rozumiem po co CPU jest taktowane 4MHz, skoro na pokładzie jest RTC. To jest twój projekt czy jaki niewydarzony kit Jabela :?: Jeżeli jest tam procesor rodziny 51' to mija się to właściwie z celem (podtrzymanie proca). Natomiast pytanie brzmi jaki RTC tam masz ? Właściwie czy RTC może zgłaszać przerwanie jak jest alarm. Ogólnie tak jak ty chcesz się nie robi. Nie ma prądu nie działa nic, a to głownie dla tego że jak na takiej bateryjce uruchomił by ci się alarm to by wzmacniacz z głośniczkiem ją wykończyły w parę minut. A i sam UP w stanie uśpienia rzadko kiedy schodzi poniżej 1mA.

Awatar użytkownika
Kulpina
Użytkownik
Posty: 2037
Rejestracja: 28 lip 2005, 16:57
Lokalizacja: Sanok
Kontakt:

Post autor: Kulpina » 21 mar 2010, 18:14

Hm... No zastanowię się ;) Może i masz racje bo te próby podtrzymania procesora to jest katorga i nie mam kolorowego pojęcia jak się za to zabrać :mrgreen:
Chyba skorzystam z wyjścia alarmu w RTC ;)

keruseykaryu

Post autor: keruseykaryu » 21 mar 2010, 20:31

kayron pisze:Najwięcej można chyba zdziałać w tej dziedzinie na ATTINY, ale też nie każdej.
Najwięcej kolego można podziałać z rodzinką MSP430. Sami się chwalą, że wystarczą dwa kartofle do zasilania. Ale do tego nie ma BASCOM-a i stąd taka malutka popularność. A EP tak się przecież stara... :D
Dobra. Będzie przykład. MSP430 taktowany z kwarca zegarkowego 32kHz. Łatwo zrobić dokładny RTC na przerwaniach licznika. Uśpić można głęboko nawet do ułamka mikroapmera, w przerwach pomiędzy przerwaniami. Jak trzeba więcej mocy to przełączamy na wewnętrzny generator (z programu - dwie/trzy instrukcje!) i taktujemy nawet 16MHz. A po skończonej robocie znowu na 32kHz i lulu spać.

Albo i z niskoprądożernego PIC-a. Uśpiony pobiera coś 1 mikroamper. Ale Ja "PICów na wodę" nie lubię. :razz:

Awatar użytkownika
kayron
Użytkownik
Posty: 2088
Rejestracja: 21 wrz 2008, 12:53
Lokalizacja: Poland
Kontakt:

Post autor: kayron » 21 mar 2010, 20:49

Ta.. teraz nas zastrzeliłeś. Szkoda tylko że PICów jak sam mówisz nie lubisz, a MSP430 z kartoflami ugotowałeś. Tyle to napisać umie każdy, nam chodzi o konkretne rady i rozwiązania, a nie przegląd rynku i artykułów z EP. Przecież co projekt nie będziesz się uczył nowego środowiska i architektury CPU. O zapleczu uruchomieniowym już nie wspominam.

atelszewski
Użytkownik
Posty: 143
Rejestracja: 12 sie 2005, 9:36
Lokalizacja: Banie

Post autor: atelszewski » 21 mar 2010, 22:43

Witam,

Polecam ten tekst. Przedstawia jak zbudować RTC z wykorzystaniem Timer-a wbudowanego w ATtiny/ATmega oraz kalkulację odnośnie pobieranego prądu.

keruseykaryu

Post autor: keruseykaryu » 22 mar 2010, 18:25

kayron pisze:Tyle to napisać umie każdy, nam chodzi o konkretne rady i rozwiązania,
No to gdzie te "konkrety" od kolegi Kulpina? Czeski film, nikt nic nie wie. Idle, powerdown - coś mi tam dzwoni. AVR czy ki diabeł?
MSP430 to moja propozycja jak chce kolega Kulpina sobie zrobić zegarek i zasilać go z bateryjki od zegarka, ogórka kwaszonego, cytryny i innych owoców południowych... I walczyć o każdy mikroamper...

Co do zmian środowiska. Może czasem warto, a nie trzymać się tylko tego jedynego słusznego - "bo w EdW tylko BASCOM i AVRy znają". Będzie potrzeba zrobić na MSP430 - no problem. Będzie potrzeba zrobić na ST7 - no problem. Będzie potrzeba zrobić w Cortex M1 na bazie FPGA - no problem. Zrobi się. Rozwijamy się, nie stoimy w miejscu!

Nie jestem tubą EP jak sugerujesz. :evil:

ODPOWIEDZ