power_supplyファイルについて

power_supplyファイルについて

これは非常に簡単な質問ですが、アクア出力があるという事実にその単純さがあると思います。

/sys/class/power_supply状況は、ホストされているファイルとシステムのバッテリ監視を管理するファイルをよりよく理解したいと思います。私の場合は、バッテリー付きのノートパソコンを使用していますが、そのディレクトリはにあります/sys/class/power_supply/BAT0ACアダプター/sys/class/power_supply/AC0私が理解する限り、インターフェースはここ

バッテリーインターフェース内でさまざまなファイルが見つかりました。

/sys/class/power_supply/BAT0$ ls
alarm               model_name
capacity            power
capacity_level      present
charge_full         serial_number
charge_full_design  status
charge_now          subsystem
current_now         technology
cycle_count         type
device              uevent
hwmon2              voltage_min_design
manufacturer        voltage_now

私はこれがcapacity現在のバッテリー比を意味することを知っています。私も文脈を通して理解していますcapacity_levelstatus

/sys/class/power_supply/BAT0$ cat capacity
81

/sys/class/power_supply/BAT0$ cat capacity_level
Normal

/sys/class/power_supply/BAT0$ cat status
Discharging

charge_fullただし、または次のような他のファイルを理解できませんcharge_full_designcharge_nowcurrent_nowcycle_count

/sys/class/power_supply/BAT0$ cat charge_full
900000
/sys/class/power_supply/BAT0$ cat charge_full_design
4100000
/sys/class/power_supply/BAT0$ cat charge_now
630000
/sys/class/power_supply/BAT0$ cat current_now
1191000
/sys/class/power_supply/BAT0$ cat cycle_count
0

このコースでは、以前ueventの各変数を見て、詳細を学ぶことができます。

POWER_SUPPLY_NAME=BAT0
POWER_SUPPLY_TYPE=Battery
POWER_SUPPLY_STATUS=Discharging
POWER_SUPPLY_PRESENT=1
POWER_SUPPLY_TECHNOLOGY=Li-ion
POWER_SUPPLY_CYCLE_COUNT=0
POWER_SUPPLY_VOLTAGE_MIN_DESIGN=11400000
POWER_SUPPLY_VOLTAGE_NOW=11759000
POWER_SUPPLY_CURRENT_NOW=1089000
POWER_SUPPLY_CHARGE_FULL_DESIGN=4100000
POWER_SUPPLY_CHARGE_FULL=900000
POWER_SUPPLY_CHARGE_NOW=675000
POWER_SUPPLY_CAPACITY=75
POWER_SUPPLY_CAPACITY_LEVEL=Normal
POWER_SUPPLY_MODEL_NAME=standard
POWER_SUPPLY_MANUFACTURER=OEM
POWER_SUPPLY_SERIAL_NUMBER=00001

バッテリー容量のパーセンテージの明確な理解は、POWER_SUPPLY_CHARGE_NOW/sys/class/power_supply/BAT0/charge_now)〜POWER_SUPPLY_CHARGE_FULL/sys/class/power_supply/BAT0/charge_full)の計算から得られます:100 * 675000 / 900000 = 75。

しかし、これらの価値をどのように理解していますか?それはどこから出たのPOWER_SUPPLY_CHARGE_NOW?上記の値の電圧に干渉がありますか?

ベストアンサー1

Linux 電源装置クラスがどのように定義されるかを知りたい場合もあります。include/linux/power_supply.hLinuxカーネルのソースコードから。ここで説明されているデータ構造の値は、次のように表示されます/sys/class/power_supply/*

/*
 * All voltages, currents, charges, energies, time and temperatures in uV,
 * µA, µAh, µWh, seconds and tenths of degree Celsius unless otherwise
 * stated. It's driver's job to convert its raw values to units in which
 * this class operates.
 */

/*
 * For systems where the charger determines the maximum battery capacity
 * the min and max fields should be used to present these values to user
 * space. Unused/unknown fields will not appear in sysfs.
 */

したがって、すべてのcharge_*値はマイクロアンペア時の単位であり、current_now単位はマイクロアンペアです。

POWER_SUPPLY_VOLTAGE_MIN_DESIGN=11400000
POWER_SUPPLY_VOLTAGE_NOW=11759000

バッテリの最小設計電圧(=この電圧以下では決して放電されません)は11400000マイクロボルト= 11.4Vです。

現在の電圧レベルは11.759Vです。

POWER_SUPPLY_CURRENT_NOW=1089000

今バッテリーは1.089Aを提供します。

POWER_SUPPLY_CHARGE_FULL_DESIGN=4100000
POWER_SUPPLY_CHARGE_FULL=900000
POWER_SUPPLY_CHARGE_NOW=675000

新しいバッテリーの場合、バッテリーのフル充電容量は4.10アンペア時間であると主張しましたが、その後の性能が低下し、現在はフル充電容量は0.9アンペア時間に過ぎません。現在0.675アンペア時間が残っています。

したがって、現在のバッテリから流れる電流を基準に簡単に推定すると、0.675 Ah / 1.089 A =約0.62時間、つまり約37分程度の残りの充電時間になります。

ファイルpower_supply.hには、さまざまな値の意味を直接説明する他の有益な説明がたくさんあります。このコメントを読んでみたいかもしれません。

おすすめ記事