Библитека для работы с многофазной многофункциональной ИС ADE7880 для измерения энергии совместима Arduino IDE.
-Библиотека умеет работать с 8,16,32 битными ригистрами чтение, зпись
-Методы работы и калибровки ищите в инструкциях от производителя AN-1171, ADE7880 схемы UG-356
// SPI
ADE7880_SPI eic = ADE7880_SPI(); //CS-по умолчанию до версии 1.2.0
// в void setup()
eic.begin(); // инициализация
eic.runDsp(); // запускает интегратор преобразований можно разово запускать в loop
// версии 1.2.0 необходимо указывать пин SS
ADE7880_SPI eic(pin); // где pin - это назначеный пользователем вывод упраления SS (для Uno, Nano, Mega)
// ===== СЕРВИС =====
// запись настроек как правило необходимо проводить в void setup() и последний любой регистр записать 3 раза для точного сохранения последнего регистра
// запись 8 бит
eic.write8Register(x1, x2); // x1- имя регистра, х2- необходимое значение в HEX для записи калибровки и т.д
eic.write16Register(x1, x2); // x1- имя регистра, х2- необходимое значение в HEX для записи калибровки и т.д
eic.write32Register(x1, x2); // x1- имя регистра, х2- необходимое значение в HEX для записи калибровки и т.д
// чтение производим в функции void loop() накопление интегратора может состовлять разное время см. инструкции по ADE7880
eic.stopDsp(); // остановка интегратора преобразований в loop все измерения будут остановлены для повторного измерения необходимо вызвать eic.runDsp();
eic.read8Register(x1); // x1- имя регистра которое нужно считать
eic.read16Register(x1); // x1- имя регистра которое нужно считать
eic.read32Register(x1); // x1- имя регистра которое нужно считать
float urms_l1=eic.read32Register(AVRMS); // считываем значение в переменнуюпримеры приведены в папке examples -все имена регистров совподают с листом приведенным в инструкции ADE7880 также необходимо провести соглосование каналов АЦП по инструкции AN-1171