All Projects → CircuitSetup → ATM90E32

CircuitSetup / ATM90E32

Licence: other
Updated version of the ATM90E32 Arduino library

Projects that are alternatives of or similar to ATM90E32

ESP32 I2C Slave
I2C slave library for ESP32
Stars: ✭ 70 (+218.18%)
Mutual labels:  arduino-library, esp32-arduino, esp32-library
sqlite micro logger arduino
Fast and Lean Sqlite database logger for Microcontrollers
Stars: ✭ 128 (+481.82%)
Mutual labels:  arduino-library, esp8266-arduino, esp32-arduino
esp arduino sqlite3 lib
Sqlite3 library for ESP8266 Arduino core
Stars: ✭ 78 (+254.55%)
Mutual labels:  arduino-library, esp8266-arduino, esp8266-library
ESP8266 WiFi v2.x
ESP8266 WiFi for OpenEVSE Version 2.x
Stars: ✭ 72 (+227.27%)
Mutual labels:  emoncms, openenergymonitor
Somfy Remote
Somfy remote control emulator connected to MQTT
Stars: ✭ 19 (-13.64%)
Mutual labels:  esp8266-arduino, esp32-arduino
TinyPixelMapper
a Pixelmapping software for the ESP32 and ESP8266 for addressible LED Strips, with a OSC controll interface and FFT
Stars: ✭ 22 (+0%)
Mutual labels:  esp8266-arduino, esp32-arduino
ESPAsyncE131
Asynchronous E1.31 (sACN) library for Arduino ESP8266 and ESP32
Stars: ✭ 97 (+340.91%)
Mutual labels:  esp8266-arduino, esp32-arduino
esp-homekit-arduino-sdk
Arduino wrapper for ESP-IDF HomeKit library
Stars: ✭ 34 (+54.55%)
Mutual labels:  arduino-library, esp32-arduino
ESP32Time
An Arduino library for setting and retrieving internal RTC time on ESP32 boards
Stars: ✭ 120 (+445.45%)
Mutual labels:  arduino-library, esp32-arduino
arduino-google-maps-api
An Arduino library for communicating with the Google Maps Api
Stars: ✭ 42 (+90.91%)
Mutual labels:  arduino-library, esp8266-arduino
WiFiConnect
WiFi connection manager for ESP32 and ESP8266 with OLED support
Stars: ✭ 28 (+27.27%)
Mutual labels:  arduino-library, esp8266-arduino
esp32WS2811
Arduino library for ESP32 to drive WS2811 LEDs using the RMT peripheral
Stars: ✭ 22 (+0%)
Mutual labels:  arduino-library, esp32-arduino
CTBot
A simple (and easy to use) Arduino Telegram BOT Library for ESP8266/ESP32
Stars: ✭ 114 (+418.18%)
Mutual labels:  esp8266-arduino, esp32-arduino
ESP DoubleResetDetector
ESP_DoubleResetDetector is a library for the ESP32/ESP8266 Arduino platform to enable trigger configure mode by resetting twice.
Stars: ✭ 34 (+54.55%)
Mutual labels:  esp8266-arduino, esp32-arduino
Farm-Data-Relay-System
A system that uses ESP-NOW, LoRa, and other protocols to transport sensor data in remote areas without relying on WiFi.
Stars: ✭ 97 (+340.91%)
Mutual labels:  esp8266-arduino, esp32-arduino
EmbUI
Embedded WebUI Interface
Stars: ✭ 46 (+109.09%)
Mutual labels:  esp8266-arduino, esp32-arduino
ESP32-CAM-MJPEG-Stream-Decoder-and-Control-Library
The library is MJPEG stream decoder based on libcurl and OpenCV, and written in C/C++.
Stars: ✭ 40 (+81.82%)
Mutual labels:  esp32-arduino, esp32-library
ESP32Partitions
No description or website provided.
Stars: ✭ 30 (+36.36%)
Mutual labels:  esp8266-arduino, esp32-arduino
CS5490
Arduino / ESP Library for Communication with the Cirrus Logic CS5490 Chip
Stars: ✭ 17 (-22.73%)
Mutual labels:  energy-monitor, arduino-library
DoubleResetDetect
Arduino library to check for double reset on ESP8266
Stars: ✭ 17 (-22.73%)
Mutual labels:  arduino-library, esp8266-arduino

ATM90E32 Arduino Library

This library powers the CircuitSetup Split Single Phase Energy Meter and the 6 Channel Expandable Energy Meter.

Use

Setup

#include <ATM90E32.h>
ATM90E32 energy_meter{};

void setup() {
   energy_meter.begin(CS_pin, lineFreq, PGAGain, VoltageGain, CurrentGainCT1, CurrentGainCT2, CurrentGainCT3);
}

Getting Basic Power Data

A loop to get basic power data:

void loop() {
    voltage1 = energy_meter.GetLineVoltageA();
    voltage2 = energy_meter.GetLineVoltageB();
    voltage3 = energy_meter.GetLineVoltageC();

    CT1 = energy_meter.GetLineCurrentA();
    CT2 = energy_meter.GetLineCurrentB();
    CT3 = energy_meter.GetLineCurrentC();
    
    watts1 = energy_meter.GetActivePowerA();
    watts2 = energy_meter.GetActivePowerB();
    watts3 = energy_meter.GetActivePowerC();
    totalWatts = energy_meter.GetTotalActivePower();
}

Getting Metering Values

The following are other functions for other metering data that the ATM90E32 calculates.

  • GetReactivePowerA()
  • GetReactivePowerB()
  • GetReactivePowerC()
  • GetTotalReactivePower()
  • GetApparentPowerA()
  • GetApparentPowerB()
  • GetApparentPowerC()
  • GetTotalApparentPower()
  • GetPowerFactorA()
  • GetPowerFactorB()
  • GetPowerFactorC()
  • GetTotalPowerFactor()
  • GetPhaseA() //phase angle
  • GetPhaseB()
  • GetPhaseC()
  • GetTotalActiveFundPower()
  • GetTotalActiveHarPower()
  • GetFrequency() //voltage frequency
  • GetTemperature() //chip temperature

Getting Energy Over Time

The following functions get data from the ATM90E32 that is converted to kWh. The registers are cleared once they are read.

  • GetImportEnergy() //forward active energy
  • GetImportReactiveEnergy()
  • GetImportApparentEnergy()
  • GetExportEnergy() //reverse active energy
  • GetExportReactiveEnergy()

System Status

These functions get the raw hex values from the system status registers

  • GetSysStatus0()
  • GetSysStatus1()
  • GetMeterStatus0()
  • GetMeterStatus1()

Getting Any Other Register Value

This function takes the name of any register (defined in ATM90E32.h) and outputs the value

  • GetValueRegister(registerRead)
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].