Está en la página 1de 7

Universidad Nacional de Ingenieria Ingenieria de Control

CONTROL MEDIANTE LOGICA DIFUSA

PROBLEMA:
Controlar la velocidad de un servomotor DC, utilizando un controlador difuso; tal
que:
Para 12v ===> ᵚ = 1200 rpm

Se desea que gire a una velocidad de 600 rpm, con una tolerancia de ± 50 rpm.
❖ Entradas del controlador “velocidad” y “error”, y salida “voltaje”; para
alimentación del servomotor. Considere que la respuesta del motor es
lineal.

❖ Determinar la salida de voltaje del controlador, para diferentes valores de


entradas, tal como se muestra en la siguiente tabla:

CASO VELOCIDAD [rpm] ERROR [rpm] VOLTAJE [voltios]


1 650 -50 ??
2 700 -100 ??
3 550 +50 ??
4 500 +100 ??

SOLUCION:
Diagrama del sistema con controlador difuso:

V(t) + E(t)
CONTROLADOR PLANTA
W(t)
_ DIFUSO MOTOR D.C.

Se deben definir los conjuntos difusos en el proceso de fuzificación

VELOCIDAD
0 RPM 1200 RPM
más negativo negativo zero positivo más positivo

ERROR
-600 RPM +600 RPM
más negativo negativo zero positivo más positivo

VOLTAJE
0 Voltios 12 Voltios
más negativo negativo Zero positivo más positivo

Desarrollo, utilizando el toolbox fuzzy del matlab:

1. Ingresar al Matlab.
2. Desde la ventana de comando ingresar al FIS Editor, del Toolbox Fuzzy
escribiendo el comando:

_______________________________________________________________________________
Dr. Ing. Freedy Sotelo V. 46
Universidad Nacional de Ingenieria Ingenieria de Control

>> fuzzy

Se puede modificar los métodos de los operadores lógicos and y or, los
métodos de implicación, de agregación y de defuzificación.

3. Adicionar variable de entrada:

4. Renombrar variables:
Seleccionar le entrada o salida; y en el recuadro NAME cambiar el
nombre. En nuestro caso será Input1 por velocidad, Input2 por error y
Outup1 por voltaje.

_______________________________________________________________________________
Dr. Ing. Freedy Sotelo V. 47
Universidad Nacional de Ingenieria Ingenieria de Control

5. Ingresar a edición de funciones de membresía o de pertenencia:


Ingresamos a la pantalla Membership Function Editor, haciendo doble clic
sobre una de las entradas.
El marco rojo nos indica en que entrada estamos. C uando en la
pantalla Membership Function Plots no hay ningún grafico; para ingresar
las variables nos vamos a Edit:
En la caja de dialogo y en el menú desplegable indicamos cuantas
variables va a tener la entrada correspondiente e indicamos el rango en
el eje "x", es muy importante, también indicamos el nombre que va a tener
cada variable y el tipo de variable (triangular, trapezoidal, etc.).

Adicionar funciones de membresía:

Se tendrá en consideración los parámetros establecidos para las


variables de velocidad, error y voltaje.

_______________________________________________________________________________
Dr. Ing. Freedy Sotelo V. 48
Universidad Nacional de Ingenieria Ingenieria de Control

6. Editar las funciones de membresía:


Error:

Velocidad:

_______________________________________________________________________________
Dr. Ing. Freedy Sotelo V. 49
Universidad Nacional de Ingenieria Ingenieria de Control

Voltaje:

7. Ingresar al editor de reglas, y definir las reglas del sistema:


Ahora poner la Base de Reglas. Para eso ingresamos a Edit Rules.
Editamos las reglas.
En esta pantalla vamos indicando la base de reglas, haciendo click sobre
las variables y sumándolas a la lista con Add rule, una vez terminada la
lista cerramos la ventana con Close.

_______________________________________________________________________________
Dr. Ing. Freedy Sotelo V. 50
Universidad Nacional de Ingenieria Ingenieria de Control

8. Ingresar al visor de superficie. Ver gráficamente la salida versus las


entradas:
Podemos tener una vista en 3D desde el menú View - Surface.
Este gráfico nos indica en tres dimensiones las entradas y salidas.

9. Ir al visor de reglas, para evaluar el comportamiento del sistema:


Podemos cambiar los valores de las entradas para saber cuál será
nuestra respuesta ingresando a View – Rules. Utilizar la tabla dada al
inicio para verificar el controlador difuso.

_______________________________________________________________________________
Dr. Ing. Freedy Sotelo V. 51
Universidad Nacional de Ingenieria Ingenieria de Control

10. Verificar la respuesta del controlador, para los siguientes valores:


Velocidad [RPM] 400 500 600 700 800
Error [RPM] 200 100 0 -100 -200

11. Otros esquemas de control utilizando lógica difusa:

12. Otros esquemas de control utilizando lógica difusa:


Para poder implementar el controlador es necesario guardar el trabajo
realizado, con el menú File - export to… Disk (del FIS Editor). Luego,
es necesario importar el archivo al workspace, para que Matlab lo pueda
reconocer y pueda ser implementado en Simulink.
Para eso se debe acceder al menú File - export to… workspace.
Si se desea trabajar con un modelo ya guardado se debe importar desde
el menú File - import From… Disk, y luego exportarlo al workspace.
Luego de esta etapa, se debe cargar el controlador en Simulink, dentro
de un bloque llamado fuzzy logic controller.

Dar doble click en el bloque Fuzzy Logic Controller, y se escribe el


nombre del archivo con que se exportó el controlador al workspace.

_______________________________________________________________________________
Dr. Ing. Freedy Sotelo V. 52

También podría gustarte