電力計 KWS-AC301L
パソコンを省電力設定にした時の効果を知るため、電力計を買いました。
amazonではELPA EC-05EBが売れ筋のようです。
https://www.amazon.co.jp/dp/B00IM6N54W
Youtubeでは力率表示ができるものが紹介されていました。
https://ja.aliexpress.com/item/32829863859.html
パソコンにデータを取り込めるものだとWiFiなど無線が多いようです。
WiFiの混雑を避けるために有線でパソコンに接続できて、力率も測定できて、安いKWS-AC301Lを購入してみました。
https://ja.aliexpress.com/item/1005003741488735.html
https://www.banggood.com/ja/KWS-AC301-8-in1-Voltmeter-Ammeter-AC-50-300V-Power-Energy-Meter-LED-Digital-AC-Wattmeter-Electricity-Meter-0-100A-p-1902439.html
KWS-AC301LのI/FはRS485なので、USB to 485 converterを購入しました。
https://ja.aliexpress.com/item/32548472327.html
1. KWS-AC301L
(1) 配線
配線は入力と出力用に各2端子、合計4端子あります。1端子に2本接続する必要がありません。
本来は分電盤内で単線を接続する端子だと思われます。
私はより線のテーブルタップを切って接続しました。より線がばらけそうだったので半田を付けましたが、太くなりすぎて端子穴に入れるのが大変でした。接触抵抗のことも考えると、半田なしでばらけないように入れるのが良いと思われます。
今のところ、本体むき出しですが、ケースに入れてAC配線部を保護したほうがよさそうです。
(2) 電圧と周波数
BSIDE ACM91と全く同じ電圧と周波数を表示したので、まあまあの精度だと思われます。
(3) 温度
温度センサーが付属しています。時計の温度計より2℃程度高い温度を示します。
(4) Timing
最初意味が分からなかったのですが、積算電力の計測時間のようです。小数点より上が時間で小数点より下が分なのかもしれません。電流0の時は、カウントが止まります。
(5) 表示
白色に色フィルタを付けた液晶のように見えます。若干角度によって見にくくなるところがありますが、正面からだとコントラストが強くて見やすいです。
(6) RS485
接続用の線が付属しています。
(7) ブザー
ブザーが付いています。起動時に鳴ります。試していませんが、アラーム時に音がすると思われます。
(8) 計測ソフト
ファイル共有サイト?(https://www.jianguoyun.com/)にメールアドレスを登録するとダウンロードできます。
BangGoodだと登録しなくてもダウンロードできます。
インストールの途中でチェックボックスが出てきたのですが、中国語で意味が分からなかったので、デフォルトのチェックなしでインストールしました。インストール先のフォルダ名はデフォルトだと中国語なので、アルファベットに変更しました。実行ファイルのファイル名は「联科电子电能表助手.exe」です。最初中国語で起動しますが、英語に切り替えられます。
使い方は簡単で、Terminal SettingでCOMポートとビットレートを指定してOpenすれば、計測が開始されます。約5秒間隔くらいでサンプリングしているようです。ログは残らないので、データの利用はできません。縦軸のスケールも自動的に中途半端な数字になるので、読みにくいです。
USB-RS485 I/Fは、USBポートに接続するだけで使えました。デバイスマネージャーでポート番号とビットレートを確認し、ソフトに設定します。
2. 測定結果
(1) DELL S2721DGF
輝度15%設定、60Hzで18.3W、120Hzで18.8W、144Hzで19.4W、165Hzで19.9W、力率0.63PFでした。
IEC61000-3-2高調波電流規制の適用外となる定格75W以下なので、力率改善(PFC)回路が入っていないようです。
(2) Sycom Silent-Master NEO Z690/D5
アイドル時は60Wで、力率は0.93-0.95PFくらいです。
RealFlight 8は静止時は100W程度で、力率は0.97PFくらいです。G-SYNC有効で120Hz時の値です。
電源はFractal Design ION+2 Platinum 860W (FD-P-IA2P-860)です。
(3) ASUS G73Sw
アイドル時は48W、力率0.98PFです。
RealFlight 8の静止時は143W程度で、力率は0.99PFです。但し、NVIDIAコントロールパネルの垂直同期が働かず160fpsくらい出てます(同期すれば120fpsのはずなのですが)。
新タワー型PCは旧ノートPCより電力が10~30W程度大きいようです。アイドル時にもう少し電力下げる設定ができると良いのですが。しかし、アイドル時は、CPUが11W、GPUが11W、Displayが19W、その他が39Wくらいです。その他は電源、チップセット、メモリ、SSD、HDD、ファン、Audio-AMP、USB-DAC、TV-Tunerなので、例えばCPUのLong Duration Package Power Limitを65Wから35Wに下げても、効果は全くないと予想されます。
3. KWS-AC301Lのデータの取り込み
提供されているソフトだとグラフや現在の数値を画面で見ることしかできないので、Excelにデータを取り込むことを検討しました。
3.1. 通信パケット解析
下記のツールで提供されているソフトで電力計の通信データを取得しました。
https://freeserialanalyzer.com/
このアナライザーは通信ポートが1つしかないPCでも、そのポートのパケットをモニタリングすることができます。
有償ソフトのデモ版なので、下記の使用制限があります。
Max session length: 20 minutes.
Max sessions per day: 5.
Grace Period: 4 days.(4日経つと上記制限がかかるようです。)
パケット取得方法
(1) 電力計のソフトを起動して測定状態にします。
(2) Free Serial Analyzerをインストールしてスタートアップに作られたDevice Monitoring Studioを起動します。
(3) DeviceでモニタするCOMポートを選択し、[Start Monitoring]をクリックします。
(4) Data Source ConfigurationでBaud rateなどを設定しOK。
(5) Session ConfigurationでPacke Viewを選択し、[Add to Session]をクリックし[Start]。
(6) Session Creation Warningsで[OK]。これで通信パケットの取得が開始されます。
(7) Sessionsで[Pause session]をクリックし、Packet Viewで右クリックし、[Select All]、メニューの[Edit]-[Export]でテキストファイルに書き出します。
(8) Sessionsの[Stop session]をクリックして、セッションを終了します。
(9) ExportしたテキストファイルをExcelで読み込み、同じPacketの色分け、異なる電力条件で測定したデータとの比較、16進数を10進数に変換するなど加工をし、Packetデータの意味を推測します。
取得したKWS-AC301LのPacket dataと推測した意味:[ ]部分が測定値です。
DOWN 02 03 00 0e 00 01 e5 fa : Voltage
UP 02 03 02[04 0f]be 80 : [&H04=4]*256+[&H0f=15]=1039/10=103.9V
DOWN 02 03 00 0f 00 02 f4 3b : Current
UP 02 03 04[01 26]00 00 29 04 : [&H01=1]*256+[&H26=38]=294/1000=0.294A
DOWN 02 03 00 19 00 01 55 fe : Time
UP 02 03 02[00 27]bc 5e : [&H00=0]*256+[&H27=39]=39minutes Excelの時間形式にする場合は/(60*24)
DOWN 02 03 00 11 00 02 94 3d : Power
UP 02 03 04[00 99]00 00 19 1c : [&H00=0]*256+[&H99=153]=153/10=15.3W
DOWN 02 03 00 1d 00 01 14 3f : Power Factor
UP 02 03 02[00 32]7d 91 : [&H00=0]*256+[&H32=50]=50/100=0.50PF
DOWN 02 03 00 17 00 02 74 3c : Energy
UP 02 03 04[00 f6]00 00 29 01 : [&H00=0]*256+[&Hf6=246]=246/1000=0.246kWh
DOWN 02 03 00 1e 00 01 e4 3f : Frequency
UP 02 03 02[01 f3]bd 91 : [&H01=1]*256+[&Hf3=243]=499/10=49.9Hz
DOWN 02 03 00 1f 00 01 b5 ff : Incomprehensible? Warning??
UP 02 03 02 e2 80 b5 44 : ?
DOWN 02 03 00 1a 00 01 a5 fe : Temperature
UP 02 03 02[00 1d]3c 4d : [&H00=0]*256+[&H1d=29]=29 degreeC
4. Excelへの取り込み
1) [ファイル]-[オプション]-[リボンのユーザー設定]-[開発]をチェックして、[開発]メニューを表示します。
2) [開発]-[Visual Basic]、プロジェクトにクラスモジュールを挿入し、下記@takeru0x5569さん作成のコードを貼り付けます。@takeru0x5569さんに感謝します。
Qiita Excel VBAでCOMポート通信(シリアル通信) https://qiita.com/takeru0x5569/items/21c7fcf815de6a96a5b3
3) クラスモジュールのオブジェクト名をclsCOM_Portに変更します。
4) 標準モジュールを挿入し、電力計からデータを取得してExcelのセルに書き込むコードを書きます。
例:電力を1回読み取るVBA Sample Code
Sub test()
Dim byCmd() As Byte, byDat() As Byte, sngPwr As Single
'COMポートを開く
Dim CP As clsCOM_Port
Set CP = New clsCOM_Port
Call CP.OpenCOM("COM3", 9600) '引数:COM番号,ボーレート
'バッファクリア
Call CP.ClearBuffer
'Power Request Command
ReDim byCmd(7)
byCmd(0) = &H2: byCmd(1) = &H3: byCmd(2) = &H0: byCmd(3) = &H11
byCmd(4) = &H0: byCmd(5) = &H2: byCmd(6) = &H94: byCmd(7) = &H3D
'送信
CP.SendByte byCmd
'受信バッファからバイナリ配列としてデータ取得
byDat = CP.ReadByte()
'COMポートを閉じる
CP.CloseCOM
'Calcurate Power
sngPwr = (CSng(byDat(3)) * 256 + CSng(byDat(4))) / 10
'Set to Cell
Worksheets("Sheet1").Cells(5, 2).Value = sngPwr
End Sub
作ってみたKWS-AC301L Excel Logger : ダウンロード - kwsac301l.zip
(Windows 11 Home 64bit 21H2, Excel 2021 64bit Ver.2207 で動作しています。マクロが不安な方は、ファイルを開いたときにマクロを有効にせず、標準モジュールとクラスモジュールのコードとSheet1の内容を新しいマクロブックに貼り付けてください。)
| 固定リンク





コメント