TODOPIC

Microcontroladores PIC => * PROYECTOS * => Mensaje iniciado por: Algec en 27 de Octubre de 2008, 12:02:14

Título: Servo con motor DC encoder y pic
Publicado por: Algec en 27 de Octubre de 2008, 12:02:14
De momento publico lo que llevo, lleva control por pwm, ajuste de corriente del motor y PID con proporcional e integral
Me gustaria que me ayudarais con el tema de los ajuste de los valores KP KI y la parte de diferencial que aun la tengo algo verde.
La entrada de referencia de posicion sera por rs232 y opcionamente por pulsos, de momento es un valor fijo para ver que regula
Hay que afinar todo, en fin, colaboracion y sugerencias es lo que pido.
Título: Re: Servo con motor DC encoder y pic
Publicado por: Algec en 27 de Octubre de 2008, 14:13:29
HE visto un error en la parte integral y lo he corregido pero eso hizo el sistema muchisimo mas inestable, por lo que necesito mas ayuda aun.
Título: Re: Servo con motor DC encoder y pic
Publicado por: MGLSOFT en 27 de Octubre de 2008, 18:49:01
Creo que en la parte proporcional tienes mal las cuentas.
Código: C
  1. salida =((setpoint-real*KP)/20)+(salida +((setpoint-real)*KI)/20);

Creo que deberia ser:
Código: C
  1. salida =(((setpoint-real)*KP)/20)+(salida +((setpoint-real)*KI)/20);
Título: Re: Servo con motor DC encoder y pic
Publicado por: Algec en 27 de Octubre de 2008, 22:09:28
Estas en lo cierto, pero ando cambiando cosas aun porque no va bien en el control de posicion. Depende mucho de la mecanica en la parada, se pasa por las inercias etc.
EN cuanto termine esto un poco mas afinado lo subo y a ver que me podeis decir.
¿El resto como lo veis?
Título: Re: Servo con motor DC encoder y pic
Publicado por: Algec en 28 de Octubre de 2008, 10:33:57
Ya se que me falla, un error de peso.
En principio estoy usando un PI cuando deberia usar un PD porque la derivada del espacio es la velocidad y yo lo que estaba haciendo era integrar el espacio.
Es decir en cuanto tenga a punto el tema de la derivada deberia funcionar bien ya que con la parte proporcional solo si va.
Ademas queda afinar ajustes y eliminar picos de tension en la conmutacion del motor y banda muerta de cambio de sentido de giro...etc
Título: Re: Servo con motor DC encoder y pic
Publicado por: Javicho en 28 de Octubre de 2008, 13:21:07
Podrias comentarnos en que consiste tu aplicación? que tipo de motor usas?

Si tu carga es variable pienso que el control PI o PD o similares no bastarán, tendrias que incluir una regulación de velocidad si la carga es variable porque no es lo mismo una carga como "1" que una carga como "100".

Javicho.
Título: Re: Servo con motor DC encoder y pic
Publicado por: Algec en 28 de Octubre de 2008, 14:19:39
Efectivamente es asi, en principio seria para posicionar husillos como los de una fresadora en que la carga es practicamente fija.
Es solo un ejercicio porque tengo un motor DC y un encoder y queria hacer algo asi.
Ya va funcionando pero efectivamente al variar la carga el comportamiento varia mucho.
Te pego lo que llevo, aun tengo muchos problemas con la simulacion, porque no logro encontrar unos diodos que me funcionen (en proteus), me da error de programa, tambien me pasa con el opracional si no uso este estandar.
Miralo y me comentas
Título: Re: Servo con motor DC encoder y pic
Publicado por: Javicho en 28 de Octubre de 2008, 15:03:16
Antes que nada tienes que saber si tu hardware para el motor funciona bien, lo ideal es que lo veas en el osciloscopio y que no le esté llegando voltaje negativo al motor producto del pwm (que supongo lo usas), para ello tienes que hacer un barrido de todos los ciclos útiles desde 1 hasta 99% porque si no verificas eso puede que tu control por mas PID que le agregues no va a funcionar como debe ser y es mas terminará quemando los dispositivos de switcheo de tu hardware para el motor.

No creo que puedas simular eso a menos que tengas en el simulador todos los datos técnicos del motor, no queda otra que te consigas un osciloscopio, si no puedes conseguirlo tendras que confiar en que el hardware está bien, aparte de ello tendras que implementar un control de velocidad con rampas de aceleración y desaceleración, me parece que en la página de microchip hay info al respecto o en la web.

Javicho.
Título: Re: Servo con motor DC encoder y pic
Publicado por: Algec en 28 de Octubre de 2008, 18:02:57
Si eso ya lo vi en las paginas de CCS.
De momento parece que funciona lo unico que no puedo es simular los diodos de proteccion de tension del motor generada por las fuerza contraelectromotriz, porque cada vez que pongo un modelo en el proteus el programa da errores. Sabeis de algun diodo que funcione en el Proteus?
Título: Re: Servo con motor DC encoder y pic
Publicado por: Javicho en 28 de Octubre de 2008, 19:36:22
Nunca he usado el Proteus y no creo que lo vaya a usar, una cosa es la simulación y otra muy diferente las señales reales, ahi se van a meter los ruidos que en simulación no vas a ver y mientras tanto pasaras el tiempo buscando un diodo para simular, pero bueno hay cosas que si me permitiria simular pero en Orcad por ejemplo.

Javicho.
Título: Re: Servo con motor DC encoder y pic
Publicado por: manolomaravillas en 28 de Febrero de 2011, 20:50:29
me encantaria me pasases el hex y un esquema para poder comprobarlo  me gustaria tenerlo y al mismo tiempo modificarlo
Título: Re: Servo con motor DC encoder y pic
Publicado por: Algec en 01 de Marzo de 2011, 06:50:30
Ok , no lo llegue a montar y si lo haces tu estare encantado de que me cuentes como va.
El Ares es teorico, puede tener fallos.
Te lo paso mañana mIsmo
Título: Re: Servo con motor DC encoder y pic
Publicado por: Algec en 03 de Marzo de 2011, 10:08:30
Bien ya te lo envie a tu correo ya me diras si lo montas como funciona.
No esta testeado el fichero Ares, por lo que te tocara revisarlo si vas a montarlo
Todo es teorico no hice nada en la practica por lo que no se funcionara asi.
Ya me diras
Título: Re: Servo con motor DC encoder y pic
Publicado por: akrs en 06 de Julio de 2015, 20:58:44
Bien ya te lo envie a tu correo ya me diras si lo montas como funciona.
No esta testeado el fichero Ares, por lo que te tocara revisarlo si vas a montarlo
Todo es teorico no hice nada en la practica por lo que no se funcionara asi.
Ya me diras

esta muy bueno este proyecto , como podrias agregar un keypad para darle los valores de rpm , angulo de posicion y que se visualizen en el lcd , tambien podrias darle los vlores de ki kp kd por via keypad
Título: Re: Servo con motor DC encoder y pic
Publicado por: akrs en 18 de Julio de 2015, 18:48:30
que tendria que modificar en ese codigo para poder darle los parametros pid  , los pulsos y sentido de giro al motor , pero con un teclado matricial de 4x4 ??
Título: Re: Servo con motor DC encoder y pic
Publicado por: akrs en 02 de Septiembre de 2015, 13:35:27
como podria reemplazar todos los pulsadores y potenciometros por un teclado matricial 4x3 ??
Título: Re: Servo con motor DC encoder y pic
Publicado por: KILLERJC en 03 de Septiembre de 2015, 02:42:42
akrs este es un tema de 2011. Te respondo por que vi que has respondido 3 veces ya casi en un mes.
No se que tendrias que cambiar, pero imagino que para reemplazar los parametros PID vas a tener que hacer toda una interfaz para el teclado, con LCD y demas, lo cual eso ya es un programa aparte.
Vas a tener que hacer un menu, etc. Como te digo es todo un codigo aparte. y nada corto si es lo que pienso, ademas no deberia molestar en nada al PID o deberia ser la molestia minima asi no responde lentamente el PID.