

The ADL400 is a three-phase AC energy meter manufactured by Acrel. It is designed to measure energy consumption in three-phase electrical systems with high accuracy. This device provides real-time readings of voltage, current, power factor, active power, and reactive power, making it an essential tool for energy monitoring and management in industrial, commercial, and residential applications.








The following table outlines the key technical specifications of the ADL400:
| Parameter | Specification |
|---|---|
| Manufacturer | Acrel |
| Part ID | ADL400 |
| Voltage Range | 3 × 220V/380V AC |
| Current Range | 1.5(6)A or 10(100)A |
| Frequency | 50/60 Hz |
| Accuracy Class | Class 1 (active energy) |
| Power Consumption | ≤ 2W / 10VA |
| Communication Interface | RS485 (Modbus-RTU protocol) |
| Display | LCD with backlight |
| Operating Temperature | -25°C to +55°C |
| Storage Temperature | -40°C to +70°C |
| Dimensions | 100mm × 72mm × 65mm |
| Mounting Type | DIN rail |
The ADL400 features terminals for connecting to the three-phase system and communication interfaces. Below is the pin configuration:
| Terminal | Description |
|---|---|
| L1, L2, L3 | Phase inputs for the three-phase AC system |
| N | Neutral input |
| I1, I2, I3 | Current transformer (CT) inputs for each phase |
| RS485+ | RS485 communication positive terminal |
| RS485- | RS485 communication negative terminal |
| AUX+ | Auxiliary power supply positive terminal (optional) |
| AUX- | Auxiliary power supply negative terminal (optional) |
The ADL400 can be connected to an Arduino UNO via the RS485 interface for data logging and monitoring. Below is an example code snippet to read voltage data using the Modbus-RTU protocol:
#include <ModbusMaster.h>
// Instantiate ModbusMaster object
ModbusMaster node;
// Define RS485 communication pins
#define RE_PIN 2 // Receiver Enable pin
#define DE_PIN 3 // Driver Enable pin
void preTransmission() {
digitalWrite(RE_PIN, HIGH); // Enable RS485 transmitter
digitalWrite(DE_PIN, HIGH);
}
void postTransmission() {
digitalWrite(RE_PIN, LOW); // Disable RS485 transmitter
digitalWrite(DE_PIN, LOW);
}
void setup() {
// Initialize serial communication
Serial.begin(9600);
Serial.println("ADL400 Energy Meter Reading");
// Initialize RS485 communication
pinMode(RE_PIN, OUTPUT);
pinMode(DE_PIN, OUTPUT);
digitalWrite(RE_PIN, LOW);
digitalWrite(DE_PIN, LOW);
// Configure Modbus communication
node.begin(1, Serial); // Set Modbus ID to 1
node.preTransmission(preTransmission);
node.postTransmission(postTransmission);
}
void loop() {
uint8_t result;
uint16_t data;
// Read voltage from register 0x0000 (example register address)
result = node.readInputRegisters(0x0000, 1);
if (result == node.ku8MBSuccess) {
data = node.getResponseBuffer(0);
Serial.print("Voltage: ");
Serial.print(data / 10.0); // Convert to volts (example scaling)
Serial.println(" V");
} else {
Serial.println("Failed to read data from ADL400");
}
delay(1000); // Wait 1 second before next reading
}
No Display on LCD:
Incorrect Readings:
Communication Failure:
Device Overheating:
Q: Can the ADL400 measure single-phase systems?
A: No, the ADL400 is specifically designed for three-phase systems. For single-phase applications, consider using a single-phase energy meter.
Q: What is the maximum communication distance for RS485?
A: The RS485 interface supports a maximum communication distance of up to 1200 meters, depending on cable quality and environmental conditions.
Q: How do I reset the energy readings?
A: Energy readings can be reset via the front-panel menu or by sending the appropriate Modbus command through the RS485 interface.
Q: Is the ADL400 compatible with solar inverters?
A: Yes, the ADL400 can be used to monitor energy consumption in systems with solar inverters, provided the voltage and current ratings are within the device's specifications.