Estoy bastante bloqueado con un proyecto que tengo en mente. Es un sensor de humedad y temperatura que activa unos relés según un setpoint elegido. Este setpoint lo cambio con unos potenciometros. Hasta aquí todo correcto. El problema es que cada X segundos, al caer un poco la tensión del arduino (me imagino que al leer sensores, etc.) el valor del setpoint me cambia al depender del potenciometro.
¿Se os ocurre alguna manera de forzar a que las variables que manejan los potenciometros se cambien únicamente cuando se ha superado un cierto umbral? Para asegurar asi que se quiere cambiar el setpoint y no que venga por caídas de tensión.
Es que la temperatura es critica y necesito manejarla en décimas. Una caída de tensión me produce un cambio del setpoint de alrededor de 5 décimas.
Por ejemplo, querría que solo se actualice el setpoint si cambia +-0,6.
msg87:
... el valor del setpoint me cambia al depender del potenciómetro.
Hola,
Vamos por partes: ¿cuánto cambia?. ¿Por qué usas un potenciómetro y no lo fijas mediante una variable?. ¿Has probado esto último?. ¿Cómo están cableados los relés?
Saludos.
El problema es que cada X segundos, al caer un poco la tensión del arduino (me imagino que al leer sensores, etc.) el valor del setpoint me cambia al depender del potenciometro.
Esto es inadmisible.
Caídas de tensión en el arduino, como es posible? Revisa la salida de 5V.
Eso no debería estar pasando.
vffgaston:
Hola,
Vamos por partes: ¿cuánto cambia?. ¿Por qué usas un potenciómetro y no lo fijas mediante una variable?. ¿Has probado esto último?. ¿Cómo están cableados los relés?
Saludos.
Utilizo un potenciometro para cambiar la variable del setpoint de humedad y otro potenciometro para lo mismo con la temperatura. Los valores que da 0-1023 los cambio con la función map al valor que me interesa.
Pues si tengo fijado 21,0 grados... me cambia a 21,6 un segundo cada 5 segundos. La caida de tensión es de 4,86 a 4,78.. Pero debe de ser suficiente para que el potenciometro cambie de valor. De ahí mi pregunta si hay alguna manera de fijar las variables y solo forzar su cambio si la cambiamos mas de 8 décimas para evitar el problema del que os hablo.
//---------Lectura de Potenciometros
PotenciometroHumedad = analogRead(1);
PotenciometroTemperatura = analogRead(2);
//---------FIN de la lectura de Potenciometros
//---------Mapear valores de Potenciometros
SetPointHumedad = map(PotenciometroHumedad, 0, 1023, 35, 90);
SetPointTemperatura = map(PotenciometroTemperatura, 0, 1023, 1700, 3900);
SetPointTemperatura= SetPointTemperatura/100.0; // Para que el SP tenga valores decimales ya que la funcion map() solo devuelve enteros.
//---------FIN de mapeo de Potenciometros