# Control PID de posicion



## cerebroo (Nov 26, 2010)

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.


----------



## betodj (Nov 26, 2010)

Que tal cerebroo, 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


Un saludo...


----------



## Dr. Zoidberg (Nov 26, 2010)

cerebroo dijo:


> 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 
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.


----------



## gtec (Nov 26, 2010)

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.


----------



## antiworldx (Nov 26, 2010)

Un sumadoooooor!!!!!! con cada entrada un potenciiometro para ajustar la ganancia de cada etapa.


----------



## cerebroo (Nov 26, 2010)

Probaré con el sumador  I+P... 
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
Tendrán alguna solución para ese tema, ya he probado con todos...
Y si pongo un potenciometro de menor valor, que sucedería??


----------



## crispolo (Nov 27, 2010)

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.



gtec dijo:


> 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 





> betodj dijo:
> 
> 
> > un colega esta trabajando en el mismo problema.  Quiza puedan trabajar juntos y/o compartir información. ver:
> ...


.
de antemano gracias tu ayuda!!!


----------



## pandacba (Nov 30, 2010)

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


----------



## gtec (Dic 8, 2010)

crispolo dijo:


> 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
> ...



No hay drama, podría ayudarte, pero dame mas especificaciones de lo que exactamente quieres hacer. Saludos.


----------



## crispolo (Dic 8, 2010)

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.


----------



## arturouc (Dic 8, 2010)

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?


----------



## antiworldx (Dic 9, 2010)

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)


----------



## gtec (Dic 9, 2010)

crispolo dijo:


> 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º.
> ...



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.


----------



## arturouc (Dic 11, 2010)

antiworldx dijo:


> 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


----------



## antiworldx (Dic 11, 2010)

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 (Dic 12, 2010)

Pero es que tomar las señales del encoder sin procesarlas antes es medio de suicidas .
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.


----------



## arturouc (Dic 12, 2010)

antiworldx dijo:


> 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...



ezavalla dijo:


> Pero es que tomar las señales del encoder sin procesarlas antes es medio de suicidas .
> 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


----------



## radni (Dic 12, 2010)

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.


----------



## antiworldx (Dic 12, 2010)

Los dspic traen un Cuadrature Encoder, que igual forma que el mencionado, te permite manipular la informacion con registros muy fácil.


----------



## arturouc (Dic 13, 2010)

radni dijo:


> 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 



antiworldx dijo:


> 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?


----------



## fruticas2010 (May 12, 2011)

Que tal, yo hare lo mismo del control de poscion solo que no se como acoplar el eje del pot al eje del motor, tenian uno ya coplado donde compre el material pero no cubre el valor del potenciometro requerido, asi que los compre por separado, pero no se como acomplarlos, alguien podria ayudarme!!


----------



## antiworldx (May 12, 2011)

Y si usas engranajes?


----------



## fruticas2010 (May 12, 2011)

un eje con engranes a eso te refieres??


----------



## antiworldx (May 12, 2011)

Un engrane al eje del motor, y  otro engrane al eje del potenciometro.


----------



## fruticas2010 (May 12, 2011)

a ok ya entendi intentare hacerlo de esa manera, gracias!!


----------



## antiworldx (May 12, 2011)

de                             nada.


----------



## MYSTERIO (Jun 21, 2011)

crispolo dijo:


> 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º.
> ...


 
Has probado un PD? De cuànto es tu retardo? Se ve bastante grande el retardo.

Bueno, lo primero a realizar, es que, tu aproximaciòn de padè sea de mayor orden, esto reduce posibles incetidumbres de fase.

Segundo, què tipo de ocntrol estàs utilizando? Si es control por computadora, o sòlo lo tienes que hacer en matlab, un esquema observador, y veràs què perfecto queda.


----------

