”LEÓN IN ”CONTR DIRE AR N, GUANAJUA NSTITUT ROL DE P ECTA M RTIFICIA Que INGEN Gustav Dr. A ATO TO TEC PAR DE MEDIANT ALES, A T para ob IERO EL P vo Iarosl 0 Con la Antonio Z NOLÓG E UN MO TE REDE TRAVÉ ESIS btener el LECTRO Presenta: av Báez 03240234 la asesoría d Zamarró GICO DE OTOR DE ES NEUR ÉS DE UN l título d OMECÁN z Golubo de: ón Ramír E LEÓN E CORRI RONALE NA PC” de: NICO wski rez JULIO IENTE ES O DEL 2009 1 2 AGRADECIMIENTOS Quiero expresar mis más sinceros agradecimientos a mis padres: Elzbieta y Fernando, por darme una excelente educación, una vida bastante agradable y los conocimientos necesarios para mi buen desenvolvimiento social. Agradezco también a mis hermanos Ana y Edgar por darme mucha felicidad y momentos muy agradables. De mi infancia recuerdo momentos con mis abuelos maternos Walentyna y Jan que tuvieron una influencia muy profunda en mi actitud hacia la vida y mi personalidad, les doy gracias por toda la paciencia que me tuvieron y por su enorme apoyo a lo largo del tiempo. Bardzo wam dziekuje! Le agradezco al gobierno federal Mexicano que a través de la Secretaría de Educación Pública contribuyó a gran parte de mi educación y al Sistema Nacional de Educación Superior Tecnológica por formarme para el ejercicio profesional en el Instituto Tecnológico de León. El CONCYTEG fue otra de las instituciones gubernamentales que fomento mi interés hacia la investigación involucrándome en dos veranos estatales de investigación. Un agradecimiento muy especial para Eunice Alexis Gonzales Uribe por el apoyo emocional y espiritual que me ha brindado a lo largo de estos años. A mi asesor de tesis, el Dr. Antonio Zamarrón le agradezco infinitamente el haberme involucrado en trabajos de investigación y por haberme ayudado en la elaboración de esta tesis. Le doy gracias por todo el conocimiento que adquirí trabajando en diversos proyectos y al acceso que me dio a equipos y tecnologías sofisticadas. César Frausto fue una de las personas que más colaboraron con sus conocimientos a la ejecución de este trabajo, me ayudó en una etapa clave proporcionando nuevas ideas y estrategias para la solución de mis problemas y me facilito material valioso de sus investigaciones anteriores. Juan Pablo Serrano y Roberto Becerra también colaboraron facilitándome sus trabajos anteriores. Gracias por su apoyo. En los momentos de estancamiento creativo en la elaboración de esta tesis Azucena Chaidez y M.C. José Luis Villaseñor me presentaron ideas que me abrieron el panorama facilitando la investigación. Al Centro de Investigaciones en Óptica y en especial al Dr. Francisco Cuevas les estoy muy agradecido por abrirme las puertas y dejarme conocer una institución con muchas investigaciones muy interesantes, excelentes instalaciones y un ambiente muy fraternal. A mis amigos: Robertillo, el Hermano, el Gordo y toda la banda de los Cuchillos, les agradezco todas esas actividades de distracción que suman creatividad y relajación para la vida productiva. En este aspecto también les agradezco a mis amigos del Tec. de León (Pil, las Pepinas, Zacanini, Basura, Hna. Tántrica,…) por esos buenos cotorreos. También agradezco todos los momentos gratos que tuve en Guadalajara con mis hermanos del orfanato (Ismael que contribuyó generaciones atrás con los sensores de corriente para el Tec.), los Durang-boys, la Rayo, Nancy, el Killer, Inés, Esperanza, la banda AHA, Zalapa, Remy, Susana,... A todos los miembros de la PSD, el Jefazo Pajarote, el Perraco, el Topo Araña, Gárgamel y su gato Azrael, Beto, Arturo, …, el Arq. Hugo Juarez y Carlos Cortez les agradezco por proveerme de mi primer trabajo como profesionista y haberme permitido mi rápido desenvolvimiento. A Norberto Figeroa le agradezco por ayudar a forjarme mi personalidad en el ámbito laboral. Me queda agradecer a muchas personas todavía, pero en especial a mi familia en el D.F.: Cynthia, Beto, Alejandro, Paty, Carlos, Memo; mis amigos: Fabiola, Fernando, Canek, Darío, Dafne, Víctor,… No me olvido de mis amigos de Polonia: Maciej, Filip, Jacek, Tomek, Artur,… MIS MÁS SINCEROS AGRADECIMIENTOS A TODOS USTEDES!!! 3 ÍNBICE LISTA DE FIGURAS ................................................................................................................................ 6 LISTA DE TABLAS.................................................................................................................................. 9 PRÓLOGO .......................................................................................................................................... 10 CAPÍTULO 1. INTRODUCCIÓN ............................................................................................................ 11 1.1 Descripción General ................................................................................................................ 11 1.2 Objetivos ................................................................................................................................. 11 1.2.1 Generales ......................................................................................................................... 11 1.2.2 Específicos ........................................................................................................................ 11 1.3 Alcances y Limitaciones ........................................................................................................... 11 1.4 Investigación Documental ....................................................................................................... 12 1.5 Justificación ............................................................................................................................. 12 CAPÍTULO 2. ESTADO DEL ARTE ........................................................................................................ 13 CAPÍTULO 3. MÁQUINAS DE CORRIENTE DIRECTA (CD) ................................................................... 16 3.1 Introducción ............................................................................................................................ 16 3.2 Fundamentos de máquinas de CD .......................................................................................... 17 3.2.1 Espira giratoria sencilla entre caras polares curvas ......................................................... 17 3.2.2 El voltaje inducido en una espira giratoria ....................................................................... 18 3.2.3 Obtención del voltaje de CD de una espira giratoria ....................................................... 19 3.2.4 El par inducido en la espira giratoria ................................................................................ 20 3.3 Conmutación y tipos de devanados ........................................................................................ 21 3.4 Ecuaciones de voltaje interno generado y par inducido en las máquinas de CD reales ......... 21 3.5 Construcción de las máquinas de CD ...................................................................................... 22 3.6 Motores de corriente directa .................................................................................................. 23 3.6.1 Introducción a los motores de CD .................................................................................... 23 3.6.2 Circuito equivalente de motor de CD ............................................................................... 24 3.6.3 Motores de CD de excitación separada y en derivación .................................................. 25 3.6.4 Motor de CD en serie ....................................................................................................... 25 3.6.5 Motor de CD compuesto .................................................................................................. 25 3.6.6 Motor de CD de imán permanente .................................................................................. 25 3.6.7 Motores paso a paso ........................................................................................................ 26 4 3.6.8 Motores de CD sin escobillas ........................................................................................... 26 CAPÍLUTO 4. CONTROL AUTOMÁTICO ............................................................................................. 27 4.1 Revisión histórica .................................................................................................................... 27 4.2 Control en lazo cerrado en comparación con control de lazo abierto ................................... 28 4.3 Modelado matemático de sistemas dinámicos ...................................................................... 28 4.3.1 Función de transferencia .................................................................................................. 29 4.4 Sistemas de control automáticos ............................................................................................ 30 4.4.1 Análisis de la respuesta transitoria y estacionaria ........................................................... 32 4.4.2 Sistemas de segundo orden ............................................................................................. 32 4.5 Efectos de las acciones de control integral y derivativo en el comportamiento del sistema . 35 4.6 Error en estado estacionario en los sistemas de control con realimentación unitaria .......... 36 CAPÍLUTO 5. MODELADO DEL MOTOR DE CD Y CONTROLADOR PI .................................................. 39 5.1 Introducción ............................................................................................................................ 39 5.2 Modelado matemático del sistema ........................................................................................ 39 5.3 Parámetros del motor ............................................................................................................. 41 5.4.1 Tabla Resumen ................................................................................................................. 45 5.4.2 Constante de tiempo del motor ...................................................................................... 45 5.4 Simulación en Simulink ........................................................................................................... 47 5.5 Controlador Proporcional-Integral (PI) ................................................................................... 52 CAPÍTULO 6. REDES NEURONALES ARTIFICIALES (RNA) .................................................................... 59 6.1 Introducción ............................................................................................................................ 59 6.2 Breve historia de las redes neuronales artificiales ................................................................. 60 6.3 Neurona Biológica ................................................................................................................... 62 6.4 Neurona Artificial .................................................................................................................... 63 6.5 RNA .......................................................................................................................................... 66 6.5.1 Características de las RNA ................................................................................................ 68 6.5.2 Entrenamiento de una RNA ............................................................................................. 68 6.5.3 Entrenamiento supervisado ............................................................................................. 69 6.5.4 RNA tipo backpropagation (RNA BP) ................................................................................ 69 6.5.5 Regla Delta Generalizada (GDR) ....................................................................................... 70 6.5.6 Entrenamiento de una RNA BP ........................................................................................ 72 6.5.7 Pesos y parámetros de aprendizaje ................................................................................. 73 5 CAPÍLUTO 7. SIMULACIÓN DE RNA ................................................................................................... 75 7.1 Introducción ............................................................................................................................ 75 7.2 Redes Neuronales Artificiales en MatLab .............................................................................. 75 7.2.1 Creación y entrenamiento de RNA ................................................................................... 78 7.2.2 RNA y modelo del motor .................................................................................................. 80 7.2.3 Problemas con las simulaciones ....................................................................................... 83 CAPÍLUTO 8. DESARROLLO EXPERIMENTAL DE LOS CONTROLADORES PI Y RNA ............................. 85 8.1 Introducción ............................................................................................................................ 85 8.2 Módulos usados para el proyecto ........................................................................................... 85 8.3 Tarjeta de adquisición de datos PCI 6014 ............................................................................... 87 8.4 Controlador PI ......................................................................................................................... 90 8.5 Controlador RNA ..................................................................................................................... 95 8.5.1 Controlador RNA entrenado con datos experimentales .................................................. 98 CAPÍLUTO 9. RESULTADOS Y CONCLUSIONES ................................................................................. 103 9.1 Trabajos futuros .................................................................................................................... 106 BIBLIOGRAFÍA .................................................................................................................................. 107 6 LISTA DE FIGURAS FIGURA 3-1. UNA ESPIRA SENCILLA GIRATORIA ENTRE CARAS POLARES CURVAS. A) VISTA EN PERSPECTIVA; B) VISTA DE LAS LÍNEAS DE CAMPO; C) VISTA SUPERIOR; D) VISTA FRONTAL. ............................................................................................. 18 FIGURA 3-2. DEDUCCIÓN DE LA ECUACIÓN DEL VOLTAJE INDUCIDO EN LA ESPIRA. .............................................................. 18 FIGURA 3-3. VOLTAJE DE SALIDA DE LA ESPIRA. ........................................................................................................... 19 FIGURA 3-4. PRODUCCIÓN DE UNA SALIDA DE CD DE UNA MÁQUINA CON CONMUTADOR Y ESCOBILLA. A) VISTA EN PERSPECTIVA; B) VOLTAJE DE SALIDA RESULTANTE. .................................................................................................................. 20 FIGURA 3-5. DEDUCCIÓN DE LA ECUACIÓN DEL PAR INDUCIDO EN LA ESPIRA. NÓTESE QUE PARA TENER UNA MAYOR CLARIDAD NO SE MUESTRA EL NÚCLEO DE HIERRO EN LA PARTE B. .............................................................................................. 20 FIGURA 3-6. CONSTRUCCIÓN Y CIRCUITOS ELÉCTRICOS DE LA DÍNAMO DE CD (EN DERIVACIÓN Y EN SERIE). ............................. 22 FIGURA 3-7. CONSTRUCCIÓN DE UNA MÁQUINA DE CD. ............................................................................................... 23 FIGURA 3-8. CLASIFICACIÓN DE LOS MOTORES DE CORRIENTE DIRECTA. ............................................................................ 24 FIGURA 3-9. CIRCUITO EQUIVALENTE SIMPLIFICADO QUE ELIMINA LA CAÍDA DE VOLTAJE EN LAS ESCOBILLAS Y COMBINA R AJUS CON LA RESISTENCIA DE CAMPO. ................................................................................................................................. 24 FIGURA 3-10. CORTE DE UN MOTOR DE IMÁN PERMANENTE TÍPICO. LAS FLECHAS INDICAN LA DIRECCIÓN DE MAGNETIZACIÓN EN LOS IMANES PERMANENTES. ............................................................................................................................ 25 FIGURA 4-1. ELEMENTO DE UN DIAGRAMA DE BLOQUES. .............................................................................................. 30 FIGURA 4-2. DIAGRAMA DE BLOQUES DE UN SISTEMA EN LAZO CERRADO. ........................................................................ 30 FIGURA 4-3. SISTEMA EN LAZO CERRADO. .................................................................................................................. 30 FIGURA 4-4. DIAGRAMA DE BLOQUES DE UN SISTEMA DE CONTROL INDUSTRIAL, FORMADO POR UN CONTROLADOR AUTOMÁTICO, UN ACTUADOR, UNA PLANTA Y UN SENSOR. ........................................................................................................ 31 FIGURA 4-5. SISTEMA DE LAZO CERRADO SUJETO A PERTURBACIONES. ............................................................................. 32 FIGURA 4-6. DIAGRAMA DE BLOQUES SIMPLIFICADO. ................................................................................................... 33 FIGURA 4-7. CURVAS DE RESPUESTA A ESCALÓN UNITARIO DEL SISTEMA MOSTRADO EN LA FIGURA 4-6. ................................. 34 FIGURA 4-8. CURVA DE RESPUESTA A ESCALÓN UNITARIO CON T D , T R , T P , M P Y T S . .............................................................. 34 FIGURA 4-9. GRÁFICAS DE LAS CURVAS DE E(T) Y U(T) CON SEÑALES DE CONTROL DISTINTAS DE CERO CUANDO LA SEÑAL DE ERROR ES CERO (CONTROL INTEGRAL) ......................................................................................................................... 35 FIGURA 4-10. GRÁFICAS DE LAS CURVAS DE E(T) Y U(T) CON SEÑAL DE CONTROL CERO CUANDO LA SEÑAL DE ERROR ES CERO (CONTROL PROPORCIONAL). ............................................................................................................................ 35 FIGURA 4-11. SISTEMAS DE CONTROL PROPORCIONAL .................................................................................................. 35 FIGURA 4-12. RESPUESTA A ESCALÓN UNIDAD Y OFFSET. .............................................................................................. 36 FIGURA 4-13. SISTEMA DE CONTROL INTEGRAL. .......................................................................................................... 36 FIGURA 4-14. RESPUESTA DE UN SISTEMA CON REALIMENTACIÓN UNITARIA DE TIPO 1 PARA UNA RAMPA DE ENTRADA. ............ 37 FIGURA 4-15. RESPUESTA DE UN SISTEMA DE TIPO 2 CON REALIMENTACIÓN UNITARIA A UNA ENTRADA PARABÓLICA. ............... 37 FIGURA 5-1. FOTOGRAFÍA DEL MOTOR DE CD A CONTROLAR. ........................................................................................ 39 FIGURA 5-2. DIAGRAMA ESQUEMÁTICO DEL SISTEMA. .................................................................................................. 39 FIGURA 5-3. DIAGRAMA DE BLOQUES DEL MOTOR. LOS SÍMBOLOS OVALADOS SON ENTRADAS O SALIDAS DEL SUB BLOQUE LLAMADO MOTOR. ........................................................................................................................................ 41 FIGURA 5-4. GRÁFICA DE VOLTAJE FRENTE A CORRIENTE. ES INTERESANTE OBSERVAR LA ONDULACIÓN DE LA GRÁFICA Y EL HECHO DE QUE CONFORME AUMENTA EL VOLTAJE Y LA CORRIENTE, LA RESISTENCIA TAMBIÉN AUMENTA. ................................. 42 FIGURA 5-5. PUENTE DE MAXWELL. ......................................................................................................................... 42 FIGURA 5-6. MOTOR CON PAR APLICADO. .................................................................................................................. 43 FIGURA 5-7. GRÁFICA DE PAR FRENTE A CORRIENTE. ES INTERESANTE NOTAR COMO LA CONSTANTE CAMBIA AUMENTANDO EL PAR DE CARGA. ................................................................................................................................................... 43 FIGURA 5-8. MEDICIÓN DE LA MASA DEL ROTOR EN GRAMOS......................................................................................... 44 7 FIGURA 5-9. GRÁFICA DE LA VELOCIDAD FRENTE A VOLTAJE. .......................................................................................... 44 FIGURA 5-10. CURVA DE DESACELERACIÓN DEL MOTOR A PARTIR DE UNA ALIMENTACIÓN DE 5 VOLTIOS. ................................ 46 FIGURA 5-11. ENTORNO MATLAB - SIMULINK ............................................................................................................ 47 FIGURA 5-12. CURVAS DE VELOCIDAD (RAD/S) Y CORRIENTE(A) FRENTE A TIEMPO (S) SIMULADOS EN BASE A LOS DATOS DE LA TABLA 5-4. SIMULACIÓN 1. ............................................................................................................................ 48 FIGURA 5-13. MEDICIÓN DEL UN ESCALÓN DE 5 VOLTIOS DE ENTRADA CON UN OSCILOSCOPIO. ES INTERESANTE NOTAR LA NO LINEALIDAD QUE SURGE AL FINAL DE LA CURVA DE ASCENSO. PARA VOLTAJES DE ENTRADA MÁS ALTOS SE NOTÓ QUE ESTA PERTURBACIÓN SE PROPAGABA COMO UNA FRECUENCIA AGREGADA A LA LÍNEA. ........................................................ 49 FIGURA 5-14. GRAFICAS DE VELOCIDAD (RAD/S) Y CORRIENTE (A) FRENTE A TIEMPO (S) PARA LOS TRES CASOS DE APROXIMACIÓN DE PARÁMETROS. DE ARRIBA PARA ABAJO APARECEN: ALEATORIOS, ANALÍTICOS Y APROXIMADOS. ............................... 51 FIGURA 5-15. CONTROLADOR PI CON SUBSISTEMA Y UNA ENTRADA DE PERTURBACIÓN. ..................................................... 52 FIGURA 5-16. SUB-BLOQUE “MOTOR”. .................................................................................................................. 52 FIGURA 5-17. RESPUESTA DE PAR FRENTE A TIEMPO PARA UN CONTROLADOR CON PARÁMETROS KI=0 Y KP=1KPR. ................. 53 FIGURA 5-18. RESPUESTA DE PAR FRENTE A TIEMPO PARA UN CONTROLADOR CON PARÁMETROS KI=0 Y KP=1KPR. ................. 54 FIGURA 5-19. RESPUESTA DE PAR FRENTE A TIEMPO PARA UN CONTROLADOR CON PARÁMETROS KI=0 Y KP=5KPR. ................. 54 FIGURA 5-20. RESPUESTA DE PAR FRENTE A TIEMPO PARA UN CONTROLADOR CON PARÁMETROS KI=0 Y KP=12KPR. ............... 55 FIGURA 5-21. RESPUESTA DE PAR FRENTE A TIEMPO PARA UN CONTROLADOR CON PARÁMETROS KI=1200 Y KP=12KPR. ......... 55 FIGURA 5-22. RESPUESTA DE PAR FRENTE A TIEMPO PARA UN CONTROLADOR CON PARÁMETROS KI=12000 Y KP=12KPR. ....... 56 FIGURA 5-23. RESPUESTA DE PAR FRENTE A TIEMPO PARA UN CONTROLADOR CON PARÁMETROS KI=20000 Y KP=12KPR. ....... 56 FIGURA 5-24. RESPUESTA DE PAR FRENTE A TIEMPO PARA UN CONTROLADOR CON PARÁMETROS KI=25000 Y KP=15KPR. ....... 57 FIGURA 5-25. ACERCAMIENTO EN EL EJE DEL PAR PARA LA FIGURA 5-24. ........................................................................ 57 FIGURA 5-26. GRÁFICAS DEL DIAGRAMA DE BLOQUES DE LA FIGURA 5-12 PARA UN CONTROLADOR CON VALORES KI=25000 Y KP=15KPR. ................................................................................................................................................. 58 FIGURA 6-1. PARTES PRINCIPALES DE UNA NEURONA BIOLÓGICA. ................................................................................... 62 FIGURA 6-2. MODELO MCCULLON-PITTS DE UNA NEURONA (28). ................................................................................. 63 FIGURA 6-3. MODELO DE NEURONA ARTIFICIAL GENERAL (29). ...................................................................................... 64 FIGURA 6-4. FUNCIONES DE ACTIVACIÓN MÁS COMÚNMENTE EMPLEADAS ....................................................................... 65 FIGURA 6-5. DIFERENTES MÉTODOS DE IMPLEMENTACIÓN DE LAS RNA (30). ................................................................... 66 FIGURA 6-6. GRAFICA DIRIGIDA DE UNA RNA GENERAL. ............................................................................................... 67 FIGURA 6-7. EJEMPLOS DE RNA CON DISTINTA ARQUITECTURA DE ALIMENTACIÓN. ........................................................... 68 FIGURA 6-8. ARQUITECTURA DE UNA RED TIPO BACKPROPAGATION (27). ........................................................................ 71 FIGURA 7-1. TIPOS DE FUNCIONES DISPONIBLES EN LA LIBRERÍA NEURONAL DE SIMULINK. .................................................... 75 FIGURA 7-2. FUNCIONES DE TRANSFERENCIA DISPONIBLES EN SIMULINK. ......................................................................... 75 FIGURA 7-3. FUNCIONES DE ENTRADA PARA RNA. ...................................................................................................... 75 FIGURA 7-4. FUNCIONES DE ASIGNACIÓN DE PESOS A LA RNA. ...................................................................................... 75 FIGURA 7-5. FUNCIONES DE PROCESAMIENTO PARA LAS RNA. ....................................................................................... 76 FIGURA 7-6. ENTORNO GRÁFICO DE MATLAB PARA CREAR Y ENTRENAR RNA. .................................................................. 76 FIGURA 7-7. ARQUITECTURA GENERAL PARA LA RED NEURONAL. .................................................................................... 77 FIGURA 7-8. DIAGRAMA DE BLOQUES USADO PARA GENERAR RNA CON DIFERENTES ENTRADAS. .......................................... 79 FIGURA 7-9. RESPUESTAS DE AMBOS CONTROLADORES FRENTE A UNA ENTRADA SENOIDAL DE AMPLITUD 0.022 N·M Y 20 RAD/S DE FRECUENCIA. ........................................................................................................................................... 79 FIGURA 7-10. DIAGRAMA DE BLOQUES DE SIMULINK DE DONDE SE OBTIENEN LOS DATOS ENT, CTRL_P Y CTRL_I. ..................... 80 FIGURA 7-11. VENTANA PARA CONFIGURACIÓN DE PARÁMETROS. .................................................................................. 81 FIGURA 7-12. GRÁFICA DEL ERROR FRENTE A LAS ÉPOCAS DE ENTRENAMIENTO. ................................................................ 81 FIGURA 7-13. DIAGRAMA DE BLOQUES DE SIMULINK CON LOS CONTROLADORES RNA. ....................................................... 82 FIGURA 7-14. CORRIENTE Y VELOCIDAD FRENTE A TIEMPO EN LA SIMULACIÓN CON CONTROLADOR RNA. ............................... 82 8 FIGURA 7-15. ACERCAMIENTO DE LA CORRIENTE FRENTE A TIEMPO EN LA SIMULACIÓN CON CONTROLADOR RNA. ................... 82 FIGURA 7-16. PARÁMETROS DE LAS SIMULACIONES QUE NO PRESENTABAN ERRORES. ......................................................... 83 FIGURA 7-17. ERROR DE DERIVACIÓN EN LA SIMULACIÓN, RESULTADO INFINITO O SINGULARIDAD. ........................................ 83 FIGURA 7-18. BLOQUE EN EL QUE SE PRESENTA LA SINGULARIDAD. ................................................................................. 84 FIGURA 8-1. DIAGRAMA GENERAL PARA CONTROLAR EL MOTOR. .................................................................................... 85 FIGURA 8-2. ETAPA DE POTENCIA. ............................................................................................................................ 85 FIGURA 8-3. VALORES PARA TRADUCIR EL VOLTAJE DE LA SALIDA DEL SENSOR A CORRIENTE. ................................................. 86 FIGURA 8-4. CONECTOR CB-68LPR. ........................................................................................................................ 86 FIGURA 8-5. TARJETA PARA SENSAR CORRIENTE .......................................................................................................... 87 FIGURA 8-6. NOMBRE Y NÚMERO DE PIN DEL CONECTOR. ............................................................................................ 88 FIGURA 8-7.CONEXIÓN DE UNA SOLA PUNTA PARA SEÑALES FLOTANTES O NO REFERENCIADAS. ............................................ 89 FIGURA 8-8. MEDICIÓN DE LA CORRIENTE MEDIANTE LA TARJETA PCI 6014 A TRAVÉS DE SIMULINK. ..................................... 89 FIGURA 8-9. DIAGRAMA DE BLOQUES CON CONTROL PI UTILIZADO PARA CONTROLAR EL MOTOR. ......................................... 90 FIGURA 8-10. PRIMERA PRUEBA DEL CONTROLADOR AL MOTOR FÍSICO CON PARÁMETROS KI=25000 Y KP=15·KPR. ............... 90 FIGURA 8-11. ACERCAMIENTO A LAS GRÁFICAS DE LA FIGURA 8-10. ............................................................................... 91 FIGURA 8-12. DIAGRAMA DE BLOQUES DEL CONTROLADOR PI CON FILTRO A LA ENTRADA DEL SENSADO DE CORRIENTE. ............ 91 FIGURA 8-13. PRUEBA DEL CONTROLADOR CON PARÁMETROS: KI=25000, KP=15·KPR Y CON UN FILTRO CUYA W C =100. ....... 92 FIGURA 8-14. PRUEBA DEL CONTROLADOR CON PARÁMETROS: KI=25000, KP=15·KPR Y CON UN FILTRO CUYA W C =20. ......... 92 FIGURA 8-15. PRUEBA DEL CONTROLADOR AL MOTOR CON PARÁMETROS KI=25000 Y KP=15·KPR Y CON UN FILTRO CUYA W C =50. .......................................................................................................................................................... 93 FIGURA 8-16. PRUEBA DEL CONTROLADOR CON PARÁMETROS: KI=25000, KP=15·KPR, FILTRO CUYA W C =50 Y CARGA APLICADA. ................................................................................................................................................................. 93 FIGURA 8-17. ACERCAMIENTO EN LA AMPLITUD DE LA GRÁFICA DE CORRIENTE DE LA FIGURA 8-15. ...................................... 94 FIGURA 8-18. DIAGRAMA DE BLOQUES DEL CONTROLADOR RNA. .................................................................................. 95 FIGURA 8-19. VOLTAJE Y CORRIENTE DEL MOTOR USANDO LA RNA ENTRENADA CON DATOS OBTENIDOS POR SIMULACIÓN EN T=5 S SE APLICA UNA CARGA DE 0.0396 N · M. ........................................................................................................ 95 FIGURA 8-20. ACERCAMIENTO EN LA AMPLITUD DE LA GRÁFICA DE CORRIENTE DE LA FIGURA 8-19. ...................................... 96 FIGURA 8-21. DIAGRAMA DE BLOQUES UTILIZADO PARA RECOPILAR DATOS DEL CONTROLADOR PI IMPLEMENTADO FÍSICAMENTE. ................................................................................................................................................................. 97 FIGURA 8-22. CORRIENTE Y VOLTAJE OBTENIDOS DURANTE LA PRUEBA CON EL DIAGRAMA DE BLOQUES DE LA FIGURA 8-21. SE APLICARON PARES DE CARGA ALEATORIOS DURANTE EL ENSAYO. ............................................................................. 97 FIGURA 8-23A. ERROR OBTENIDO CON LA CORRIENTE FILTRADA. .................................................................................... 97 FIGURA 8-23B. ERROR OBTENIDO SIN FILTRAR LA CORRIENTE. ........................................................................................ 97 FIGURA 8-24. DATOS EXPERIMENTALES RECOPILADOS DURANTE LA PRUEBA CON EL DIAGRAMA DE BLOQUES DE LA FIGURA 8-20. SE MUESTRAN LAS RESPUESTAS INDIVIDUALES DE LOS CONTROLADORES P E I CON FILTRO APLICADO. LA SALIDA DE VOLTAJE ES LA SUMA DE AMBAS RESPUESTAS. ........................................................................................................................ 98 FIGURA 8-25. CORRIENTE Y VOLTAJE DEL MOTOR CON LA RNA ENTRENADA CON DATOS EXPERIMENTALES. SE APLICA UNA CARGA DE 0.0396 N · M EN T = 5S. EN T = 8S DISMINUYÓ LA CARGA ABRUPTAMENTE POR UN INSTANTE. ............................... 99 FIGURA 8-26. ACERCAMIENTO EN LA AMPLITUD DE LA GRÁFICA DE CORRIENTE DE LA FIGURA 8-25. ...................................... 99 FIGURA 8-27. CORRIENTE DEL MOTOR CON CONTROLADOR RNA SIN FILTRO DE CORRIENTE. UNA CARGA GRANDE SE APLICA EN T=3.5S QUE DETUVO EL MOTOR UN INSTANTE, POSTERIORMENTE UNA CARGA DE 0.0396 N · M SE APLICA EN T=4.5S. .. 100 FIGURA 8-28. DIAGRAMA DE BLOQUES QUE FILTRA LA SEÑAL DE SALIDA DEL CONTROLADOR PROPORCIONAL DE LA FIGURA 8-24. ............................................................................................................................................................... 100 FIGURA 8-29. DIAGRAMA DE BLOQUES QUE FILTRA LA SEÑAL DE SALIDA DEL CONTROLADOR PROPORCIONAL DE LA FIGURA 8-23. ............................................................................................................................................................... 101 9 FIGURA 8-30. CORRIENTE Y VOLTAJE DEL MOTOR CON CONTROLADOR RNA SIN FILTRO DE CORRIENTE, CON UNA CARGA APLICADA DE 0.0396 N · M CERCA DE T = 5S. ................................................................................................................ 101 FIGURA 8-31. ACERCAMIENTO EN LA AMPLITUD DE LA GRÁFICA DE CORRIENTE DE LA FIGURA 8-30. .................................... 102 FIGURA 8-32. DIAGRAMA DE BLOQUES DEL ÚLTIMO EXPERIMENTO, SIN FILTRO. .............................................................. 102 FIGURA 8-33. DIAGRAMA SIMPLIFICADO DE LA ARQUITECTURA DE LA ÚLTIMA RNA. LOS 20 RETARDOS EN LA ENTRADA NO SE MUESTRAN, LA CAPA DE ENTRADA TIENE FUNCIÓN DE ACTIVACIÓN TANGENTE-SIGMOIDEA Y CUENTA CON 10 NEURONAS, LA SEGUNDA CAPA OCULTA TIENE FUNCIÓN DE ACTIVACIÓN LINEAL Y CUENTA CON 2 NEURONAS, LA CAPA DE SALIDA TIENE UNA FUNCIÓN DE ACTIVACIÓN LINEAL Y ES DE UNA NEURONA. .................................................................................... 102 FIGURA 9-1. ACERCAMIENTO A LA CORRIENTE DEL MOTOR, CON UNA ENTRADA ESCALÓN DE 5 VOLTIOS SIN CONTROLADOR. .... 103 FIGURA 9-2. COMPORTAMIENTO DE LA CORRIENTE DEL MOTOR, CON UNA ENTRADA ESCALÓN DE 5 VOLTIOS SIN CONTROLADOR Y CARGA APLICADA. ....................................................................................................................................... 104 FIGURA 9-3. COMPORTAMIENTO DE LA CORRIENTE DEL MOTOR, CON CONTROLADOR PI, FILTRO CUYA W C =50 Y CARGA APLICADA. ............................................................................................................................................................... 104 FIGURA 9-4. COMPORTAMIENTO DE LA CORRIENTE DEL MOTOR, CON CONTROLADOR RNA ENTRADA CON DATOS OBTENIDOS POR SIMULACIÓN, FILTRO CUYA W C =50 Y CARGA APLICADA. ...................................................................................... 104 FIGURA 9-5. COMPORTAMIENTO DE LA CORRIENTE DEL MOTOR, CON CONTROLADOR RNA ENTRENADA CON DATOS EXPERIMENTALES, SIN FILTRO Y CARGA APLICADA. .............................................................................................. 105 LISTA DE TABLAS TABLA 2-1. CAMPOS DE LA INDUSTRIA Y LAS APLICACIONES ENCONTRADAS DE RNA. .......................................................... 16 TABLA 4-1. ERROR EN ESTADO ESTACIONARIO EN FUNCIÓN DE LA GANANCIA K. ................................................................. 38 TABLA 5-1. MEDICIÓN DE LA RESISTENCIA DEL ROTOR. ................................................................................................. 42 TABLA 5-2. MEDICIÓN DE LA CONSTANTE DE PAR. ....................................................................................................... 43 TABLA 5-3. COEFICIENTE DE FRICCIÓN ....................................................................................................................... 43 TABLA 5-4. MOMENTO POLAR DE INERCIA. ................................................................................................................ 44 TABLA 5-5. MEDICIÓN DE LA CONSTANTE DE VELOCIDAD. ............................................................................................. 44 TABLA 5-6. VALOR NUMÉRICO DE LOS PARÁMETROS MEDIDOS DEL MOTOR. ..................................................................... 45 TABLA 5-7. VALORES DE ΤM PARA DIFERENTES VALORES DE VOLTAJES EN LA ENTRADA. ....................................................... 46 TABLA 5-8. ANÁLISIS DE VARIACIÓN DE PARÁMETROS. .................................................................................................. 49 TABLA 5-9. SE MUESTRAN LOS TRES MÉTODOS USADOS EN LA APROXIMACIÓN DE DATOS Y LAS CONSTANTES RESULTANTES DE CADA COMBINACIÓN. ............................................................................................................................................ 50 TABLA 5-10. VALOR NUMÉRICO DE LOS PARÁMETROS MEDIDOS DEL MOTOR. ................................................................... 52 TABLA 5-11. VALOR NUMÉRICO DE LOS PARÁMETROS PARA LA SIMULACIÓN DEL CONTROLADOR PROPORCIONAL INTEGRAL. ...... 54 TABLA 8-1. DESCRIPCIÓN DE LAS TERMINALES DEL CONECTOR. ....................................................................................... 88 10 PRÓLOGO El presente trabajo se realiza para comparar objetivamente las técnicas convencionales de control, con las técnicas no convencionales de la computación suave, en específico con las Redes Neuronales Artificiales. La búsqueda bibliográfica para el anteproyecto de la tesis sirvió para darme cuenta de que no se contaba con un trabajo que comparara los controladores PI frente a los RNA. Esta búsqueda me llevo a lugares tan interesantes como la biblioteca central de la UNAM, donde tuve acceso a algunos de los trabajos más antiguos sobre motores de CD en México y me convencí de la necesidad de emprender esta tarea, debido a que los trabajos concernientes a las RNA no mostraban una comparación ilustrativa ante las técnicas de control convencionales. La metodología utilizada consistió, en primer lugar en recopilar la información necesaria para el marco teórico de la investigación. Las tres principales disciplinas de interés fueron: los motores de Corriente Directa, el Control Automático y las Redes Neuronales Artificiales. Terminando la etapa de investigación se prosiguió con la obtención de un modelo de prueba. Al inicio se consideró experimentar sobre un motor de CD bastante robusto acoplado mecánicamente a un motor síncrono en un banco de pruebas. Pronto fue evidente que obtener la etapa de potencia de un motor tan grande sería más difícil y no traería nada provechoso a la implementación del control. Por este motivo se optó por elegir un motor más pequeño en el cual se podrían aplicar cargas calibradas de par. El primer paso hacia la prueba de controladores fue el modelado matemático del sistema en Simulink, plataforma para simulaciones de MatLab. El modelado tenía que ser preciso y por tanto se invirtió gran tiempo en la medición de los parámetros del motor. Una vez teniendo el modelo se podía proceder al desarrollo de los controladores a nivel simulación. Una parte crucial del trabajo, en donde se tuvieron bastantes problemas y contratiempos fue el desarrollo del controlador RNA, la arquitectura de la red tenía que ser lo bastante poderosa para poder asimilar la acción conjunta de control proporcional e integral. Finalmente la separación de ambas acciones para el entrenamiento de la RNA surgió efectos positivos y se logro obtener el controlador. Hay que mencionar que la combinación de la RNA con el modelo del motor ocasionaba algunos errores en las simulaciones y los resultados obtenidos mostraban una cierta incertidumbre a la hora de implementar el controlador experimentalmente debido a que la simulación presentaba ruido de periodos menores a los tiempos de muestreo reales. Los dos controladores desarrollados se probaron experimentalmente con carga y se compararon las respuestas. Se desarrollaron dos controladores RNA finales en base a datos obtenidos de las pruebas experimentales para tratar de contrarrestar y minimizar el ruido presente en las pruebas. Para poder implementar el último controlador que fuera inmune al ruido se utilizó una arquitectura más complicada para la RNA, agregando otra capa oculta. Finalmente se muestra un resumen del comportamiento de la corriente del motor para los diferentes controladores a través de gráficas y se dan las conclusiones obtenidas a lo largo de este trabajo. Me muestro satisfecho con los resultados obtenidos y espero le resulte interesante este trabajo al lector. 11 El Autor
[email protected] CAPÍTULO 1. INTRODUCCIÓN 1.1 Descripción General Este trabajo consiste en la implementación de un regulador de corriente para un motor de corriente directa usando redes neuronales artificiales (RNA). El regulador de corriente será el encargado de modificar la variable manipulada dentro de un sistema de control de lazo cerrado con el propósito de mantener constante el par de un motor de corriente directa. Los datos necesarios para entrenar la RNA se obtendrán de un Control de Par, que también será desarrollado en esta tesis, que usa regulador con acción proporcional-integral (PI). El desarrollo del controlador de par incluye la obtención del modelo matemático del motor de corriente directa, así como simulaciones y experimentos que permitirán validar el modelo obtenido. Tanto el regulador como el control de par serán implementados en Simulink. 1.2 Objetivos 1.2.1 Generales Implementar un regulador de corriente mediante RNA’s para el control de par de un motor de CD usando MatLab-Simulink. 1.2.2 Específicos - Obtener el modelo matemático del motor de CD bajo prueba. - Simular el control de par del motor de CD usando regulador PI. - Simular el control de par del motor de CD usando un regulador implementado con RNA. - Comparar los resultados obtenidos por ambos reguladores a nivel simulación. - Implementar los controladores al motor de manera experimental. - Comparar los dos métodos a nivel experimental. 1.3 Alcances y Limitaciones Uno de los objetivos de este trabajo es comparar el comportamiento del regulador PI y el regulador implementado con RNA en un control de para un motor de corriente directa. Se desarrollan simulaciones en base al modelo matemático del motor de corriente directa y dicho 12 modelo se valida con resultados experimentales. Los experimentos se realizan para diferentes condiciones de carga del motor. La comparación de las respuestas de los controladores a nivel experimental se realiza bajo un mismo esquema de prueba que comprende el arranque del motor sin carga y la aplicación de carga cuando el motor se encuentra en su régimen estacionario. 1.4 Investigación Documental Para establecer la situación actual sobre tesis de temas afines a este trabajo se realizó una búsqueda en las principales instituciones de educación del país y la región. En esta investigación se indago las bases de datos de las siguientes universidades: - UNAM (Universidad Autónoma de México) - IPN (Instituto Politécnico Nacional) - ITESM (Instituto Tecnológico de Estudios Superiores de Monterrey) - La Salle - Ibero - Instituto Tecnológico de León (ITL) Los resultados de la investigación muestran que la técnica de control con RNA en lo concerniente a máquinas eléctricas se ha aplicado principalmente a motores/generadores síncronos. Las RNA también se han estado aplicando en el control de los motores de inducción, en este campo hay muchas investigaciones doctorales recientes a nivel internacional, contando al Instituto Tecnológico de León que colaboró en una investigación en este campo a nivel maestría, aunque en la búsqueda documental no fueron encontrados trabajos para este tipo de motores en otras instituciones. En lo concerniente a motores de CD, solo se encontró un trabajo con técnicas de computación suave sobre control neurodifuso adaptable para un motor de CD sin escobillas. Se encontraron multitud de otros trabajos que utilizan motores de CD, sin embargo ninguno empleaba la técnica de control con RNA. La técnica de inteligencia artificial RNA se ha usado continuamente para trabajos de tesis desde la década de los 90´s, siendo la UNAM la principal institución en desarrollarla, luego en la década del 2000 el ITESM es el que más ha utilizado este tipo de programación para multitud de temas. También hay que destacar que una gran mayoría de las tesis que desarrollan el tema de las RNA son de nivel maestría. NOTA: También se realizo una búsqueda de tesis existentes en la Facultad de Ingeniería Mecánica, Eléctrica y Electrónica de la Universidad de Guanajuato así como en el Instituto Tecnológico de La Laguna; pero no se encontró acceso a los trabajos hechos por dichas instituciones vía internet. 1.5 Justificación Se considera necesario el trabajo en esta tesis debido a que propone un método de control no convencional para un motor de CD desde una perspectiva que no se encontró en ninguna otra tesis de la región de acuerdo a la bibliografía revisada. 13 Debido a que el trabajo compara las técnicas de control convencionales (PI) con la no convencional (RNA), puede ser de gran utilidad para trabajos posteriores que profundicen más en este tema de control de motores o simplemente como un antecedente para usar las RNA en otros ámbitos del saber humano. CAPÍTULO 2. ESTADO DEL ARTE Los análisis de mercado actual en cuanto a controladores son reflejados en los manuales publicados por grandes empresas que se dedican a comercializar dispositivos de control para motores. Una empresa líder en el ramo (1) nos dice que las fábricas industriales requieren una gran cantidad de maquinaria alimentada por distintas energías. No obstante, la energía eléctrica es preponderante, ya que, por razones técnicas y económicas, la mayoría de los dispositivos mecánicos que se emplean en los sectores industrial y terciario se accionan mediante motores eléctricos. Los motores asíncronos trifásicos son los más utilizados, especialmente los motores de jaula. El uso de motores de corriente continua tiende a disminuir, salvo en el campo de los micromotores, en el que mantiene la supremacía. Los motores de corriente continua de excitación separada siguen siendo ampliamente utilizados para accionar máquinas a velocidad variable. Muy fáciles de miniaturizar, se imponen en las potencias muy bajas. Se adaptan igualmente bien a la variación de velocidad con tecnologías electrónicas simples y económicas, a las aplicaciones en las que se requiere un alto rendimiento e incluso a las potencias elevadas (varios megavatios). Sus características también permiten regular con precisión el par, tanto en modo motor como en modo generador. Su velocidad de rotación nominal puede adaptarse fácilmente a todo tipo de aplicaciones. En cambio, son menos robustos que los motores asíncronos y requieren un mantenimiento regular del colector y de las escobillas (1). El primer registro en el contexto histórico concerniente a control de motores es una tesis realizada en la UNAM por Arieta Gómez Oliverio (2). El trabajo completo no pudo ser obtenido sin embargo trata de la implementación de dispositivos electrónicos para efectos de control de un motor de corriente directa (CD). En la misma institución se encontraron numerosos trabajos de la década de 1980 concernientes a control de motores de CD, usando diferentes interfaces para los usuarios y diversos dispositivos como controladores. También el IPN presenta numerosos trabajos concernientes a motores de CD en los mismos años. En la década de 1990 parece haber una disminución de interés por los motores de CD y los trabajos encontrados en ambas instituciones son menores con respecto a la década anterior. En la misma década de los 90 es cuando empiezan a aparecer los primeros trabajos de tesis concernientes a las Redes Neuronales Artificiales (RNA), sin embargo no se encontró una combinación de ambos temas sino hasta la década del 2000. En la primera década del siglo XXI se realizaron varios trabajos que involucran la combinación de las técnicas de computación suave con los motores de CD. Así en el año 2002 en el Tecnológico de Monterrey se desarrolla un trabajo para controlar la velocidad de de un motor de CD sin escobillas usando lógica difusa (3). Otro trabajo que involucra la aplicación de lógica difusa tiene lugar en 2007 en el IPN (4). Hay que señalar que los trabajos más numerosos en cuanto a aplicaciones de RNA se han desarrollado en el Tecnológico de Monterrey, en las décadas de 1990 y 2000. A nivel local (León, Gto.) se encontró una tesis que aplica las RNA en 1995. Se trata de la 14 aplicación de esta técnica en el reconocimiento de patrones y la institución donde se elaboró es La Salle (5). El Centro de Investigaciones en Óptica (CIO) es otra institución local en donde se han realizado muchos trabajos concernientes a las RNA. En esta institución las RNA se aplican mayormente en el procesamiento de imágenes, como reconocimiento de letras, rostros, etc. Un ejemplo de estos trabajos es el de R. Becerra que programó en lenguaje Java una red capaz de identificar y catalogar distintos caracteres (6). Las redes neuronales artificiales (RNA) han sido entrenadas para llevar a cabo funciones complejas en varios campos, incluyendo reconocimiento de patrones, identificación, clasificación, habla, visión, y sistemas de control. Las RNA también pueden ser entrenadas para resolver problemas que son difíciles para computadoras convencionales o seres humanos (7). En 1988 el laboratorio de Lincoln del Instituto Tecnológico de Massachusetts publico un libro a manera compendio del conocimiento sobre RNA hasta la época (8). Presentan los fundamentos teóricos de las RNA y tratan las aplicaciones de ese entonces. El libro contiene secciones sobre memorias asociativas, redes recurrentes, visón, reconocimiento del habla y robótica. Finalmente discuten las herramientas de simulación y la tecnología de implementación. El compendio empieza listando un ecualizador de canales adaptativo que salió al mercado en 1984 y resultó ser un éxito comercial sobresaliente, se trata de una RNA con una sola neurona usada en sistemas de telefonía a larga distancia que estabiliza las señales de voz. El reporte DARPA lista otras aplicaciones comerciales que incluyen un reconocedor de texto y un sistema analizador de riesgos. Las RNA se han estado aplicando en muchos otros campos desde que el reporte de DARPA fue escrito. Un ejemplo clásico de la aplicación de RNA en el control automático es el trabajo realizado por Nguyen, D., y Widrow en 1989 en donde describen una red de dos capas que primero aprende la dinámica de los tráileres y después aprende a controlar el movimiento en reversa para colocar al tráiler en una posición específica en el muelle (9). Para realizar este tipo de control la RNA tiene que resolver un sistema de control no lineal. En el Instituto Tecnológico de León (ITL) ya se han realizado varios trabajos usando las RNA. En el año 2005 C. Frausto trabajó en controlar un péndulo invertido usando RNA`s (10), en donde desarrolló una RNA capaz de emular el comportamiento de un controlador PID digital para controlar un péndulo invertido simple. Posteriormente en 2008 el mismo C. Frausto prosigue con la línea de investigación con RNA e implementa el control vectorial para un motor de inducción (11), esta vez el trabajo se desarrolla para el Instituto Tecnológico de La Laguna con colaboración del ITL. Otra aplicación que se le ha dado a las RNA en el ITL es en el diagnóstico de fallas en motores de inducción. J.P. Serrano es el que desarrolló este trabajo en el 2008 y junto con A. Zamarrón publicaron tres artículos al respecto (12). Esta línea de investigación sigue vigente y mientras se escribe esta tesis hay otros trabajos desarrollándose al respecto en el ITL. A nivel internacional se encontraron varios trabajos que usan RNA para controlar la velocidad y estimar los parámetros de motores de CD. X. Desforges y A. Habbadi prueban en Francia la habilidad de las RNA para estimar los parámetros de un motor de CD (13). H. Riza ÖZçalik y A. Küçüktüfekçi usan identificadores convencionales y RNA para estimar los modelos directo e inverso de un servomotor de CD, después introducen un controlador RNA que entrenan en base a una señal de error compuesta (14). K. Nouri, R. Dhaouadi y N. Benhadj usaron un RNA recurrente para modelar y controlar un motor de CD no lineal con alta fricción estática y de Coulomb. En este trabajo entrenan una RNA para aprender la dinámica inversa del motor usando una forma modificada del algoritmo extendido del filtro Kalman, posteriormente muestran que la estructura recurrente de la RNA combinada con el control del modelado inverso permite un control directo adaptativo de la velocidad del motor de CD (15). M. M. Gouda y A. A. El-Samahy usan una RNA multicapa de propagación hacia adelante que entrenan con el algoritmo Levenberg Marquardt 15 de propagación hacia atrás del error para controlar la velocidad de un motor de CD. En este mismo trabajo también se identifica la dinámica inversa del sistema y se compara la efectividad del controlador RNA con la respuesta de un controlador PI (16). El trabajo más interesante encontrado sobre los temas afines a esta investigación es el presentado por A. Cozma y D. Pitica en la Conferencia Internacional en Optimización de Equipo Eléctrico y Electrónico 2008. En su artículo presentan el diseño y la implementación de un sistema de control para motores de imán permanente usando controladores PID y RNA. Usando un dispositivo FPGA que: adquiere y procesa información relacionada con la operación del motor de CD, controla el Voltaje del motor e intercambia datos con una aplicación de PC. El programa de la PC presenta una interfaz para que el usuario pueda visualizar la información relacionada con el motor y para interactuar con el sistema. De esta manera implementan control de posición y de velocidad basados en un algoritmo PID y RNA, proveyendo un controlador que ajusta sus parámetros automáticamente evaluando los parámetros del controlador PID y también entrenando el controlador RNA. La mayor ventaja del sistema es que permite la determinación automática de los parámetros de control para diferentes motores de CD, sin necesidad del conocimiento previo de los parámetros, y la fácil verificación del funcionamiento de los controladores (17). En la tabla 2.1 se presenta un buen resumen de las aplicaciones encontradas para las RNA en los ámbitos industriales, esta información nos lo provee la guía de usuario del Neural Network Toolbox de MatLab (7). 16 INDUSTRIA APLICACIÓN Aerospacial Autopilotos para aeronaves de alto rendimiento, simulación de la ruta de vuelo, sistemas de control de aeronaves, sumulación de los compontentes de la aeronave y detección de fallas en los componentes de las aeronaves. Automotriz Sistema de guiado automático de automóviles y análisis de la actividad de garantías. Banquera Revisión, lectura de documentos y evaluación de aplicaciones crediticias. Defensa Manejo de armas, rastreo de objetivos, discriminación de objetos, reconocimiento facial, nuevos tipos de sensores, sonares, radares y procesamiento de imágenes incluyendo compresión de datos, extracción de caracterísitcas y supresión de ruido, identificación de señales e imágenes. Electrónica Predicción de secuencia del código, disposición de chips en los circuitos integrados, control de procesos, análisis de falla de los chips, visión por computadora, síntesis de voz y modelado no lineal. Entretenimiento Animación, efectos especiales y pronóstico de mercados. Financiera Apreciación de los bienes raices, asesoramiento en prestamos, monitoreo hipotecario, tasación de bonos corporativos, análisis de uso de la línea de crédito, rastreo de actividades con tarjetas de crédito, programa de comercio de la cartera, analisis financiero de corporaciones y predicciones en el valor de las divisas. Industrial Predicción de procesos industriales, tal como la salida de gases de los hornos, reemplazando equipo costoso y complejo usado para este propósito en el pasado. Seguros Evaluación de las pólizas y optimización del producto. Manufactura Control de los procesos de manufactura, diseño y análisis de productos, diagnóstico de procesos y máquinas, identificación de partículas en tiempo real, pruebas a la cerveza, análisis en la calidad de la soldadura, predicción de calidad del papel, análisis de calidad para los chips de computadora, análisis de diseño de productos químicos, análisis de mantenimiento a las máquinas, concurso de proyectos, planeación y administración, modelado matemático de procesos químicos. Médica Análisis de células en el cancer de mama, análisis EEG y ECG, diseño de prótesis, optimización en los tiempos de transplantes, reducción de gastos en hospitales, mejoramiento de calidad en los hospitales. Gas y petróleo Exploración Robótica Control de trayectorias, robotes elevadores, controladores manipuladores y sistemas de visión. Habla Reconocimiento del habla, compresión del habla, clasificación de vocales y sintesis texto-habla. Telecomunicaciones Compresión de datos e imágenes, sistemas informáticos automatizados, traducción en tiempo real del habla y sistemas de procesamiento para el pago por los clientes. Tabla 2-1. Campos de la industria y las aplicaciones encontradas de RNA. CAPÍTULO 3. MÁQUINAS DE CORRIENTE DIRECTA (CD) 3.1 Introducción Los motores eléctricos son dispositivos que convierten energía eléctrica en energía mecánica (18) y el primer registro de la posibilidad de intercambio entre estas energías se debe a 17 Michel Faraday en 1831. Este descubrimiento ha dado lugar a la creación del generador, el motor eléctrico, micrófono, bocina, transformador, galvanómetro entre otros artefactos (19). La conversión de energía electromagnética relaciona las fuerzas eléctricas y magnéticas del átomo con la fuerza mecánica que se aplica a la materia y al movimiento. La energía mecánica se puede convertir en energía eléctrica y viceversa mediante dínamos. Aunque esta conversión puede producir también otras formas de energía, como calor y luz, para la mayor parte de los fines prácticos se mantienen al mínimo esas pérdidas de energía, y se logra una conversión relativamente directa en ambas direcciones (19). Esta tesis está enfocada al control de motores de corriente directa (CD) por lo que en este capítulo se explicaran los fundamentos electromecánicos de estas máquinas y los conceptos necesarios para desarrollar el control. Se necesitan conocimientos de la teoría electromagnética para comprender todo el capítulo. 3.2 Fundamentos de máquinas de CD (20) 3.2.1 Espira giratoria sencilla entre caras polares curvas La máquina de CD giratoria más sencilla posible se muestra en la figura 3-1. Consta de una espira sencilla de alambre que gira sobre un eje fijo. La parte giratoria de esta máquina se llama rotor y la parte estacionaria se llama estator. El campo magnético de la máquina es originado por los polos norte y sur magnéticos que se observan en el estator de la figura 3-1. Nótese que la espira de alambre del rotor se encuentra en una ranura labrada en el núcleo ferromagnético. El hierro del rotor, junto con la forma curva de las caras polares, proporciona un entrehierro de ancho constante entre el rotor y el estator. La reluctancia del aire es mucho más alta que la del hierro en la máquina. Para minimizar la reluctancia del camino del flujo a través de la máquina, el flujo debe tomar el camino más corto posible a través del aire entre las caras polares y la superficie del rotor. Puesto que el flujo magnético debe es perpendicular a la superficie del rotor en todo punto situado bajo las caras polares. Además, puesto que el entrehierro tiene una anchura uniforme, la reluctancia es la misma en todo punto situado bajo las caras polares. La densidad del flujo magnético es constante en todo punto situado bajo las caras polares. 18 Figura 3-1. Una espira sencilla giratoria entre caras polares curvas. a) Vista en perspectiva; b) vista de las líneas de campo; c) vista superior; d) vista frontal. Figura 3-2. Deducción de la ecuación del voltaje inducido en la espira. 3.2.2 El voltaje inducido en una espira giratoria Si gira el rotor de esta máquina, se inducirá un voltaje en la espira de alambre. Para determinar la magnitud y forma del voltaje, examínese la figura 3-2. La espira de alambre que se muestra en la figura es rectangular, sus lados ab y CD son perpendiculares al plano de la página y sus lados bc y da son paralelos al plano de la página. 19 Para determinar el voltaje total e tot en la espira, es necesario examinar cada uno de sus segmentos por separado y sumar todos los voltajes resultantes. Se puede demostrar que el voltaje que el voltaje total inducido en la espira e ind está dado por = + + + ind ba cb dc ad e e e e e ì ï ï = í ï ï î bajo las caras polares 2 0 allá de los ext remos de los polos vBl más (3.1) Cuando la espira gira 180°, el segmento ab está bajo la cara del polo norte en lugar de bajo la cara del polo sur. En ese momento se invierte la dirección del voltaje en el segmento, pero su magnitud permanece constante. En la figura 3-3 se muestra el voltaje resultante etot en función del tiempo. Figura 3-3. Voltaje de salida de la espira. Haciendo unas susti tuciones que i nvolucran: l a velocidad tangencial v, radio del eje de rotación r, velocidad angular de la espira ω, el área de la superficie cilíndrica del rotor, el área debajo de los dos polos A P y la densidad de flujo magnético; llegamos a la forma final de la relación de voltaje φω p ì ï ï ïï = í ï ï ï ïî 2 bajo las caras polares allá de los ext remos de los polos 0 ind e más (3.2) El resultado final nos muestra que el voltaje generado en la máquina es igual al producto del flujo dentro de ella y su velocidad de rotación, multiplicado por una constante que representa la construcción mecánica de la máquina. 3.2.3 Obtención del voltaje de CD de una espira giratoria La figura 3-3 muestra una gráfica del voltaje e tot generado por la espira giratoria. Como se puede apreciar, el voltaje que sale de la espira es alternativo. Para lograr que el voltaje de CA producido sea de CD se añaden dos segmentos conductores semicirculares a un extremo de la espira y se establecen dos contactos fijos en un ángulo tal que en el instante en que el voltaje en la espira es cero, los contactos hacen que los dos segmentos entren en cortocircuito. De esta manera, cada vez que el voltaje de la espira cambia de dirección, los contactos también cambian de conexión y la salida del contacto siempre se acumula de la misma manera (figura 3-5b). Este proceso de cambio de conexión se conoce como conmutación. Los segmentos giratorios semicirculares se llaman segmentos de conmutación y los contactos fijos se llaman escobillas. 20 Figura 3-4. Producción de una salida de CD de una máquina con conmutador y escobilla. a) Vista en perspectiva; b) voltaje de salida resultante. 3.2.4 El par inducido en la espira giratoria En la figura 3-5 se puede observar la configuración resultante al conectar una batería a la máquina de la figura 3-4. Para determinar el par, examínese el detalle de la espira que se muestra en la figura 3-5b, es necesario determinarlo en cada uno de los segmentos de la espira y luego sumar los efectos de todos los segmentos individuales. El par en un segmento de la espira está dada por la siguiente ecuación: τ θ = sen rF (3.3) donde θ es el ángulo entre el radio r y la fuerza F. El par es esencialmente cero en cualquier punto en el que la espira esté ubicada más allá de la orilla de los polos. El par total inducido resultante en la espira está dado por ind ab bc cd da τ τ τ τ τ = + + + (3.4) Figura 3-5. Deducción de la ecuación del par inducido en la espira. Nótese que para tener una mayor claridad no se muestra el núcleo de hierro en la parte b. Haciendo una serie de sustituciones parecidas a las del voltaje inducido, llegamos a la siguiente ecuación: 2 bajo las caras polares allá de los ext remos de los polos 0 ind más φι τ p ì ï ï ïï = í ï ï ï ïî (3.5) Entonces, el par producido en la máquina es el producto del flujo y la corriente en la máqui- na, multiplicadas por una cantidad que representa la construcción mecánica de la máquina (el por- 21 centaje del rotor que está cubierto por las caras polares). En general, el par de cualquier máquina real depende de los mismos tres factores: 1. El flujo en la máquina 2. La corriente en la máquina 3. Una constante que representa la construcción de la máquina 3.3 Conmutación y tipos de devanados La conmutación es el proceso mediante el cual se convierten los voltajes y corrientes de CA en el rotor de una máquina de CD a voltajes y corrientes de CD en sus terminales. Se requiere de un estudio más detallado para determinar cómo se desarrolla esta conversión y para descubrir los problemas asociados con la misma (20), pero este tema se sale de los alcances de esta tesis por lo que en este apartado solo mencionaré los problemas de conmutación en las máquinas reales. El proceso de conmutación descrito anteriormente no es tan simple en la práctica como en la teoría, esto se debe a dos grandes efectos de perturbación en las máquinas reales: - Reacción del inducido - Voltajes L di/dt Se han desarrollado tres técnicas para corregir parcialmente o totalmente el problema de la reacción del inducido y de los voltajes di/dt: 1. Desplazamiento de las escobillas 2. Polos o interpolos de conmutación 3. Devanados de compensación 3.4 Ecuaciones de voltaje interno generado y par inducido en las máquinas de CD reales El voltaje inducido en cualquier máquina dada depende de tres factores: 1. El flujo Φ en la máquina 2. La velocidad ω del rotor ende la máquina 3. Una constante que depende de la construcción de la máquina. El voltaje que sale del inducido de una máquina real es igual al número de conductores por camino de corriente multiplicado por el voltaje en cada conductor. Haciendo un análisis en base a sustituciones se puede obtener el voltaje interno generado de la máquina E A de esta manera A E K = φω (3.6) donde 2 ZP K a π = (3.7) es la constante de construcción de la máquina que depende del número total de conductores Z, el número de polos P y a es el número de caminos de corriente. 22 El par en cualquier máquina de CD al igual que el voltaje depende de tres factores: 1. El flujo Φ en la máquina 2. La corriente en el inducido (o rotor) I A en la máquina 3. Una constante que depende de la construcción de la máquina El par en el inducido también depende de la constante de construcción de la máquina, y la ecuación para obtenerlo es la siguiente ind K Α τ = φΙ (3.8) Tanto la ecuación del voltaje interno generado como la del par inducido son sólo aproximaciones, puesto que no todos los conductores en la máquina están ubicados bajo las caras polares en cierto momento y también porque las superficies de cada polo no cubren por completo conductores ubicados bajo las caras polares en lugar del número 1/P de la superficie del rotor. 3.5 Construcción de las máquinas de CD La Figura 3-6 muestra un corte transversal de una dínamo de CD comercial típica, en forma simplificada para resaltar las partes principales. El rotor de la dínamo consiste de: 1. El eje de la armadura 2. El núcleo de la armadura 3. El devanado de la armadura, 4. El conmutador, Figura 3-6. Construcción y circuitos eléctricos de la dínamo de CD (en derivación y en serie). La armadura del rotor en la dínamo de CD lleva a cabo cuatro funciones principales: permite la rotación para tener acción de motor; en virtud de la rotación, produce la acción de conexión y desconexión necesaria para la conmutación; contiene a los conductores que inducen un voltaje o un par electromagnético; y proporciona una trayectoria de baja reluctancia al flujo magnético. El estator de la dínamo consiste de 1. Un yugo o armazón cilíndrica de acero vaciado o rolado. 2. Los devanados de campo 3. Los polos de campo 4. El interpolo y su devanado 23 5. Los devanados de compensación, que no se muestran 6. Las escobillas y el portaescobillas, 7. Los detalles mecánicos. Las tapas, o campanas extremas, están conectadas mecá- nicamente con el yugo y contienen los cojinetes con los que se soporta el eje de la armadura, así como, en algunas máquinas, los portaescobillas. Estos detalles no se muestran en la figura 3-6 (19). La figura 3-7 muestra una perspectiva a la construcción de una máquina de CD: Figura 3-7. Construcción de una máquina de CD. 3.6 Motores de corriente directa 3.6.1 Introducción a los motores de CD Los primeros sistemas de potencia en Estados Unidos eran de CD, pero a finales de la década de 1890 era claro que los sistemas de potencia de corriente alterna (ca) le estaban ganando terreno. A pesar de esto, los motores de CD siguieron siendo una parte significativa de la maquinaria comprada cada año hasta la década de 1960 (esa porción ha disminuido significativamente en los últimos 40 años). Hay muchas razones para la popularidad de los motores de CD. Una es que los sistemas de potencia de CD aún son comunes en los coches, camiones y aviones. Cuando un vehículo tiene un sistema de potencia de CD, es lógico considerar la utilización de motores de CD. Otra aplicación de los motores de CD es la situación en que se requieren variaciones amplias de velocidad. Antes de la creciente difusión de los rectificadores-inversores de potencia electrónicos, no había un mejor motor que uno de CD en las aplicaciones de control de velocidad. Incluso si no había una fuente de potencia de CD disponible, se usaban rectificadores en estado sólido y circuitos recortadores para crear la potencia de CD requerida y se utilizaban motores de CD para suministrar el control de velocidad deseado. Hoy en día se prefieren los motores de inducción con paquetes accionadores en estado sólido a los motores de CD para la mayoría de las aplicaciones de control de velocidad. Sin embargo, aún hay ciertas aplicaciones en las que se prefieren los motores de CD (20). 24 La clasificación de los motores de CD es la siguiente (21): Figura 3-8. Clasificación de los motores de corriente directa. 3.6.2 Circuito equivalente de motor de CD En la figura 3-9 se muestra el circuito equivalente de un motor de CD. En esta figura el circuito del inducido se representa por medio de una fuente de voltaje ideal E A y un resistor R A . Esta representación es en realidad el equivalente de Thevenin de toda la estructura del rotor, incluyendo las bobinas, interpolos y devanados de compensación, si es que éstos existen. Hay unas cuantas variaciones y simplificaciones de este circuito equivalente básico. La caída de voltaje en las escobillas a menudo es tan sólo una pequeña fracción del voltaje generado en la máquina por lo que se puede dejar de considerar o incluirla aproximadamente en el valor de R A . Además, la resistencia interna de las bobinas de campo a veces se agrupa con el resistor variable y al total se le llama R F . Una tercera variación consiste en que algunos generadores tienen más de una bobina de campo y todas ellas se representan en el circuito equivalente. Figura 3-9. Circuito equivalente simplificado que elimina la caída de voltaje en las escobillas y combina R ajus con la resistencia de campo. Las ecuaciones del voltaje inducido, el par generado, la ecuación de la ley de voltaje de Kirchhoff del circuito del inducido y la curva de magnetización de la máquina, son todas las herramientas necesarias para analizar el comportamiento y desempeño de un motor de CD. 25 3.6.3 Motores de CD de excitación separada y en derivación Un motor de CD de excitación separada es aquel cuyo circuito de campo se alimenta de una fuente de potencia de voltaje constante independiente, mientras que un motor de CD en derivación es aquel cuyo circuito de campo obtiene su potencia directamente a través de los terminales del inducido del motor. Cuando se supone que el voltaje suministrado a un motor es constante, no hay diferencia práctica entre el comportamiento de estas dos máquinas. La ecuación de la ley de voltaje de Kirchhoff (KVL, por sus siglas en inglés) para el circuito del inducido de estos motores es T A A A V E I R = + (3.9) 3.6.4 Motor de CD en serie Un motor de CD en serie es aquel cuyos devanados de campo constan de relativamente pocas vueltas conectadas en serie con el circuito del inducido. En un motor de este tipo, la corriente del inducido, la corriente de campo y la corriente de línea son iguales. La ley de voltaje de Kirchhoff para esta clase de motor es ( ) T A A A s V E I R R = + + (3.10) 3.6.5 Motor de CD compuesto Un motor de CD compuesto incluye tanto un campo en derivación como un campo en serie. Las fuerzas magnetomotrices en las dos bobinas de campo se suman para producir una fuerza magnetomotriz más grande. Esta situación se conoce como composición acumulativa. La ley de voltaje de Kirchhoff para un motor de CD compuesto es ( ) T A A A s V E I R R = + + (3.11) 3.6.6 Motor de CD de imán permanente En los motores de CD de imán permanente (MCDIP) los polos están hechos de imanes permanentes. Puesto que no requieren un circuito de campo externo, nos sufren pérdidas en el cobre del circuito de campo. Debido a que no requieren devanados de compensación pueden ser más pequeños que los correspondientes motores de CD en derivación. Las desventajas son que los imanes permanentes no pueden producir una densidad de flujo tan alta como la suministrada en forma externa por un campo en derivación, además que corren el riesgo de desmagnetizarse. Figura 3-10. Corte de un motor de imán permanente típico. Las flechas indican la dirección de magnetización en los imanes permanentes. 26 Pueden tener la forma de máquinas de CD convencionales en las que el devanado de campo estacionario esta sustituido por un imán permanente, o bien pueden tener la forma de una máquina sincrónica en la cual el devanado del campo giratorio se sustituye por un imán permanente. A diferencia de la característica estructural del campo de polos salientes de una máquina de CD con excitación de campo externa, los motores de imán permanente tienen típicamente una estructura lisa de estator que consta de una coraza cilíndrica (o de parte de cilindro) de espesor uniforme, magnetizada en la dirección radial. Los MCDIP se subclasifican en: convencionales, rotor disco y rotor de copa. Aunque en la literatura también se encontró una clasificación equivalente pero nombrada de otra manera: - De núcleo de hierro - De devanado superficial - De bobina móvil 3.6.7 Motores paso a paso El motor de pasos es una forma de motor de CD que está diseñado para girar un determinado número de grados por cada pulso eléctrico que se aplique a su unidad de control. Los tamaños de los pasos pueden ir desde menos de un grado hasta 15° o más (22). Una ventaja notable del motor de pasos es su compatibilidad con los sistemas electrónicos digitales. Esos sistemas son cada vez más comunes en una amplia gama de aplicaciones y al mismo tiempo se están fabricando con mayor potencia y menor costo. En muchas aplicaciones se puede obtener información sobre la posición tan solo con mantener una cuenta de los pulsos que se mandan al rotor, y no se necesitan sensores de posición ni control por retroalimentación. Los motores de pasos no tienen escobillas ni conmutador mecánico. En su lugar, la acción de conmutación necesaria para la función del motor de CD es lograda por transistores externos. Es más, el rotor no tiene devanado de armadura, simplemente es una colección de imanes permanentes salientes. Existen dos divisiones fundamentales (23): - Motores paso a paso de rotor de disco o rotor IP - Motores paso a paso de reluctancia variable También es digno de nombrarse el motor de pasos hibrido que combina características de los motores de reluctancia variable y de imán permanente (22). 3.6.8 Motores de CD sin escobillas Los motores de CA de imán permanente se conocen también como motores sin escobillas o motores de CD sin escobillas. Esta terminología surge de la gran semejanza con las características de los motores de CD, se puede considerar que son motores de CD que están al revés, con su devanado de campo en el rotor y con su armadura conmutada electrónicamente por el sensor de posición del eje, con interruptores (transistores, tiristores, etc.) conectados con los devanados de armadura (22). Un mejor nombre para este tipo de motor sería “motor de CD sin escobillas disparado por posición”, ya que cualquier motor paso a paso de CD es sin escobillas (23). 27 CAPÍLUTO 4. CONTROL AUTOMÁTICO (24) El control automático ha desempeñado un papel vital en el avance de la ingeniería y la ciencia. Además de su gran importancia en los sistemas de vehículos espaciales, de guiado de misiles, robóticos y análogos, el control automático se ha convertido en una parte importante e integral de los procesos modernos industriales y de fabricación. El control automático tiene muchas aplicaciones en el quehacer de la humanidad y está estrechamente relacionado con el progreso de nuestra sociedad. Como los avances en la teoría y la práctica del control automático proporcionan los medios para conseguir un comportamiento óptimo de los sistemas dinámicos, mejorar la productividad, simplificar el trabajo de muchas operaciones manuales repetitivas y rutinarias, así como de otras actividades, la mayoría de los ingenieros y científicos deben tener un buen conocimiento de este campo. 4.1 Revisión histórica El primer trabajo significativo en control automático fue el regulador de velocidad centrífugo de James Watt para el control de la velocidad de una máquina de vapor, en el siglo XVIII. Minorsky, Hazen y Nyquist, entre muchos otros, aportaron trabajos importantes en las etapas iniciales del desarrollo de la teoría de control. En 1922, Minorsky trabajó en controladores automáticos para el guiado de embarcaciones, y mostró que la estabilidad puede determinarse a partir de las ecuaciones diferenciales que describen el sistema. En 1932, Nyquist diseñó un procedimiento relativamente simple para determinar la estabilidad de sistemas en lazo cerrado, a partir de la respuesta en lazo abierto a entradas sinusoidales en estado estacionario. En 1934, Hazen, quien introdujo el término servomecanismos para los sistemas de control de posición, analizó el diseño de los servomecanismos con relé, capaces de seguir con precisión una entrada cambiante. Durante la década de los cuarenta, los métodos de la respuesta en frecuencia (especialmente los diagramas de Bode) hicieron posible que los ingenieros diseñaran sistemas de control lineales en lazo cerrado que cumplieran los requisitos de comportamiento. A finales de los años cuarenta y principios de los cincuenta, se desarrolló por completo el método del lugar de las raíces propuesto por Evans. Los métodos de respuesta en frecuencia y del lugar de las raíces, que forman el núcleo de la teoría de control clásica, conducen a sistemas estables que satisfacen un conjunto más o menos arbitrario de requisitos de comportamiento. En general, estos sistemas son aceptables pero no óptimos desde ningún punto de vista. Desde el final de la década de los cincuenta, el énfasis en los problemas de diseño de control se ha desplazado del diseño de uno de los posibles sistemas que funciona adecuadamente al diseño de un sistema óptimo respecto de algún criterio. Conforme las plantas modernas con muchas entradas y salidas se vuelven más y más com- plejas, la descripción de un sistema de control moderno requiere una gran cantidad de ecuaciones. La teoría del control clásica, que trata de los sistemas con una entrada y una salida, pierde su potencialidad cuando se trabaja con sistemas con entradas y salidas múltiples. Hacia 1960, debido a la disponibilidad de los computadores digitales fue posible el análisis en el dominio del tiempo de sistemas complejos. La teoría de control moderna, basada en el análisis en el dominio del tiempo y la síntesis a partir de variables de estados, se ha desarrollado para manejar la creciente complejidad de las plantas modernas y los requisitos cada vez más exigentes sobre precisión, peso y coste en aplicaciones militares, espaciales e industriales. 28 Durante los años comprendidos entre 1960 y 1980, se investigó a fondo el control óptimo tanto de sistemas determinísticos como estocásticos, así como el control adaptativo y con apren- dizaje de sistemas complejos. Desde 1980 hasta la actualidad, los avances en la teoría de control moderna se centraron en el control robusto, control H., y temas relacionados. Ahora que los computadores digitales se han hecho más baratos y más compactos, se usan como parte integral de los sistemas de control. Las aplicaciones recientes de la teoría de control moderna incluyen sistemas fuera del ámbito de las ingenierías, tales como los sistemas biológicos, biomédicos, económicos y socioeconómicos. 4.2 Control en lazo cerrado en comparación con control de lazo abierto Un sistema que mantiene una relación determinada entre la salida y la entrada de referencia, comparándolas y usando la diferencia como medio de control se denomina sistema de control realimentado. Los sistemas de control realimentados no se limitan a la ingeniería, sino que también se encuentran en diversos campos ajenos a ella. Los sistemas de control realimentados se denominan también sistemas de control en lazo cerrado. En un sistema de control en lazo cerrado, se alimenta al controlador la señal de error de actuación, que es la diferencia entre la señal de entrada y la señal de realimentación (que puede ser la propia señal de salida o una función de la señal de salida y sus derivadas y/o integrales), con el fin de reducir el error y llevar la salida del sistema a un valor deseado. Los sistemas en los cuales la salida no tiene efecto sobre la acción de control se denominan sistemas de control en lazo abierto. Este tipo de control generalmente opera con una base de tiempo. Ante la presencia de perturbaciones, un sistema de control en lazo abierto no realiza la tarea deseada. En la práctica, el control en lazo abierto sólo se usa si se conoce la relación entre la entrada y la salida y si no hay perturbaciones internas ni externas. Una ventaja del sistema de control en lazo cerrado es que el uso de la realimentación vuelve la respuesta del sistema relativamente insensible a las perturbaciones externas y a las variaciones internas en los parámetros del sistema. Es así posible usar componentes relativamente poco pre- cisos y baratos para obtener el control adecuado de una planta determinada, mientras que hacer eso es imposible en el caso de un sistema en lazo abierto. Desde el punto de vista de estabilidad, el sistema de control en lazo abierto es más fácil de desarrollar, porque la estabilidad del sistema no es un problema importante. Por otra parte, la estabilidad es un gran problema en el sistema de control en lazo cerrado, que puede conducir a corregir en exceso errores que producen oscilaciones de amplitud constante o cambiante. Debe señalarse que, para los sistemas en los que se conocen con anticipación las entradas y en los cuales no hay perturbaciones, es aconsejable emplear un control en lazo abierto. Los sis- temas de control en lazo cerrado sólo tienen ventajas cuando se presentan perturbaciones y/o variaciones impredecibles en los componentes del sistema. 4.3 Modelado matemático de sistemas dinámicos Un modelo matemático de un sistema dinámico se define como un conjunto de ecuaciones que representan la dinámica del sistema con la precisión necesaria. Téngase presente que un modelo matemático no es único para un sistema determinado. La dinámica de muchos sistemas se describe en términos de ecuaciones diferenciales. Dichas ecuaciones diferenciales se obtienen a 29 partir de leyes físicas que gobiernan un sistema determinado. Se debe siempre recordar que obtener un modelo matemático razonable es la parte más importante de todo el análisis. En esta tesis se supone que el principio de causalidad se aplica a los sistemas que se consideren. Esto significa que la salida del sistema (la salida en t = 0) depende de las entradas pasadas (entradas en t < 0) pero no depende de las entradas futuras (entradas para t > 0). Un modelo matemático debe de considerar la simplicidad contra la precisión de los resultados requeridos. Para obtener un modelo matemático razonablemente simple a menudo se ignoran ciertas propiedades físicas inherentes al sistema. Si se pretende obtener un modelo mate- mático de parámetros concentrados lineal (uno en el que se empleen ecuaciones diferenciales), es necesario ignorar ciertas no linealidades y parámetros distribuidos que pueden estar presentes en el sistema dinámico. Un modelo de parámetros concentrados lineal, que puede ser válido si opera en baja frecuencia, tal vez no sea válido en frecuencias suficientemente altas, debido a que la propiedad no considerada de los parámetros distribuidos puede convertirse en un factor importante en el comportamiento dinámico del sistema. En esta investigación se suponen proporcionales la causa y el efecto. En el capítulo 1 vimos que tanto la velocidad como el par son funciones lineales, lo cual implica que se aplica el principio de superposición. 4.3.1 Función de transferencia En esta tesis se usarán las funciones de transferencia para caracterizar las relaciones de entrada-salida del sistema (motor de CD) que se describen mediante ecuaciones diferenciales lineales invariantes en el tiempo. La función de transferencia de un sistema descrito mediante una ecuación diferencial lineal e invariante en el tiempo se define como el cociente entre la transformada de Laplace de la salida (función de respuesta) y la transformada de Laplace de la entrada (función de excitación) bajo la suposición de que todas las condiciones iniciales son cero. Considérese el sistema lineal e invariante en el tiempo descrito mediante la siguiente ecuación diferencial: (4.1) donde y es la salida del sistema y x es la entrada. La función de transferencia de este sistema es el cociente de la transformada de Laplace de la salida y la transformada de Laplace de la entrada cuando todas las condiciones iniciales son cero, o condiciones iniciales cero 1 0 1 1 1 0 1 1 salida] Función de t ransferencia ( ) ent rada] ( ) ( ) m m m m n n n n G s Y s b s b s b s b X s a s a s a s a − − − − = = + + + + = = + + + + L L L[ L[ (4.2) A partir del concepto de función de transferencia, es posible representar la dinámica de un sistema mediante ecuaciones algebraicas en s. Si la potencia más alta de s en el denominador de la función de transferencia es igual a n, el sistema se denomina sistema de orden n-ésimo. 30 4.4 Sistemas de control automáticos Un sistema de control puede tener varios componentes. Para mostrar las funciones de cada componente en la ingeniería de control, por lo general se usa una representación denominada dia- grama de bloques. Un diagrama de bloques de un sistema es una representación gráfica de las funciones que lleva a cabo cada componente y el flujo de señales. Tales diagramas muestran las relaciones existentes entre los diversos componentes. En un diagrama de bloques todas las variables del sistema se enlazan unas con otras mediante bloques funcionales. El bloque funcional o simplemente bloque es un símbolo para representar la operación matemática que sobre la señal de entrada hace el bloque para producir la salida. Las funciones de transferencia de los componentes por lo general se introducen en los bloques correspondientes, que se conectan mediante flechas para indicar la dirección del flujo de señales. Obsérvese que la señal sólo puede pasar en la dirección de las flechas. Por tanto, un diagrama de bloques de un sistema de control muestra explícitamente una propiedad unilateral. Figura 4-1. Elemento de un diagrama de bloques. Obsérvese que las dimensiones de la señal de salida del bloque son las dimensiones de la señal de entrada multiplicadas por las dimensiones de la función de transferencia en el bloque. Debe señalarse que, en un diagrama de bloques, la principal fuente de energía no se muestra explícitamente y que el diagrama de bloques de un sistema determinado no es único. Es posible dibujar varios diagramas de bloques diferentes para un sistema, dependiendo del punto de vista del análisis. La Figura 4-2 muestra un ejemplo de un diagrama de bloques de un sistema en lazo cerrado. La salida C(s) se realimenta al punto de suma, donde se compara con la entrada de referencia R(s). La naturaleza en lazo cerrado del sistema se indica con claridad en la figura. La salida del bloque, C(s) en este caso, se obtiene multiplicando la función de transferencia G(s) por la entrada al bloque, E(s). Cualquier sistema de control lineal puede representarse mediante un diagrama de bloques formado por puntos de suma, bloques y puntos de ramificación. Cuando la salida se realimenta al punto de suma para compararse con la entrada, es necesario convertir la forma de la señal de salida en la de la señal de entrada. Esta conversión se consigue mediante el elemento de realimentación, cuya función de transferencia es H(s), como se aprecia en la Figura 4-3. La función del elemento de realimentación es modificar la salida antes de compararse con la entrada. Figura 4-2. Diagrama de bloques de un sistema en lazo cerrado. Figura 4-3. Sistema en lazo cerrado. 31 En base a la figura 4-3 se definen tres tipos de funciones de transferencia, la función de transferencia en lazo abierto, la función de transferencia de la trayectoria directa y la función de transferencia en lazo cerrado. ( ) Función de t ransferencia en lazo abiert o ( ) ( ) ( ) B s G s H s E s = = (4.3) ( ) Función de t ransferencia de la t rayect oria direct a ( ) ( ) C s G s E s = = (4.4) ( ) ( ) Función de t ransferencia en lazo cerrado ( ) 1 ( ) ( ) C s G s R s G s H s = = + (4.5) Un controlador automático compara el valor real de la salida de una planta con la entrada de referencia (el valor deseado), determina la desviación y produce una señal de control que reduce la desviación a cero o a un valor pequeño. La manera en la cual el controlador automático produce la señal de control se denomina acción de control. La Figura 4-4 es un diagrama de bloques de un sistema de control industrial que consiste en un controlador automático, un actuador, una planta y un sensor. El controlador detecta la señal de error, que por lo general, está en un nivel de potencia muy bajo, y la amplifica a un nivel lo suficientemente alto. La salida de un controlador automático se alimenta a un actuador, como un motor o una válvula neumáticos, un motor hidráulico o un motor eléctrico. Figura 4-4. Diagrama de bloques de un sistema de control industrial, formado por un controlador automático, un actuador, una planta y un sensor. Los controladores industriales se clasifican, de acuerdo con sus acciones de control, como: 1. De dos posiciones o controladores on-off 2. Controladores proporcionales 3. Controladores integrales 4. Controladores proporcionales-integrales 5. Controladores proporcionales-derivativos 6. Controladores proporcionales-integrales-derivativos La mayoría de los controladores industriales emplean como fuente de energía la electricidad o un fluido presurizado, como el aceite o el aire. Los controladores también pueden clasificarse, según el tipo de energía que utilizan en su operación, como neumáticos, hidráulicos o electrónicos. A continuación se muestran las funciones de transferencia para los controladores que combinan los efectos de las acciones proporcional e integral para un sistema. Estos dos tipos de controladores son los únicos que usaremos en este trabajo. Función de transferencia de un controlador proporcional, donde K p se considera la ganancia proporcional: ( ) ( ) P U s K E s = (4.6) 32 Función de transferencia de un controlador integral, donde K i se considera la ganancia integral: ( ) ( ) i U s K E s s = (4.7) Función de transferencia de un controlador proporcional-integral, donde T i se denomina como tiempo integral: ( ) 1 1 ( ) P i U s K E s T s ⎛ ⎞ = + ⎜ ⎟ ⎝ ⎠ (4.8) La figura 4-5 muestra un sistema en lazo cerrado sujeto a una perturbación. Cuando se presentan dos entradas (la entrada de referencia y la perturbación) en un sistema lineal, cada una de ellas puede tratarse de forma independiente; y las salidas correspondientes a cada entrada pueden sumarse para obtener la salida completa. Figura 4-5. Sistema de lazo cerrado sujeto a perturbaciones. 4.4.1 Análisis de la respuesta transitoria y estacionaria Una vez obtenido el modelo matemático del sistema, existen varios métodos para el análisis del comportamiento del sistema. Para comparar los comportamientos de los diversos sistemas de control se utilizan señales de prueba porque existe una correlación entre las características de respuesta de un sistema para una señal de entrada de prueba común y la capacidad del sistema de manejar las señales de entrada reales. Las señales de prueba que se usan regularmente son funciones escalón, rampa, parábola, impulso, etc. La respuesta en el tiempo de un sistema de control consta de dos partes: la respuesta transitoria y la respuesta en estado estacionario. Al diseñar un sistema de control, se debe ser capaz de predecir su comportamiento dinámico a partir del conocimiento de los componentes. La característica más importante del comportamiento dinámico de un sistema de control es la estabilidad absoluta. Un sistema de control está en equilibrio si, en ausencia de cualquier perturbación o entrada, la salida permanece en el mismo estado. Aparte deben de recibir una cuidadosa atención la estabilidad relativa y el error en estado estacionario. La estabilidad relativa se refiere a las oscilaciones que se presentan durante la respuesta transitoria. Si la salida de un sistema de estado estacionario no coincide exactamente con la entrada, se dice que el sistema tiene un error estacionario. 4.4.2 Sistemas de segundo orden La función de transferencia de un servosistema se muestra en la figura 4-6, la función contiene un elemento controlador proporcional de ganancia K. Esta función de transferencia se usa para determinar las respuestas de este sistema a entradas escalón y poder clasificar los diferentes comportamientos observados. 33 Figura 4-6. Diagrama de bloques simplificado. La función de transferencia en lazo cerrado se obtiene como: ( ) 2 2 ( ) / ( ) / / C s K J K R s Js Bs K s B J s K J = = + + + + (4.9) Si se compara esta función de transferencia con la forma estándar de sistemas de segundo orden que se muestra a continuación, se pueden obtener los términos de: atenuación (σ), frecuencia natural no amortiguada (ω n ), y el factor de amortiguamiento relativo del sistema (ζ). 2 2 2 ( ) ( ) 2 n n n C s R s s s ω = + ζω + ω (4.10) 2 , 2 2 n n K B J J = ω = ζω = σ (4.11) 2 c B B JK Β ζ = = (4.12) Si 0 < ζ < 1, los polos en lazo cerrado con complejos conjugados y se encuentran en el semiplano izquierdo del plano s. El sistema, entonces, se denomina subamortiguado y la respuesta transitoria es oscilatoria. Si ζ = 1, el sistema se denomina críticamente amortiguado. Los sistemas sobreamortiguados corresponden a ζ > 1. - Caso subamortiguado (0 < ζ < 1): Para una entrada escalón unitario, C(s) se escribe como 2 2 2 ( ) 2 n n n C s s s ω = + ζω + ω (4.13) La señal de error presenta por un sistema subamortiguado de segundo orden es una oscilación sinusoidal amortiguada. En estado estacionario, o en t = ∞, no existe un error entre la entrada y la salida. - Caso críticamente amortiguado (ζ = 1): si los dos polos de C(s)/R(s) son casi iguales, el sistema se aproxima mediante uno críticamente amortiguado, para una entrada escalón unitario, C(s) se escribe como ( ) 2 2 ( ) n n C s s s ω = + ω (4.14) - Caso sobreamortiguado (ζ > 1): en este caso, los dos polos de C(s)/R(s) son reales negativos y diferentes. Para una entrada escalón unitario, C(s) se escribe como ( ) ( ) 2 ( ) 1 1 n n n n n C s s s s ω = + ζω + ω ζ − + ζω − ω ζ − (4.15) La figura 4-7 contiene una familia de curvas c(t) con diversos valores de ζ, donde la abscisa es la variable adimensional ω n t. Las curvas sólo son funciones de ζ y se obtienen a partir de la transformada de Laplace (en función del tiempo) de las ecuaciones con entrada escalón unitario para los tres casos de amortiguamiento. 34 Figura 4-7. Curvas de respuesta a escalón unitario del sistema mostrado en la figura 4-6. En la figura 4-7 se observa que un sistema subamortiguado con ζ entre 0.5 y 0.8 se acerca al valor final con mayor rapidez que un sistema críticamente amortiguado o sobreamortiguado. Entre los sistemas que responden sin oscilación, un sistema críticamente amortiguado presenta la respuesta más rápida. En muchos casos prácticos, las características de desempeño deseadas del sistema de control se especifican en términos de cantidades en el dominio del tiempo. Las características de desempeño de un sistema suelen especificarse en términos de una entrada escalón unitario ya que si se conoce esta respuesta es matemáticamente posible calcular la respuesta a cualquier otra entrada. Al especificar las características de la respuesta transitoria de un sistema de control para una entrada escalón unitario, es común especificar lo siguiente: 1. Tiempo de retardo, t d 2. Tiempo de subida, t r 3. Tiempo pico, t p 4. Sobreelongación, M P 5. Tiempo de asentamiento, t s Figura 4-8. Curva de respuesta a escalón unitario con t d , t r , t p , M P y t s . Para ciertas aplicaciones en las que no se pueden tolerar oscilaciones, es conveniente que la respuesta transitoria sea suficientemente rápida y amortiguada. Por tanto para una respuesta 35 transitoria conveniente de un sistema de segundo orden, el factor de amortiguamiento relativo debe estar entre 0.4 y 0.8. Haciendo un análisis de los términos característicos en la respuesta transitoria se puede evidenciar que para una respuesta rápida, ω n debe ser grande. Para limitar la sobreelongación máxima M P y para reducir el tiempo de asentamiento, el factor de amortiguamiento relativo ζ no debe de ser demasiado pequeño. La relación entre la sobreelongación en porcentaje M P y el factor de amortiguamiento relativo ζ se presenta en la figura 4-8. Obsérvese que si el factor de amortiguamiento relativo está entre 0.4 y 0.7, el porcentaje de Sobreelongación máxima para la respuesta escalón está entre 25 y 4%. 4.5 Efectos de las acciones de control integral y derivativo en el comportamiento del sistema Aquí solo se considerarán los sistemas simples, para apreciar con claridad los efectos de las acciones de control integral y derivativo en el comportamiento de un sistema. En el control proporcional de una planta, cuya función de transferencia no posee un integrador 1/s, hay un erro estacionario, o desplazamiento (offset), en la respuesta para una entrada escalón. Tal offset se elimina si se incluye la acción de control integral en el controlador. En el control integral de una planta, la señal de control, que es la señal de salida a partir del controlador, es en todo momento el área bajo la curva de la señal de error hasta tal momento. La señal de control u(t) tiene un valor diferente de cero cuando la señal de error e(t) es cero, como se aprecia en la figura 4-9. Esto es imposible en el caso del controlador proporcional, ya que una señal de control diferente de cero requiere una señal de error diferente de cero (figura 4-10). Figura 4-9. Gráficas de las curvas de e(t) y u(t) con señales de control distintas de cero cuando la señal de error es cero (control integral) Figura 4-10. Gráficas de las curvas de e(t) y u(t) con señal de control cero cuando la señal de error es cero (control proporcional). Se puede demostrar que un control proporcional de un sistema sin un integrador originará un error en estado estacionario frente a una entrada escalón. El error en estado estacionario es 0 0 1 1 lim ( ) lim ( ) lim 1 1 ss t s s T s e e t sE s T s K K →∞ → → + = = = = + + + (4.16) Figura 4-11. Sistemas de control proporcional Dicho error en estado estacionario se denomina offset y se muestra en la figura 4-12 36 Figura 4-12. Respuesta a escalón unidad y offset. Considerando el controlador de tipo integral que se muestra en la figura 4-13, El error en estado estacionario como respuesta a un escalón unitario se puede obtener aplicando el teorema del valor final de la manera siguiente: ( ) 2 2 0 0 1 1 lim ( ) lim 0 ss s s s T s e sE s T s s K s → → + = = = + + (4.17) Figura 4-13. Sistema de control integral. Por lo tanto, el control integral del sistema elimina el error en estado estacionario en respuesta a un escalón unitario. Cuando una acción derivativa se agrega a un controlador proporcional, aporta un modo de obtener un controlador con alta sensibilidad. Una ventaja de usar una acción de control derivativa es que responde a la velocidad del cambio del error y produce una corrección significativa antes de que la magnitud del error se vuelva demasiado grande. Por tanto, el control derivativo prevé el error, inicia una acción correctiva oportuna y tiende a aumentar la estabilidad del sistema. La acción de control derivativo siempre se emplea junto con una acción de control proporcional o proporcional-integral. 4.6 Error en estado estacionario en los sistemas de control con realimentación unitaria Los errores de un sistema de control se pueden atribuir a muchos factores. Los cambios en la entrada de referencia provocan errores inevitables durante los periodos transitorios y también pueden producir errores en estado estacionario. Las imperfecciones en los componentes del sistema, tales como la fricción estática, juego o bamboleo y la deriva del amplificador, al igual que el envejecimiento o el deterioro, provocan errores en el estado uniforme. Cualquier sistema de control físico sufre, por naturaleza, un error en estado estable en respuesta a ciertos tipos de entrada. El que un sistema determinado exhiba un error en estado estacionario para un tipo específico de entrada depende del tipo de función de transferencia en lazo abierto del sistema. Los sistemas de control se clasifican de acuerdo con su capacidad de seguir entradas escalón, rampa, parábola, etc. Las magnitudes de los errores en estado estacionario producidos por estas entradas individuales indican la bondad del sistema. Considérese el sistema de control con realimentación unitaria con al siguiente función de transferencia 37 1 2 ( 1)( 1) ( 1) ( ) ( 1)( 1) ( 1) a b m N p K T s T s T s G s s T s T s T s + + + = + + + L L (4.18) Este sistema contiene el término s N en el denominador, que representa un polo de multiplicidad N en el origen. El esquema de clasificación actual se basa en la cantidad de integraciones indicadas por la función de transferencia en lazo abierto, un sistema se denomina de tipo N. Conforme el número del tipo es mayor, mejora la precisión; sin embargo, aumentar el número del tipo agrava el problema de la estabilidad. Siempre es necesario un equilibrio entre la precisión en estado estacionario y la estabilidad relativa. En la práctica, es muy raro tener sistemas de tipo 3 o superiores. Para un sistema de tipo 0, la constante de error de posición estática K P es finita, mientras que, para un sistema de tipo 1 o mayor, K P es infinita. De esta manera se sabe que la respuesta de un sistema de control de realimentación para una entrada escalón implica un error en estado estacionario si no existe un integrador en la trayectoria directa. En las gráficas que siguen se pueden observar los errores en estado estacionario otras funciones de entrada. Figura 4-14. Respuesta de un sistema con realimentación unitaria de tipo 1 para una rampa de entrada. Figura 4-15. Respuesta de un sistema de tipo 2 con realimentación unitaria a una entrada parabólica. Un sistema de tipo 0 es incapaz de seguir una entrada rampa en el estado uniforme. El sistema de tipo 1 con realimentación unitaria sigue la entrada rampa con un error finito. El sistema de tipo 2 o mayor sigue una entrada rampa con un error de cero en estado estacionario. Obsérvese que tanto los sistemas de tipo 0 como los de tipo 1 son incapaces de seguir una entrada parábola en estado estacionario. El sistema de tipo 2 con realimentación unitaria puede seguir una entrada parábola con una señal de error finita. La tabla 4-1 resume los errores en estado estacionario para los sistemas de tipo 0, de tipo 1 y de tipo 2 cuando están sujetos a diversas entradas. Los valores finitos para los errores en estado 38 estacionario aparecen en la línea diagonal. Sobre la diagonal, los errores en estado estacionario son infinitos; bajo la diagonal, son cero. Tabla 4-1. Error en estado estacionario en función de la ganancia K. Debe señalarse que, para mejorar el comportamiento en estado estacionario se aumenta el tipo del sistema agregando uno o más integradores a la trayectoria directa. Sin embargo, esto introduce un problema de estabilidad adicional. 39 CAPÍLUTO 5. MODELADO DEL MOTOR DE CD Y CONTROLADOR PI 5.1 Introducción El contenido de este capítulo contempla el desarrollo del modelo matemático del motor de CD utilizado y posteriormente la elaboración del control PI para regular el par del motor. En la figura 5-1 se muestran las partes principales del motor. El eje del rotor actúa como tornillo sinfín de 3 cuerdas para mover el engrane provisto en una de las tapas que tiene 22 dientes, con esta reducción de velocidad también se gira el eje de salida en 90° sobre el plano horizontal. Figura 5-1. Fotografía del motor de CD a controlar. 5.2 Modelado matemático del sistema Lo que se pretende controlar es el par de un motor de CD de imán permanente. El diagrama del sistema se muestra en la figura 5-2. Figura 5-2. Diagrama esquemático del sistema. 40 La nomenclatura usada es la siguiente: Símbolo Significado Físico Unidades U Voltaje de armadura (V) Ra Resistencia de armadura (Ω) La Inductancia de armadura (H) Ea Fuerza electromotriz inducida (V) T Par o Torque (N·m) θ Ángulo de desplazamiento del rotor (rad) f Coeficiente de fricción (N·m·s/rad) J Inercia del rotor (kg·m 2 ) ω Velocidad angular del rotor (rad/s) El flujo magnético de campo es constante y no se representa en el diagrama por simplicidad. El sistema se puede clasificar en dos partes: la eléctrica y la mecánica. El análisis matemático se divide en estas partes y las ecuaciones que involucran la asociación de las dos. Analizando la parte eléctrica con las leyes de Kirchhoff en función del tiempo t se obtiene: u(t) = Ro × I(t) +Io dI(t) dt +Eo(t) (5.1) Haciendo un análisis similar para la parte mecánica se obtiene: I(t) = [ d 2 0(t) dt 2 +¡ d0(t) dt (5.2) Hay que hacer notar que cualquier carga agregada al motor será interpretada como perturbación externa para efectos de control. Las ecuaciones que asocian la parte mecánica con la eléctrica son: Eo(t) = Kæ × d0(t) dt (3.6) y I(t) = Kb × I(t) (3.8) Para simplificar las ecuaciones arriba descritas hay que recordar que æ = d0(t) dt (5.3) Partiendo de las ecuaciones en función del tiempo que describen a nuestro sistema, se transforma todo al dominio de los números imaginarios con la transformada de Laplace y se efectúan algunas operaciones algebraicas para llegar a las siguientes ecuaciones: 0(s)-Ko×o(s) (Lu×s+Ru) = I(s) (5.4) I(s) × Kb = I(s) (5.5) 1(s) ]×s+] = æ(s) (5.6) y se comienza a modelar todo en forma de bloques de transferencia en Simulink como se aprecia en la figura 5-3. 41 Figura 5-3. Diagrama de Bloques del motor. Los símbolos ovalados son entradas o salidas del sub bloque llamado motor. Del diagrama de bloques anterior se puede deducir la relación de transferencia en lazo abierto del sistema relacionando el par con el voltaje de entrada: 1(s) 0(s) = Kb×]×s+Kb׃) ]×Lu×s 2 +(]×Ru+Lu׃)×s+Ru׃+Ko×Kb (5.7) 5.3 Parámetros del motor Para poder simular nuestro modelo es necesario tener las cantidades numéricas de cada una de las variables mostradas en el diagrama de bloques. Para obtener los valores es necesario efectuar algunas mediciones. Los valores de las variables a encontrar son: Símbolo Significado Físico Unidades Ra Resistencia de armadura (Ω) La Inductancia de armadura (H) K b Constante de par (N·m /A) ƒ Coeficiente de fricción (N·m·s/rad) J Inercia del rotor (kg·m 2 ) K ω Constante de velocidad (rad/(s · V)) En algunas de las mediciones siguientes se calculo la regresión lineal de los datos dispersos para comparar la pendiente de la línea obtenida con el valor medio de las mediciones. En la regresión lineal se aproximan los datos dispersos de una gráfica a una línea cuya función es: y = A + Bx (5.8) RESISTENCIA DE ARMADURA, Ra. En la medición de la resistencia de la armadura se hizo un barrido de voltaje y se midió la corriente mientras se bloqueaba el rotor con un freno mecánico. Los valores encontrados más representativos se muestran en la Tabla 5-1. 42 VOLTAJE (V) CORRIENTE (A) RESISTENCIA ( Ω ) 0.0240 0.05 0.4800 0.0580 0.11 0.5273 0.1500 0.28 0.5357 0.4000 0.76 0.5263 0.8000 1.32 0.6061 1.0000 1.85 0.5405 1.5000 2.18 0.6881 0.5577 0.6392 MEDIA = PENDIENTE DE LA REGRESIÓN LÍNEAL = 0.0000 0.2000 0.4000 0.6000 0.8000 1.0000 1.2000 1.4000 1.6000 0 0.5 1 1.5 2 2.5 V o l t a j e ( V ) Corriente (A) (Voltaje/Corriente) RESISTENCIA ROTOR INDUCTANCIA DE ARMADURA, La. En la medición de la Inductancia de la armadura se utilizo un puente de Maxwell, como se ve en la figura 5-5. Figura 5-5. Puente de Maxwell. En condiciones equipotenciales en el puente se cumple que: L x = R 2 ·R 3 ·C 1 (5.9) Conociendo R x y estimando L x en el rango de los micro Henry (µH), se selecciona R 2 =10 Ω, cuidando que los valores de corriente en el motor no vayan a ser demasiado elevados (a 25 Watts) y C 1 = 100 nF. La fuente de corriente alterna disponible es de 12 V. Como resistencias variables se colocan potenciómetros de 0 a 1 kΩ, por ser los de menores denominaciones encontrados en el mercado para la potencia requerida. Después de equilibrar el puente se encontró midieron los valores de las resistencias ajustables: R 1 = 20 Ω R 3 = 2.4 Ω Con los valores arriba descritos se encontró un valor para la inductancia de Lx = 2.4 µH Los valores presentados en este apartado presentan muchas oscilaciones por lo que el valor de la Inductancia solo es tomado como aproximado y se usará como referencia en el ajuste de valores para el modelo hecho en Simulink. Tabla 5-1. Medición de la resistencia del rotor. Figura 5-4. Gráfica de voltaje frente a corriente. Es interesante observar la ondulación de la gráfica y el hecho de que conforme aumenta el voltaje y la corriente, la resistencia también aumenta. 43 CONSTANTE DE PAR, K b . En la medición de la constante de par, es necesario aplicarle un par conocido a la flecha del motor y posteriormente medir la corriente. El par se aplico suspendiendo un peso medido sobre un hilo que iba siendo enrollado mientras giraba un engrane sujetado a la flecha del motor. Figura 5-6. Motor con par aplicado. Los resultados se muestran en la tabla 5-2: Entrada 5 Volts Radio de giro (mm) Pesos Medidos (gr) Fuerza (N) Corriente (A) Par (N · m) Kb 8 0.3179 3.1186 1.28 0.0249 0.0195 0.5048 4.9521 1.32 0.0396 0.0300 0.6541 6.4167 1.37 0.0513 0.0375 nominal 1.14 0.0222 0.0195 Valor Medio = 0.0290 0.00 0.01 0.02 0.03 0.04 0.05 0.06 1.26 1.28 1.30 1.32 1.34 1.36 1.38 P a r ( N · m ) Corriente (A) Par/Corriente (Kb) COEFICIENTE DE FRICCIÓN, ƒ. El coeficiente de fricción se puede establecer a partir de la velocidad del motor y conociendo el par que genera. Para este cálculo se aplica la ecuación 5.2 eliminando el efecto de la inercia en el par debido a que el motor no está siendo acelerado y también usando la ecuación 5.5. ω constante a 5 Volts T = ƒ · ω T (N · m) ω ƒ 0.02166 95.9931 0.00022564 Tabla 5-3. Coeficiente de fricción Tabla 5-2. Medición de la constante de par. Figura 5-7. Gráfica de par frente a corriente. Es interesante notar como la constante cambia aumentando el par de carga. 44 INCERCIA DEL ROTOR, I. La inercia del rotor se puede calcular midiendo su masa y su radio (25), usando la ecuación: [ = 1 2 × m × r (5.10) La medición de la masa se muestra en la figura 5-8: Figura 5-8. Medición de la masa del rotor en gramos. Masa del rotor (kg) Diámetro del Disco Inercial (m) J (kg·m2) 0.2 0.03 2.25E-05 Tabla 5-4. Momento polar de inercia. CONSTANTE DE VELOCIDAD, K ω . La constante de velocidad se puede obtener usando la ecuación 3.6, se calcula la fuerza electromotriz inducida (Ea) midiendo el Voltaje aplicado, la corriente, la velocidad del rotor y teniendo en cuenta la resistencia de las bobinas. En el motor usado se mide la velocidad de salida a la que hay que aplicar el factor de reducción del juego de engranes que conlleva para obtener la velocidad del rotor medida en radianes/segundo. La tabla 5-5 muestra el cálculo de la constante: Ea (∞) ω(∞) rpm ω(∞) rad/s Kω 2.5 47 36.0934 0.0693 4 110 84.4739 0.0474 5 125 95.9931 0.0521 6 175 134.3904 0.0446 7 205 157.4287 0.0445 8 230 176.6273 0.0453 0.0505 0.0385 VALORES PROMEDIO DE VELOCIDAD Valor medio = Pendiente de la regresión líneal = 0 20 40 60 80 100 120 140 160 180 200 0 2 4 6 8 10 ω ( ∞ ) ( r a d / s ) Ea Velocidad angular/Ea (Kω) En los datos de la tabla se puede apreciar que en el voltaje aplicado de 2.5 volts apenas rota el motor y la constante es diferente a las demás, en 5 volts hay un brinco interesante en la constante. Tabla 5-5. Medición de la constante de velocidad. Figura 5-9. Gráfica de la velocidad frente a Voltaje. 45 Las mediciones de velocidad para esta prueba han sido muy dispersas para un mismo voltaje aplicado y solo los valores promedio se muestran en la tabla, pero las variaciones en las mediciones alcanzan hasta 15% de oscilación sobre el valor medio. 5.4.1 Tabla Resumen Las mediciones para las variables se resumen a continuación: Símbolo Significado Físico Medida Unidades Ra Resistencia de armadura 0.6 (Ω) La Inductancia de armadura 0.0000024 (H) K b Constante de par 0.0195 (N·m /A) ƒ Coeficiente de fricción 0.000226 (N·m·s/rad) J Inercia del rotor 0.0000225 (kg·m 2 ) K ω Constante de velocidad 0.045 (rad/(s · V)) Tabla 5-6. Valor numérico de los parámetros medidos del motor. 5.4.2 Constante de tiempo del motor (26) En muchos casos la inductancia del motor (que representa la constante de tiempo eléctrica) tiene muy poco efecto en el periodo transitorio comparado con la constante de tiempo mecánica. Suponiendo esto la función de transferencia entre la velocidad y el voltaje de entrada se puede reescribir de la manera: ω(s) U(s) = Kb J×Ra×s+Kb×Kω+ƒ×Ra = Km τm×s+1 (5.11) donde Km = Kb Kb×Ko+ƒ×Ru ; constante de ganancia del motor (5.12) y ¡m = ]×Ru Kb×Ko+ƒ×Ru ; constante de tiempo del motor (5.13) La constante del motor se puede medir aplicando un voltaje a de magnitud conocida y medir la velocidad final ω(∞), es decir sin considerar el efecto transitorio. Km = o(∞) u (5.14) La aplicación de esta fórmula para el motor estudiado en este trabajo para a = 5 V, resulta en Km = 96/5 = 19.2 rad/(s·V) La constante de tiempo se obtiene transformando la ecuación 5.11 al dominio del tiempo æ(t) = Km × o(1 -c -t :m ⁄ ) (5.15) despejando τ m se puede reescribir ¡m = -t0 In I1- n(t0) n(∞) ] (5.16) 46 A continuación se muestra τ m medido a diferentes entradas de voltaje, las velocidades pueden ser consideradas como la de la salida de la flecha del motor en rpm, ya que tienen una relación lineal con la velocidad angular del rotor en rad/s. Voltaje (∞) ω(∞) rpm Voltaje (t0) ω(t0) rpm t0 (ms) τm (ms) 2.5 47 1.5 17.68 12.5 26.49 4 110 2 34.40 20 53.33 5 125 3 67.85 30 38.34 6 175 3 67.85 30 61.16 7 205 4 101.29 50 73.38 8 230 6 168.18 112 85.25 Tabla 5-7. Valores de τm para diferentes valores de voltajes en la entrada. En otros trabajos sobre el tema (23) consideran la constante de tiempo igual a la tercera parte del tiempo que tarda el motor en pararse completamente estando a la velocidad ω(∞) y desconectando el suministro de voltaje. En la figura 5-10 se muestra una imagen del osciloscopio en donde se observa el tiempo que tarda el motor en pararse estando excitado con 5 voltios. Figura 5-10. Curva de desaceleración del motor a partir de una alimentación de 5 voltios. Como se puede apreciar el tiempo que tarda en detenerse es de 90 ms aproximadamente y la constante de tiempo usando la aproximación de la tercera parte sería de 30 ms. Como vemos es una buena aproximación; pero siempre que se pueda medir un dato más certero se podrá tener más precisión en el modelado del sistema. Se puede obtener el valor de Tm y Km sustituyendo los datos del resumen de mediciones (Tabla 5-6) en las ecuaciones 5.12 y 5.13 se obtiene: Km = 19.25 rad/(s·V) Τm = 0.01332 s Los valores de Km, uno calculado directamente con la ecuación 5.14 y la obtenida en base a la ecuación 5.12 concuerdan bastante bien; pero el valor de Tm calculado en base a la ecuación 5.13 y los valores de la tabla 5-6 muestra una diferencia grande con respecto al valor medido en la tabla 5-7 para la entrada a 5 Voltios. Con todo lo anterior y analizando las ecuaciones 5-12 y 5-13 se puede suponer sospechosos los valores de J y Ra. 47 En las simulaciones mostradas a continuación se verá que el valor de la inercia (J) es determinante para marcar el tiempo de arranque en una entrada escalón. Hay que tener en mente que para la medición de la inercia únicamente se considero el rotor del motor y no se incluye el efecto que tiene el engrane y la flecha de salida sobre la inercia polar total del sistema. Debido a que estamos analizando un motor de imán permanente y recordando las conmutaciones que tienen lugar en el rotor se cree que la resistencia Ra pueda tener pequeñas oscilaciones a altas frecuencias ocasionando un gran ruido en la corriente de entrada del motor, como se verá en las simulaciones hechas en Simulink. También la inductancia ocasiona ruido en la corriente del motor y entre menor valor tenga: el ruido tiene más amplitud. 5.4 Simulación en Simulink Simulink es una plataforma para programar en MatLab mediante bloques de transferencia y empleando el flujo de datos. El entorno de MatLab se aprecia en la siguiente figura: Figura 5-11. Entorno MatLab - Simulink En la figura 5-11 se presentan 4 ventanas principales, la pequeña del centro contiene el modelo para probar el motor con una entrada escalón, como se puede ver en la venta pequeña superior derecha el valor del impulso corresponde a 5 V, que es el valor que se escoge para la operación del motor. El subsistema “MOTOR” es el que se muestra en la figura 5-3. Los parámetros del motor están guardados en un archivo .m y cada que se cambia algún valor hay que correr este archivo .m (Ventana pequeña inferior derecha) en el espacio de trabajo MatLab, que es la ventana grande de fondo. En esta versión del subsistema se omitió la salida de par para reducir el número de gráficas a mostrar en esta sección, sabemos por la ecuación 3.8 que el par es proporcional a la corriente. 48 Se escogen los valores de velocidad y corriente para ajustar el sistema, ya que son los que podemos medir con más precisión. El tiempo de la simulación se escoge en 0.2 segundos para ver los efectos transitorios de la entrada escalón. En base a la medición realizada con el osciloscopio mostrada en la figura 5-10 el tiempo transitorio se estima en 100 ms. Con los valores presentados en la tabla 5-4, se hace la primer simulación y las curvas de V(t) e I(t) se muestran en la siguiente figura: Figura 5-12. Curvas de velocidad (rad/s) y corriente(A) frente a tiempo (s) simulados en base a los datos de la tabla 5-4. Simulación 1. La principal característica de las dos gráficas es que tienen el mismo tiempo transitorio y presentan una amortiguación muy parecida. Las simulaciones estarán bautizadas con un número y para efectos de comparar los datos mostrados por las gráficas se definen 4 parámetros que mediremos en las gráficas: t Tiempo transitorio (s) ω(∞) Velocidad angular del rotor en estado estable (rad/s) I P Corriente Pico (A) I(∞) Corriente en estado estable (A) En el caso del tiempo transitorio, comparando la velocidad de la figura 5-9 con el voltaje que se ve en la figura 5-13, se puede apreciar que la curva de la simulación presenta más amortiguación. Dado este hecho el tiempo transitorio que proporcionaremos en las mediciones será hasta donde termina la transición brusca de la rodilla, es decir que para la simulación 1 el tiempo presentado será de 0.05 s en vez de 0.07 s. 49 Figura 5-13. Medición del un escalón de 5 voltios de entrada con un osciloscopio. Es interesante notar la no linealidad que surge al final de la curva de ascenso. Para voltajes de entrada más altos se notó que esta perturbación se propagaba como una frecuencia agregada a la línea. Para el caso de la corriente en estado estable, se pondrá un valor numérico al valor medio del ruido o altas frecuencias. De este modo en la simulación 1 podemos medir: t ω(∞) I P I(∞) Sim_1 = [0.05 s, 96.2 rev/s, 8.28 A, 0.90 A ] Si comparamos los valores de la simulación 1 con los que hemos medido en las pruebas, vemos que hay una discrepancia de menor y mayor grado en todos los valores: Medidos = [0.09 s, 96 rev/s, 1.80 A 1.14 A ] A continuación se procede a modificar en un 50% los parámetros a valores más altos y más bajos para efectos de clasificar la influencia de las magnitudes en la presentación de las curvas. ↑ 3.38E-05 J 0.0000225 ↓ 1.13E-05 ↑ 3.39E-04 ƒ 0.000226 ↓ 1.13E-04 ↑ 6.75E-02 Kω 0.045 ↓ 2.25E-02 ↑ 9.00E-01 Ra 0.6 ↓ 3.00E-01 ↑ 3.60E-06 La 0.0000024 ↓ 1.20E-06 ↑ 2.93E-02 Kb 0.0195 ↓ 9.75E-03 [ 0.06 s, 90.1 rev/s, 5.51 A, 0.82 A ] [ 0.025 s, 103.1 rev/s, 16.5 A, 0.95 A ] [ 0.05 s, 96.2 rev/s, 8.29 A, 0.95 A ] [ 0.05 s, 96.2 rev/s, 8.25 A, 0.65 A ] [ 0.035 s, 100.7 rev/s, 8.28 A, 0.55 A ] [ 0.015 s, 107.8 rev/s, 8.24 A, 0 A ] [ 0.08 s, 96.2 rev/s, 8.29 A, 0.9 A ] [ 0.03 s, 96.2 rev/s, 8.27 A, 0.87 A ] [ 0.05 s, 90.2 rev/s, 8.29 A, 1.33A ] [ 0.05 s, 103.1 rev/s, 8.29 A, 0.37 A ] [ 0.04 s, 67.1 rev/s, 8.28 A, 0.55 A ] [ 0.09 s, 169.5 rev/s, 8.29 A, 1.75 A ] Tabla 5-8. Análisis de variación de parámetros. 50 Con base en lo todo lo anterior se empezó a especular con los valores de los parámetros para adecuar la respuesta simulada a la del sistema físico (figura 5-13), igualar la velocidad y corriente nominales, y para igualar las constante del motor y la constante de tiempo (ecuaciones 5.14 y 5.16). Se consideraron tres aproximaciones hacia el objetivo: - Aleatoria: Fue de manera aleatoria y con base en la intuición. Buscando igualar la velocidad y corriente nominales. - Analítica: Usando la tabla 5-8. Buscando igualar la velocidad y corriente nominales. - Aproximada: Enfocada al análisis de las ecuaciones 5-14 y 5-16. Buscando igualar la constante de tiempo. En la tabla 5-9 se muestran los valores obtenidos y las constantes calculadas en base a las ecuaciones 5-14 y 5-16. Valores Medidos Aleatorios Analíticos Aproximados J 0.0000225 0.0000322 0.00004 0.000052 ƒ 0.000226 0.000198 0.000272 0.000221 Kω 0.045 0.045 0.0437 0.0449 Ra 0.6 0.61 0.6 0.6 La 0.0000024 0.000004 0.0000028 0.0000028 Kb 0.0195 0.017 0.0195 0.0185 τm 0.01333 0.02217 0.02364 0.03239 Km 19.25 19.19 19.21 19.21 Tabla 5-9. Se muestran los tres métodos usados en la aproximación de datos y las constantes resultantes de cada combinación. Los datos medidos se muestran en la figura 5-12 y las otras tres clases de valores se muestran en la figura 5-14: 51 Figura 5-14. Graficas de velocidad (rad/s) y corriente (A) frente a tiempo (s) para los tres casos de aproximación de parámetros. De arriba para abajo aparecen: Aleatorios, Analíticos y Aproximados. Los valores de las tres simulaciones son las siguientes: Aleatoria: Sim_2 = [ 0.08 s, 95.9 rev/s, 8.16 A, 0.98 A ] Analítica: Sim_3 = [ 0.08 s, 96 rev/s, 8.3 A, 1.15 A ] Aproximada: Sim_4 = [ 0.1 s, 95.5rev/s, 8.3 A, 1.02 A ] Observando los valores obtenidos y decidiendo en base a la figura 5-14, se consideran los valores de la aproximación analítica para las simulaciones en lo que resta de este trabajo. 52 Los valores considerados en adelante para las simulaciones son: Símbolo Significado Físico Medida Unidades Ra Resistencia de armadura 0.6 (Ω) La Inductancia de armadura 0.0000028 (H) K b Constante de par 0.0195 (N·m /A) ƒ Coeficiente de fricción 0.000272 (N·m·s/rad) J Inercia del rotor 0.00004 (kg·m 2 ) K ω Constante de velocidad 0.0437 (rad/(s · V)) Tabla 5-10. Valor numérico de los parámetros medidos del motor. 5.5 Controlador Proporcional-Integral (PI) El diagrama de bloques con controlador proporcional integral se muestra en la figura 5-15: Figura 5-15. Controlador PI con subsistema y una entrada de perturbación. El diagrama consiste en una consigna que es el par en N·m, la retroalimentación que es la corriente multiplicada por la constante de proporcionalidad K b , la señal de error generada por la diferencia entre la consigna y la salida del motor, que llega y se bifurca a las partes proporcional e integral del controlador para sumarse y ser la entrada de voltaje a nuestro sistema a controlar que tiene un par de modificaciones con respecto al de la figura 5-3. Figura 5-16. Sub-bloque “MOTOR”. La única modificación realizada a nuestro sistema es la adición de una perturbación de par externa, tal como una carga. En el diagrama de la figura 5-15 se prefirió retroalimentar la variable de la corriente con su respectiva ganancia en vez del par, debido a que en la etapa de potencia y en el sistema experimental la corriente se mide directamente como se verá en el capítulo 8. Los parámetros de ganancia del controlador proporcional Kp y del control integral Ki, se definen en un archivo .m diferente al de los parámetros del motor por claridad. 53 CONSTANTE PROPORCIONAL, Kp. El parámetro de referencia del controlador es el par y la variable controlada en el motor es el voltaje por lo que para escoger el valor de proporcionalidad entre estos dos valores de dimensiones distintas se utiliza una tensión nominal de 5 voltios que corresponde aproximadamente a un par de 0.0222 N·m (ver tabla 5-2) La relación lineal entre las dos variables es: KproporcionoliJoJ = S v u.u222 N · m = 22S.22S22S2 I¡(N · m) Esta cantidad se considera como base y el valor de Kp para efectos de este trabajo se expresará en múltiplos de la cantidad Kproporcionalidad, como se puede ver en el código del archivo .m que tiene los valores de las constantes: Ki=0000; Kproporcionalidad=225.2252252; Kp=Kproporcionalidad*1; Se efectuaron numerosas simulaciones para observar el comportamiento del motor a diferentes valores de Kp: Figura 5-17. Respuesta de par frente a tiempo para un controlador con parámetros Ki=0 y Kp=1Kpr. Con la respuesta mostrada en la figura 5-17 nos dimos cuenta que el ruido introducido en el controlador, que son altas frecuencias que aparecen como una línea negra, es demasiado grande y también por el mismo motivo la simulación se hace muy lenta. Para solucionar este problema se colocó un filtro pasa bajas a la salida del bloque motor en la línea de la corriente (ver figura 5-15), pero este método presento un retardo mucho más grande en la simulación y no ayudo mucho al ruido. La solución que se encontró para este problema es bajar la inductancia en los parámetros del modelo del motor (ver tablas 5-6 y 5-10). De esta manera se logró reducir el ruido y tener una mejor simulación, se hizo una prueba con los mismos datos del controlador de la figura 5-17 solo que cambiando el valor de la inductancia como se ve en el título de las gráficas, y esté fue el resultado: 54 Figura 5-18. Respuesta de par frente a tiempo para un controlador con parámetros Ki=0 y Kp=1Kpr. Como vemos, mejora bastante la respuesta quedándose con la parte superior de la franja dibujada en el caso de la figura 5-17. Con lo anterior definiremos una nueva tabla de parámetros del motor que se usarán en el resto de este capítulo para describir el controlador proporcional-integral: Símbolo Significado Físico Medida Unidades Ra Resistencia de armadura 0.6 (Ω) La Inductancia de armadura 0.0000024 (H) K b Constante de par 0.0195 (N·m /A) ƒ Coeficiente de fricción 0.000226 (N·m·s/rad) J Inercia del rotor 0.0000225 (kg·m 2 ) K ω Constante de velocidad 0.045 (rad/(s · V)) Tabla 5-11. Valor numérico de los parámetros para la simulación del controlador proporcional integral. Con los valores de la tabla 5-11 se hicieron las siguientes simulaciones para determinar la mejor respuesta para diferentes valores de Kp: Figura 5-19. Respuesta de par frente a tiempo para un controlador con parámetros Ki=0 y Kp=5Kpr. 55 Figura 5-20. Respuesta de par frente a tiempo para un controlador con parámetros Ki=0 y Kp=12Kpr. Como observamos con el aumento de la constante proporcional del controlador reduce el error en estado estacionario del sistema y hace que el declive de la respuesta en t=0.05 s (aprox.) sea también menor. El valor de Kp = 12Kpr = 2 702.7u nos parece satisfactorio y ahora determinaremos el valor de Ki. CONSTANTE INTEGRAL, Ki. Las pruebas para determinar Ki se hicieron con la misma metodología que para los valores de Kp. En principio se establecieron valores pequeños de Ki como 1 o 5; pero comparados con el valor tan grande de Kp (2 702.7u) no tienen demasiado efecto en el control, por lo que en las siguientes gráficas nos saltamos estos parámetros tan pequeños. Figura 5-21. Respuesta de par frente a tiempo para un controlador con parámetros Ki=1200 y Kp=12Kpr. 56 Figura 5-22. Respuesta de par frente a tiempo para un controlador con parámetros Ki=12000 y Kp=12Kpr. Figura 5-23. Respuesta de par frente a tiempo para un controlador con parámetros Ki=20000 y Kp=12Kpr. 57 Figura 5-24. Respuesta de par frente a tiempo para un controlador con parámetros Ki=25000 y Kp=15Kpr. Podemos observar un cambio muy marcado en la respuesta de la figura 5-21 con la de 5-22. Se puede apreciar como una acción integral tiende a reducir el error estacionario conforme pasa el tiempo. Si aplicamos una constante Ki demasiado grande la respuesta oscilara en forma de una onda senoidal con eje en el valor de la consigna. En cambio en las figuras 5-23 y 5-24 ya no se aprecia mucha diferencia en la respuesta de ambas, que tiende a ser casi una línea recta sobre la consigna. Esto se ve mejor en el siguiente acercamiento de la figura 5-24: Figura 5-25. Acercamiento en el eje del Par para la figura 5-24. En la figura 5-25 se puede apreciar claramente la acción integral que disminuye el error poco después del milisegundo 50. También se puede notar que el máximo error que ocurre es de 1.36%, ya que el menor valor del par después de un acercamiento aún mayor en la gráfica resulta ser de 0.0217. Los valores definitivos para el controlador en etapa de simulación son: Ki= 25000 Kp= 15·Kpr = 3378.38 58 Con estos valores del controlador se obtiene una respuesta aceptable del motor. En el capítulo 8 se verá la respuesta del sistema físico y trataremos de optimizar los parámetros del controlador. Observaremos también la amplitud del ruido o altas frecuencias. A continuación se presentan las gráficas de los 5 diferentes valores de interés del diagrama de bloques del controlador que se muestra en la figura 5-15 (velocidad, par, corriente, entrada al controlador y salida del controlador): Figura 5-26. Gráficas del diagrama de bloques de la figura 5-12 para un controlador con valores Ki=25000 y Kp=15Kpr. 59 CAPÍTULO 6. REDES NEURONALES ARTIFICIALES (RNA) 6.1 Introducción Las técnicas de computación suave (Soft Computing), a las que pertenecen las RNA pretenden emular el comportamiento inteligente de los seres vivos con el fin de dotar de inteligencia a máquinas y procesos. Dentro de la computación suave podemos mencionar las técnicas que emplean: Lógica Difusa, Sistemas Inteligentes, Algoritmos Genéticos y Redes Neuronales Artificiales (10). Actualmente las RNA son un campo de investigación en las áreas de Inteligencia Artificial, Psicología, Medicina, Ingeniería y Física. Algunas de las aplicaciones industriales que han empleado este tipo de tecnología son: aproximación de funciones (control, modelado de procesos y modelado de datos), predicción de series en el tiempo (predicción de señales en el tiempo y modelado de sistemas dinámicos) y clasificación de patrones (diagnóstico de máquinas, reconocimiento de patrones, lingüística y minería de datos) (11). Una RNA es un sistema de procesamiento de información que tiene un comportamiento similar con las redes neuronales biológicas. RNA se han desarrollado en base a generalizaciones de modelos matemáticos de la cognición humana o neuro-biológica, en base a ciertas suposiciones: - El procesamiento de información ocurre en muchos elementos simples, llamados neuronas - Las señales son transmitidas entre la neuronas por conexiones neuronales - Cada conexión individual tiene un peso asociado (weight), el cual, en una red neuronal típica, multiplica la señal transmitida. - Cada neurona aplica una función de activación, (no lineal usualmente) a su red de entradas (suma de las entradas “pesadas” o multiplicadas) para determinar su señal de salida. Cada RNA se caracteriza por el patrón de conexiones entre neuronas (llamada arquitectura), su método de determinar los pesos entre las conexiones (llamado entrenamiento, o algoritmo de aprendizaje), y su función de activación. Con el desarrollo de los ordenadores hemos podido automatizar muchos aspectos de la producción industrial, así como mejorar enormemente múltiples aspectos del control automático. Sin embargo, algunas aplicaciones que quisiéramos automatizar son demasiado complejas para programarlas en un ordenador, la mayoría de estos problemas no es que no tengan solución sino que son difíciles de resolver con la tradicional programación secuencial. Desde esta perspectiva las redes neuronales artificiales cambian el paradigma usando técnicas de procesamiento paralelo, abriendo nuevas perspectivas en múltiples aplicaciones, entre ellas, la ingeniería de control. Una significativa ventaja del enfoque con que las RNA resuelven un problema es que es necesario un proceso bien definido para hacer converger algorítmicamente una entrada a una salida. Para la mayoría de las RNA basta con ejemplos representativos de la relación entrada- salida. Las RNA se adaptan autónomamente (etapa de entrenamiento) para reproducir la salida deseada dada la entrada. Se dice que las RNA son robustas debido a que responderán con una salida inclusive cuando se presenten entradas no mostradas en la etapa de entrenamiento, tales como patrones de entrada con ruido (27). 60 Hay que hacer énfasis en el hecho de que las RNA tienen solamente un parecido superficial con sus contrapartes biológicas. Lo que importa de estos modelos es que todos exhiben comportamientos útiles de aprendizaje, reconocimiento y de relación de patrones con objetos en el mundo real. Con estas funcionalidades, las RNA, nos proveen de nuevas herramientas que podemos usar para resolver problemas “difíciles”. 6.2 Breve historia de las redes neuronales artificiales (27) - Década de 1940: Comienzo de las RNA. Warren McCulloch y Walter Pitts diseñaron lo que se considera como las primeras RNA [McCulloch & Pitts, 1943]. Estos investigadores encontraron que combinando muchas simples neuronas en sistemas neuronales originaba un aumento en el poder de procesamiento computacional. Las redes creadas eran capaces de producir una salida que fuera una combinación de funciones lógicas efectuadas a la señal de entrada. McCulloch y Pitts usaron la idea de tener un umbral en neurona de tal manera que si la señal de entrada era más alta que el umbral, la neurona se dispara. Esta idea se sigue usando en muchas de las RNA de hoy. Los trabajos subsecuentes de McCulloch & Pitts [McCulloch & Pitts, 1947] fueron orientados a cuestiones que todavía son importantes áreas de investigación hoy en día, tal como la translación y rotación en reconocimiento de patrones invariante. Donald Hebb, psicólogo en la universidad McGill, diseño la primera ley de aprendizaje para las redes neuronales [Hebb, 1949]. Su premisa fue que cuando dos neuronas son activadas simultáneamente, entonces la fuerza de conexión entre las dos debería de aumentar. Refinamientos subsecuentes fueron hechos a esta afirmación más bien general para permitir simulaciones computacionales [Rochester, Holland, Haibt & Duda, 1956]. Esta idea es cercanamente relacionada con la correlación de la matriz de aprendizaje desarrollada por Kohonen (1972) and Anderson (1972) entre otros. - Décadas de 1950 y 1960: La primera edad de oro de las RNA. Aunque hoy en día las RNA son vistas como una alternativa (o complemento) a la computación tradicional, es interesante notar que John von Neumann, el “Padre de la computación moderna”, estaba intensamente ineresado en modelar el cerebro [von Neuman, 1958]. Junto con muchos otros investigadores [Block, 1962; Minsky & Papert, 1988 (originalmente publicado 1969)], Frank Rosenblatt (1958, 1959, 1962) introdujo y desarrollo una gran clase de RNA llamadas perceptrones. La regla de aprendizaje de la perceptron usa un ajuste iterativo de pesos que es más poderoso que la regla Hebb. Estos éxitos iniciales con las redes perceptron crearon mucho entusiasmo. Pero, la prueba matemática de la convergencia del aprendizaje iterativo bajo ciertas asunciones fue seguida de una demostración de las limitaciones concernientes a lo que una red perceptron puede aprender [Minsky & Papert, 1969]. Bernard Widrow y su estudiante, Marcian Hoff [Widrow & Hoff, 1960], desarrollaron una regla de aprendizaje (es llamada de mínimo cuadrático medio o regla delta) que es cercanamente relacionada a la regla de aprendizaje de la red perceptron. La regla perceptron ajusta los pesos de las conexiones a las neuronas cada que su respuesta es incorrecta. La regla delta ajusta los pesos para reducir la diferencia entre la entrada de la red a la unidad de salida y la salida deseada. Esto resulta en el menor error cuadrático medio. La regla de Widrow-Hoff para una red unicapa es un precursor de la regla de retropropagación (backpropagation) para la redes multicapa. 61 A las redes desarrolladas por Widrow y Hoff se les llama ADALINE que se interpreta como Neurona Lineal Adaptativa o Sistema lineal adaptativo. Ha habido muchas aplicaciones interesantes de las Adeline, desde RNA´s para sistemas de antenas adaptativos [Widrow, Mantey, Griffiths & Goode, 1967] hasta reconocimiento de patrones ratacionales-invariantes para una gran variedad de problemas de control como el péndulo invertido o controlar la reversa de un tráiler. - Decáda 1970: Los años silenciosos A pesar de la demostración sobre las limitaciones de las redes perceptron (i.e., redes unicapa), la investigación en las RNA continuo. Los primeros trabajos de Teuvo Kohonen (1972), en la Universidad Tecnológica de Helsinki concernían redes neuronales con memoria asociativa. Sus posteriores trabajos (Kohonen, 1982) han desarrollado mapas característicos auto-organizantes que usan estructuras topológicas para las unidades agrupadas. Estas redes han sido aplicadas en el reconocimiento del habla (para palabras Finlandesas y Japonesas) [Kohonen, Torkkola, Shozakai, Kangas & Venta, 1987; Kohonen, 1988], la solución al “Problema del Vendedor Viajero” [Angeniol, Vaubois & Le Texier, 1988], y composición musical [Kohanen, 1989b]. James Anderson, de la Universidad Brown, también comenzó su investigación sobre redes neuronales con memoria asociativa [Anderson, 1968, 1972]. El desarrollo estas ideas en su “Estado-Cerebral-en-una-Caja” [Anderson, Silverstein, Ritz & Jones, 1977], que trunca la salida lineal de los primeros modelos para prevenir que la salida se vuelva demasiado larga mientras la red itera para encontrar una solución estable. El área de aplicación de estas redes es en diagnósticos médicos y aprender las tablas de multiplicación. Anderson & Rosenfeld (1988) y Anderson, Pellionisz & Rosenfeld (1990) son una colección fundamental de artículos en la investigación sobre RNA. Stephen Grossberg, junto con sus múltiples colegas y coautores, han tenido una carrera muy prolífica y productiva. Klimasaukas (1989) enumera 146 publicaciones por Grossberg de 1967 a 1988. Su trabajo, que es muy matemático y biológico, es ampliamente conocido [Grossberg, 1976, 1980, 1982, 1987, 1988]. En conjunto con Stephen Grossberg, Gail Carpenter ha desarrollado la teoría de las redes neuronales auto-organizantes llamada la “Teoría de la Resonancia Adaptativa” [Carpenter & Grossberg, 1985, 1987a, 1987b, 1990]. La teoría de la resonancia adaptativa para patrones de entrada binaria (ART1) y para las entradas continuamente evaluadas (ART2) son algunas de sus contribuciones notables. - Década de 1980: Entusiasmo Renovado Dos de las razones por los “Años silenciosos” de la década 1970, fueron el fracaso de los perceptrones unicapa para resolver tan simples problemas (mapeos) como la función XOR y la falta de un método general para entrenar una red multicapa. El método para la propagación de la información sobre el error en las unidades de salida hacia atrás a las unidades ocultas había sido descubierto en la década anterior [Werbos, 1974], pero no había ganado gran publicidad. Este método también había sido descubierto independientemente por David Parker (1985) y por LeCun (1986) antes de que fuera ampliamente conocida. Es muy similar a otro algoritmo en la teoría de control óptimo [Bryson & Ho, 1969]. Otro personaje clave para el incremento de atractividad y respeto de las RNA fue el prominente físico John Hopfield, del Instituto Tecnológico de California. Junto con David Tank, un investigador en AT&T, Hopfield desarrollo redes neuronales basadas en un peso fijo y activaciones adaptativas [Hopfield, 1982, 1984; Hopfield & Tank, 1985, 1986; Tank & Hopfield, 1987]. Estas redes pueden servir en redes de memoria asociativa y pueden ser usadas para resolver problemas de satisfacción de restricciones como el “Problema del Vendedor Viajero”. Un artículo en Scientific 62 American [Tank & Hopfield, 1987] ayudo a volcar la atención popular hacia las RNA´s, así como lo hizo en su discurso por el premio nobel en física: “En orden de hacer máquinas que hagan lo que los humanos hacen, necesitamos estudiar la cognición humana”. Kunihiko Fukoshima y sus colegas en los Laboratorios NHK en Tokio han desarrollado una serie de redes neuronales especializadas para el reconocimiento de caracteres. Un ejemplo de una red de estas es la llama Neocognitron. Una red anterior auto-organizadora llamada la cognitron [Fukoshima, 1975], falló en reconocer caracteres distorsionados en posición o rotación. Esta deficiencia se corrigió con la neocongintron [Fukoshima, 1988, Fukoshima, Miyake & Ito, 1983]. Numerosas investigaciones han sido dirigidas para desarrollar una red neuronal no determinística, esto es, redes en donde los pesos o umbrales de activación son cambiados en base a una función de densidad probabilística [Kirkpatrick, Gelatt & Vecchi, 1983]; German & German, 1984; Ackley, Hinton & Sejnowski, 1985; Szu & Hartley, 1987]. Estas redes incorporan ideas tan clásicas como la Aneleación Simulada y la teoría de decisión Bayesiana. 6.3 Neurona Biológica El tejido nervioso está constituido por células nerviosas, fibras nerviosas y la neuroglia, que está formada por varias clases de células. La célula nerviosa se denomina neurona, que es la unidad funcional del sistema nervioso. Hay neuronas bipolares, con dos prolongaciones de fibras y multipolares, con numerosas prolongaciones. Pueden ser neuronas sensoriales, motoras y de asociación. Las partes principales de una neurona biológica pueden observarse en la figura 6-1. El tamaño y la forma de las neuronas son variables, pero tienen las mismas subdivisiones básicas. El cuerpo de la neurona contiene el núcleo o soma. El soma se encarga de todas las actividades metabólicas de la neurona y recibe la información de otras neuronas vecinas a través de las conexiones sinápticas. Las dendritas son las conexiones de entrada de la neurona. Por su parte el axón es la "salida" de la neurona y se utiliza para enviar impulsos o señales a otras células nerviosas. Cuando el axón esta cerca de sus células destino se divide en muchas ramificaciones que forman sinapsis con el soma o axones de otras células. Esta unión puede ser "inhibidora" o "excitadora" según el transmisor que las libere (28). Figura 6-1. Partes principales de una neurona biológica. 63 6.4 Neurona Artificial El elemento básico de una RNA es la Neurona Artificial (también conocida como; PE por sus siglas en Ingles, Process Element, elemento de procesamiento básico ó procesador elemental). La neurona artificial o PE propuesto por McCullon y Pitts se puede observar en la figura 6-2 y es una de las más simples. Figura 6-2. Modelo McCullon-Pitts de una neurona (29). Se presentan varias señales de entrada a la neurona, y cada una de estas señales es multiplicada por un valor (peso de conexión). En el caso más simple (caso mostrado), estos productos solo son sumados, y alimentados a través de una función de transferencia de límites rígidos para finalmente generar un resultado binario. Si la entrada a la neurona es menor al valor de Umbral entonces la salida será 0 en caso contrario será 1. En este modelo las conexiones de entrada (flechas) modelan los axónes y dendritas de una neurona biológica, los pesos de conexión a las sinapsis, y la función de límites rígidos a la actividad del soma. Este modelo presenta una gran cantidad de simplificaciones que no reflejan el verdadero funcionamiento de una neurona biológica. El modelo matemático de la neurona McCullon-Pitts está dado por 1 n j j j y u w θ = = + ∑ (6.1) donde u = Valor de la señal de salida de la neurona, regularmente se considera igual al nivel de activación de la neurona. w = Peso de la entrada j. y= Valor de señal de entrada j. θ= Valor de umbral o sesgo de la función. n = Numero de entradas a la neurona. La implementación de una neurona artificial también es posible mediante estructuras de redes que utilizan otras funciones de sumatoria o diferentes funciones de transferencia, el caso general se ve representado en la figura 6-3: 64 Figura 6-3. Modelo de neurona artificial general (30). Las funciones de entrada más empleadas y conocidas son: a) Sumatoria del producto de los valores de entrada por sus respectivos pesos. 1 n j j j y w = ∑ (6.2) b) Producto de las entradas pesadas (producto de todos los valores de entrada, multiplicados por sus correspondientes pesos). 1 n j j j y w = ∏ (6.3) c) Máximo de las entradas pesadas. Solo considera el valor de entrada más fuerte, previamente multiplicado por su peso correspondiente. ( ) maxj j j y w (6.4) d) Distancia euclidiana. ( ) 1 2 n j ij j y w = ∑ − (6.5) Una neurona artificial puede estar activa o inactiva; esto significa que tiene un estado de activación. Algunas neuronas artificiales pueden encontrarse en un valor de activación dentro de un conjunto determinado. La función de activación calcula el estado de actividad de una neurona, esta es una función del valor x proporcionado por la función de entrada (valor de salida en función de entrada). Las funciones de activación más empleadas se mencionan en seguida, y muestran en la figura 6-4: a) Función lineal. ( ) 1 1 , 1 1 , 1, 1 x a ax x a a x f x a − ⎫ ≤ − ⎧ ⎪ ⎪ ⎪ − ⎪ ⎪ < < ⎪ ⎪ = ⎨ ⎬ ⎪ ⎪ ⎪ ⎪ ≥ ⎪ ⎪ ⎩ ⎪ ⎭ (6.6) 65 Siendo a un valor que afecta la pendiente de la función. b) Función Sigmoidea. ( ) 1 1 x f gx e = − + (6.7) Siendo g un valor que afecta la pendiente de la función. c) Función Tangente Hiperbólica ( ) ( ) gx gx x x f tgh gx gx e e e e − − = = − + (6.8) Siendo g un valor que afecta la pendiente de la función. d) Función Gausiana ( ) 2 Bx x f Ae − = (6.9) Siendo A y B un valor que afecta la dispersión de la función. Por último el elemento de procesamiento está listo para proporcionar el valor de la señal de salida u. Esta salida es transferida a otros elementos de procesamiento, o a una conexión de salida, como corresponda a la estructura de la red. Si la función de activación está por debajo de un umbral determinado, ninguna salida se pasa a la neurona siguiente. Normalmente los valores de entrada a una neurona están restringidos dentro de un rango (0,1), ( -1 , 1 ), etc. Figura 6-4. Funciones de activación más comúnmente empleadas 66 6.5 RNA En la figura 6-5 se muestra una clasificación de los métodos empleados en la implementación de RNA. La flexibilidad se refiere a las facilidades que ofrece el sistema para modificar el modelo de RNA, mientras que la eficiencia hace referencia al grado de adaptación de la red con la aplicación en términos de autonomía, velocidad de cálculo y densidad de empaquetamiento (neuronas artificiales por área) (31). Figura 6-5. Diferentes métodos de implementación de las RNA (31). La ventaja que presentan las RNA a otros tipos de controladores es que estas aprenden el funcionamiento deseado mediante ejemplos sin necesidad de un modelado matemático que represente la tarea a realizar, incluso las RNA tienen capacidad de aproximar funciones no lineales complejas. Una RNA es una estructura de procesamiento paralelo de datos compuesta de PE´s o neuronas, interconectados mediante un gran número de conexiones (sinapsis), una RNA se podría considerar una variación de la idea del Procesamiento Distribuido en Paralelo. En una RNA los PE´s se encuentran agrupados en capas (layers) y están altamente interconectados por medio de sinapsis; de esta forma la estructura posee varias entradas y salidas, las cuales es común manejarlas en forma de vectores. Las sinapsis son establecidas (entrenadas) para reaccionar de una forma determinada a los estímulos de entrada y generar una salida deseada. La configuración de las interconexiones es representada normalmente por medio de Graficas Dirigidas. Una Grafica Dirigida consiste de nodos (en el caso de una RNA representan las neuronas, y las señales de entrada externas) así como flechas direccionadas (que representan las uniones sinápticas). Por lo tanto, en una RNA la arquitectura y su dinámica define un elemento aproximador de salida(s) en base a su(s) entrada(s), en la cual una función desconocida f: X→Y genera las parejas de muestras observadas (x 1 , y 1 ), (x 2 , y 2 ), (x 3 , y 3 ), ….Los datos de muestra modifican parámetros en las neuronas de la RNA de tal forma que dicha RNA responda en una forma cercana a la función desconocida f. Dicha aproximación tiende a mejorar conforme se incrementa la cantidad de muestras. Podemos decir que una RNA está definida por cuatro parámetros: 1. Tipo de Neurona Artificial (o nodo, cuando se realiza su grafica) 67 2. Arquitectura de conexión. En relación a la manera en que está organizada la conexión entre las capas de neuronas 3. El algoritmo de entrenamiento 4. El algoritmo de recuperación Como se observa en la figura 6-6, podemos distinguir 3 tipos de capas: • De entrada. Donde se recibe la información proveniente de fuentes externas a la RNA. • Ocultas. Son las que se encuentran en la estructura interna de la RNA y no tienen contacto directo con el exterior. • De salida. Transfiere la información obtenida por la RNA hacia el exterior. Básicamente, todas las RNA tienen una estructura o topología similar a la que se muestra en la figura 6-6. Existen redes útiles que contienen una sola capa, o a un solo elemento, pero la mayoría de las aplicaciones requieren redes que al menos tengan los tres tipos de capa. La capa de neuronas de entrada recibe los datos ya sea por medio de archivos de entrada o en aplicaciones de tiempo real directamente de sensores. La capa de salida envía información directamente al “mundo exterior”, ya sea a un proceso de cálculo secundario o la etapa de potencia electrónica de un sistema de control mecánico, por ejemplo. Entre estas dos capas puede haber muchas capas ocultas. Estas capas internas contienen neuronas interconectadas en varias estructuras. La entrada y salida de cada una de estas neuronas ocultas simplemente alimenta a otras neuronas. Figura 6-6. Grafica dirigida de una RNA general. Todas las neuronas correspondientes a una capa pueden estar conectadas con todas las neuronas de las capas vecinas, esto sería una Conexión Completa. Cuando no existen todas las conexiones posibles de una neurona o capa de neuronas se dice que están Parcialmente Conectadas. La manera en que las neuronas se encuentran conectadas a otras tiene un impacto significativo en la operación de la red. 68 Existen dos clasificaciones importantes de arquitecturas de conexión que se distinguen por el número de conjuntos de entradas y salidas, y la cantidad de capas empleadas: • Auto-asociativas. En estas RNA las neuronas de entrada son también las neuronas de salida. • Hetero-asociativas. Los conjuntos de neuronas de entrada son distintas a las neuronas de salida (un ejemplo es el Perceptron y el Perceptron de capas Múltiples) Considerando la existencia de conexiones de realimentación se pueden distinguir dos clases de arquitecturas mostradas en la figura 6-7: • Arquitectura de alimentación hacia adelante (feedforward). No existe alguna conexión desde las neuronas de salida hacia las neuronas de entrada. En esta RNA no se almacenan los valores de salida previos o el estado de activación de alguna de sus neuronas. • Arquitectura de Realimentación (feedback). Existen conexiones desde las neuronas de salida hacia las neuronas de entrada. En este tipo de RNA es necesario almacenar los valores previos de salida y los estados de activación de algunas neuronas. Figura 6-7. Ejemplos de RNA con distinta arquitectura de alimentación. 6.5.1 Características de las RNA Las RNA tienen características que no se encuentran presentes en el modelo de computador propuesto por Von Neumann (la arquitectura Von Neumann permite solamente una operación por unidad de tiempo al ordenador (10)), algunas de estas son: • Procesamiento Paralelo • Calculo y representación distribuida • Habilidad de aprender Socráticamente (por medio de ejemplos) • Habilidad de generalizar • Adaptabilidad • Tolerancia a fallas • Las conexiones en la RNA almacenan la información del patrón de entrenamiento 6.5.2 Entrenamiento de una RNA Una de las características fundamentales de las RNA es el hecho de que pueden comportarse como aproximadores universales. El teorema de aproximación menciona que debido a la capacidad que posee una RNA para aprender funciones es posible aproximar cualquier función f con una determinada exactitud. El teorema de aproximación establece que existe una RNA determinada que puede aproximar cualquier función, aunque dicho teorema no define como debe construirse dicha RNA, no dice nada de las dimensiones, cantidad de PE´s o capas, que debe contener dicha RNA. En el diseño de RNA es posible emplear distintas estructuras que pueden desempeñar la misma función, cada una de ellas con sus propios parámetros de aprendizaje. 69 Las RNA son estructuras inherentemente plásticas (realizan modificaciones en algunos parámetros internos) que aprenden. El proceso de aprendizaje para una determinada RNA se puede realizar bajo distintas condiciones de aprendizaje y empleando distintos algoritmos de aprendizaje. Durante el proceso de aprendizaje la RNA debe ajustar sus valores de pesos y sesgos para aprender la tarea deseada. Para diseñar un proceso de aprendizaje se debe contar con un modelo del entorno en el cual la RNA operará, definiendo lo que es conocido como arquitectura de entrenamiento. Existen tres arquitecturas principales de entrenamiento: supervisado, sin supervisión e híbridos. En este trabajo se empleará el entrenamiento supervisado ya que es posible obtener los datos de entrenamiento necesarios para este tipo de adiestramiento y las RNA a emplear en esta tesis pueden ser enseñadas empleando entrenamiento supervisado. 6.5.3 Entrenamiento supervisado En el entrenamiento supervisado se le proporciona a la RNA el valor de salida correcto para cada uno de los patrones de entrada y posteriormente los valores de los pesos de conexión son modificados de tal forma que la RNA produzca una respuesta en la salida que sea lo más cercana posible al valor deseado. Durante el entrenamiento de una red el mismo conjunto de datos se procesa tantas veces como sea necesario para que el peso de las conexiones sea el adecuado. Al conjunto de datos que se emplea en el aprendizaje o entrenamiento se le llama “Conjunto de adiestramiento” (Training Set). A pesar del entrenamiento, algunas RNA nunca aprenden la tarea deseada. Esto puede ser debido a que los datos de entrada no contienen la información suficiente para producir la salida esperada. Las RNA además no convergen si no se tienen los suficientes datos para generar el aprendizaje. Idealmente, debe haber suficientes datos, de tal forma que parte de los datos se conserven de respaldo para verificar la respuesta de la RNA ya entrenada, dichos datos no se le han presentado antes y de esta manera se puede comprobar que la RNA ha generalizado y no solo memorizado los valores que se le presentaron. La memorización se puede evitar no teniendo exceso de capas. Si una RNA no puede resolver un problema, se deben revisar: los datos de entradas y salidas, el número de capas, el número de elementos por capa, el tipo de conexión entre capas, las funciones de entrada, activación, salida y de adiestramiento. Por lo regular se emplea un solo tipo de función para todas las neuronas de una capa, pero esto solo por conveniencia de programación. Otra cosa que puede afectar el funcionamiento de una RNA es la forma en que se le presentan los datos de entrada y salida (codificados o no). Las RNA solo tratan con datos de entrada numéricos, sin embargo, normalmente el formato del dato puede ser convertido desde el exterior. Adicionalmente, es necesario en ocasiones escalar el dato, o normalizar este al modelo de la red. Existen muchas leyes (algoritmos o reglas) empleadas para implementar la adaptación de los pesos mediante realimentación durante el entrenamiento. La más empleada es la de propagación de error hacia atrás o retro-propagación (Backpropagation). En la literatura se pueden encontrar una gran variedad de aplicaciones exitosas de RNA, entre estas se tienen: reconocimiento de patrones, control de sistemas, procesamiento de señales, predicción de eventos, etc. 6.5.4 RNA tipo backpropagation (RNA BP) La RNA BP fue formalmente definida por Werbos, y después refinada por Parker y el equipo Rummelhart & McClelland (28). Este tipo de red está diseñada para funcionar como red de capas múltiples, con alimentación hacia adelante, empleando el modo de entrenamiento supervisado. La RNA BP aprende un conjunto predefinido de parejas de entrada-salidas deseadas empleando un ciclo de dos fases propagación-adaptación. Después de que un patrón de entrada 70 ha sido aplicado como estimulo a la primera capa de la red, este es propagado a través de cada una de las capas siguientes hasta que se genera una salida de la RNA BP. Este patrón de salida es comparado entonces con la salida deseada y una señal de error se calcula para cada unidad de la capa de salida. La señal de error calculada es entonces transmitida hacia atrás desde la capa de salida hasta cada uno de los nodos de las capas intermedias que contribuyen directamente con la salida. Sin embargo, cada una de las unidades de las capas intermedias solo recibe una porción de la señal de error total calculada, basada estrictamente en la contribución que cada unidad hace para la salida original. Este proceso se repite, capa por capa, hasta que cada nodo de la red ha recibido una señal de error que describe su contribución relativa al error total. Basado en la señal de error recibida, los pesos de conexión se actualizan en cada unidad provocando que la red converja hacia un estado que le permita codificar todos los patrones de entrenamiento. Conforme se entrena la RNA BP, los nodos en las capas intermedias se ajustan a sí mismos de tal forma que distintos nodos aprenden a reconocer diferentes objetos del espacio total de entrada. Después del entrenamiento, cuando se le presenta un patrón arbitrario de entrada que contiene ruido o está incompleto, las unidades en la capa intermedia de la red responderán con una salida activa si la nueva entrada contiene un patrón que asemeje el objeto que la unidad individual enseñado a reconocer durante el entrenamiento. Convencionalmente, las unidades de las capas ocultas tienen una tendencia a inhibir sus salidas si el patrón de entrada no contiene el objeto el cual fueron entrenadas a reconocer. Conforme la señal se propaga a través de las diferentes capas en la RNA BP, la actividad del patrón presente en cada una de las capas superiores se puede considerar como un patrón con objetos que pueden ser reconocidos por unidades en las capas siguientes. El patrón de salida generado puede considerarse como una representación de la presencia o ausencia de muchos objetos combinados en la entrada. Algunas investigaciones han mostrado que durante el entrenamiento, las RNA BP tienden a desarrollar relaciones internas entre los nodos como si organizaran los datos de entrenamiento dentro de clases o patrones. Esta tendencia puede ser extrapolada a la hipótesis de que todas las unidades de las capas ocultas de una RNA BP son de alguna manera asociadas con objetos específicos de los patrones de entrada como resultado del entrenamiento. De esta forma la RNA BP encuentra una forma de representar internamente los patrones de forma que le permite generar la salida deseada cuando se le proporciona una entrada de entrenamiento. Esta misma representación interna puede aplicarse a las entradas que no se emplearon durante el entrenamiento. La RNA BP puede clasificar estas entradas desconocidas de acuerdo a los objetos que fueron aprendidos durante el entrenamiento. 6.5.5 Regla Delta Generalizada (GDR) El algoritmo que se emplea para entrenar una RNA BP es la Regla Delta Generalizada. Como se menciono, la RNA BP está compuesta por capas múltiples, con propagación de las entradas hacia adelante y completamente interconectada en sus capas. Esto significa que no existen conexiones hacia atrás ni conexiones que alimenten la salida de una capa hacia otra que no sea la siguiente. Puede existir más de una capa oculta en una RNA BP. Una RNA es llamada red representativa (mapping network) si esta es capaz de calcular alguna función de relación entre las entradas y las salidas. Estas son útiles en situaciones donde se desconoce la función de relación entre las entradas y salidas, en estos casos la alta capacidad de la RNA para descubrir su propia representación es extremadamente útil. Si se cuenta con un conjunto de P vectores de parejas, (x 1 , u 1 ),.....(x p , u p ), los cuales son ejemplo de una función representativa u = φ (x) : x ∈ R N , u ∈ R N , se puede entrenar una RNA BP 71 para obtener una aproximación O = u´ = φ (x)´. Para emplear el método aquí expuesto es necesario que los vectores de parejas hayan sido adecuadamente seleccionados y que exista suficiente cantidad de ellos. El algoritmo asemeja al problema de encontrar la ecuación de una línea que mejor aproxima un conjunto de puntos. Y es una generalización de la regla de los mínimos cuadrados. Como este caso se asemeja a contar con no linealidades y dimensiones múltiples, se emplea una versión interactiva del método simple de los mínimos cuadrados, llamada técnica de gradiente descendente. Figura 6-8. Arquitectura de una red tipo backpropagation (28). Para iniciar se considera un vector de entradas, x p = (x p1 , x p2 , ..... x pN ) T , que se aplica a la capa de entrada de una RNA BP. Las unidades de la entrada distribuyen los valores a las unidades de las capas ocultas. La entrada a la red de la unidad oculta j es: 1 N h h h pj ji pi j i Net w x θ = = + ∑ (6.10) Donde w ji h es el peso en la conexión de la unidad de entrada i a la unidad de la capa oculta j, y θ j h es el término de sesgo o umbral y N es el número de entradas. El súper índice “h” refiere a la capa oculta (hidden). Considerando que la activación de este nodo es igual a la entrada de la red; entonces, la salida de este nodo será dada por: ( ) h h pj j pj I f net = (6.11) La ecuación para la salida del nodo será: ( ) 1 L o o o pk kj pj k j o o pk k pk Net w I O f Net θ = = + = ∑ (6.12a) (6.12b) donde L es el numero de neuronas en la capa oculta y O refiere a objetos en la capa de salida. El conjunto de valores de pesos iniciales representan una primera suposición de los pesos adecuados al problema. El proceso básico de entrenamiento de una BPN está incluido en la siguiente descripción: 1. Aplicar un vector de entrada a la red y calcular el correspondiente valor de salida 72 2. Comparar el valor actual de la salida con la salida deseada correspondiente y determinar una medida del error. 3. Determinar en qué dirección (+ o - ) cambiar cada peso con la finalidad de reducir el error. 4. Determinar la cantidad a la cual cambiar cada uno de los pesos. 5. Aplicar la corrección a los pesos. 6. Repetir los pasos 1 al 5 con todos los vectores de entrenamiento hasta que el error para todos los vectores en el conjunto de entrenamiento se reduzca a un valor aceptable. 6.5.6 Entrenamiento de una RNA BP 1. Aplicar un vector de entrada, x p = (x p1 , x p2 ,....., x pN ) T a las unidades de entrada. 2. Calcular el valor de entrada a cada una de las neuronas en las capas ocultas: ecuación 6.10. 3. Calcular la salida de la capa oculta: ecuación 6.11. 4. Cambiar a la capa de salida. Calcular el valor de entrada a cada neurona: ecuación 6.12a. 5. Calcular la salida: ecuación 6.12b. 6. Calcular el término de error para las unidades de salida: ( ) ( ) ´ o o o pk pk pk k pk y o f Net δ = − (6.13) 7. Calcular el error para las unidades en la capa oculta: ( ) ´ h h h o o pj j pj pk kj f Net w δ δ = ∑ (6.14) Notar que el error para las unidades en la capa oculta se calcula antes que los pesos de conexión en la capa de salida sean actualizados. 8. Actualizar los pesos en la capa de salida: ( ) ( ) 1 o o o kj kj pk pj w t w t i ηδ + = + (6.15) donde η es el rango de aprendizaje 9. Actualizar los pesos en la capa oculta: ( ) ( ) 1 h h h ji ji pj i w t w t x ηδ + = + (6-16) El orden de la actualización de los pesos en una capa individual no es importante. Asegurarse de calcular el valor de error: 2 1 1 2 M p pk k E δ = = ∑ (6-17) donde M es el número de neuronas en la capa de salida. 73 Ya que esta cantidad es una medida del aprendizaje (suma de los errores cuadrados de todas las unidades en la salida). Cuando el error es aceptablemente pequeño para cada uno de los vectores de entrenamiento, el entrenamiento puede darse por terminado. Existen dos funciones de interés: f k o (Net jk o ) = Net jk o (lineal) donde f k o ´ (Net pk o ) = 1 y f k o (Net pk o ) = ( 1 + e -Net jk o ) -1 (sigmoide) donde f k o ´ (Net pk o ) = f k o (1-Net pk o ) = o pk (1- o pk ) La RNA BP es buena para generalizar, esto quiere decir, dados diferentes vectores de entrada, siendo todos de la misma clase, una RNA BP aprenderá a asimilar las similitudes en los vectores de entrada y los datos irrelevantes serán ignorados. En oposición a la generalización, una RNA BP no puede extrapolar bien, si una RNA BP es inadecuada o insuficientemente entrenada en una clase particular de vectores de entrada, posteriores identificaciones de miembros de esta clase podrían fracasar. Uno se debe asegurar que el conjunto de entrenamiento cubra todo el espacio de entradas esperadas. Es conveniente durante el entrenamiento, seleccionar parejas de entrada-salida de forma aleatoria en el conjunto de entrenamiento. En algunos casos, el no entrenar la red completamente con una clase y entonces cambiar a otra podría hacer a la red olvidar el entrenamiento original. 6.5.7 Pesos y parámetros de aprendizaje Los pesos pueden ser inicializados a valores pequeños y aleatorios, por ejemplo entre +0.5 y -0.5, al igual que los términos de sesgo (o umbrales), Es común emplear los valores de sesgo como otro peso que está conectado a una neurona ficticia cuya salida siempre es uno. De esta manera podría participar del proceso de aprendizaje como peso y ser modificado. Otra opción es no emplear sesgos, el uso de ellos es opcional. La selección de un valor para el parámetro de factor de aprendizaje, tiene un efecto significante en la ejecución de la RNA. Usualmente debe ser un valor pequeño en el orden de 0.05 a 0.25 para asegurarse que la RNA se dirigirá hacia una solución. Un valor pequeño del rango de aprendizaje significa que la RNA tendrá que hacer un mayor número de iteraciones. Es posible modificar la tasa de aprendizaje conforme el entrenamiento se desarrolla, aumentando este conforme el error de la red disminuye ayudara por lo regular a la velocidad de convergencia, mediante el incremento de la dimensión del paso conforme el error llega al mínimo, pero la red podría rondar muy lejos del valor mínimo actual si el valor del rango de entrenamiento es demasiado grande. Otra manera de incrementar la velocidad de convergencia es emplear el método del momento. Cuando se calcula los valores de cambio para los pesos, se añade una fracción del cambio previo. La adición de este término tiende a mantener los cambios de los pesos en una misma dirección, por eso se le llama momento. La ecuación para los cambios de los pesos en la capa de salida vendría a ser: ( ) ( ) ( ) 1 1 o o o o kj kj pk pj p kj w t w t i w t ηδ α + = + ∗ + Δ ∗ − (6.18) Con una ecuación similar se puede encontrar los cambios de pesos en la capa oculta. En la ecuación el símbolo α es el parámetro de momento y por lo regular es positivo menor que 1. El uso de este término es opcional. 74 Una consideración final es la posibilidad de converger en un mínimo local en el espacio de los pesos. Una vez que la RNA se establece en un mínimo, ya sea local o global, el aprendizaje termina. Si se alcanza un mínimo local, el error en la salida de la RNA podría ser inaceptable. Si el aprendizaje de una RNA cesa antes de alcanzar un error aceptable, un cambio en la cantidad de nodos ocultos o en los parámetros de aprendizaje por lo regular soluciona este problema: o simplemente se podrá empezar con otro conjunto distinto de pesos iniciales. Cuando una RNA alcanza una solución aceptable, no se puede asegurar que esta allá alcanzado el mínimo global en lugar de un mínimo local. 75 CAPÍLUTO 7. SIMULACIÓN DE RNA 7.1 Introducción En este capítulo se explicará cómo crear una red neuronal artificial en MatLab, la arquitectura que se va a emplear y la sustitución del controlador PI por una RNA. La red será entrenada con datos de simulaciones del controlador PI. En el capítulo 8 se describirá la implementación de la red a nivel físico y se propondrá una red entrenada con datos de muestreo reales, ya que veremos que surgen pequeños obstáculos en la implementación física debido a las altas frecuencias (ruido) presentes en la señal sensada (corriente), lo cual ocasiona la necesidad de implementar un filtro en el caso del control PI. 7.2 Redes Neuronales Artificiales en MatLab (7) Para sustituir el controlador PI se seleccionó una red de alimentación hacia delante con un entrenamiento de retro-propagación del error debido a que este tipo de redes neuronales son capaces de aprender a imitar funciones de control y de ecuaciones no lineales. En MatLab existen dos opciones para programar una red de este tipo: en simulink y en MatLab. En simulink se cuentan con las herramientas para construir la arquitectura de una red con sub-bloques que representan funciones clave de la red. Los sub-bloques que están disponibles para diseñar una red en esta modalidad son: Figura 7-1. Tipos de funciones disponibles en la librería neuronal de Figura 7-2. Funciones de Transferencia disponibles en Figura 7-3. Funciones de entrada para RNA. Figura 7-4. Funciones de asignación de pesos a la RNA. 76 Figura 7-5. Funciones de procesamiento para las RNA. También es posible diseñar una red desde MatLab y luego exportarla hacia la plataforma simulink como un bloque. Como veremos existen muchos comandos abreviados de MatLab que nos ayudarán a disminuir el tiempo en la creación de cada red neuronal, aunque se explicara de manera breve el entorno del toolbox de RNA que es una interfaz gráfica para crear y entrenar redes neuronales, como se puede ver en la figura 7-6: Figura 7-6. Entorno gráfico de MatLab para crear y entrenar RNA. La ventana principal corresponde al manejo general de datos para entrenar una RNA, y las RNA se crean en la pestaña “New Network”, que nos da variadas opciones para escoger el tipo de red y definir las funciones que hacen que opere. Para crear una red neuronal de alimentación hacia delante (feedforward) existe en MatLab el comando newff(), cuya sintaxis es: newff(PR,[S1 S2...SN],{TF1 TF2...TFN},BTF,BLF,PF) takes, PR – Matriz R x 2 de valores máximos y mínimos para R valores de entrada Si – Tamaño de la capa “i” para N capas TFi – Función de transferencia de la capa “i”, por defecto = 'tansig' BTF – Función de entrenamiento de retro-propagación, por defecto = 'traingdx' BLF – Función de aprendizaje para el peso y el bias en la retro-propagación, por defecto = 'learngdm' PF – Función de rendimiento, por defecto = 'mse' 77 El comando newff es aplicado dentro de la definición de un objeto del tipo RNA, digamos que nuestra RNA se va a llamar red, entonces la definimos de esta manera en el espacio de trabajo de MatLab: red = newff [crea una la RNA con nombre “red”] Las funciones de rendimiento sirven para evaluar la medida del error entre la salida actual y la salida deseada, se usan en la etapa de entrenamiento y nos dan una idea sobre la habilidad de la RNA a emular la respuesta que se le presenta dada la entrada. En MatLab tenemos varias funciones que se pueden escoger para cuantificar el parámetro del error, pero para efectos de este trabajo se usará solo la función “mse” debido a que no se notaron diferencias notables en las experimentaciones realizadas con las diversas funciones: mse - Función de rendimiento del error medio cuadrático mae - Función de rendimiento del error medio absoluto mserg - Función de rendimiento del error medio cuadrático con regularización sse - Función de rendimiento por suma del error cuadrático Las funciones disponibles para el entrenamiento son más numerosas y se experimentó con varias de ellas notando las diferencias de una a otra, pero para efectos de esta tesis se uso la función “trainlm” para el entrenamiento, ya que mostró reducir más el error aunque la función usa mucha memoria y no se pueden entrenar redes de muchas neuronas (50 en la capa oculta) debido a errores del sistema provocados por las limitaciones del ordenador. Existen las siguientes: trainlm - Función de entrenamiento Levenberg-Marquardt. trainbfg - Función de entrenamiento Quasi-Newton. trainrp - Función de entrenamiento de propagación hacia atrás resiliente. trainscg - Función de entrenamiento del gradiente conjugado escalado. traincgb - Función de entrenamiento del gradiente con reinicios Powell/Beale. traincgf - Función de entrenamiento del gradiente conjugado Fletcher-Powell. traincgp - Función de entrenamiento del gradiente conjugado Polak-Ribiére. trainoss - Función de entrenamiento del secante de un paso. La arquitectura general que se usará para este trabajo será la que se muestra en la figura 7- 7: Figura 7-7. Arquitectura general para la red neuronal. 78 La señal de entrada x t es el error entre la consigna y la señal de retroalimentación del bucle de control en un tiempo dado “t”, esta señal pasa por una serie de retardos cuyo número será igual al número de neuronas en la capa oculta, esto tiene la ventaja de que la red procesará no solo el valor en el instante deseado sino que tendrá la información del error en instantes de tiempo pasados. También se puede dar el caso de tener menos retardos y más neuronas en la capa oculta o viceversa. El número de neuronas en la capa oculta y el número de retardos se escogerán después de estudiar el comportamiento con diferentes valores. La función de activación para cada neurona de la red oculta será la tangente sigmoidea y la función de la capa de salida será lineal para poder escalar la salida de la capa oculta a valores de trabajo entre -10 y +10 voltios. Esta arquitectura ha demostrado ser adecuada para poder imitar funciones de control. Una vez habiendo creado y entrenado la red en MatLab, se exporta como bloque de simulink mediante el comando: gensim(red,st) donde “red” es el nombre de la RNA y “st” es el tiempo de muestreo que para el caso de esta tesis se escogerá como 0.001 segundos. Una vez procesada la información por el ordenador MatLab abrirá una ventana de simulink con el bloque de la red creada, este bloque se selecciona y se copia a nuestro espacio de trabajo sustituyendo el controlador PI. 7.2.1 Creación y entrenamiento de RNA Empezaremos creando un archivo .m que contenga las instrucciones necesarias para generar un objeto de la clase “network” (red) en el espacio de trabajo de MatLab para posteriormente poder importar este objeto a la ventana principal de nntool (figura 7.6) y luego poder entrenar la red. Primero comenzaremos creando una red llamada “RED5_10” con 5 retardos, 10 neuronas en la capa oculta y una neurona en la capa de salida. Las funciones de activación son tangente-sigmoidea para la capa oculta y lineal para la neurona de salida. El código que genera a la red es el siguiente: RED5_10=newff([-1 1],[5 1],{'tansig','purelin'},'traingd'); RED5_10.inputWeights{1,1}.delays=[0 1 2 3 4 5 6 7 8 9 10]; Ejecutando estas instrucciones aparecerá un objeto llamado RED10 en el espacio de trabajo de MatLab. Teniendo la red creada es necesario entrenarla, para esto se le presentan datos de entrada a la red y se le indica la respuesta esperada por cada entrada. Los datos de entrenamiento son los obtenidos de las simulaciones realizadas con el control PI y el modelo matemático del sistema en simulink. Después de una simulación satisfactoria con el controlador RNA, se procederá a entrenar la misma red con datos tomados de las pruebas físicas. Investigando un poco los tutoriales de MatLab y algunos trabajos anteriores de redes neuronales implementadas con simulink parecía fácil y rápido el entrenamiento de una RNA con una respuesta satisfactoria. Como un antecedente al control de par para este trabajo, ya se había logrado sustituir un controlador PI para regular la velocidad de un motor ficticio cuyos parámetros se obtuvieron de un ejercicio de simulación. Esta red no presento mayores dificultades en el entrenamiento y presento una respuesta aceptable en la simulación, sin embargo a la hora de sustituir el controlador PI de la regulación de par y con los parámetros medidos del motor se encontraron numerosos problemas a la hora de entrenar la RNA. Se buscaron múltiples arquitecturas de RNA y ninguna presentaba una respuesta satisfactoria a la hora de sustituir el control PI. Por eso se opto por encontrar dos redes neuronales, una capaz de imitar la respuesta del controlador proporcional y la otra el controlador integral sometidas a entradas escalón, rampa y senoidal en lazo abierto. Para esto se usaron los diagramas de bloques mostrados en la figura 7- 8, 79 Figura 7-8. Diagrama de bloques usado para generar RNA con diferentes entradas. Los resultados obtenidos fueron bastante interesantes, primeramente se evidenció que la red tiene dificultades con la emulación del comportamiento integral frente a una entrada escalón. Las redes creadas para este problema siempre tenían la misma salida, debido a que los pesos de la red son constantes y no pueden cambiar durante la ejecución de este algoritmo. Al analizar la respuesta en la entrada rampa se obtuvo una aproximación bastante buena, la diferencia básicamente consistía que en los primeros instantes de tiempo la respuesta de la red era negativa (con un valor muy pequeño) hasta que dejaba de haber ceros en los retardos de tiempo, esto es diez ciclos (0.01s). La mejor de las respuestas se presentó con la entrada senoidal. Las respuestas a esta entrada se muestran en la figura 7-9: Figura 7-9. Respuestas de ambos controladores frente a una entrada senoidal de amplitud 0.022 N·m y 20 rad/s de frecuencia. Esta red se entrenó con los datos generados que son captados por los bloques Ent_Sin, ctrl_i_s y ctrl_p_s. Los datos se almacenan en el espacio de trabajo como un vector columna; para entrenar la red es necesario convertir este formato a un arreglo fila de celdas (cell_array{x}), para presentárselos a la red como señales secuenciales. 80 Durante estas pruebas quedo claro que las redes entrenadas para un tipo de entrada no podían presentar respuestas adecuadas a otro tipo de entrada. Pareciera que esto es una desventaja, pero en el capítulo 8 veremos si el entrenamiento con datos obtenidos físicamente muestra ventajas frente al controlador PI. 7.2.2 RNA y modelo del motor Como ya se menciono anteriormente esta etapa del trabajo tardo unas cuantas semanas en ser completado. Esto se debió en mayormente a la gran cantidad de datos y memoria que ocupaban las primeras simulaciones del controlador PI, así como por el estancamiento creativo a la hora de diseñar la arquitectura de la red. Después de numerosas consultas e investigación sobre los parámetros empleados en las simulaciones se pudo mejorar estos dos aspectos que nos llevaron a obtener una red con una respuesta aceptable. Para recopilar los datos de entrenamiento se uso el diagrama de bloques en simulink mostrado en la figura 7-10: Figura 7-10. Diagrama de bloques de simulink de donde se obtienen los datos Ent, ctrl_p y ctrl_i. Después de algunos ensayos se pudo observar que la salida generada por las redes en base al entrenamiento tenía grandes oscilaciones entre valores del orden de 10 3 Voltios. Estas oscilaciones se pudieron reducir editando ligeramente los valores generados por el entrenamiento. Al momento del arranque el error es mucho más grande que en el segundo instante, cuando se llega la primera señal de retroalimentación, el control de la figura 7-10 manda una respuesta de cerca de 80 Voltios como primer dato mientras que los siguientes son menores a 1, por eso se decidió bajar el primer valor manualmente a 10 Voltios que es la saturación usada en los controladores que se implementaron físicamente. Esta medida redujo enormemente la amplitud de las oscilaciones en las respuestas de los controladores RNA. Para generar los datos en simulink es necesario realizar algunos ajustes a los parámetros de simulación, en la figura 5-25 del capítulo 5 se puede observar una enorme oscilación y con ese tipo de simulaciones se llegaron a generar hasta 1 400 000 datos para una simulación de 2 segundos. Debido a que manejar esta cantidad de información es muy difícil si no imposible en los ordenadores usados para este trabajo nos vimos en la necesidad de generar menos datos. La configuración para las simulaciones en simulink se puede cambiar en la pestaña de Simulation<<Configuration parameters podremos apreciar que en el apartado Solver viene preestablecido el tipo de paso-variable (variable-step), esto ocasiona que simulink utilice pasos incrementales muy pequeños en momentos inestables del sistema como el arranque. En nuestro caso la red neuronal va a funcionar con muestreos de pasos fijos (0.001 segundos), por lo que en la generación de datos se opto por cambiar el tipo del solucionador (Solver) a paso-fijo de 0.001 segundos. El tipo de solucionador preestablecido es el Dormand-Prince, que resulta en generar muchas oscilaciones en nuestro caso por lo que se cambio al de extrapolación de orden 4 y 1 81 iteración. Estas modificaciones resultaron en una simulación más rápida y con un ruido casi nulo, obteniendo de esta manera de a 2000 datos por variable, una cantidad fácil de manejar. Figura 7-11. Ventana para configuración de parámetros. Con los datos generados y una vez hechos los ajustes a los valores se entrenó la RNA para 1000 épocas de aproximación y con los demás parámetros de entrenamiento preestablecidos. La gráfica del entrenamiento se muestra en la figura 7-12: Figura 7-12. Gráfica del error frente a las épocas de entrenamiento. Una vez teniendo las RNA entrenadas hasta un valor aceptable se exportaron a la plataforma simulink y se colocaron sustituyendo a los controladores PI de la figura 7-10. Después de retirar los elementos innecesarios, el diagrama de bloques con el que se realizo el primer ensayo aceptable fue el que se muestra en la siguiente figura 7-13. Los resultados obtenidos en la simulación: Velocidad y Corriente se muestran en la figura 7-14. 82 Figura 7-13. Diagrama de bloques de simulink con los controladores RNA. Figura 7-14. Corriente y velocidad frente a tiempo en la simulación con controlador RNA. Analizando las gráficas de la figura 7-14, se puede apreciar que la red pudo arrancar el motor de una manera normal y al ser aplicado un par externo respondió disminuyendo el voltaje y velocidad para mantener la corriente estable. En la gráfica de la corriente se puede apreciar una gran oscilación entre valores máximos y mínimos; pero la tendencia de corriente es fácilmente distinguible y se aprecia como es ligeramente mayor al arranque para luego estabilizarse y después vemos una tendencia al aumento en el segundo 1 cuando se coloca la carga externa. Haciendo una aproximación a la gráfica de la corriente para ver el periodo de las oscilaciones, se encontró que era mucho menor a 10 -3 segundos. Debido a que el muestreo de la red en el sistema experimental será de 10 -3 segundos se concluye que los efectos de las altas frecuencias en la corriente debido al modelo matemático no se comportarán igual en el modelo físico. Con esto se concluye la etapa de desarrollo del controlador RNA a nivel simulación y se empiezan las pruebas en el modelo físico como se explica en el capítulo 8. Figura 7-15. Acercamiento de la corriente frente a tiempo en la simulación con controlador RNA. 83 7.2.3 Problemas con las simulaciones Durante las simulaciones con el controlador RNA se encontraron problemas con distintos parámetros de simulación. Los parámetros establecidos que completaron las simulaciones sin errores se muestran en la figura 7-16. La simulación con los parámetros de paso fijo (fixed step) marcaban errores en momentos muy tempranos de la simulación debido a una singularidad o infinito originado en el bloque del modelo del motor que contiene el valor de la inductancia. Estos problemas ya se habían presentado en la simulación con controlador PI, pero fueron mucho más intensos con el controlador RNA. Debido a esto se registran las grandes oscilaciones o ruido en las gráficas de la corriente. En el capítulo 5 vimos que aumentar el valor de la inductancia disminuía el ruido, en la simulación con la RNA este movimiento no funcionaba. Figura 7-16. Parámetros de las simulaciones que no presentaban errores. Figura 7-17. Error de derivación en la simulación, resultado infinito o singularidad. 84 Figura 7-18. Bloque en el que se presenta la singularidad. En las figuras 7-17 y 7-18 se presenta el mensaje de error que presentaban las simulaciones y el bloque en donde se producía el error. El mensaje era que la derivada de la entrada al bloque en el instante 0.226 s de la simulación había sido una singularidad o infinita; por lo que la simulación no podía continuar. 85 CAPÍLUTO 8. DESARROLLO EXPERIMENTAL DE LOS CONTROLADORES PI Y RNA 8.1 Introducción El contenido de este capítulo contempla la implementación de los controladores PI y RNA, desde un ordenador a través de una tarjeta de adquisición de señales PCI 6014 para controlar el par del motor de CD, regulando el voltaje a la entrada del motor utilizando una etapa de potencia y un sensor de corriente de efecto Hall. En este capítulo se presentan las etapas implementadas, tanto en hardware como en software, para el control de par. 8.2 Módulos usados para el proyecto Figura 8-1. Diagrama general para controlar el motor. El diagrama general del control de par se muestra en la figura 8-1. En la parte del ordenador se muestra el diagrama de bloques de simulink que contiene una salida y una entrada analógica. Los bloques se comunican con la tarjeta de adquisición de datos PCI 6014 de National Instruments que está montada en la tarjeta madre y que se comunica al exterior a través del conector CB- 68LPR (figura 8-4). El conector tiene terminales a las que es fácil conectar los alambres que conducen las señales deseadas. Los bloques de entrada y salida de datos en el diagrama de simulink están virtualmente conectados a terminales específicas del conector de tal manera que se pueda adquirir o mandar señales de voltaje. Figura 8-2. Etapa de potencia. 86 La etapa de potencia es un circuito electrónico independiente (figura 8-2) que se alimenta con una fuente de voltaje externa y recibe la señal de voltaje deseado del conector CB-68LPR, posteriormente suministra el voltaje que se manda desde el ordenador a través de unos transistores de potencia usando un amplificador operacional en modo de seguidor inversor. Para contrarrestar el efecto inversor del amplificador operacional existe una ganancia de -1 antes de la salida del voltaje en el diagrama de bloques en simulink. Se pueden tener voltajes tanto negativos como positivos a la salida del circuito de potencia, para eso hay dos transistores un NPN y un PNP. Hay que recordar que existe una caída de tensión de 0.7 Voltios entre la base y el emisor de los transistores, pero es compensada por el amplificador operacional mediante la realimentación. Finalmente de la etapa de potencia se conecta la señal de voltaje deseado al motor y también la tierra, pero el conductor del voltaje deseado se hace pasar por unos sensores de efecto Hall (figura 8-5) que no están acoplados eléctricamente al circuito y la señal de voltaje que es proporcional a la corriente en el conductor se manda de vuelta al conector CB-68LPR. Hay que escalar la señal de voltaje que sale del sensor de efecto Hall para que corresponda a la medición de corriente que se necesita, para esto se efectúa una resta a la señal (para hacer coincidir la corriente de 0 A) y posteriormente se hace una multiplicación a la señal para obtener el valor de la corriente real. Estos parámetros se obtuvieron mediante pruebas con corrientes conocidas, de tal manera que los valores obtenidos se pueden visualizar más claramente en la figura 8-3. Figura 8-3. Valores para traducir el voltaje de la salida del sensor a corriente. Figura 8-4. Conector CB-68LPR. 87 El conector CB-68LPR es un accesorio de terminación con 68 terminales de tornillo para una fácil conexión de señales de E/S en campo a como la tarjeta PCI 6014. Figura 8-5. Tarjeta para sensar corriente 8.3 Tarjeta de adquisición de datos PCI 6014 La tarjeta PCI6014 presenta las siguientes características: 16 canales (ocho diferenciales) de entradas analógicas de 16 bits, dos canales de salidas analógicas de 16 bits, un conector de 68 pines y ocho líneas de I/O digital. Algunos datos interesantes que provienen del proveedor son: Tipos de Medida Voltaje Salida Analógica Entrada Analógica Número de Canales 2 Número de Canales 16 SE/8 DI Razón de Actualización 833 kS/s Velocidad de Muestreo 250 kS/s Resolución 16 bits Resolución 16 bits Rango de Voltaje Máximo -10..10 V Muestreo Simultáneo No Precisión del Rango 3230 μV Rango de Voltaje Máximo -10..10 V Rango de Voltaje Mínimo -10..10 V Precisión del Rango 3100 μV Precisión del Rango 3230 μV Sensibilidad del Rango 97.6 μV Capacidad de Corriente (Canal/Total) 5 mA Rango de Voltaje Mínimo -200..200 mV E/S Digital Precisión del Rango 112 μV Número de Canales 24 DIO General Contadores/Temporizadores Sensibilidad del Rango 5.2 μV Número de Contadores/Temporizadores 2 Número de Rangos 4 Conector de E/S VHDCI hembra de 68 pines Memoria Interna 4095 muestras La tarjeta PCI 6014 tiene dos modos para las entradas analógicas: de una sola punta no referenciada (NRSE) y el modo diferencial (DIFF). NRSE provee hasta 16 canales mientras que DIFF provee hasta ocho canales. Los modos de entrada son programables por cada canal, de tal manera que se pueden programar los dos tipos de entradas combinadas. En este trabajo se usa la configuración NRSE donde se referencian las entradas hacia AISENSE (pin 62). Las salidas digitales solamente tienen dos canales, cada uno tiene un rango de salida bipolar fijo de ±10 V. 88 En la tabla 8-1 se muestran las descripciones de las entradas de interés para este trabajo: Nombre de Señal Ref erencia Dirección Descripción AIGND - - Tierra de Entrada Analógica- Esos pines son el punto de retorno de corriente para mediciones. Todas las tierras –AIGND, AOGND, Y DGND- están conectadas en el dispositivo. ACH<0..15> AIGND Entrada Canales de entrada análoga de 0 a 15 -Cada par canal ACH<i,i+8> (i=7), puede ser conf igurado como una entrada dif erencial o como entrada de una sola terminal. AISENSE AIGND Entrada Sensibilidad de entrada Analógica –Este pin sirve como modo de ref erencia para cualquier canal ACH<0..15> en la conf iguración NRSE. AISENSE deber ser conectado a AIGND directamente a una tierra de ref erencia externa para mediciones de terminal simple. Lecturas aleatorias resultan si AISENSE se deja sin conectar cuando se usa el modo NRSE. DAC0OUT1 AOGND Salida Canal de Salida Analógica 0 –Este pin suple el voltaje de salida del canal AO 0. DAC1OUT1 AOGND Salida Canal de Salida Analógica 1 –Este pin suple el voltaje de salida del canal AO 1. AOGND - - Tierra de Salida Analógica –Los voltajes AO son ref erenciados a este nodo. Las tres tierras de ref erencia están conectadas en el dispositivo. Tabla 8-1. Descripción de las terminales del conector. El modo NRSE se seleccionó probando los diferentes tipos de conexión en la tarjeta PCI para la señal de voltaje del sensor de corriente. El modo de entrada para una sola punta de señales flotantes o no referenciadas fue el que presentaba mucho menos ruido que las otras alternativas de conexión. Figura 8-6. Nombre y número de pin del conector. 89 Figura 8-7.Conexión de una sola punta para señales flotantes o no referenciadas. De esta manera se conecta AISENSE (pin 62) a AIGND (pin 29) y a la señal de referencia de los sensores de efecto Hall. La salida de los sensores se conecta al Canal 0 (pin 68) y ejecutando un programa de pruebas se puede visualizar la corriente generada durante una entrada de pulsos escalón de 5 V hacia el motor. Se pulsos tienen un periodo de 1.25 segundos seguidos del mismo periodo con 0 V de alimentación. Figura 8-8. Medición de la corriente mediante la tarjeta PCI 6014 a través de simulink. La salida analógica de la señal de pulsos se realiza por del puerto DAC1OUT (pin 21) y la tierra de la señal de salida (pin 54) es conectada con la tierra de la tarjeta de la etapa de potencia. La tierra de la fuente que alimenta la etapa de potencia también es la misma. Teniendo todas las conexiones listas se procede a probar los dos diferentes tipos de controladores al motor para comprobar la exactitud de las simulaciones realizadas en Simulink. Comparando las figuras 8-8 y 4-11 se puede observar la diferencia en los picos de las corrientes y más ruido en el modelo del motor. 90 8.4 Controlador PI Durante este trabajo se realizaron más de 20 experimentos con el controlador PI, la diferencia en cada prueba consistía en ajustes de los parámetros de control así como otras variables para mejorar la respuesta. Fue necesario implementar por software un filtro pasabajas en el sensado de la corriente, ya que el ruido proveniente de la comparación de esta señal con la consigna en el bloque de control se amplificaba dejando una salida de Voltaje con ruido de gran amplitud. En esta sección se presentaran los casos más representativos de las pruebas realizadas. La figura 8-9 muestra el diagrama de bloques del controlador en simulink: Figura 8-9. Diagrama de bloques con control PI utilizado para controlar el motor. Las primeras pruebas se realizaron con los valores de las constantes del controlador obtenidas en el capítulo 4, que son Ki=25000 y Kp=15·Kpr. Los resultados mostrados en la figura 8-10 presentan un periodo de oscilaciones no controladas de 0.1 segundos en el cual el motor no presentaba movimiento. Este periodo se lograba estabilizar y finalmente el motor arrancaba presentando control de par. El problema es que la salida de voltaje y la entrada realimentada de corriente presentan ruido de gran amplitud por lo que se producían sonidos raros en el motor y un comportamiento errático del mismo. Figura 8-10. Primera prueba del controlador al motor físico con parámetros Ki=25000 y Kp=15·Kpr. 91 En la figura 8-11 se presenta un acercamiento en el periodo de 0.2 a 0.3 segundos para hacer un análisis del ruido presentado. Se puede observar que el promedio del voltaje cae entre 5 y 6 voltios con oscilaciones de amplitud entre los 8 y 10 voltios, algo totalmente inaceptable. Mientras que la corriente presenta un pico superior en 1.7 amperes aproximadamente y sus oscilaciones llegan a producir una corriente negativa de hasta -1 amperio. Figura 8-11. Acercamiento a las gráficas de la figura 8-10. Analizando estas gráficas se llego a la conclusión de que las oscilaciones presentadas en el modelo físico son mucho más grandes que las de la simulación y si bien el par si se controla, como se demostró aplicando una carga moderada, la respuesta del motor es muy inestable. Con estas conclusiones se decidió implementar un filtro pasabajas hecho en software para disminuir el ruido que llega al controlador y así disminuir las oscilaciones del voltaje a la salida del mismo. El diagrama de bloques con el filtro se muestra en la figura 8-12: Figura 8-12. Diagrama de bloques del controlador PI con filtro a la entrada del sensado de corriente. Un filtro pasabajas corresponde a un filtro caracterizado por permitir el paso de las frecuencias más bajas y atenuar las frecuencias más altas. Todas las frecuencias se pueden presentar a la entrada, pero a la salida solo estarán presentes las que permita pasar el filtro. De la teoría se obtiene que los filtros estén caracterizados por sus funciones de transferencia. En el filtrado de la señal de la corriente se usó un filtro de primer orden (32) cuya función de transferencia es: 92 1 ( ) 1 c s c w c w H s s w = = + + (8.1) En la función de transferencia anterior w c corresponde a la frecuencia de corte propia del filtro, es decir la frecuencia a partir de la cual se empieza a atenuar la señal de entrada. Se procedió a hacer pruebas con el filtro, observando el efecto que este tenía sobre el sistema en general y tratando de obtener la frecuencia de corte que presentara una mejor respuesta de control en el motor. Figura 8-13. Prueba del controlador con parámetros: Ki=25000, Kp=15·Kpr y con un filtro cuya w c =100. Comparando la figura 8-13 con la 8-10 se observa que el periodo de inestabilidad de 0.2 segundos es eliminado, además de que la amplitud del ruido en la corriente es considerablemente menor, sin embargo las fluctuaciones en el voltaje de salida siguen teniendo amplitudes de 10 V, aunque son menos esporádicos. En la gráfica de corriente se puede observar un pico de sobreelongación que luego baja y se estabiliza, tal y como sucede con la entrada escalón en la gráfica 8-8. Sin embargo el periodo transitorio es menor debido a las acciones del controlador. Las siguientes pruebas se elaboraron con el fin de disminuir la amplitud del ruido que se ve en el voltaje de la figura 8-13. Para esto se disminuyo la frecuencia de corte; pero al disminuir w c se descubrió que el pico de corriente tarda más tiempo en alcanzar el máximo y se prolonga el periodo transitorio, como se puede apreciar en la figura 8-14: Figura 8-14. Prueba del controlador con parámetros: Ki=25000, Kp=15·Kpr y con un filtro cuya w c =20. 93 Después de cerca de 30 experimentos realizados para el controlador PI implementado al sistema físico, incluyendo cambio en los parámetros del controlador con filtro y sin filtro así como aplicando carga mediante freno mecánico se llego a la conclusión de que el sistema presentado en la figura 8-15, con coeficientes; Ki=25000, Kp=15·Kpr y w c =50, era el que tenia la mejor respuesta. Figura 8-15. Prueba del controlador al motor con parámetros Ki=25000 y Kp=15·Kpr y con un filtro cuya w c =50. El controlador establecido se probó finalmente aplicándole un par de magnitud conocida, suspendiendo un peso medido sobre un hilo que iba siendo enrollado mientras giraba un engrane sujetado a la flecha del motor de la misma manera que al obtener la constante K b , presentada en el capítulo 5. El par se aplicó pasando el segundo 4 y su amplitud fue de 0.0396 N · m. En la gráfica 8-16 se puede ver la respuesta del motor y del controlador al par aplicado: Figura 8-16. Prueba del controlador con parámetros: Ki=25000, Kp=15·Kpr, filtro cuya w c =50 y carga aplicada. En la gráfica de corriente de la figura 8-16, puede observarse el periodo transitorio con su pico máximo de corriente en el inicio y un pequeño disturbio pasado el segundo 4, esté se debe al par aplicado y como vemos el controlador actúa de una manera muy buena para mantener la corriente en el nivel establecido por la consigna de par. En la figura 8-17 se muestra la misma gráfica pero con un acercamiento al valor deseado de corriente. Por otra parte en la gráfica de voltaje de la figura 8-16, se aprecia también el periodo transitorio al arranque dado primero por la saturación del controlador a 10 V y posteriormente una drástica caída al valor estacionario, sin embargo, la perturbación ocasionada en el voltaje de salida por el par aplicado es de una amplitud 94 mucho menor y por tanto la caída de velocidad es bastante notable. A pesar de esta disminución en la velocidad el par se mantiene constante y la carga es movida lentamente por el motor. Figura 8-17. Acercamiento en la amplitud de la gráfica de corriente de la figura 8-15. El acercamiento mostrado en la gráfica 8-17, nos permite medir la perturbación en la corriente del motor que tiene una amplitud de 0.01 A y tarda en estabilizarse 0.8 segundos aproximadamente. El controlador PI desarrollado actúa de una manera muy buena, y el tiempo de respuesta es similar al transitorio presentado por las características físicas del motor por lo que no se profundizará más en la optimización de este sistema. Hasta aquí se considera todo lo concerniente al control automático con métodos convencionales como el controlador PI y en la siguiente sección se verá su contraparte no convencional que son las RNA. Posteriormente en el capítulo 9 se harán las conclusiones englobando la totalidad del proyecto de esta tesis. 95 8.5 Controlador RNA Los resultados mostrados en las simulaciones del modelo matemático con el controlador RNA derivaron mucha incertidumbre sobre el funcionamiento a nivel experimental. Debido a que la simulación mostraba mucha variación entre los máximos y mínimos de la corriente en periodos de tiempo menores a 10 -3 segundos, era difícil predecir el comportamiento experimental, ya que el muestreo de la corriente es de 10 -3 segundos. Para aclarar este comportamiento el primer experimento se realizo con la red neuronal desarrollada con datos de simulaciones. El diagrama de bloques es el mismo que en la figura 8-12 exceptuando las acciones de control, esto quiere decir que el filtro para esta simulación se sigue usando debido a que la red neuronal se entreno en base a los datos “ideales” de la simulación. Posteriormente se entrenará una RNA con datos de los muestreos con y sin filtro. El diagrama de bloques y las gráficas de esta prueba se muestran en las figuras 8-18 y 8-19: Figura 8-18. Diagrama de bloques del controlador RNA. Figura 8-19. Voltaje y Corriente del motor usando la RNA entrenada con datos obtenidos por simulación En t=5 s se aplica una carga de 0.0396 N · m. 96 Analizando las gráficas del comportamiento del sistema y comparando las figuras 8-19 y 8- 16 apreciamos que si se logra controlar el par. La diferencia es que el controlador PI logra una mejor respuesta a la hora de aplicar carga al sistema; pero el voltaje emitido de la RNA presenta muchas menos oscilaciones. La salida de voltaje del controlador PI contenía altas frecuencias de 2 voltios de amplitud frente a unas oscilaciones muy pequeñas en la salida de la RNA. Esta es sin duda una gran ventaja del controlador RNA aunque no de mucha ayuda ya que el motor de alguna manera filtra las señales de alta frecuencia. Figura 8-20. Acercamiento en la amplitud de la gráfica de corriente de la figura 8-19. Comparando el acercamiento mostrado en la figura 8-20 con la figura 8-16 se observa que el pico en el arranque es más grande en el controlador RNA pero la caída hasta el estado estable es más pequeña. La diferencia entre el valor máximo y mínimo es menor para el controlador RNA; pero a la hora de aplicar un par externo el controlador PI muestra una respuesta mucho mejor que la RNA. Esta prueba es bastante satisfactoria porque manifiesta ventajas y desventajas de cada controlador, esperamos que las RNA entrenadas con datos experimentales presenten una respuesta aún mejor y sean inmunes al ruido. En general la respuesta obtenida por la RNA entrenada con datos obtenidos por simulación se comporta bastante bien con el modelo experimental, es cierto que aún se necesita el filtro a la entrada de la corriente pero la idea de entrenar la red con datos experimentales luce bastante prometedora. Para esto se desarrolló un diagrama de bloques que recopilará los datos experimentales usando el controlador PI tanto con filtro como sin filtro. Los datos usados para desarrollar una mejor RNA se tomarón en un solo ensayo, recopilando los datos a la entrada del controlador con filtro y sin filtro, y la salida de cada una de las partes del controlador. La manera de hacerlo se presenta en la figura 8-21, es necesario resaltar que la entrada al controlador con ruido se toma de la señal sensada sin filtro pero restada con la consigna y esta señal no tiene ningún efecto sobre la acción de control que se desarrolla durante la prueba; pero si es una consecuencia de esta. En las gráficas 8-22 a 8-24 se observan todos los datos obtenidos de la prueba. El voltaje y la corriente que pasan por el motor se muestran contra la escala de tiempo, mientras que las entradas con ruido, sin ruido y las respuestas de los controladores P e I se muestran conforme al número de muestra. Debido a que el periodo de sensado para la RNA será de 10 -3 segundos esta prueba se realizó con el mismo periodo, esto arroja 10 000 muestras para la prueba de 10 segundos. Durante el ensayo se aplico pares de carga aleatorios al sistema, esto se refleja en las tres caídas que se observan en la gráfica del Voltaje suministrado al motor. 97 Figura 8-21. Diagrama de bloques utilizado para recopilar datos del controlador PI implementado físicamente. Figura 8-22. Corriente y voltaje obtenidos durante la prueba con el diagrama de bloques de la figura 8-21. Se aplicaron pares de carga aleatorios durante el ensayo. Figura 8-23a. Error obtenido con la corriente filtrada. Figura 8-23b. Error obtenido sin filtrar la corriente. 98 Figura 8-24. Datos experimentales recopilados durante la prueba con el diagrama de bloques de la figura 8- 20. Se muestran las respuestas individuales de los controladores P e I con filtro aplicado. La salida de voltaje es la suma de ambas respuestas. Examinando las gráficas de las figuras 8-22 a la 8-24 se puede observar la gran diferencia que existe en el sensado de corriente con y sin filtro. En la entrada con filtro la oscilación aproximada que tienen las altas frecuencias es de una amplitud de 0.002 N · m, mientras que en la entrada con ruido se registran amplitudes de hasta 0.02 N · m. También se observa que la acción de control proporcional amplifica el ruido en el sistema de control. En base a estos datos mostrados se procederá a desarrollar otros dos controladores RNA para comparar las acciones de control. El entrenamiento del primer controlador consistirá en tomar los datos de entrada sin ruido y las respuestas de los controles P e I. Mientras que el segundo controlador se desarrollará con los datos de entrada que presentan ruido y se entrenarán en base a las mismas respuestas de los controles P e I. Lo que se espera de los próximos ensayos es mejorar el control RNA con filtro en el sensado de la corriente y después desarrollar un controlador inmune al ruido del sensado. 8.5.1 Controlador RNA entrenado con datos experimentales Para la primera RNA entrenada con datos experimentales se utilizó la misma que la desarrollada con datos de simulación. El primer entrenamiento consistió en entrenar la red con 10 000 datos de entrada y salida. Pronto fue evidente que este tipo de entrenamiento no era el adecuado y las 10 000 muestras se segmentaron en tres partes: el arranque comprende desde la muestra 1 hasta la 500, el periodo transitorio de la 501 a la 6 000, y el periodo estable de la 6 001 a la 10 000. La RNA que mejor comportamiento presentó fue la entrenada con los datos del periodo transitorio. La red es sometida a una prueba similar que la entrenada con datos de simulación, se le aplico un par de 0.0396 N · m en t = 5s y en t = 8s cambio la carga un instante por presentarse un salto en el hilo del que se suspendía la carga, el hilo se salió del engrane y dio un salto de una revolución, se puede advertir la reacción del controlador RNA ante esto en la gráfica de voltaje de la figura 8-25. La figura 8-26 muestra un acercamiento a la gráfica de Corriente de la figura 8-25. 99 Figura 8-25. Corriente y voltaje del motor con la RNA entrenada con datos experimentales. Se aplica una carga de 0.0396 N · m en t = 5s. En t = 8s disminuyó la carga abruptamente por un instante. Figura 8-26. Acercamiento en la amplitud de la gráfica de corriente de la figura 8-25. Esta RNA presenta un comportamiento muy parecido a la que se entreno con datos de simulación, sin embargo tanto las señales de corriente como las de voltaje presentan más oscilaciones de alta frecuencia y la reacción del control al par aplicado es peor. Es importante notar el disturbio que se genera y la acción de la RNA de tratar de mantener una caída constante. Este experimento solo se realizó como preparativo para elaborar el último controlador RNA que fuera inmune al ruido, aportó una experiencia con el manejo de datos experimentales en el entorno de MatLab y a continuación se siguió con el desarrollo del siguiente controlador. El diagrama de bloques utilizado en esta prueba es idéntico al de la figura 8-18 y los mismos parámetros del filtro, w c =50. La siguiente RNA se desarrolló con datos sin filtrar. En primer lugar se siguió utilizando la misma arquitectura que en las RNA anteriores, sin embargo los resultados seguían presentando oscilaciones parecidas a las de la gráfica de la corriente en la figura 8-10, que presentan al controlador PI sin filtro a la entrada. Hubo una mejora notable reduciendo la frecuencia y la amplitud de las oscilaciones, como se puede observar comparando la figura 8-27 con las figuras 8- 10 y 8-11. 100 Figura 8-27. Corriente del motor con controlador RNA sin filtro de corriente. Una carga grande se aplica en t=3.5s que detuvo el motor un instante, posteriormente una carga de 0.0396 N · m se aplica en t=4.5s. Lo curioso que se aprecia es que a la hora de aplicar par, el ruido parece disminuir, a la hora de aplicar un par grande y parar el motor esto es lógico, pero aplicando el par estándar también se noto la mejora, también en el tiempo de arranque se nota que no existen oscilaciones bruscas y estas empiezan antes de llegar a un periodo estacionario. Se hicieron varias pruebas con diferentes tipos de redes, entrenando con diferentes muestras de los datos experimentales obtenidos, se seguía entrenando una red para el control P y otra para el controlador I. Para llegar a los resultados mostrados en la figura 8-27 se filtraron los datos de salida del controlador P mostrados en la figura 8-24. Para esto se utilizó un diagrama de bloques que filtran datos almacenados y los guardan bajo otro nombre. El diagrama de bloques utilizado fue el siguiente: Figura 8-28. Diagrama de bloques que filtra la señal de salida del controlador proporcional de la figura 8-24. En el entrenamiento de esta red se utilizaron los 10 000 datos, ya que esta técnica mostró mejores resultados que el seccionamiento de los datos del experimento anterior. La gráfica de la salida del controlador P filtrada se muestra en la figura 8-29: 101 Figura 8-29. Diagrama de bloques que filtra la señal de salida del controlador proporcional de la figura 8-23. La arquitectura y metodología empleada hasta ahora no mostraba ningún avance en el controlador. Se probaron modificaciones en la arquitectura tales como el número de retardos a la entrada de la red y el número de las neuronas en la capa oculta, múltiples combinaciones y diferentes tipos de entrenamiento no mostraron mejora alguna a la respuesta de la RNA. Finalmente después de múltiples y variados ensayos se llego a una sola RNA con dos capas ocultas y una de salida que pudo emular el comportamiento del controlador PI. La RNA desarrollada se entrenó con la suma de las respuestas P (filtrada, figura 8-29) e I (figura 8-24). La red resultante tuvo la capacidad de absorber todo el ruido como se muestra en la figura 8-30. Es necesario mencionar que la red entrenada mostro buen comportamiento con valores de consigna un poco más grandes que las mostradas anteriormente, por eso la gráfica de voltaje presenta amplitudes mayores. Con los valores tradicionales de consigna se seguían presentando altas frecuencias al arranque del motor que se estabilizaban cerca de t = 3s, al aplicar carga, el controlador mostraba más estabilidad, como en el experimento anterior. Esto se puede notar observando que la amplitud del ruido provocado en la corriente de la figura 8-28 disminuye después de aplicada la carga. Figura 8-30. Corriente y Voltaje del motor con controlador RNA sin filtro de corriente, con una carga aplicada de 0.0396 N · m cerca de t = 5s. 102 Figura 8-31. Acercamiento en la amplitud de la gráfica de corriente de la figura 8-30. La corriente obtenida con este último experimento es mucho más ruidosa que la de los controladores anteriores, los efectos transitorios del arranque y de carga aplicada presentan mayores oscilaciones, sin embargo la red logra estabilizar el sistema pese a no tener filtro y la acción de control es fácilmente observable en la gráfica de voltaje de la figura 8-30. Con este resultado se consideran cubiertos los objetivos de la tesis al comparar las acciones de control, es posible que se puedan hacer otros entrenamientos y adaptaciones que permitan obtener una RNA más cercana al controlador óptimo, sin embargo ese desarrollo se considera fuera del alcance de esta tesis. Las figuras 8-32 y 8-33 presentan el diagrama de bloques utilizado en el último experimento y la arquitectura de la última red. Figura 8-32. Diagrama de bloques del último experimento, sin filtro. Figura 8-33. Diagrama simplificado de la arquitectura de la última RNA. Los 20 retardos en la entrada no se muestran, la capa de entrada tiene función de activación tangente-sigmoidea y cuenta con 10 neuronas, la segunda capa oculta tiene función de activación lineal y cuenta con 2 neuronas, la capa de salida tiene una función de activación lineal y es de una neurona. 103 CAPÍLUTO 9. RESULTADOS Y CONCLUSIONES Los primeros problemas surgidos en este trabajo, se presentaron a la hora de calcular los parámetros del motor. Pronto fue evidente que la exactitud de los valores obtenidos distaba mucho de tener valores precisos, más que nada en el valor de la inductancia y momento de inercia del motor. Sin embargo se logro completar un modelo matemático bastante certero a pesar de estas dificultades, ya que la velocidad y corriente predichas si se acercaban a lo manifestado en el modelo experimental. La medición de la constante de par del motor también arrojo ciertas dudas sobre las simplificaciones usadas para obtener la ecuación de par (3-8) del motor. En la tabla 5-2 se puede apreciar que el comportamiento sí se acerca a una relación lineal, sin embargo tiene ciertas desviaciones y definitivamente no cruza el origen. Para efectos de este trabajo se optó por seguir las simplificaciones y estos efectos no se tomaron en cuenta, ocasionando una cierta incertidumbre en cuanto al par real generado por el motor. Desde que se realizaron las primeras pruebas experimentales y simulaciones fue evidente la existencia de ruido de alta frecuencia en la señal de corriente, esto se debe probablemente al efecto de la conmutación realizada en las escobillas. En la simulación se aumentó el valor de la inductancia para disminuir la amplitud de las frecuencias altas y en el modelo experimental fue necesaria la implementación de un filtro para que el controlador PI trabajara de manera satisfactoria. Las altas frecuencias observadas en el modelo matemático ocasionaban que las simulaciones se efectuaran de manera muy lenta y en ocasiones generaban errores fatales para la ejecución del sistema operativo (Windows). Este problema tuvo una solución parcial al cambiar ciertos parámetros de simulación en Simulink, como se describe en el capítulo 6, sin embargo, para algunas simulaciones el cambio en los parámetros ocasionaba que la simulación se truncara. Algunas simulaciones de 2 segundos tardaban hasta 10 minutos en llevarse a cabo y algunas veces se ocasionaron errores graves en el sistema operativo (Windows) que apagaban el ordenador volcando la memoria física. Fue sorprendente ver como a la hora de hacer ensayos en tiempo real el ordenador no presentaba ningún problema y el procesamiento de datos entrantes y salientes de la pc se efectuaban sin mayores problemas. Con esto podría pensarse que las simulaciones en ordenadores son sin duda procesamientos que necesitan computadoras robustas y especializadas para ello. Pienso que para proseguir con simulaciones más complejas es necesario tener algunos núcleos de procesamiento especializados y quizá otro sistema operativo más estable y robusto, tal como Linux. Aunque esto también presenta dificultades por necesitarse un grado de especialización más avanzado en simulaciones. La figura 9-1 muestra un acercamiento a la gráfica de la corriente de la figura 9-2, se puede ver la frecuencia del ruido que se presenta de manera natural en el motor de CD. La prueba consistió en aplicar una entrada escalón de 5 voltios y luego la aplicación de un par de 0.0396 N · m para posteriormente comparar el comportamiento normal con los que tienen un controlador. Figura 9-1. Acercamiento a la corriente del motor, con una entrada escalón de 5 voltios sin controlador. 104 Las siguientes gráficas muestran las pruebas realizadas con un par aplicado al motor sin controlador, con controlador PI y filtro, con RNA entrenada con datos de simulación y filtro, y RNA entrenada con datos físicos y sin filtro. Figura 9-2. Comportamiento de la corriente del motor, con una entrada escalón de 5 voltios sin controlador y carga aplicada. Figura 9-3. Comportamiento de la corriente del motor, con controlador PI, filtro cuya w c =50 y carga aplicada. Figura 9-4. Comportamiento de la corriente del motor, con controlador RNA entrada con datos obtenidos por simulación, filtro cuya w c =50 y carga aplicada. 105 Figura 9-5. Comportamiento de la corriente del motor, con controlador RNA entrenada con datos experimentales, sin filtro y carga aplicada. Analizando las gráficas mostradas se puede concluir que todos los controladores desarrollados atenúan la amplitud del ruido provocado por las características físicas del motor. Las gráficas que muestran controladores con filtro (9-3 y 9-4) presentan un ligero retardo de tiempo antes de alcanzar el pico máximo de corriente, examinando una ampliación de la gráfica (no mostrada) se mide el tiempo de retardo que es de 0.05 segundos. Esto es sin duda una desventaja de usar los filtros. Observando la gráfica 9-3 se puede apreciar la excelencia del controlador PI en cuanto al control con una carga agregada. Este comportamiento no fue asimilado por las RNA que muestran más bien un control pobre frente al disturbio externo. Es muy posible mejorar este comportamiento, haciendo algunas adaptaciones de la RNA dado un entrenamiento, sin embargo, dada la complejidad de este trabajo, esto se considera fuera de los alcances. La ventaja más impresionante de las RNA es sin duda su inmunidad al ruido externo presentado. La gráfica 9-4 muestra que la amplitud y frecuencia del ruido observado en la figura 9- 3 es grandemente atenuado. Los dos controladores presentados en estas gráficas funcionaban con el mismo filtro. Esta capacidad de la RNA es sin duda determinante en la gráfica 9-5, en donde se presenta el controlador sin ningún tipo de filtro. Es necesario señalar que el controlador PI era totalmente inestable en las mismas circunstancias. El controlador RNA de la figura 9-5, muestra la capacidad de atenuar el ruido frente al comportamiento normal del motor (sin controlador); pero su respuesta de control es muy pobre para mantener la corriente constante. Es necesario observar la gráfica de voltaje de salida del controlador (figura 8-30) para corroborar que efectivamente si existe acción de control. La frecuencia del ruido de la figura 9-5 es la misma que la de la figura 9-1. Es importante indicar que todos los controladores logran atenuar el pico inicial de corriente al arranque del motor, sin embargo en este aspecto la RNA muestra una ligera superioridad sobre el controlador PI (figuras 9-3 y 9-4). En general se muestra la superioridad del controlador PI a la hora de aplicar una carga externa al sistema, la corriente se logra mantener con un mínimo error (0.3 A aprox.) y se estabiliza en poco tiempo. La RNA es capaz de disminuir mejor el pico de arranque y en general muestra más estabilidad frente al ruido de entrada. Es posible desarrollar una RNA que presente mejor respuesta al disturbio externo, pero es necesario trabajar con datos físicos modificados por el usuario para acentuar la acción de control necesaria. El trabajo con los datos mostrados en la etapa de entrenamiento y adaptación de la red es fundamental para la optimización de este tipo de controlador. 106 9.1 Trabajos futuros En este trabajo fue evidente la superioridad de las RNA a la hora de trabajar con muestras de datos experimentales. Yo creo que teniendo algún prototipo de prueba que involucre otro grado de libertad al sistema de control sería bastante interesante en futuros desarrollos con este tipo de tecnología. Estoy consciente de que esto ya se ha tratado de elaborar, sin embargo la dificultad de construir un prototipo lo suficientemente sensible para seguir las acciones de control es muy grande, y los éxitos parciales obtenidos sin duda se deben a las limitaciones físicas de los prototipos más que a las deficiencias de los controladores. Por eso propongo primeramente la elaboración de un prototipo mecánicamente sofisticado para satisfacer las necesidades de respuesta mandadas por el controlador. Un prototipo de esta índole sin duda amerita un gran trabajo y es digno de emprenderse en una tesis, trabajo de titulación o proyecto final de manufactura. Revisando la bibliografía existente (7), resulto ser que los investigadores en RNA, han usado un sistema de control un poco diferente al mostrado en este trabajo. En acciones de control muy a menudo se usan dos RNA, una para estimar la señal de control y la otra como controlador. Esto hubiera sido de provecho para este trabajo, ya que el par sensado demostró tener cierta incertidumbre debido a las razones arriba expuestas. Una red que estimara este parámetro para posteriormente compararlo con el valor de la consigna hubiera sido quizá una ayuda muy grande para mejorar la precisión de esta tesis. Debido a que las RNA se entrenaban en base a la respuesta del control PI, una optimización de este quizá hubiera sido de provecho para el desarrollo del trabajo en general. Una mejor respuesta del controlador PI hubiera quizá marcando más las tendencias de control en la RNA. También se pudo haber modificado los datos recopilados de forma manual, para marcar más aún la tendencia del controlador PI frente a un disturbio externo mostrado y que la red pudiera asimilar mejor la acción de control. Una limitación grande de MatLab es la incapacidad de combinar funciones de activación de las redes en una capa. El controlador PI involucra dos acciones de control complementarias, y las dos acciones se suman para reducir el error, sería interesante modificar la segunda capa oculta de la última red para tener una función de activación lineal y otra tangente-sigmoidea, quizá esto mejore el comportamiento. También desde la primera capa oculta se podría tratar de dividir la RNA para asimilar los dos comportamientos mostrados durante el entrenamiento, una combinación de funciones de activación pudiera ser muy interesante. Esto se pudiera resolver programando la RNA y sus funciones de entrenamiento en código abierto (C++ por ejemplo), sin embargo es una tarea muy grande y laboriosa sin duda. Un trabajo más complicado sería combinar algunas técnicas de computación suave existentes. Los pesos y bias de las RNA pudieran ser actualizados y modificados mediante un Algoritmo Genético que estuviera programado para estar optimizando la RNA en tiempo real. Esta idea es sin duda atractiva ya que el sistema de control tendría la capacidad de adaptarse por sí mismo y tener constante optimización sin intervención externa. La idea de combinar estas técnicas luce atractiva, sin embargo es un trabajo gigantesco de programación y experimentación digno de tesis doctorales. 107 BIBLIOGRAFÍA 1. Schneider Electric. Manual Electrotécnico, Telesquemario, Telemecanique. España : Schneider Electric España, S. A., 1999. 2. Arieta Gómez, Oliverio. Operación y control electrónicos de un motor de corriente directa: mototrol. México DF : UNAM, 1959. 3. Ruiz Arvizu, Manuel Arjan. Diseño de un controlador neurodifuso adaptable de velocidad para un motor sin escobillas de corriente directa. Monterrey : ITESM, 2002. 4. Zamorano Cruz, José Alberto. Aplicación de la lógica difusa como agente inteligente para el control de un helicóptero en un grado de libertad. Culiacán : ESIME-CUL, 2007. 5. Amezcua Fonseca, Juan Carlos. Redes neuronales en el reconocimiento de patrones. León : La Salle, 1995. 6. Becerra Bravo, Roberto. Reconocimiento de patrones para aplicaciones optomecatrónicas. León : CIO, 2008. 7. Demuth, Howard, Beale, Mark y Hagan, Martin. Neural Network Toolbox 6, User´s Guide. s.l. : The MathWorks, 2008. 8. Lincoln Laboratory. DARPA Neural Network Study. Lexington, MA : M.I.T, 1988. 9. Nguyen, D., y B. Widrow. The truck backer-upper: An example of self-learning in neural networks. s.l. : Proceedings of the International Joint Conference on Neural Networks, Vol. 2, pp. 357-363, 1989. 10. Frausto, César. Control de un péndulo invertido empleando Redes Neuronales Artificiales. León : Instituto Tecnológico de León, 2005. 11. —. Redes Neuronales en el Sistema de Control Vectorial del Motor de Inducción. La Laguna : Instituto Tecnológico de La Laguna, 2008. 12. Serrano Rubio, Juan Pablo. Diagnóstico de Fallas en motores de inducción mediante redes neuronales artificiales. León : ITL, 2008. 13. X. Desforges, A. Habbadi. A neural network for parameter estimation of a DC motor for feed- drives. Tarbes, Francia : Springen Berlin / Heidelberg, 1997. 14. An Efficient Neural Controller for a DC Servo Motor by Using ANN and PLR Identifiers. H. Riza Özçalik, A. Küçüktüfekçi. s.l. : IEEE International Conference on Artificial Intelligence Systems, ICAIS'02, 2002. 15. K. Nouri, R. Dhaouadi, N. Benhadj. Adaptative control of a nonlinear dc motor drive using recurrent neural networks. Amsterdam, Holanda : Elsevier Sciencie Publishers B. V., 2008. 16. M. M. Gouda, A. A. El-Samahy. Artificial Neural Network based Control of High Performance DC Motor Drive Systems. s.l. : European Power and Energy Systems, 2004. 108 17. Artificial neural network and PID based control system for DC motor drives. A. Cozma, D. Pitica. s.l. : Conferencia Internacional en Optimización de Equipo Eléctrico y Electrónico, Mayo 2008. 18. Serway y Beichner. Tomo II: Física para ciencias e ingeniería, 5ta Edición. México : Mc Graw Hill, 2002. 19. Kosow, Irving L. Máquinas Eléctricas y Transformadores, 2da Edición. México : Prentice Hall, 1993. 20. Chapman, Stephen J. Máquinas Eléctricas 4ta Edición. México : Mc Graw Hill, 2005. 21. Maloney, Timothy J. Electrónica Industrial Moderna 3era Edición. Hispanoamérica : Prentice Hall, 1997. 22. Fitzgerarld, Jr., Kingsley y Umans. Máquinas Eléctricas, 5ta Edición. México : Mc Graw Hill, 1992. 23. Martínez M., Héctor V. Análisis, modelado y simulación en computadora del motor de corriente directa tipo serie. Huajuapan de León : Universidad Tecnológica de la Mixteca, 2009. 24. Ogata, Katsuhiko. Ingeniería de Control Moderna. Barcelona : Prentice Hall, 2003. 25. Beer, Ferdinand y Johnston Jr., Russell. Dinámica, 6ta Edición. México : Mc Graw Hill, 1997. 26. Doc. Hojas. León : ITL, 2009. 27. Fausett, Laurene. Fundamentals of Neural Networks, Architectures, Algorithms and Applications. USA : Prentice Hall, 1994. 28. Freeman y Skapura. Neural Networks, Algorithms, Applications and Programing Techniques. s.l. : Addison Wesley, 1992. 29. Artificial Neural Networks: A tutorial. Jain, A. K. y Mao, J. 31-44, s.l. : IEEE Computer, 1996, Vol. 18. 30. Matich, D. J. Redes Neuronales: Conceptos Básicos y Aplicaciones. Catedra Informática aplicada a la Ingeniería de Procesos. s.l. : Basualdo, 2001. 31. Implementaciones en Hardware de Redes Neuronales Artificiales. Pino, B. y and, Others. 48- 56, s.l. : Inteligencia Artificial, 1997. 32. Wikipedia. [En línea] 24 de Marzo de 2009. [Citado el: 14 de Mayo de 2009.] http://es.wikipedia.org/wiki/Filtro_pasa_bajo.