2021年7月2日金曜日

M5StickCの電源管理IC(AXP192)からMicroPythonでUSB供給電圧・電流を取得する

M5StickCには電源管理IC(AXP192)が搭載されています。AXP192からMicroPythonでUSB供給電圧・電流を取得するには以下の手順を実行します。

開発手順

1. M5StickC上にlibフォルダを作成しAXP192ドライバーをアップロード
以下のページのRAWボタンを右クリックして「名前を付けて保存」を選択してaxp192.pyをダウンロードします。
https://github.com/karfas/M5StickC-uPy/blob/master/axp192.py

/libフォルダがない場合はThonnyのファイルペインのデバイスから右クリックしてNew directory...を選択して、フォルダ名libを入力して作成します。次にlibフォルダに移動後、PC側フォルダのaxp192.py上で右クリックメニューからUpload to /libを選択します。

2. プログラミングと実行
USB供給電圧・電流はAXP192クラスのbus_voltage/bus_currentメソッドで取得する事が出来ます。以下をmain.pyとして、M5StickCに保存して実行します。USB供給電圧・電流が2秒おきにThonnyのコンソールに出力されることを確認します。
import machine
import time
import axp192

axp = axp192.AXP192(machine.I2C(0, sda=machine.Pin(21), scl=machine.Pin(22)))
axp.setup()
while True:
    print("Bus voltage: {}V".format(axp.bus_voltage()))
    print("Bus current: {}mA".format(axp.bus_current()))
    time.sleep(2)

備考

・使用したMicroPython firmware: esp32-20210418-v1.15.bin
https://micropython.org/download/esp32/

・AXP192のドライバー
https://github.com/karfas/M5StickC-uPy

0 件のコメント:

コメントを投稿