Control PID de posicion

#1
Hola amigos, espero que esta vez me puedan dar una mano.
Necesito hacer un control PID para la posicion de un motor DC, buscando por alli encontre esta pagina
http://www.automatas.org/hardware/teoria_pid.htm
En la cual hay un circuito y todo bien, pero es solo control P, el I y D estan mas abajo, pero aparte, alguien me podria decir como es que deberia acoplar las etapas de D e I en el circuito hecho con op-amp?
Por favor, me seria muy util, ya que hasta ahora lo implementado y funciona bien, es solo control P, pero con PI o PID deberia salir mejor, solo que no hallo la manera de acoplar las 3 etapas.

Espero su ayuda.
Gracias.
 

Dr. Zoidberg

Well-known-Papá Pitufo
#3
En la cual hay un circuito y todo bien, pero es solo control P, el I y D estan mas abajo, pero aparte, alguien me podria decir como es que deberia acoplar las etapas de D e I en el circuito hecho con op-amp?
El acople depende de las ecuaciones de diseño que hayas usado :confused:
En general, el P, el I y el D son tres bloques independientes que tienen "las entradas unidas" y "las salidas sumadas". Esto es, excitas a los tres bloques con la misma señal de error (la del restador a la entrada del circuito) y las salidas de los tres las mandás a un sumador de tres entradas. A la salida del sumador tenés la señal de la acción de control a aplicar al actuador que estés usando.
 
#4
Hola, quizas pueda ayudarte pero necesitaria mas información para el diseño, primero que nada saber que motor estas usando para conocer los parametros de éste y luego saber que quieres lograr para ajustar el controlador en función del sobreimpulso que desees obtener, el tiempo de asentamiento, la velocidad de la respuesta, etc.
 
#6
Probaré con el sumador I+P... :D
Postearé el resultado.

Gracias.

Bien, el resultado es mas preciso con el control PI, en cuanto a la posicion del motor, el ujnico problema es el potenciometro que no es tan preciso, avanza unos 10º desde cero y sigue en cero... y por ende el motor no vence la incercia:D
Tendrán alguna solución para ese tema, ya he probado con todos...
Y si pongo un potenciometro de menor valor, que sucedería??
 
Última edición:
#7
Hola cerebro, yo tambien estoy trabajando con un proyecto casi similar al tuyo.
estoy tratando de implementar una accion de control (PID) con Amp-Op. que cumpla determinadas caracteristicas.
me sugirieron esta informacion:
http://www.scribd.com/doc/3228294/DISENO-DE-UN-CONTROLADOR-PID-ANALOGO-PARA-UN-CIRCUITO-RC-DE-SEGUNDO-ORDEN-MEDIANTE-LA-SISOTOOL-DE-MATLAB
posiblemente te sea util.

saber que quieres lograr para ajustar el controlador en función del sobreimpulso que desees obtener, el tiempo de asentamiento, la velocidad de la respuesta, etc.
Hola gtec talvez puedas ayudarme, puedes ver la informacion de mi diseño en en el enlace que dejo betodj
un colega esta trabajando en el mismo problema. Quiza puedan trabajar juntos y/o compartir información. ver:

https://www.forosdeelectronica.com/...mplificadores-operacionales-47232/#post403871
.
de antemano gracias tu ayuda!!!
 
Última edición:
#8
necesariamente tiene que ser con un motor DC,?
eree de la tierra de "agua bella" la originales!!!! E. Campos M. Yafac........
Saludos

Si lesite bien da a entender básicamente que para posicionado la componente Integrativa y derivativa para el caso dado por ser de tipo 1 no son necesarias

El poder hacer lo que quieren requiere un manejo full de AO sobre todo en el calculo matemático que es una aplicación particular, de echo el AO en estado sólido fue realizado para el ejécrito para el guiado y apuntado de cañones, donde se introducián las dos coordenadas y el sistema lo despazaba en altrua y horizontalmente luego de la guerra se lanzo una versión alguo diferente que no reuiere el cumpliminto de normas militares y dio a origen uA702 ek primer AO de estado sólido
 
Última edición:
#9
Hola cerebro, yo tambien estoy trabajando con un proyecto casi similar al tuyo.
estoy tratando de implementar una accion de control (PID) con Amp-Op. que cumpla determinadas caracteristicas.
me sugirieron esta informacion:
http://www.scribd.com/doc/3228294/DISENO-DE-UN-CONTROLADOR-PID-ANALOGO-PARA-UN-CIRCUITO-RC-DE-SEGUNDO-ORDEN-MEDIANTE-LA-SISOTOOL-DE-MATLAB
posiblemente te sea util.



Hola gtec talvez puedas ayudarme, puedes ver la informacion de mi diseño en en el enlace que dejo betodj .
de antemano gracias tu ayuda!!!
No hay drama, podría ayudarte, pero dame mas especificaciones de lo que exactamente quieres hacer. Saludos.
 
#10
Hola gtec , necesito implementar una accion de control (PID) que permita obtener al sistema un margen de fase de 30º un error de estado estacionario inferior al 5% y un sobrepaso inferior al 20%, tiempo de establecimiento menor a 3 segundos.

la ecuacion de mi planta es: (-0.64 S + 1)/(0.16 S^2 + 0.89 S + 1), en la realimentacion hay un retardo la ecuacion es: (-0.64 S + 1)/(0.64 S + 1) . (bucla tipica sistema cerrado con realimentacion)
he intentado implementar la accion de control pero no puedo garnatizar el margen de fase de 30º.

Gracias por tu atencion.
 
#11
Hola amigos, actualmente estoy controlando un servomotor de 24 v CD 3000 rpm con un encoder incremental de 2000 pulsos/revolucion, lo estoy haciendo con un microcontrolador 16f877a pero tengo problemas para leer el encoder con velocidad del motor mayor al 5%, osea que solo trabaja a velocidades muy lentas. les comento esto por que lo que sigue es implementarle un control PID, se que los servos industriales lo utilizan, lo que no se es si lo usan para el control de la velocidad y aceleracion? para algo mas?
 
#12
Intenta ver la forma de onda de salida del encoder, y luego ver la forma de onda que entra en el microcontrolador, y te encontraras con una gran sorpresa. (aclaro que uses osciloscopio)
 
#13
Hola gtec , necesito implementar una accion de control (PID) que permita obtener al sistema un margen de fase de 30º un error de estado estacionario inferior al 5% y un sobrepaso inferior al 20%, tiempo de establecimiento menor a 3 segundos.

la ecuacion de mi planta es: (-0.64 S + 1)/(0.16 S^2 + 0.89 S + 1), en la realimentacion hay un retardo la ecuacion es: (-0.64 S + 1)/(0.64 S + 1) . (bucla tipica sistema cerrado con realimentacion)
he intentado implementar la accion de control pero no puedo garnatizar el margen de fase de 30º.

Gracias por tu atencion.
Ok, si no estas muy apurado, tengo un examen la próxima semana en la universidad y luego trataré de ayudarte con este proyecto, de todos modos trataré de ir mirándolo mientras, si adelanto te aviso.
 
#14
Intenta ver la forma de onda de salida del encoder, y luego ver la forma de onda que entra en el microcontrolador, y te encontraras con una gran sorpresa. (aclaro que uses osciloscopio)
a 24 v cd da 25 Khz la frecuencia. los dos canales A y B desfasados 90 grados
ya vi que tengo que contar los pulsos con hardware ezavlla y oceano lo comentaron en otro hilo
y tengo unos ejemplos que en teoria funcionan los voy a poner en practica...LM628N-8 :aplauso:
 
#15
Si, pero ya lo revisaste con un osciloscopio? Tengo la impresion que las ondas cuadradas a mayor velocidad ya no son tan cuadradas precisamente. Ya he tenido ese problema.
 

Dr. Zoidberg

Well-known-Papá Pitufo
#16
Pero es que tomar las señales del encoder sin procesarlas antes es medio de suicidas :D.
Hay que pasarlas por un par de compuertas XOR para duplicar la resolución y por un par de FF D para determinar el sentido de giro de forma estable y sin pérdida de pulsos.
 
#17
Si, pero ya lo revisaste con un osciloscopio? Tengo la impresion que las ondas cuadradas a mayor velocidad ya no son tan cuadradas precisamente. Ya he tenido ese problema.
si lo revise con un osciloscopio de ahi saque la frecuencia de 25 khz a 24 v cd y la onda si es cuadrada lo que pasa es que el servo es industrial es un SANYODENKI el ruido en el osciloscopio es minimo...

Pero es que tomar las señales del encoder sin procesarlas antes es medio de suicidas :D.
Hay que pasarlas por un par de compuertas XOR para duplicar la resolución y por un par de FF D para determinar el sentido de giro de forma estable y sin pérdida de pulsos.
Hola ezavalla, tendras un diagrama de ejemplo de como conectar estos componentes para leer los pulsos y el sentido de giro de el encoder. soy nuevo en estos temas y estoy mejorando un robot paralelo de 4 GDL con motores paso a paso y ahora lo quiero hacer con servomotores.
es para un proyecto de robotica paralela
 
Última edición:
#18
Trata de utilizar el HCTL2000 que es un integrado de hewelt packard dedicado para esta función y trabaja por linea serie sincronica te entrega la cantidad de pulsos contados cuando vos lo interrogas no perdes pulsos y lo interrogas de manera asincronica cuando tu programa lo permita.
 
#20
Trata de utilizar el HCTL2000 que es un integrado de hewelt packard dedicado para esta función y trabaja por linea serie sincronica te entrega la cantidad de pulsos contados cuando vos lo interrogas no perdes pulsos y lo interrogas de manera asincronica cuando tu programa lo permita.
Gracias randi, ahorita tengo el LM628N-8 que es un integrado especial para este tipo de lecturas
pero voy a checar el que mencionas (y)

Los dspic traen un Cuadrature Encoder, que igual forma que el mencionado, te permite manipular la informacion con registros muy fácil.
falta que pueda leer 100 000 pulsos por segundo que es lo que envia el encoder. me recomiendas alguno en especial?
 
Última edición:
Arriba