10-07-2009 05:41 PM
Buenas tardes.
Acabo de adquirir mi placa USB 6008 y estoy comenzando a trabajar para poder controlar la velocidad de un motor trifásico asincrónico estandar.
Para esto contruí con un microcontrolador y una etapa de potencia la parte del variador. Y logré con esto que mi variador reciba una entrada de 0 a 5 Vcc y con ello varía la Frecuenci-Tensión de salida. Es decir solo necesito entregarle 0 a 5 V para que este actúe sobre todo el rango de frecuencias de salida.
También contruí una placa de aislación galvánica que separa absolutamente la salida analógica de mi USB 6008 con la placa del variador que construí, como para separar las masas y la señal y evitar inconvenientes en mi Notebook y placa de adquisición.
El feedback de velociodad lo hago con un sensor óptico y un disco dentado acoplado al eje del motor que me puede dar según mi necesidad 1 , 2 , 4 , 6 , 8 ó 10 pulsos por vuelta de acuedo a como lo ubique ó a mi necesidad.
Entiendo que la placa USB 6008 no es la mejor alternativa para trabajar a tiempo real, y mi sistema operativo ( windows vista x64) tampoco. Pero mi sistema es bastante inercial desde el punto de vista mecánico, y también lo es por la placa del variador que no tiene una respuesta instantanea por cuestiones de constantes de tiempo que le di al firmware del micro. Es decir que no necesito velocidad en el sistema ni en el VI que necesito desarrollar.
Resumiendo, necesito entrar a mi placa USB 6008 con pulsos ( los que se necesiten por cada vuelta del motor) y luego salir por una salida analógica ( de 0 a 5 V) con la información de velocidad que va al variador.
Tengo a mi disposición Labview 8.5 con el Control design & simulation que tiene incluidos subVI con PID's listos para usar.
En medio de este sitema, necesito generar un VI con el que pueda dar una referencia de velocidad desde un potenciómetro virtual en mi panel frontal, y que el PID en el programa de Labview corrija errores de velocidad por alguna pequeña variación de la carga, etc.
La verdad que estuve probando hacer un VI con un PID bastante simple, pero a la hora de simularlo, fuí modificando los parámetros del PID y no vi que se haga "mas inercial"cuando aumento el tiempo integral. Tambien probé salir de mi placa con una tensión analógica, y dar una referencia con un potenciómetro como para probar si el PID se hace mas "rápido ó lento" al modificar las variables Integrales ó derivativas y no vi variaciones en la respuesta.
Por eso es que pido ayuda en este foro, ya que probablemente alguien ya hizo alguna prueba, o me puede indicar como arrancar con este tema.
Este proyecto es solo con fines académicos, para mi tesis de Ing. Electrónica. Por ello el motor no tiene carga, solo el disco dentado y el sensor óptico, solo lo puedo frenar un poco para ver la corrección.
He comprobado que saliendo de mi placa 6008 con una señal analógica, pasandola por una placa que simula un retardo en el tiempo de esta señal, y reingresandola a una entrada de mi placa 6008 para luego con un VI generar el PID y tratar de que esta señal de entrada a la placa 6008 sea igual a la de setpoint, solo logro oscilaciones con una media que está lejos del valor del setpoint.
Espero que alguien me pueda indicar como empezar, ó darme algún ejemplo que me pueda ayudar, ya que no soy experto el Labview, solo acabo de empezar a usarlo.
Reitero que no necesito velocidad ya que mi sistema es lento, y solo debo variar mi salida analógica con velocidades muy bajas. Es decir no necesito respuesta inmediata.
La idea es hacer una demostración del uso de un PID en un sistema real con Labview.
Saludos...!!!!
10-20-2009 07:08 AM
Hola.
Sigue unos links para su consulta.
http://forums.ni.com/ni/board/message?board.id=240&message.id=8027&requireLogin=False
http://zone.ni.com/devzone/cda/tut/p/id/3782
http://zone.ni.com/devzone/cda/tut/p/id/6951
Saludos
Diogo.
10-21-2009 05:26 PM
Gracias Diogo...!!!
En los dos primeros links que me enviaste se habla de PID para una salida de pulsos PWM, que no es mi caso . Por cierto la USB 6008 entiendo que es bastante limitada para esto.
El tercero tiene un buen contenido teórico.
Quisiera ver algún ejemplo práctico sobre esto, es decir un ejemplo de adquisición analógica de una entrada, y a la vez que se actúe analógicamente una salida para corregir el error mediante un PID.
La verdad que no encontré nada para USB 6008, por ello es que recurro a este sitio.
Gracias..!!!!
11-03-2009 05:35 AM
Hola.
Sigue dos links para su consulta, Espero poder ayudarle.
http://zone.ni.com/devzone/cda/tut/p/id/3782#toc3
http://forums.ni.com/ni/board/message?board.id=170&message.id=326315&requireLogin=False
Diogo.