Zmena frekvencie zariadenia

možnosti zabezpečenia nízkej spotreby mikrokontroléra pomocou zmeny frekvencie

Spotreba zariadenia

Spotreba zariadenia sa s časom môže a aj bude meniť. Aktuálna spotreba závisí od mnohých vecí, ale najmä od toho, aké komponenty má zariadenie pripojené a čo s nimi robí. Napríklad rozsvietenie LED diody sa prejaví zvýšením spotreby o 2mA (spotreba samozrejme závisí od jej typu).

Spotreba LED diody je však v porovnaní s inými zariadeniami zanedbateľná. Napr. doska Rasbpberry Pi Pico W/H obsahuje modul CYW43, ktorý obsahuje WiFi a Bluetooth modul.

Pracovná frekvencia mikrokontroléra

Jedným zo spôsobov zníženia spotreby zariadenia, je zníženie jeho pracovnej frekvencie. Tým, že zariadenie spomalíme, žnížime aj jeho spotrebu.

Zistenie pracovnej frekvencie

Pre zistenie aktuálnej pracovnej frekvencie zariadenia slúži funkcia freq() v module machine. V prípade, že je funkcia zavolaná bez parametrov, vráti hodnotu aktuálnej frekvencie zariadenia v hertzoch:

>>> import machine
>>> machine.freq()
125000000

Mikrokontrolér Raspberry Pi Pico má teda predvolenú hodnotu pracovnej frekvencie nastavenú na hodnotu 125MHz.

Zmena pracovnej frekvencie

Zmeniť pracovnú frekvenciu mikrokontroléra je možné volaním rovnakej funkcie s parametrom, ktorým je jej nová hodnota. V prípade, že je potrebné nastaviť hodnotu pracovnej frekvencie zariadenia na 100MHz, bude volanie funkcie vyzerať nasledovne:

>>> machine.freq(50 * 10**6)
>>> machine.freq()
100000000

Pracovnú frekvenciu je možné nastaviť v rozmedzí od 48MHz do 250MHz.

Spotreba pri zmene frekvencie

Zmenou pracovnej frekvencie mikrokontroléra je možné ovplyvniť aj jeho aktuálnu spotrebu. V nasledujúcej tabuľke sa nachádza prehľad spotreby mikrokontroléra RPi Pico 2 pri konkrétnej frekvencii v stave nečinnosti po zapnutí.

frekvencia (MHz) spotreba (mA)
250 25
225 22
200 20
170 18
150 16
125 14
100 12
75 10
48 8

Spotreba pri zapnutí WiFi modulu

Po zapnutí odoberá mikrokontrolér prúd okolo 16mA pri pracovnej frekvencii 150MHz. Ak však zapneme WiFi modul, tak krátkodobo uvidíme spotrebu na úrovni takmer 60mA. To je spôsoboené tým, že sa WiFi modul potrebuje inicializovať. Akonáhle sa inicializuje, jeho spotreba klesne na hodnotu 30 - 35 mA, čo zodpovedá prúdovej spotrebe modulu rádia v stave nečinnosti.

>>> import network
>>> wlan = network.WLAN(network.STA_IF)
>>> wlan.active(True)

Keď sa WiFi modul úspešne pripojí k WiFi siete, jeho spotreba sa bude pohybovať okolo hodnoty 55mA.

>>> wlan.connect('ssid', 'password')
>>> wlan.ifconfig()

Ak sa WiFi modul odpojí od WiFi siete, spotrebou sa dostaneme na úroveň 30-35 mA:

>>> wlan.disconnect()

Aby sme sa dostali na pôvodnú hodnotu, v ktorej bolo zariadenie v kľude, potrebujeme WiFi modul vypnúť. To urobíme metódou .deinit() a spotreba sa opäť dostane na hodnotu 16mA:

>>> wlan.deinit()

Ďalšie zdroje