Nízka spotreba

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

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 pri konkrétnej frekvencii v stave nečinnosti po zapnutí.

frekvencia (MHz) spotreba (mA)
240 34
200 30
170 26
150 25
125 22
100 19
75 17
48 14

Spotreba pri zapnutí WiFi modulu

  • Po zapnutí mikrokontrolér odoberá prúd okolo 22mA. Ak však zapneme WiFi modul, tak krátkodobo uvidíme spotrebu na úrovni 60mA a následne klesne na úroveň okolo 40mA.

    >>> import network
    >>> wlan = network.WLAN(network.STA_IF)
    >>> wlan.active(True)
  • Ak sa však k nejakej WiFi sieti pripojíme, spotreba stúpne na úroveň 60mA.

    >>> wlan.connect('ssid', 'password')
    >>> wlan.ifconfig()
  • A spätne - ak sa odpojím od WiFi siete, opäť sa dostaneme na úroveň 40mA:

    >>> wlan.disconnect()
  • Ak sa pokúsime sieťový adaptér vypnúť, opäť sa dostaneme na hodnotu 22mA:

    >>> wlan.deinit()

Ďalšie zdroje