Control automático PID para horno de reflujo PIC16F876A V2.0

Cerrado
Avatar de Usuario
Thulsa_Doom
Reboleador Extremo
Mensajes: 557
Registrado: Lun Ago 24, 2009 3:24 pm

Buenas a todos, pues en esta ocasión quiero presentar un avance del control de horno de reflujo automático que estoy realizando, (continuación de este hilo):
http://www.reballing.es/viewtopic.php?f=58&t=1955
no sigo en el mismo hilo porque ya tiene un tamaño y como éste montaje es diferente al anterior preferí hacer un hilo nuevo.

Hace cosa ya de más de un año desarrolle un control de horno analógico con previsión de hacerlo automático con el tiempo, de ese entonces he tenido que recorrer un arduo y tortuoso camino, he tenido que fabricarme una placa entrenadora para el pic y los dispositivos que irán conectados como el max6675, el lcd, bueno no los voy a aburrir con los detalles.

Después de toda esta presentación, os presento un avance de lo que estoy desarrollando para que ustedes me den opiniones de cómo mejorarlo.

De momento solo tengo implementado el control automático basado en un control PID, de momento tengo dos rampas pero se pueden hacer todas las rampas que uno quiera, es cuestión de programación, de momento las rampas no están del todo ajustadas ya que como se ve en el video tienen un poco de sobre impulso y estoy trabajando en ello, el ajuste de un horno es complicado ya que intervienen muchos factores y es cosa de tiempo y paciencia, pero apunta maneras.

Estoy a la espera de que me lleguen unos componentes para fabricarme un teclado que se conectará al micro por el protocolo i2c para meter los datos para poder fabricarse las rampas al gusto de cada uno.

Más en adelante montaré una pantalla gráfica donde se refleje la curva de la temperatura que vayan haciendo las rampas y mas información del proceso, ahora está limitado a una pantalla de cristal líquido.
Espero sus consejos.

Explicación del video:
El control está montado en un diseño propio de una placa entrenadora de PIC16F876A, esta está conectada a una placa entrenadora de MAX6675 y a su vez un display de 16x2
En el osciloscopio se puede ver la señal PWM que ataca al SSR del horno, se ve cómo cambia en función de la temperatura, si tenéis alguna pregunta la responderé lo mejor que pueda

Me olvidaba de comentar que las primera rampa tengo el setpoint a 100ºC y la segunda tiene el setpoint a 210ºC
Última edición por Thulsa_Doom el Mié Abr 11, 2012 7:13 pm, editado 5 veces en total.
Si cada vez que se dice manteca, dios mata un gatito, no os preocupéis, en el callejón de al lado de mi edificio hay un contenedor de basura que por las noches está lleno
ZM5860C
Horno de reflujo casero con un control fabricado por mi en evolución
Pabloide73
Reboleador Extremo
Mensajes: 591
Registrado: Sab Nov 13, 2010 6:26 am

Hola Thulsa_Doom, te felicito por los avances y el esfuerzo para aprender.
Estoy trabajando también en el ajuste del PID que es bastante difícil como bien dices , el metodo de ajuste del pid con la respuesta en escalón ( metodo Ziegler y Nichols ) no lo entiendo por ahora, creo que por ahí anda la cosa, por otro lado no me convence usar un pwm y ssr en alterna, creo que seria mejor usar otro método de regulación de potencia, estoy trabajando en eso y pronto tendre algunos resultados , dejo una imagen de lo que intento y tal vez te sirva en tu proyecto.

Imagen
Avatar de Usuario
Thulsa_Doom
Reboleador Extremo
Mensajes: 557
Registrado: Lun Ago 24, 2009 3:24 pm

Yo estoy utilizando en el PID el método de Ziegle y Nichols y la respuesta en escalón no la he hecho por falta de una tarjeta de adquisición de datos, de todas maneras cada resistencia y cada horno tienen sus peculiaridades y aunque hagas la respuesta en escalón al final siempre hay que afinar a mano, lo que he estado haciendo es añadir valores y por medio del osciloscopio veo la respuesta y afino, sé que no es la mejor manera pero es lo único que se me ocurre hacer, lo ideal es como dije una tarjeta de adquisición de datos y el MATLAB.
y yo estoy utilizando la PWM con un SSR y va genial.
Si cada vez que se dice manteca, dios mata un gatito, no os preocupéis, en el callejón de al lado de mi edificio hay un contenedor de basura que por las noches está lleno
ZM5860C
Horno de reflujo casero con un control fabricado por mi en evolución
Pabloide73
Reboleador Extremo
Mensajes: 591
Registrado: Sab Nov 13, 2010 6:26 am

Para adquirir los datos envío los valores de temperatura a la compu y los saco del monitor del puerto serial, aclaro que uso arduino, con el pic puedes hacer lo mismo o puedes usar la eeprom interna para registrar la temperatura, luego con el mismo programador lees la eeprom del pic y esos datos los cargas en excel por ejemplo y se grafican fácilmente.
Avatar de Usuario
Thulsa_Doom
Reboleador Extremo
Mensajes: 557
Registrado: Lun Ago 24, 2009 3:24 pm

Lo mejor y creo que lo más fácil sería implementar un max232 y meter los datos en tiempo real en el puerto serial del pc y a su vez registrar el tiempo y la temperatura de la entrada en escalón en el matlab y de ahí hacer los cálculos, sé como se hace el procedimiento pero me falta el meter los datos.
para ir adelantando he estado experimentando con el PID que al parecer funciona a falta de el ajuste final y he hecho unas rampas de pruebas para ver como tira.

Más en adelante implementaré el código para definir bien los estados del proceso, luego implementaré la manera de meter datos que lo aré por teclado 4x4 o 4x5 para configurar las rampas, que creo que aré de 3 a 4 faces de rampas tipo como funciona el control de las ZM, pero todo eso poco a poco, en función de los materiales que vaya consiguiendo y de las ganas que tenga ese día, de todas maneras si te puedo ayudar en algo cuenta con migo y tu ayuda será bien venida también.

Una pregunta, ¿cuál es el motivo de que no te guste la señal PWM y el control de la potencia por SSR?.
Todas las máquinas de reballing que he visto implementan estos sistemas, es más hasta los centros de transformación están implementando éste tipo de sistemas por las ventajas que tiene frente a otros
Si cada vez que se dice manteca, dios mata un gatito, no os preocupéis, en el callejón de al lado de mi edificio hay un contenedor de basura que por las noches está lleno
ZM5860C
Horno de reflujo casero con un control fabricado por mi en evolución
Pabloide73
Reboleador Extremo
Mensajes: 591
Registrado: Sab Nov 13, 2010 6:26 am

Ahora ando con poco tiempo, mas tarde hago una explicación mas detallada de porque no me convence el pwm para controlar potencia en alterna, y con respecto al ajuste del PID me gustaría entender lo del escalón , he leído mucho pero no entiendo como llevarlo a la practica, si me puedes ayudar con eso seria genial.

PD: que modelo de ssr usas? quisiera ver las características técnicas. Gracias
Avatar de Usuario
Thulsa_Doom
Reboleador Extremo
Mensajes: 557
Registrado: Lun Ago 24, 2009 3:24 pm

Hola, siento el retraso en contestar.
Lo de cómo hacer el procedimiento de la entrada en escalón, creo que con eso se consigue averiguar las propiedades de la resistencia, como las resistencias no son lineales y la temperatura del horno depende de muchos factores como puede ser la capacidad de que el horno retenga el calor, etc.

Ziegle/Nichols implementaron varios métodos para la sintonización de los PID, y la entrada en escalón es para averiguar que método de sintonización es el más adecuado para la planta (horno) que vas a controlar, cómo todavía no lo he hecho no puedo asegurarte nada pero por lo que he leído y lo que he hablado con colegas se le aplica una tensión continua de x voltaje en 1 segundo y por los tiempos que sacas en esa gráfica y los voltajes en la rampa, se sabe que reglas de sintonización has de utilizar para calcular el PID.

Cuando tenga el montaje de un max232 para conectar el micro con el pc, ya le meteré MATLAB y capturaré la entrada escalón.

He visto videotutoriales en youtube que hablan de la sintonización de PID con MATLAB,
Yo lo que hice para este horno fue ajustar el PID para que llegue a 210ºC y que se mantenga lo más posible y una vez logrado esto ya hice las rampas y la verdad es que quedo ajustado más o menos, he probado a cambiar las temperaturas de las rampas y al parecer tira bien.

No puedo ayudarte más porque como no he experimentado más no se decirte, lo siento









el modelo de SSR utilizado es este:

http://www.omega.com/ppt/pptsc.asp?ref= ... Nav=temp10
Si cada vez que se dice manteca, dios mata un gatito, no os preocupéis, en el callejón de al lado de mi edificio hay un contenedor de basura que por las noches está lleno
ZM5860C
Horno de reflujo casero con un control fabricado por mi en evolución
Cerrado