diff --git a/src/main.cpp b/src/main.cpp index 290c1c6..769d5b0 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -9,12 +9,12 @@ bool analogCardAvailable = false; AnalogCard analogCard = AnalogCard(); float voltage = CT_RMS_VOLTAGE; -CurrentTransformerCard ct_light_phase1 = CurrentTransformerCard(&analogCard, CT_PIN_AC_PHASE1, &voltage, &adcToCurrent, 1000); -CurrentTransformerCard ct_light_phase2 = CurrentTransformerCard(&analogCard, CT_PIN_AC_PHASE2, &voltage, &adcToCurrent, 1000); -CurrentTransformerCard ct_socket = CurrentTransformerCard(&analogCard, CT_PIN_SOCKET, &voltage, &adcToCurrent, 1000); -CurrentTransformerCard ct_ac_phase1 = CurrentTransformerCard(&analogCard, CT_PIN_AC_PHASE1, &voltage, &adcToCurrent, 1000); -CurrentTransformerCard ct_ac_phase2 = CurrentTransformerCard(&analogCard, CT_PIN_AC_PHASE2, &voltage, &adcToCurrent, 1000); -CurrentTransformerCard ct_ac_phase3 = CurrentTransformerCard(&analogCard, CT_PIN_AC_PHASE3, &voltage, &adcToCurrent, 1000); +CurrentTransformerCard ct1 = CurrentTransformerCard(&analogCard, 0, &voltage, &adc2current, 5000); +CurrentTransformerCard ct2 = CurrentTransformerCard(&analogCard, 1, &voltage, &adc2current, 5000); +CurrentTransformerCard ct3 = CurrentTransformerCard(&analogCard, 2, &voltage, &adc2current, 5000); +CurrentTransformerCard ct4 = CurrentTransformerCard(&analogCard, 3, &voltage, &adc2current, 5000); +CurrentTransformerCard ct5 = CurrentTransformerCard(&analogCard, 4, &voltage, &adc2current, 5000); +CurrentTransformerCard ct6 = CurrentTransformerCard(&analogCard, 5, &voltage, &adc2current, 5000); // Remote Variables RemoteVariable pm25_in = RemoteVariable(); @@ -30,13 +30,6 @@ float adc2current(uint16_t adc_val) { #define CT_INTERVAL 5000 -CurrentTransformerCard ct1 = CurrentTransformerCard(&analogCard, 0, &voltage, &adc2current, 5000); -CurrentTransformerCard ct2 = CurrentTransformerCard(&analogCard, 1, &voltage, &adc2current, 5000); -CurrentTransformerCard ct3 = CurrentTransformerCard(&analogCard, 2, &voltage, &adc2current, 5000); -CurrentTransformerCard ct4 = CurrentTransformerCard(&analogCard, 3, &voltage, &adc2current, 5000); -CurrentTransformerCard ct5 = CurrentTransformerCard(&analogCard, 4, &voltage, &adc2current, 5000); -CurrentTransformerCard ct6 = CurrentTransformerCard(&analogCard, 5, &voltage, &adc2current, 5000); - // Light Configuration uint8_t row = 4; uint8_t column = 2; @@ -83,15 +76,6 @@ ClimateCard climateCard_york = ClimateCard(AIR_CONDITIONER_YORK_IR_PIN, ac_york, AC_SENSOR_TYPE_NONE, 0, AIR_CONDITIONER_RMT_CHANNEL1); -float adcToCurrent(uint16_t adc_value) -{ - // 16 bit ADC value to current in amps - // ADC Range is 0-65535, It have an input range of 0-3.3V - // However, it have a resistor network that map 0-3.3V to 0-12V - // The current transformer output 0-10V with 0V as 0A and 10V as 50A - return (adc_value / 65535.0) * 12.0 / 10.0 * 50.0; -} - void handleMqttMessage(char *topic, char *payload) { // Unused for now @@ -253,19 +237,18 @@ void setup() if (analogCardAvailable || CT_FORCE_ENABLE) { ESP_LOGV("ISE OS", "Analog card available, installing current transformer cards"); - espmega.installCard(5, &ct_light_phase1); - ct_light_phase1.bindFRAM(&espmega.fram, 5010); - espmega.installCard(6, &ct_light_phase2); - ct_light_phase2.bindFRAM(&espmega.fram, 5020); - espmega.installCard(7, &ct_socket); - ct_socket.bindFRAM(&espmega.fram, 5030); - espmega.installCard(8, &ct_ac_phase1); - ct_ac_phase1.bindFRAM(&espmega.fram, 5040); - espmega.installCard(9, &ct_ac_phase2); - ct_ac_phase2.bindFRAM(&espmega.fram, 5050); - espmega.installCard(10, &ct_ac_phase3); - ct_ac_phase3.bindFRAM(&espmega.fram, 5060); - espmega.iot->registerCard(4); + espmega.installCard(5, &ct1); + ct1.bindFRAM(&espmega.fram, 5010); + espmega.installCard(6, &ct2); + ct2.bindFRAM(&espmega.fram, 5020); + espmega.installCard(7, &ct3); + ct3.bindFRAM(&espmega.fram, 5030); + espmega.installCard(8, &ct4); + ct4.bindFRAM(&espmega.fram, 5040); + espmega.installCard(9, &ct5); + ct5.bindFRAM(&espmega.fram, 5050); + espmega.installCard(10, &ct5); + ct6.bindFRAM(&espmega.fram, 5060); espmega.iot->registerCard(5); espmega.iot->registerCard(6); espmega.iot->registerCard(7); diff --git a/src/main.hpp b/src/main.hpp index 07925c8..a5a9897 100644 --- a/src/main.hpp +++ b/src/main.hpp @@ -28,7 +28,7 @@ SET_LOOP_TASK_STACK_SIZE(32*1024); // CT Configuration #define CT_FORCE_ENABLE false -#define CT_RMS_VOLTAGE 220.0 +#define CT_RMS_VOLTAGE 1.0 #define CT_PIN_LIGHT_PHASE1 0 #define CT_PIN_LIGHT_PHASE2 1 #define CT_PIN_SOCKET 2 @@ -36,8 +36,6 @@ SET_LOOP_TASK_STACK_SIZE(32*1024); #define CT_PIN_AC_PHASE2 4 #define CT_PIN_AC_PHASE3 5 -float adcToCurrent(uint16_t adc_value); - void handleMqttMessage(char *topic, char *payload); void subscribeToMqttTopics(); void handlePageChange(uint8_t page); @@ -61,4 +59,5 @@ void pm25inupdatedisplay(char* value); void tempoutupdatedisplay(char* value); void weatherupdatedisplay(char* value); void pmfanspeedupdatedisplay(char* value); -void pmswitchupdatedisplay(char* value); \ No newline at end of file +void pmswitchupdatedisplay(char* value); +float adc2current(uint16_t adc_val); \ No newline at end of file