¿Cómo eliminar el ruido del Relay? [cerrado]

-2

En mi proyecto reciente, estoy trabajando con el módulo Peltier. Ahora, aquí el propósito principal de mi proyecto es cambiar entre refrigeración y calefacción. Y para ese propósito, estoy usando la placa de relé de 5V (2 relés). Ahora, durante la conmutación, el ruido se genera desde los relés y destruye totalmente toda la funcionalidad del sistema.

En primer lugar, permítame explicarle la funcionalidad del sistema para que pueda comprender cuál es el rol del relé. En nuestro sistema, tenemos que mantener la temperatura en el momento deseado.

El diagrama de mi sistema se ve a continuación:

Arribaestáeldiagramamássimple.Simplementeevitotodaslasconexionesrealesyrepresentotodaslasconexionesenformadebus.Ahoracomoveseneldiagramahaydiferentesmódulos.ElsensordetemperaturatomalalecturaqueseadjuntaconelmóduloPeltier.AhoraaquíseusaelcontroladordelmotorparaconducirelmóduloPeltier.LapantallaLCDseusaparamostrartodoslosdatosyeltecladoseusaparaingresarlatemperaturayeltemporizador.

Ahora,aquíseutilizanrelésparalosmediosdeconmutaciónparacalefacciónyrefrigeración.Pordefecto,latemperaturaeslatemperaturaambiente.Aquíusamoseltablerode2relésenelqueunoseusaparaenfriaryelotroparacalentar.

Para,cambiarparacalefacciónyrefrigeración,desarrollélalógicacomosemuestraacontinuación.

if(desired_set_temp>peltier_temp)//Heating{relay1activerelay2notactive}if(desired_set_temp<peltier_temp)//Cooling{relay1notactiverelay2active}

Ahora,elverdaderoproblemacomienzaaquí.Supongamosque,siajustamoslatemperatura-5grados,latemperaturaPeltierintentarámantenersutemperaturaalrededorde-5grados.yduranteestetiemposeproducelaconmutaciónyambosrelésgeneranruido.Ahora,¿cómoeliminaresteruidodeestosrelés?Cualquiercircuitoqueelimineesteruido.

Uséeltableroderelésyahechoaquí,comoabajo:

Editar : destruye totalmente todas las funciones del sistema durante este tiempo,

(1) LCD que muestra caracteres extraños

(2) No puedo operar el sistema

(3) No se puede ingresar ningún valor desde el teclado

Tenemos que reiniciar el sistema de manera obligatoria y luego podemos volver a operar el sistema.

    
pregunta Hasan

1 respuesta

1

Añadir histéresis:

auto active_error = 5;//or whatever
auto passive_error = 2;//or whatever
if(desired_set_temp > peltier_temp + allowed_error)  // Heating
{
  relay 1 active
  relay 2 not active
}
if(desired_set_temp < peltier_temp - allowed_error)  // Cooling
{
  relay 1 not active
  relay 2 active
}

if(desired_set_temp >= peltier_temp - passive_error &&
   desired_set_temp <= peltier_temp + passive_error)  // goldilocks zone
{
  relay 1 not active
  relay 2 not active
}

Esto agregará un retraso entre cambiar uno y otro.

En este caso, activará el calentador o el enfriador cuando la temperatura exceda la temperatura establecida +/-active_error y se desactivará cuando regrese dentro de +/-passive_error .

    
respondido por el ratchet freak

Lea otras preguntas en las etiquetas