Modelado de motores de CC
En este tutorial, diseñaremos el controlador de velocidad para un motor de CC. En aras de la simplicidad, considere una función de transferencia básica para un motor de CC donde se consideran efectos como la fricción y las perturbaciones:
Donde:
Ф (s) es la velocidad angular (rad / seg)
V (s) es voltaje aplicado (V)
J es la inercia del rotor (9.64E-6)
R es la resistencia del rotor (3.3 Ώ)
K es la constante de par (0.028 Nm \ A)
L es la inductancia (4.64E-3 H)
B es la constante de par de fricción (1.8E-6 Nms)
Si reemplaza los valores numéricos, obtiene la siguiente función de transferencia:
Su objetivo es implementar un algoritmo PID que se ejecutará en un controlador en tiempo real con una frecuencia de bucle de 1000 Hz (período de 0,001 segundos).
Comience abriendo el entorno de desarrollo de LabVIEW y navegue hasta el diagrama de bloques. En la paleta de funciones, seleccione Control Design & Simulation >> Simulation >> Control & Simulation Loop >> luego haga clic y arrastre para ajustar el tamaño y cree un Control & Simulation Loop.
Figura 1. Cree un bucle de control y simulación.
De nuevo en la subpaleta Simulación, seleccione Continuous Linear Systems y haga clic una vez en Transfer Function y una vez dentro del Bucle de control y simulación que creó anteriormente. Esto coloca un bloque de función de transferencia dentro del bucle de control y simulación. Ahora haga doble clic en el Transfer Function VI para ingresar los parámetros de la función de transferencia.
Figura 2. Seleccione una función de transferencia.
Figura 3. Parámetros de la función de transferencia de entrada.
Ahora implemente el algoritmo PID. En la paleta de funciones, seleccione la subpaleta Control Design & Simulation >> PID y arrastre y suelte el PID.vi en el Control & Simulation Loop. Debido a que el algoritmo PID se ejecutará en un sistema operativo basado en tiempo real con una velocidad de bucle fija, haga clic con el botón derecho en PID.vi y seleccione Configuration Dialog Box…. para abrir una ventana de diálogo de configuración. Puede usar esta ventana para configurar el bucle de simulación para manejar el tiempo con este VI en particular. Suponga que el controlador va a funcionar a una frecuencia de bucle de 1000 Hz, así que seleccione discreto con un valor de período de 0,001 segundos.
Figura 3. Configuración de PID subVI para temporización dentro del Lazo de Control y Simulación.
La "D" que aparece en el PID VI indica que se está manejando como un sistema discreto.
Ejecute el cursor sobre el PID VI hasta que esté en la parte superior de la terminal de ganancias PID (puede presionar CTRL + H para Mostrar ayuda contextual si no puede encontrarla). Haga clic derecho y seleccione Crear >> Control. Esto crea un control en el panel frontal que puede utilizar para cambiar las ganancias PID de forma interactiva. Finalmente, haga clic derecho en la terminal dt (s) y cree una constante. Debe ser el mismo que el período digital que creó anteriormente, 0,001 segundos.
Para crear una señal de entrada, use una señal de paso. Desde Control Design & Simulation >> Simulation >> Signal Generation, seleccione Step Signal y suéltelo en el bucle de simulación. Deje los parámetros como están configurados por defecto.
Figura 4 . Crea una señal de entrada usando una señal de paso.
Ahora cree los componentes necesarios para ver los resultados de la simulación. Primero agrupe la entrada (señal de paso) con la salida de la función de transferencia del motor en un nodo Build Array, que puede encontrar en la subpaleta Programming >>Arrays. Recopile estas señales y trácelas en un gráfico en el panel frontal. Para hacerlo, seleccione Control Design & Simulation >> Simulation >> Utilities, luego seleccione y suelte Collector. En el panel frontal, cree un gráfico XY para mostrar los resultados de la simulación. Conecte todas las señales como se muestra en la Figura 5.
Figura 5. Recoja las señales.
Si reorganiza los elementos del panel frontal y usa los valores predeterminados, terminará con un gráfico similar a la Figura 6:
Figura 6. Vea los resultados de la simulación gráficamente.
Ajuste la simulación
Utilice las capacidades gráficas nativas de LabVIEW para mejorar la simulación y ajustar las ganancias de PID.
Primero, cambie las propiedades del eje para tener una mejor vista de los resultados de la simulación. Haga clic con el botón derecho en el borde del gráfico XY y desmarque la propiedad AutoScale X en la opción X Scale.
Figura 7 . Propiedades gráficas.
Antes de realizar cambios en el controlador PID, haremos que la simulación sea más eficiente. Como se ve en la Figura 6, no es necesario simular los 10 segundos predeterminados; la planta es lo suficientemente rápida como para que un tiempo de simulación final de 2 segundos sea suficiente. Ahora, modifique los parámetros de simulación haciendo doble clic en el panel de configuración Control & Simulation Loop que abre la ventana de diálogo Configurar parámetros de simulación. Implemente los parámetros como se muestra en la Figura 8.
Figura 8 . Cambie los parámetros de simulación.
Sintonización PID
Ahora puede ejecutar el VI de forma continua y cambiar las ganancias de PID hasta que esté satisfecho con los resultados.
Un procedimiento típico para ajustar un controlador PID sería:
- Kc a 1 y Ti, Td a cero. Siga aumentando / disminuyendo Kc hasta que la respuesta se sobrepase
- Modifique Td para hacer que el sistema sea más rápido y compensar el sobreimpulso
- Modifique Ti para eliminar cualquier error de estado estable en la respuesta al escalón
Consulte Ajuste simple del servomotor y búsqueda de ganancias PID para obtener más información sobre cómo ajustar un controlador PID.
Figura 8. Resultados de la simulación con Kc = 0.38, Ti = 0.00026 y Td = 0.0001.