Está en la página 1de 9

UNIVERSIDAD NACIONAL DE INGENIERÍA 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)
CONTROLAD PLANTA
W(t)
_ OR DIFUSO MOTOR D.C.

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

VELOCIDAD
0 rpm 12
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

_______________________________________________________________________________
DR.ING. FREEDY SOTELO V. PAG.59
UNIVERSIDAD NACIONAL DE INGENIERÍA INGENIERIA DE CONTROL

Desarrollo, utilizando el toolbox fuzzy del matlab:

1. Ingresar al FIS Editor, del toolbox fuzzy del Matlab:

>> 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.

2. Adicionar variable de entrada:

_______________________________________________________________________________
DR.ING. FREEDY SOTELO V. PAG.60
UNIVERSIDAD NACIONAL DE INGENIERÍA INGENIERIA DE CONTROL

3. 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.

4. 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. Cuando 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.).

_______________________________________________________________________________
DR.ING. FREEDY SOTELO V. PAG.61
UNIVERSIDAD NACIONAL DE INGENIERÍA INGENIERIA DE CONTROL

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. PAG.62
UNIVERSIDAD NACIONAL DE INGENIERÍA INGENIERIA DE CONTROL

5. Editar las funciones de membresía:

Error:

Velocidad:

_______________________________________________________________________________
DR.ING. FREEDY SOTELO V. PAG.63
UNIVERSIDAD NACIONAL DE INGENIERÍA INGENIERIA DE CONTROL

Voltaje:

6. 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 ésta 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. PAG.64
UNIVERSIDAD NACIONAL DE INGENIERÍA INGENIERIA DE CONTROL

7. 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.

8. 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. PAG.65
UNIVERSIDAD NACIONAL DE INGENIERÍA INGENIERIA DE CONTROL

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

Velocidad [RPM] 400 500 600 700 800


Error [RPM] 200 100 0 -100 -200

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

_______________________________________________________________________________
DR.ING. FREEDY SOTELO V. PAG.66
UNIVERSIDAD NACIONAL DE INGENIERÍA INGENIERIA DE CONTROL

11. 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.

Para implementar el controlador difuso, se hace 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. PAG.67

También podría gustarte