

The Single Phase Electric Power Meter is a device designed to measure the electric energy consumed by a single-phase electrical system. It is widely used in residential and small commercial applications to monitor energy usage, providing accurate readings of power consumption over time. These meters are essential for energy management, billing, and ensuring efficient power usage.








Below are the key technical details and pin configurations for a typical Single Phase Electric Power Meter:
| Parameter | Specification |
|---|---|
| Operating Voltage | 110V - 240V AC |
| Frequency Range | 50Hz / 60Hz |
| Current Rating | 5A - 100A (varies by model) |
| Power Measurement Range | 0.1W - 10kW |
| Accuracy Class | Class 1 or Class 2 |
| Display Type | LCD or LED |
| Communication Interface | RS485, Modbus, or wireless (optional) |
| Power Consumption | < 2W |
| Operating Temperature | -20°C to 60°C |
| Storage Temperature | -30°C to 70°C |
| Pin Number | Label | Description |
|---|---|---|
| 1 | L (Line) | Connects to the live wire of the AC power supply. |
| 2 | N (Neutral) | Connects to the neutral wire of the AC power supply. |
| 3 | RS485 A (+) | Positive terminal for RS485 communication (if supported). |
| 4 | RS485 B (-) | Negative terminal for RS485 communication (if supported). |
| 5 | Pulse Output | Provides a pulse signal proportional to energy consumption (optional). |
| 6 | Ground (GND) | Ground connection for communication or auxiliary circuits (if applicable). |
If the meter supports RS485 communication, you can connect it to an Arduino UNO using an RS485-to-TTL converter. Below is an example code snippet to read energy data using the Modbus protocol:
#include <ModbusMaster.h>
// Instantiate ModbusMaster object
ModbusMaster node;
void setup() {
Serial.begin(9600); // Initialize serial communication for debugging
node.begin(1, Serial); // Set Modbus slave ID to 1 and use Serial for communication
// Print a message to indicate setup is complete
Serial.println("Single Phase Electric Power Meter - Modbus Example");
}
void loop() {
uint8_t result;
uint16_t data[2];
// Read energy consumption (example register address: 0x0000)
result = node.readInputRegisters(0x0000, 2);
if (result == node.ku8MBSuccess) {
// Combine two 16-bit registers into a 32-bit value
uint32_t energy = (node.getResponseBuffer(0) << 16) | node.getResponseBuffer(1);
// Print the energy consumption
Serial.print("Energy Consumption: ");
Serial.print(energy);
Serial.println(" Wh");
} else {
// Print an error message if communication fails
Serial.print("Error reading meter: ");
Serial.println(result, HEX);
}
delay(1000); // Wait 1 second before the next reading
}
No Display or Power:
Inaccurate Readings:
Communication Failure (RS485):
Pulse Output Not Working:
Can this meter be used for three-phase systems?
What is the purpose of the pulse output?
Is the meter compatible with smart home systems?
How often should the meter be calibrated?