##// END OF EJS Templates
Actualización Serial...
JesusTapia-dev -
r5:33c762b3f6e3
parent child
Show More
@@ -3,7 +3,7
3 int analogValue=0;
3 int analogValue=0;
4 float Vout=0;
4 float Vout=0;
5 float Plinea=62.5,Vpk=0;// Valor entre 1 y 500 kW, las unidades son kW
5 float Plinea=62.5,Vpk=0;// Valor entre 1 y 500 kW, las unidades son kW
6 float Plcal=0,dif=0;
6 float Plcal=0,dif=0,difPlow=0;
7 bool serialData=1;//Un valor de 1 indica que se debe ingresar por monitor serial
7 bool serialData=1;//Un valor de 1 indica que se debe ingresar por monitor serial
8 float VoutRef=1;
8 float VoutRef=1;
9 int numSamples=20;
9 int numSamples=20;
@@ -21,24 +21,35 void setup() {
21 Vpk=sqrt(10*Plinea)/5;
21 Vpk=sqrt(10*Plinea)/5;
22 VoutRef=ecuacionLineal(Vpk);
22 VoutRef=ecuacionLineal(Vpk);
23 Serial.print("Voltaje de salida de referencia: ");
23 Serial.print("Voltaje de salida de referencia: ");
24 Serial.println(VoutRef);
24 Serial.print(VoutRef);
25 Serial.print("Voltaje pkpk:"); Serial.print(" "); Serial.println(Vpk);
25 }
26 }
26 void loop() {
27 void loop() {
28 int Parray[10];
27 total=0;
29 total=0;
28 //analogValue = analogRead(pinADC);
30 //analogValue = analogRead(pinADC);
29 //Hacemos multisampling para asegurar el buen performance
31 //Hacemos multisampling para asegurar el buen performance
32 /*
30 for (int i = 0; i < numSamples; i++) {
33 for (int i = 0; i < numSamples; i++) {
31 total += analogRead(pinADC);
34 total += analogRead(pinADC);
32 }
35 }*/
33 int averageValue = total / numSamples;
36 //int averageValue = total / numSamples;
37 int averageValue=analogRead(pinADC);
34 Vout = 0.8291*averageValue+90.27;//Ajuste realizado para el ADC
38 Vout = 0.8291*averageValue+90.27;//Ajuste realizado para el ADC
35 //Serial.println(Vout);
39 //Serial.println(Vout);
36 Plcal=5*pow((Vout+101),2)/(2*175.19*175.19);//Calculamos la potencia en la línea
40 Plcal=5*pow((Vout+101),2)/(2*175.19*175.19);//Calculamos la potencia en la línea
37 dif=abs(Plinea-Plcal)*100/Plinea;//Hallamos la diferencia porcentual
41 dif=abs(Plinea-Plcal)*100/Plinea;//Hallamos la diferencia porcentual
38 if(dif>10 && VoutRef>3000) Serial.println("Nivel anómalo de potencia");
42 difPlow=abs(Plinea-Plcal);
39 else if(VoutRef<3000){
43 if(dif>10 && Vout>120){
40 Serial.println("Potencia menor a la debida");
44 Serial.print("Nivel anómalo de potencia Ph");
41 }
45 Serial.print(" "); Serial.print(Plcal);
46 Serial.print(" "); Serial.println(Vout);
47 }
48 /* else if(VoutRef<3000 && difPlow>5 && Vout>120){
49 Serial.print("Potencia anómala para Plow");
50 Serial.print(" "); Serial.println(Plcal);
51 Serial.println(Vout);
52 }*/
42 }
53 }
43 float ecuacionLineal(float Vpk){
54 float ecuacionLineal(float Vpk){
44 float m=175.19,b=-101;
55 float m=175.19,b=-101;
General Comments 0
You need to be logged in to leave comments. Login now