Autor Tema: Control de Velocidad  (Leído 1834 veces)

0 Usuarios y 2 Visitantes están viendo este tema.

Desconectado Nash7

  • PIC10
  • *
  • Mensajes: 17
Control de Velocidad
« en: 31 de Agosto de 2005, 09:53:00 »
Estoy haciendo un proyecto en el que controlo la velocidad del motor de un tocadiscos, la velocidad la tomo de una fotocélula y el micro (16f877A) tiene que regular la velocidad a la que va el motor. El problema esta en que yo no tengo la planta del tocadiscos y por tanto no sé como puedo hacer para sacar el control PI asociado.

 ¿Alguien sabe como puedo obtener un PI para un motor de 12V?, o ¿alguien tiene una idea para regular el motor?
Muchas graciasGiño

Desconectado Artifox

  • Colaborador
  • PIC18
  • *****
  • Mensajes: 455
    • Quadbot
RE: Control de Velocidad
« Respuesta #1 en: 01 de Septiembre de 2005, 01:04:00 »
Sacar los parametros del motor a veces no es tan sencillo, y si mal no recuerdo hay un algoritmo el cual te ayuda a obtener estos parameros, se llama algoritmo LMS ( estoy casi seguro q asi se llama ) no tengo informacion a la mano, pero se que con esto puedes obtener la planta de un sistema ( funcion de transferencia )

En resumen ese algoritmo lo que hace es q le ingreses a tu planta una funcion escalon ( 12V para tu motor ) y capturar los datos de velocidad que bota la planta durante el tiempo en que demora en establecerse la velocidad; con esos datos y utilizando este algoritmo logras hallar los parametros de tu motor. Para ello necesitaras como almacenar los datos de velocidad de tu motor, una trajeta de adquisicion de datos, un pic, ... conectados a la PC para obtener esos datos y los puedas manejar aplicandole el algoritmo.

No se donde tengo esa informacion, esta dentro de un cerro de copias que tengo que ordenar... no he buscado en la red, pero confio en que puedas encontrar algo.

Un abrazo...  RebotadoRebotado
Video Quadbot
Saludos desde mi querido Perú.
Si realmente queremos que el mundo cambie debemos empezar por nosotros mismos... ;)

Desconectado el_kata

  • PIC10
  • *
  • Mensajes: 10
RE: Control de Velocidad
« Respuesta #2 en: 18 de Septiembre de 2005, 04:32:00 »
Hola a todos, si te interesa realizar el control del motor todavia contactame, yo lo realice pero para un motor de CD de 120V/3A es bastante la diferencia de tamaño pero el principio es el mismo.

Me pueden contactar en: kata_experience@hotmail.com

Saludo a todos desde México.

Desconectado Jimmy_pop

  • PIC12
  • **
  • Mensajes: 72
RE: Control de Velocidad
« Respuesta #3 en: 19 de Septiembre de 2005, 11:48:00 »
Hola, yo hice hace un par de años un pequeño vehículo con dos motores y un sensor de posición angular con un optoacoplador y un disco con ranuras, que supongo que es lo que usas. Yo te recomiendo hacer un programilla que mande datos a un pc para poder ver la respuesta y deducir los parámetros.

Necesitas de hardware hacerte una interfase pequeña para conectar la salida de la usart del 16f877 al pc, se puede hacer con un esquema sencillo hecho con un max232 hay esquemas en internet a patadas, le pones el cable y lo enchufas al puerto serie del pc.

Luego el tema software necesitas una rutina periódica de periodo pequeño que lea los optoacopladores y deduzca si se ha producido movimiento angular, almacenando el desplazamiento en la memoria del pic, yo usaría 2 bytes o algo así pero debes elegir con cuidado dependiendo de si tienes el optoacoplador directamente a la salida del motor o si hay una reducción o lo que sea, vigila no se te sature la variable que almacena el desplazamiento. Prográmate luego una tarea periódica de un periodo mas lento que mande los datos de desplazamiento por la usart. El código para las dos cosas yo creo q no son mas de 50 lineas.

En el pc obtener los datos es tan facil como dumpear la llegada de datos del puerto, en *nix yo haría un cat /dev/ttyS0 >> log.txt o algo parecido.

Pillas el fichero des del excel o algun programa parecido, mirando el gráfico de la respuesta a una tensión constante partiendo del reposo puedes ver a ojo que la respuesta es parecida a un sistema de primer orden con un integrador puro, para tener datos de velocidad puedes calcularla aplicando una ecuacion en diferencias de un derivador de tiempo discreto y una vez lo tienes ya puedes determinar los parámetros de la respuesta mirando el gráfico -es decir la amplitud y la constante de tiempo (tiempo en llegar al 63% del valor final)-.

A partir de ahí ya es cosa tuya diseñar un PID de tiempo discreto con los datos que tienes del motor, supongo que ya sabrás las consideraciones que hay que tener, que no son pocas.

Afortunadamente la implementación final del controlador en el pic será simple y lo unico raro que puedes necesitar es implementar alguna rutinilla para usar aritmética de 32 bits o lo que haga falta en vez de los 8 que usa normalmente el pic para las operaciones y quizás implementar un pequeño código que haga multiplicaciones (a no ser que uses coeficientes exponente de dos y entonces hagas bitshifts). Allá tú.

Espero haberte servido de ayuda.

Suerte.


 

anything