Que tal soy estudiante de electronica y me han pedido la tarea de realizar un control de temperatura usando como fuente de calor un foco, mediante implementacion de pid con microcontrolador de la familia AVR, bien la parte del codigo de la pura accion proporcional, integral y derivativa ya la tengo, pero el profesor comento algo de que necesito detectar el cruce por cero y bien para esto ya me di a la tarea de buscar en la pagina de AVR y encontre que esto se hace con unas resitencias y un codigo sencillo en una interrupcion, pero mi problema es que no entiendo que hago cuando ya detecto el cruce por cero?
es decir, yo lo que ya tengo hecho es mi codigo del pid el cual lee mediante el convertidor A/D un sensor lm35 y realiza las operaciones correspondientes al control, y este me entrega un valor el cual lo ocupo como comparacion para generar una señal de pwm a una frecuencia de 62.5Hz que lo que hace es que mientras mas cerca esta del valor deseado sale un pulso mas pequeño en alto hasta volverce cero cuando el valor es igual y un pulso en alto muy largo mientras mas alejado del valor de comparacion esta, y esta señal de pwm la mando a un moc3020 que a su vez activa un triac 2n6071, que aparentemente funcionan bien, pero mi maestro dice que no, debido a que no tengo sincronizado el cruce de cero y demas, dice que el triac no se esta disparando cada vez que mi señal de pwm esta en alto y que por eso se observa a veces que el foco brilla mas fuerte y otras menos.
entonces mis dudas son..
cual es la relacion entre el detector de cruce por cero que se realiza con la interrupcion y mi señal de pwm???
y cual seria la forma correcta de realizar lo que necesito?.. entiendo que lo que necesito hacer es una especie de dimmer digital controlado por el valor de temperatura en la entrada
espero me puedan ayudar con mi problema y agradesco de ante mano.
es decir, yo lo que ya tengo hecho es mi codigo del pid el cual lee mediante el convertidor A/D un sensor lm35 y realiza las operaciones correspondientes al control, y este me entrega un valor el cual lo ocupo como comparacion para generar una señal de pwm a una frecuencia de 62.5Hz que lo que hace es que mientras mas cerca esta del valor deseado sale un pulso mas pequeño en alto hasta volverce cero cuando el valor es igual y un pulso en alto muy largo mientras mas alejado del valor de comparacion esta, y esta señal de pwm la mando a un moc3020 que a su vez activa un triac 2n6071, que aparentemente funcionan bien, pero mi maestro dice que no, debido a que no tengo sincronizado el cruce de cero y demas, dice que el triac no se esta disparando cada vez que mi señal de pwm esta en alto y que por eso se observa a veces que el foco brilla mas fuerte y otras menos.
entonces mis dudas son..
cual es la relacion entre el detector de cruce por cero que se realiza con la interrupcion y mi señal de pwm???
y cual seria la forma correcta de realizar lo que necesito?.. entiendo que lo que necesito hacer es una especie de dimmer digital controlado por el valor de temperatura en la entrada
espero me puedan ayudar con mi problema y agradesco de ante mano.