Using the Cirrus Logic CS5464 for AC Current Measurement
Continuing the series on examining devices to measure AC current, this time we’ll try out the CS5464 from Cirrus Logic. I initially built it up on a breadboard, but I’ll skip writing up this test and instead build up a prototype and run AC line power through it.
This is a Three-channel, Single-phase Power/Energy monitoring chip, and also can use current shunts and is intended for power meters.
This device provides no direct isolation, instead the entire device (input and output) directly coupled to the AC power line. Any isolation must be provided separately.
Taking a look at the project
- Monitor AC line voltage from 80 to 150 VAC RMS
- check for low and high voltage conditions
- stretch goal: identify short duration brown-outs and voltage spikes, the type caused by sudden switching of loads
Monitor AC current on 2 separate loads on the same AC circuit (phase)
- Measure instantaneous current from 0 to 10 Amps, with 0.5 Amp accuracy
- Detect low current and overcurrent conditions
- Stretch goal: identify surges during load switching
The CS5464 chip is really a standalone ASIC device that reads multiple ADC inputs and tracks the values on its own without external intervention.
It has a built-in voltage reference, and temperature sensor for automatic compensation.
It simultaneously tracks a variety of values for each channel, including:
- Instantaneous Current
- Instantaneous Voltage
- Instantaneous Power
- Active Power Channel
- RMS Current Channel
- RMS Voltage Channel
That’s just fantastic for my purposes!
This device should meet the goals of identifying brownouts, voltage spikes, and current surges without lots of reads or external processing. It should really lower the demands on the main microcontroller, allowing the core processor to focus on control and reporting functions… it should only need to ping the CS5464 occasionally to get the necessary data.
The CS5464 does indeed have a lot of functionality, but it also comes with a lot more complexity, it requires being reset properly after power-up and various configuration commands before you can get the data you’re after.
For more detail: Using the Cirrus Logic CS5464 for AC Current Measurement
This Post / Project can also be found using search terms:
- cs5464 arduino