Úsporné režimy procesora: Rozdiel medzi revíziami
Zo stránky SensorWiki
| Riadok 46: | Riadok 46: | ||
==== Idle ==== | ==== Idle ==== | ||
Vypína iba procesor, | Vypína iba procesor, a necháva dosť veľa možnosti zobudenia z vonku aj z vnutra. | ||
| Riadok 62: | Riadok 62: | ||
==== Standby ==== | ==== Standby ==== | ||
Mal by sa používať s vonkajším krýštalom alebo rezonatorom v role časovača. Je identický ku '''Power- | Mal by sa používať s vonkajším krýštalom alebo rezonatorom v role časovača. Je identický ku '''Power-DOWN''' s jednou vynimkou - oscilator pokračuje pracovať. | ||
==== Extended standby ==== | ==== Extended standby ==== | ||
Mal by sa používať s vonkajším krýštalom alebo rezonatorom v role časovača. Je identický ku '''Power- | Mal by sa používať s vonkajším krýštalom alebo rezonatorom v role časovača. Je identický ku '''Power-SAVE''' s jednou vynimkou - oscilator pokračuje pracovať. | ||
Verzia z 08:40, 23. jún 2026
Záverečný projekt predmetu MIPS / LS2026 - Gordii Chornyi
Zadanie
Cieľom tohto projektu je oboznámenie s zabudovanymí úspornymí režimami procesora.
Hardware v tomto projekte je doska ACROB s mikrokontroler ATmega328P.

Literatúra:
- How to optimize Arduino for low power design
- Sleep Modes and Power Management
- Dokumentacia k ATmega328P
- AVR® Low Power Sleep Modes
- <avr/sleep.h>: Power Management and Sleep Modes
Analýza a opis riešenia
Arduino doska može byť použitá v strojoch, ktoré s spoliehaju na externý zdroj energie a hlavné na uchovanú energiu v akumulatori. Prístup ku externému zdroju môže byť nepravidelný a nie je tak efektívny, ako by sme chceli.
V takejto situácii chceme, aby komponenty stroja využívalí čo najmenej energie a zaroveň zachovávali požadovanú efektivnosť a potrebné schopnosti.
V tomto momente, pravdepodobne, nastane problem: Chceme zobrať malu dosku s malou spotrebou energie, ale pre správnu prácu stroja musime zobrať väčšiu dosku, s väčšou spotrebou, s požadovaným výkonom a funkciami.
Ako jeden zo spôsobov vyriešiť problem veľkej spotreby energie je použiť jeden z úsporných režimov.
Nam sú dostupné 6 úsporných režimov:
- - Idle
- - ADC noise Reduction
- - Power-down
- - Power-save
- - Standby
- - Extended standby

Idle
Vypína iba procesor, a necháva dosť veľa možnosti zobudenia z vonku aj z vnutra.
ADC noise Reduction
Veľmi podobný ako Idle s rozdielom v tom, že vypína aj SPI a USART. Toto umožňuje zväčšiť kvalitu merania ADC prevodnika.
Power-down
Vypína skoro všetko. Zobudenie je možne iba cez (TWI) 2-wire serial interface, Watchdog, prerušenie na pinoch INT0 a INT1 z vonka, prerušenie z ostatných pinov.
Power-save
Od Power-down sa líši možnosťou zapnuť Timer/Counter2 v synchronnom alebo asynchronnom režime. Ak Timer/Counter2 nepotrebujem, tak lepšie zapnuť Power-down režim.
Standby
Mal by sa používať s vonkajším krýštalom alebo rezonatorom v role časovača. Je identický ku Power-DOWN s jednou vynimkou - oscilator pokračuje pracovať.
Extended standby
Mal by sa používať s vonkajším krýštalom alebo rezonatorom v role časovača. Je identický ku Power-SAVE s jednou vynimkou - oscilator pokračuje pracovať.
Algoritmus, program, zapojenie
Algoritmus programu využíva toto a toto, základné funkcie sú takéto a voláma ich tuto... Výpis kódu je nižšie...
#include <avr/io.h>
int main(void)
{
unsigned int measuredValue;
while (1)
{
/* relax */
}
return(0);
}
#include <avr/io.h>
void adc_init(void); // A/D converter initialization
unsigned int adc_read(char a_pin);
Pridajte sem aj zbalený kompletný projekt, napríklad takto (použite jednoznačné pomenovanie, nemôžeme mať na serveri 10x zdrojaky.zip:
Zdrojový kód: zdrojaky.zip
Overenie
Ako ste overili funkciu, napríklad... Na používanie našej aplikácie stačia dve tlačítka a postup používania je opísaný v sekcii popis riešenia. Na konci uvádzame fotku hotového zariadenia.

Video:
Čo by som urobil inak
Zamyslite sa spätne nad problémom, ktorý ste riešili a napíšte, čo sa vám nepodarilo a nabudúce by ste spravili inak.
Kľúčové slová 'Category', ktoré sú na konci stránky nemeňte.