Autor Tema: Control PID con PIC  (Leído 46733 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado gu1llermo

  • Colaborador
  • PIC16
  • *****
  • Mensajes: 217
Re: Control PID con PIC
« Respuesta #15 en: 12 de Mayo de 2008, 08:26:54 »
Hola! Manex, lo del perfil de velocidad es algo así como esto:



Donde estableces (mediante pruebas realizadas) una velocidad mínima y máxima de desplazamiento, entonces eliges la pendiente de la curva que mejor te parezca (mediante pruebas también) y ya tienes tu perfil de velocidad de forma trapezoidal, si me esperas un poco escribo en detalle todo lo relacionado a esto.

Saludos.

Desconectado falflores

  • PIC16
  • ***
  • Mensajes: 173
    • Control, electrónica y programación en español
Re: Control PID con PIC
« Respuesta #16 en: 11 de Mayo de 2011, 13:18:41 »
Hola gu1llermo, he estado viendo tu trabajo sobre el brazo robot que realizaste en 2008 y me parece excelente!, felicidades por tu trabajo, se que ha pasado algo de tiempo, pero en este momento me encuentro realizando un brazo para mi carrera de control y automatización, y me gustaría mucho implementarle una acción de control PI, ya que alguna vez hice unos drivers para una CNC y quede maravillado con el control que tienen los motores a pasos a traces del software, y justamente es lo que quiero aplicar: un perfíl de velocidad en forma trapezoidal para poder ajustar las 3 variables, posición, velocidad y aceleración, pero estoy algo atorado al respecto, no se como relacionar los tiempo entre cada paso del motor con las ecuaciones para poder crear mi algoritmo de control, tienes algún documento que me pudieras pasar por favor para darme una idea?. Muchas gracias por tu tiempo y espero que leas este mensaje.
Los invito a mi blog "Control, electrónica y programación en español" www.robotnias.blogspot.com

Desconectado falflores

  • PIC16
  • ***
  • Mensajes: 173
    • Control, electrónica y programación en español
Re: Control PID con PIC
« Respuesta #17 en: 11 de Mayo de 2011, 13:20:04 »
Se me olvidaba, por acá describo un poco mejor mi problema:

http://www.todopic.com.ar/foros/index.php?topic=34627.msg289250#msg289250
Los invito a mi blog "Control, electrónica y programación en español" www.robotnias.blogspot.com

Desconectado emelyjose

  • PIC10
  • *
  • Mensajes: 2
Re: Control PID con PIC
« Respuesta #18 en: 10 de Noviembre de 2014, 20:33:52 »
alguien sabe como programar un PID para controlar temperaturas?

Desconectado illusionista_86

  • PIC10
  • *
  • Mensajes: 23
Re: Control PID con PIC
« Respuesta #19 en: 11 de Noviembre de 2014, 23:23:05 »
Mas o menos está explicado arriba, salva que aquí la referencia es la temperatura a alcanzar, el error será la temperatura leída menos la referencia a alcanzar, y aplicas las ecuaciones que hay arriba, tendrás que calcular los tres parámetros del PID, pero las ecuaciones son las mismas, o por lo menos esas te pueden servir.

Desconectado ceci_lamorocha

  • PIC12
  • **
  • Mensajes: 94
Re: Control PID con PIC
« Respuesta #20 en: 02 de Septiembre de 2015, 15:42:59 »
Hola  como estan ! tengo una duda con esto de los PID y es que no entiendo que tenemos a la salida de un PID.  Lo que entendi es que es una señal de control pero esa señal que unidades tiene y entre que valores varia ?  por tomar un ejemplo en un control de temperatura tenemos un set point en grados luego la realimentacion tambien estaria en grados y el error tambien en grados, despues vendria el PID y ahi ya me pierdo !!  :mrgreen: alguien me puede ayudar a entender un poco esto?  :oops:

Desconectado juaperser1

  • Colaborador
  • DsPIC30
  • *****
  • Mensajes: 2976
Re: Control PID con PIC
« Respuesta #21 en: 02 de Septiembre de 2015, 17:16:29 »
La automática (que no automatización) es un campo muy muy difícil, hay profesionales que se dedican solo a ajustar pid por las industrias. Antes de ponerte a intentar siquiera manejar o crear un pid deberías leer bastante sobre el tema además, existen de dos clases analógicos y digitales,  y si el pid lo quieres hacer  en el mundo de la electrónica (ya que tambien existen mecanicos, neumaticos etc.) no existen la salida en grados, debes trabajar con números (de un adC por ejemplo que mida la temperatura)

Rara vez, se necesita en una aplicación un pid, quizás te baste con un pi( proporcional-integrativo) , con el termino derivatico debes tener cuidado, ya que es el que le da velocidad al sistema para alcanzar el objetivo y se puede volver inestable, la mayoría de las veces con un proporcional ( una constante que multiplica el valor de realimentacion para ajusta el valor de salida), y un integrativo ( que suma los pequeños errores de salida y elimina el error en régimen permanente)

Si vas a controlar temperatura, que es un sistema lento, necesitas un PI no te hace falta un PID.

Normalmente para hacer un pid ( de manera muy resumida), por ejemplo para un calentador con una resistencia, mides la temperatura en adC, mides el error, y aplicatas la teoría de PID y esto lo aplicas al circuito que controla la resistencia para ajustar la temperatura.

Un saludo.
Visita mi canal para aprender sobre electrónica y programación:

https://www.youtube.com/channel/UCxOYHcAMLCVEtZEvGgPQ6Vw

Desconectado ceci_lamorocha

  • PIC12
  • **
  • Mensajes: 94
Re: Control PID con PIC
« Respuesta #22 en: 02 de Septiembre de 2015, 19:13:14 »
gracias por la respuesta juaperser !  pero justo lo que no entiendo y donde se me complica entenderlo es lo que escribiste asi:

"esto lo aplicas al circuito que controla la resistencia para ajustar la temperatura" a que te refieres con  ESTO ? que es lo que entrega el PID para poder controlar un sistema ?  eso es lo que me esta taladrando la cabeza jaja  y la teoria que encuentro siempre habla de lo mismo las formulas etc pero no me aclara nada sobre esa duda que tengo  :mrgreen:

Desconectado juaperser1

  • Colaborador
  • DsPIC30
  • *****
  • Mensajes: 2976
Re: Control PID con PIC
« Respuesta #23 en: 02 de Septiembre de 2015, 19:28:53 »
Pues depende del sistema que estés controlando, a ver si con ejemplos lo puedes entender mejor, son solo ejemplos no te los tomes al pie de la letra.

Imagina que estas controlando la velocidad de un motor de corriente continua, y la velocidad en un motor de esta clase es mientras mas tensión mas velocidad y mientras menos tensión menos velocidad.

Imagina que quieres lograr 100rpm, y estas midiendo con un encoder que tu motor va a 110rpm, el encoder transforma en variable numerica este dato y en tu sistema ves que la salida es mayor que la esperada por lo tanto tu sistema actúa mediante el hardware, con PWM por ejemplo, ( o un dac si así lo entiendes mejor) y baja la tensión para que el motor baje de rpm.

Si el motor va a 80 rpm pues tu sistema debe subir la tensión para que el motor vaya mas rápido.

Si quieres controlar el par motor, pues en vez de controlar la tensión deberás controlar la intensidad que es como se controla el par en un motor dc.

En el caso de la resistencia para el calor si estas controlando la potencia i2*r pues tu sistema deberá bajar o subir la intensidad para lograr mas o menos vatios y así dar mas o menos calor.

Imagina una tubería con una servovalvula, pues tu sistema deberá abrir o cerrar las servovalvula dependiendo del caudal que quieras, aquí mides caudal a la salida y controlas sección de tuberia que abre o cierra.

Cada ejemplo, es diferente.

Lo comprendes así mejor? No se si me explicado bien  :D :D

Un saludo.

PD: son ejemplos muy simplificados y para que se entiendan hay muchos mas factores a tener en cuenta
Visita mi canal para aprender sobre electrónica y programación:

https://www.youtube.com/channel/UCxOYHcAMLCVEtZEvGgPQ6Vw

Desconectado ceci_lamorocha

  • PIC12
  • **
  • Mensajes: 94
Re: Control PID con PIC
« Respuesta #24 en: 07 de Septiembre de 2015, 07:54:37 »
bueno muchas gracias por la respuesta! ahora me generaste 2 dudas nuevas !  :mrgreen:

1) el par de un motor es lo mismo que el torque ? el torque es un concepto que leí pero nunca supe bien que era y menos como variar el torque de un motor manteniendo el numero de las RPM constantes !! para mi si variamos las RPM varia el torque pero seguramente estoy equivocada porque he visto aparatos donde se puede variar el torque y las RPM manteniendo el otro valor contante , pero nunca supe como lo hacen

2) a la salida del PID tenemos la señal u(t) que es la señal de control, ahora en el mismo caso de la temperatura, si el reciento esta lo mas frio posible la señal u(t) es lo mas grande posible o lo mas chica posible ? y en el caso de que se llega a la temperatura del set point la señal u(t) del PID es cero ? en definitiva mi duda es como varia la señal u(t) segun la temperatura que tengamos ?

gracias de nuevo !
Laura  Z.

Desconectado juaperser1

  • Colaborador
  • DsPIC30
  • *****
  • Mensajes: 2976
Re: Control PID con PIC
« Respuesta #25 en: 07 de Septiembre de 2015, 08:21:37 »
si, el torque es el par motor, tengo entendido que en latino américa se le llama torque y aquí en España también lo llamamos par.

un ejemplo sin cuentas ni nada:  imagina un motor alimentado a 12 voltios constantes consumiendo 1A, ira a una velocidad X=10RPM moviendo una carga, imagina que la carga aumenta, pues tu PID debera responder ante ese cambio inyectando mas intensidad, (por que no quieres que cambie la velocidad) entonces tu motor pasara a seguir alimentado a 12 voltios (misma velocidad) pero la intensidad aumentara a 2A (por decir algo) por aumentar la carga y necesitar mas fuerza(torque)

2º ejemplo, tenemos el mismo motor con 12 voltios y 1A a 10RPM y queremos aumentar la velocidad, pues tu PID deberá aumentar la tensión a 24 voltios (por decir algo) y mantener 1 Amperio constante, asi ira a mas velocidad con la misma fuerza (torque)


tu segunda cuestión, quieres calentar una habitación a 50 grados y resulta que la habitación esta a 10 grados, pues tu PID dará como dices la señal U(t) lo mas grande posible, para llegar rapidamenté a los 50 grados, pero cuando llegue a 50 grados, la señal u(t) no sera 0, por la inercia térmica, es decir se pondrá a 53 grados  (por decir algo), hara una curva como se ve aqui:




 y ahora la señal U(t) sera negativa, y así oscilara hasta llegar al regimén permanente, las oscilaciones rapidas dependerán del termino derivativo (no es exactamente así pero es muy resumido para que lo entiendas)




por eso hay que tener cuidado con el termino derivativo por que las oscilaciones se pueden prolongar y el sistema nunca se estabilizara, cuando se acaben las oscilaciones , con el termino proporcional en regimen permanete nunca llegas a tu set point, siempre hay un error en regimén permanente  por ejemplo si quieres 50 grados tu sistema se estabilizara a 49 por ejemplo,
esto se arregla mediante el termino integrativo, que suma las pequeñas diferencias hasta llegar al set point.





aqui (sin termino derivativo) en el eje x=30 se ve como entra en acción el termino integrativo para corregir el error.


esto es muy resumido, asignaturas enteras, e incluso carreras enteras que se dedican a la automática. el libro de automatica "ingenieria de control moderna" de el japones Ogata es muy bueno por si quieres profundizar en el tema

un saludo



« Última modificación: 07 de Septiembre de 2015, 08:35:30 por juaperser1 »
Visita mi canal para aprender sobre electrónica y programación:

https://www.youtube.com/channel/UCxOYHcAMLCVEtZEvGgPQ6Vw

Desconectado ceci_lamorocha

  • PIC12
  • **
  • Mensajes: 94
Re: Control PID con PIC
« Respuesta #26 en: 07 de Septiembre de 2015, 10:56:39 »
te pasaste con la explicacion !! gracias juaperser !  ((:-))

Desconectado Picuino

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 5878
    • Picuino
Re: Control PID con PIC
« Respuesta #27 en: 07 de Septiembre de 2015, 19:56:40 »

Desconectado Picuino

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 5878
    • Picuino
Re: Control PID con PIC
« Respuesta #28 en: 07 de Septiembre de 2015, 19:58:43 »

Desconectado ceci_lamorocha

  • PIC12
  • **
  • Mensajes: 94
Re: Control PID con PIC
« Respuesta #29 en: 09 de Septiembre de 2015, 13:43:04 »
muy interesante gracias !   :mrgreen: