diff --git a/ADC_ZX47/ADC_ZX47.ino b/ADC_ZX47/ADC_ZX47.ino index 023d47f..0671ca7 100644 --- a/ADC_ZX47/ADC_ZX47.ino +++ b/ADC_ZX47/ADC_ZX47.ino @@ -9,8 +9,8 @@ bool serialData=1;//Un valor de 1 indica que se debe ingresar por monitor serial float VoutRef=1,Pmax; int numSamples=20; int total=0; -int contador=0,SIZE=15; -float *p, Parray[15]; +int contador=0,SIZE=40; +float *p, Parray[40]; void setup() { Serial.begin(115200); analogSetAttenuation(ADC_11db); @@ -29,7 +29,6 @@ void setup() { void loop() { total=0; //analogValue = analogRead(pinADC); - //Hacemos multisampling para asegurar el buen performance /* for (int i = 0; i < numSamples; i++) { total += analogRead(pinADC); @@ -39,27 +38,37 @@ void loop() { Vout = 0.8291*averageValue+90.27;//Ajuste realizado para el ADC //Serial.println(Vout); Plcal=5*pow((Vout+101),2)/(2*175.19*175.19);//Calculamos la potencia en la línea - dif=abs(Plinea-Plcal)*100/Plinea;//Hallamos la diferencia porcentual - difPlow=abs(Plinea-Plcal); - if(dif>10 && Vout>120){ + //dif=abs(Plinea-Plcal)*100/Plinea;//Hallamos la diferencia porcentual + if (Plcal>3){//valores por debajo de este umbral serán leidos como tierra + Parray[contador]=Plcal; + contador =contador+1; + } + //cuando llenamos los valores hacemos la + if (contador==SIZE){ + p=&Parray[0]; + Pmax=find_maximun(p); + contador=0; + dif=abs(Plinea-Pmax)*100/Plinea; + difPlow=abs(Plinea-Pmax); + if(dif>10 && difPlow>7) Serial.println(Pmax); + } + + + /* + if(dif>10 && Vout>120 ){ Parray[contador]=Plcal; contador =contador+1; - if(contador==15){ + if(contador==SIZE){ p=&Parray[0]; Pmax=find_maximun(p); contador=0; - Serial.print("Potencia anomala en el transmisor: "); Serial.print(Pmax); + difPlow=abs(Plinea-Pmax); + if (difPlow>8) { + Serial.print("Potencia anomala en el transmisor: "); + Serial.println(Pmax); + } } - - // Serial.print("Nivel anómalo de potencia Ph"); - //Serial.print(" "); Serial.print(Plcal); - //Serial.print(" "); Serial.println(Vout); - } - /* else if(VoutRef<3000 && difPlow>5 && Vout>120){ - Serial.print("Potencia anómala para Plow"); - Serial.print(" "); Serial.println(Plcal); - Serial.println(Vout); - }*/ + } */ } float ecuacionLineal(float Vpk){ float m=175.19,b=-101; diff --git a/MQTT_start/MQTT_start.ino b/MQTT_start/MQTT_start.ino new file mode 100644 index 0000000..95c2b6e --- /dev/null +++ b/MQTT_start/MQTT_start.ino @@ -0,0 +1,9 @@ +void setup() { + // put your setup code here, to run once: + +} + +void loop() { + // put your main code here, to run repeatedly: + +}