change CT behavior
This commit is contained in:
parent
b5689804b6
commit
0e614c960a
2 changed files with 21 additions and 39 deletions
53
src/main.cpp
53
src/main.cpp
|
|
@ -9,12 +9,12 @@
|
||||||
bool analogCardAvailable = false;
|
bool analogCardAvailable = false;
|
||||||
AnalogCard analogCard = AnalogCard();
|
AnalogCard analogCard = AnalogCard();
|
||||||
float voltage = CT_RMS_VOLTAGE;
|
float voltage = CT_RMS_VOLTAGE;
|
||||||
CurrentTransformerCard ct_light_phase1 = CurrentTransformerCard(&analogCard, CT_PIN_AC_PHASE1, &voltage, &adcToCurrent, 1000);
|
CurrentTransformerCard ct1 = CurrentTransformerCard(&analogCard, 0, &voltage, &adc2current, 5000);
|
||||||
CurrentTransformerCard ct_light_phase2 = CurrentTransformerCard(&analogCard, CT_PIN_AC_PHASE2, &voltage, &adcToCurrent, 1000);
|
CurrentTransformerCard ct2 = CurrentTransformerCard(&analogCard, 1, &voltage, &adc2current, 5000);
|
||||||
CurrentTransformerCard ct_socket = CurrentTransformerCard(&analogCard, CT_PIN_SOCKET, &voltage, &adcToCurrent, 1000);
|
CurrentTransformerCard ct3 = CurrentTransformerCard(&analogCard, 2, &voltage, &adc2current, 5000);
|
||||||
CurrentTransformerCard ct_ac_phase1 = CurrentTransformerCard(&analogCard, CT_PIN_AC_PHASE1, &voltage, &adcToCurrent, 1000);
|
CurrentTransformerCard ct4 = CurrentTransformerCard(&analogCard, 3, &voltage, &adc2current, 5000);
|
||||||
CurrentTransformerCard ct_ac_phase2 = CurrentTransformerCard(&analogCard, CT_PIN_AC_PHASE2, &voltage, &adcToCurrent, 1000);
|
CurrentTransformerCard ct5 = CurrentTransformerCard(&analogCard, 4, &voltage, &adc2current, 5000);
|
||||||
CurrentTransformerCard ct_ac_phase3 = CurrentTransformerCard(&analogCard, CT_PIN_AC_PHASE3, &voltage, &adcToCurrent, 1000);
|
CurrentTransformerCard ct6 = CurrentTransformerCard(&analogCard, 5, &voltage, &adc2current, 5000);
|
||||||
|
|
||||||
// Remote Variables
|
// Remote Variables
|
||||||
RemoteVariable pm25_in = RemoteVariable();
|
RemoteVariable pm25_in = RemoteVariable();
|
||||||
|
|
@ -30,13 +30,6 @@ float adc2current(uint16_t adc_val) {
|
||||||
|
|
||||||
#define CT_INTERVAL 5000
|
#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
|
// Light Configuration
|
||||||
uint8_t row = 4;
|
uint8_t row = 4;
|
||||||
uint8_t column = 2;
|
uint8_t column = 2;
|
||||||
|
|
@ -83,15 +76,6 @@ ClimateCard climateCard_york = ClimateCard(AIR_CONDITIONER_YORK_IR_PIN, ac_york,
|
||||||
AC_SENSOR_TYPE_NONE, 0,
|
AC_SENSOR_TYPE_NONE, 0,
|
||||||
AIR_CONDITIONER_RMT_CHANNEL1);
|
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)
|
void handleMqttMessage(char *topic, char *payload)
|
||||||
{
|
{
|
||||||
// Unused for now
|
// Unused for now
|
||||||
|
|
@ -253,19 +237,18 @@ void setup()
|
||||||
if (analogCardAvailable || CT_FORCE_ENABLE)
|
if (analogCardAvailable || CT_FORCE_ENABLE)
|
||||||
{
|
{
|
||||||
ESP_LOGV("ISE OS", "Analog card available, installing current transformer cards");
|
ESP_LOGV("ISE OS", "Analog card available, installing current transformer cards");
|
||||||
espmega.installCard(5, &ct_light_phase1);
|
espmega.installCard(5, &ct1);
|
||||||
ct_light_phase1.bindFRAM(&espmega.fram, 5010);
|
ct1.bindFRAM(&espmega.fram, 5010);
|
||||||
espmega.installCard(6, &ct_light_phase2);
|
espmega.installCard(6, &ct2);
|
||||||
ct_light_phase2.bindFRAM(&espmega.fram, 5020);
|
ct2.bindFRAM(&espmega.fram, 5020);
|
||||||
espmega.installCard(7, &ct_socket);
|
espmega.installCard(7, &ct3);
|
||||||
ct_socket.bindFRAM(&espmega.fram, 5030);
|
ct3.bindFRAM(&espmega.fram, 5030);
|
||||||
espmega.installCard(8, &ct_ac_phase1);
|
espmega.installCard(8, &ct4);
|
||||||
ct_ac_phase1.bindFRAM(&espmega.fram, 5040);
|
ct4.bindFRAM(&espmega.fram, 5040);
|
||||||
espmega.installCard(9, &ct_ac_phase2);
|
espmega.installCard(9, &ct5);
|
||||||
ct_ac_phase2.bindFRAM(&espmega.fram, 5050);
|
ct5.bindFRAM(&espmega.fram, 5050);
|
||||||
espmega.installCard(10, &ct_ac_phase3);
|
espmega.installCard(10, &ct5);
|
||||||
ct_ac_phase3.bindFRAM(&espmega.fram, 5060);
|
ct6.bindFRAM(&espmega.fram, 5060);
|
||||||
espmega.iot->registerCard(4);
|
|
||||||
espmega.iot->registerCard(5);
|
espmega.iot->registerCard(5);
|
||||||
espmega.iot->registerCard(6);
|
espmega.iot->registerCard(6);
|
||||||
espmega.iot->registerCard(7);
|
espmega.iot->registerCard(7);
|
||||||
|
|
|
||||||
|
|
@ -28,7 +28,7 @@ SET_LOOP_TASK_STACK_SIZE(32*1024);
|
||||||
|
|
||||||
// CT Configuration
|
// CT Configuration
|
||||||
#define CT_FORCE_ENABLE false
|
#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_PHASE1 0
|
||||||
#define CT_PIN_LIGHT_PHASE2 1
|
#define CT_PIN_LIGHT_PHASE2 1
|
||||||
#define CT_PIN_SOCKET 2
|
#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_PHASE2 4
|
||||||
#define CT_PIN_AC_PHASE3 5
|
#define CT_PIN_AC_PHASE3 5
|
||||||
|
|
||||||
float adcToCurrent(uint16_t adc_value);
|
|
||||||
|
|
||||||
void handleMqttMessage(char *topic, char *payload);
|
void handleMqttMessage(char *topic, char *payload);
|
||||||
void subscribeToMqttTopics();
|
void subscribeToMqttTopics();
|
||||||
void handlePageChange(uint8_t page);
|
void handlePageChange(uint8_t page);
|
||||||
|
|
@ -62,3 +60,4 @@ void tempoutupdatedisplay(char* value);
|
||||||
void weatherupdatedisplay(char* value);
|
void weatherupdatedisplay(char* value);
|
||||||
void pmfanspeedupdatedisplay(char* value);
|
void pmfanspeedupdatedisplay(char* value);
|
||||||
void pmswitchupdatedisplay(char* value);
|
void pmswitchupdatedisplay(char* value);
|
||||||
|
float adc2current(uint16_t adc_val);
|
||||||
Loading…
Add table
Add a link
Reference in a new issue