Hobby Lab 趣味のモノ作り実験のサイトです。
測定器・計器 pzem -016全般
1.PZEM-015
2.接続方法
3.ModBus マスター
 (1)フレーム構造
 (2)Device Address
 (3)Function
 (4)DataAddress
 (5)DataRegister
 (6)CRC

Mod Bus関係 プロトコル
 MODBUS
装置
 電力量計:KWS-AC301
 測定器(交流):pzem-016
 測定器(直流):pzem-017
 充電器(太陽光):BDZ 60A
 充電器(太陽光):AL40A

Ms:Measuring 計測器関係
Ms:オシロ
MSO5104
 操作全般
Ms:●Calibrator
CA100
 充電池変更
Ms:電力量計
KWS-AC301(AC Power)
 操作全般
 Modbus RS485
 RS232C信号絶縁化
PZEM(Modbus対応 測定器)
 交流(016)操作全般
 直流(017)操作全般
Ms:温度測定制御
STC-3008
 ケース取付
Ms:特性試験器
 DCCT試験器
 BHカーブトレーサ
Ms:交流電圧変換器
 RMSアンプ
Ms:振動計
 軸受振動とは
 軸受振動計の製作

1.PZEM-016

モジュールの概要について説明します。このモジュールは交流の電圧、電流、有効電力、消費電力量、周波数、力率の測定に使用されます。表示機能は備えておらず、データはRS485インターフェースを介して読み取られます。
RS485通信インターフェースのボーレートは9600、データビットは8ビット、ストップビットは2ビット、パリティはなしです。
電圧閾値を設定できます。高電圧閾値と低電圧閾値に分割でき、測定電圧が閾値を超えるとアラームを発します。デフォルトの高電圧閾値は300V、低電圧閾値は7Vです。
このモジュールは peacefair社のAC Communication Module PZEM-014/-016で 私が購入したものは左写真の100Aの外部トランス付きPZEM-016です。
型 番 PZEM-014PZEM-016
電力範囲(kW)0~2.30~23
測定開始(W)0.4
解像度(W)0.1
電流範囲(A)0~100~100A
測定開始(A)0.010.02
分解能(A)0.001
精度(%)0.001
電圧範囲(V)80~260
測定電圧分解能(V)0.1
測定電圧精度(%)0.5
電力量範囲(kWH)0.0~9999.99
解像度(Wh)1
精度(%)0.5
周波数範囲(Hz)45~65
解像度(Hz)0.1
精度(%)0.5
力率範囲0.00~1.00
解像度0.01
精度(%)1
が有り、その他RS485に接続するUSBアダプターがついた物もあります。



2.接続方法

注意が必要なのは PAEM-017 と違い MODBUS 端子の両端にある 5(V) - GND 端子は入力では無く出力端子なので注意すること。
測定器の電圧端子に80(V)〜260(V)が印加されると6.2(V)が出力された。(6.2(V)は実測値です。ただし取説には5(V)と記載されている。)



3.ModBus マスター

 マスターは測定器に指示するパソコンを言います。
 そのパソコンからの指示の後続から説明します。

(1)フレーム構造

★通常
No Bytes01234567
項目Device
Address
FunctionDataTop
Address
DataLower
Asddress
Top
Register
Lower
Register
Top
CRC
Lower
CRC
★キャリブレーションの時は
No Bytes012345
項目0xF80x410x370x21TopCRCLowerCRC
★電力量のリセット(アドレス0xXXは0x01〜0xF7)
No Bytes0123
項目0xXX0x42TopCRCLowerCRC

(2)Device Address

アドレスは0xF8が汎用アドレスになっている。
キャリブレーション(ファンクションNo0x41)は汎用アドレスの時に実施することができます。
ブロードキャストアドレスは0x00です。
設定できるアドレスの範囲は0x01〜0xF7です。

(3)Function

概要
0x03保持レジスタの読み取り
0x04入力レジスタの読み取り
0x06単一レジスタの書き込み
0x41キャリブレーション
0x42エネルギーリセットなど
エネルギーリセットの0x42はDstaAddressとDataRegisterのデータは不要なので、信号は
0xxx(Device Address) + 0x42 + CRC(Lo) +CRC(Hi)
になります。

(4)DataAddress

a.保持レジスタ
概要
0x0001電力閾値 1LSB=1W
0x0002Modbusのデバイスアドレス(0x0001〜0x00F7)
b.入力レジスタ
概要
0x0000電圧値 1LSB=0.01V
0x0001電流値下位 1LSB=0.01A
0x0002電流値上位
0x0003電力下位 1LSB=0.1W
0x0004電力上位
0x0005電力量下位 1LSB=1Wh
0x0006電力量上位
0x0007周波数 1LSB=0.1Hz
0x0008力率 1LSB=0.01
0x0009アラームステータス 0xFFFF
0x0006高電圧警報状態 0xFFFFはアラーム、0x0000アラームなし
0x0007低電圧警報状態 0xFFFFはアラーム、0x0000アラームなし

(5)DataRegister

ファンクション0x04の時はDataAddressを始めとして幾つのデータを送るか指定します。
1つのデータアドレスでデータは16bit = 2bytになります。

(6)CRC

CRCは16bit=2Byte(2バイト)のバイナリ値で構成されています。
CRCは送信側が計算し、受信側が受信データのCRCを計算し受信データのCRCと比較して違っていればエラーになります。
更新日 2025/12/05 16:27  管理者 平林 剛Hirabayashi Takeshi