Hola.
LETAL:
Esa respuesta solo tú la conoces... extraño ¿no?.
Tu solamente conoces la planta y el controlador; si tu planta tiene una reacción favorable al controlador, entoces estás bien.
Creo que lo que estabas haciendo era un control de temperatura, te hice el comentario que un control PID no es necesario para esa varible porque, en la gran mayoría de los casos, la temperatura no varía tan rápido, con un simple P o poniendo condiciones es mas que suficiente.
Lo antes mencionado es por si no tienes los parámetros de la planta. Si tienes esos parámetros pues, puedes usar esa información y como mencionaste que usas MATLAB, simular el sistema.
Mira LETAL, para que te des una idea de lo que digo, ve a ésta página y descarga los dos videos que vienen en ella. Es un carrito donde la persona hace un control P y un PD. Te darás cuenta de el error entre uno y otro.
http://elm-chan.org/works/ltc/report.htmlPero como lo tuyo es temperatura.......... es difícil saber si lo haces por prueba y error ya que la variable es lenta en su comportamiento.
Lo que puedes hacer es tratar de desestabilizar el sistema dando valores arbitrarios que consideres prudentes (claro, todo esto es si no sacaste la ecuación de la planta).
Sinceramente no creo que ocupes un PID para un proceso de esta naturaleza, un simple programa de comparación de valores es suficiente pero, si necesitas hacerlo, ya es diferente
.
¿Qué libro es?
Es Mobile Robotic Car Design de Pushkin Kachroo y Patricia Mellodge.
http://www.amazon.com/gp/product/007143870X/ref=pd_rate_dp/103-3521960-1785421?ie=UTF8Por ahí leí que alguien recomendaba usar controles analógicos, no creo que sea lo mejor , es dar un paso atrás
Ese era yo.
La razón es que el forero LETAL no ha mencionado si es tarea o si el quiere hacerlo solo porque quiere (fíjate en la fecha de su publicación, es 27 de Julio, Inicio de clases semestrales en algún lugar).
Le comentaba que si había oportunidad lo hiciera analógico porque es mas sencillo que digital (en mi opinión).
Al principio del tema hago la aclaración que quiero hacer un PID porque quiero, no porque tenga que hacerlo.
Por ahí leí que alguien recomendaba usar controles analógicos, no creo que sea lo mejor , es dar un paso atrás, hoy en día todos los controles se hacen de forma digital, ya dejo de ser una tendencia para ser los estándar.
De acuerdo contigo.
Es cuestión de ponerse manos a la obra
Diste en el clavo .Bueno, déjenme decirles como va esto:
Apenas estoy en lo del PWM.
Ando queriendo usar el HPWM del PBP pero al parecer solo te da 256 valores para el ciclo de trabajo (0=0%, 127=50% y 255=100%).
No sería ningún problema pero necesitaría ver cuántas líneas de ensamblador usa el compilador; no porque el 18F452 o 18F252 no las resista (32K de cada uno) sino porque quizá utilice éste código en un 16F873 o un 16F628 (con control Ackerman por no tener dos PWM).
Estuve viendo el código que proporciona Microengineering Labs para usar el PWM del µicro y hacen algo que no se me había ocurrido (si, algo tan sencillo no se me había ocurrido) para colocar los 10 bits de resolución para el ciclo de trabajo:
duty VAR WORD ' Duty cycle value (CCPR1L:CCP1CON<5:4>)
CCP1CON.4 = duty.0 ' Store duty to registers as
CCP1CON.5 = duty.1 ' a 10-bit word
CCPR1L = DUTY >> 2
http://www.microengineeringlabs.com/resources/samples/pbp/hardpwm.basAl parecer es compacto el código y no tendría que estar llamando la instrucción HPWM cada vez que quiera ajustar los motores.
Bueno, hasta aqui voy, pondré resultados tan pronto los tenga.
Saludos y cuando ponga mi página electrónica trataré de colocar esta información con videos si es posible.