PONTIFICIA UNIVERSIDAD CATOLICA DE CHILE ESCUELA DE INGENIERIA SENSOR DE POSICIÓN BASADO EN CODIFICACIÓN SERIAL DE N-BITS CRISTIÁN ANDRÉS GARCÉS GUAJARDO Tesis para optar al grado de Magíster en Ciencias de la Ingeniería Profesor Supervisor: JUAN W. DIXON ROJAS Santiago de Chile, Diciembre de 2013 2013, Cristián Garcés PONTIFICIA UNIVERSIDAD CATOLICA DE CHILE ESCUELA DE INGENIERIA SENSOR DE POSICIÓN BASADO EN CODIFICACIÓN SERIAL DE N-BITS CRISTIÁN ANDRÉS GARCÉS GUAJARDO Tesis presentada a la Comisión integrada por los profesores: JUAN W. DIXON ROJAS JAVIER E. PEREDA TORRES MAURICIO ROTELLA MACHIAVELLO IGNACIO A. CASAS RAPOSO Para completar las exigencias del grado de Magíster en Ciencias de la Ingeniería Santiago de Chile, Diciembre de 2013 A mi familia y en especial a mis padres quienes con su cariño y esfuerzo han incondicional sido en mi personal y profesional. ii un apoyo desarrollo AGRADECIMIENTOS Después de este arduo trabajo, quiero mencionar y agradecer a: Mis padres, por su cariño, creer en mí, estar siempre dispuestos para darme apoyo y consejo, inculcarme desde pequeño el valor de la perseverancia, responsabilidad y esfuerzo en todas las actividades que realizo y enseñarme a sobreponerme ante la adversidad. Mi profesor supervisor, Juan Dixon, quien con su guía, ayuda, amistad y vocación ha dejado una profunda huella en mi desarrollo académico y personal, transmitiéndome sólidos conocimientos y su pasión por la investigación y docencia. También a su familia, por su cariño, apoyo y sobretodo por hacerme sentir como un integrante más de ella. Javier Pereda, por su apoyo, confianza, cercanía y enseñarme a través de su propio trabajo la rigurosidad y constancia que se necesita para llevar a buen puerto una investigación. Lorenzo Urrutia, por su amistad, tiempo y ayuda brindada durante la fase experimental de la investigación que implicó muchas tardes realizando pruebas en el laboratorio. La Universidad, por darme la posibilidad de cursar la carrera que siempre quise con una beca completa. José Agustín Tapia, rector de mi colegio, por el apoyo que siempre ha dado a mi familia durante momentos difíciles y la confianza que siempre ha tenido en mí. Eduardo Cea por sus consejos, confianza y amistad. La señora Virginia, por ordenar “mi desorden continuo” y su buena disposición a toda hora. Mis amigos, por su compañía, alegría y los gratos momentos que hacían el trabajo más ligero y llevadero. Y finalmente, a la Comisión Nacional de Investigación Científica y Tecnológica (CONICYT) por financiar esta investigación a través del proyecto FONDECYT N° 1100175. iii INDICE GENERAL Pág. DEDICATORIA........................................................................................................... ii AGRADECIMIENTOS .............................................................................................. iii INDICE DE TABLAS ................................................................................................ vi INDICE DE FIGURAS .............................................................................................. vii RESUMEN ................................................................................................................... x ABSTRACT ................................................................................................................ xi 1. INTRODUCCIÓN .............................................................................................. 1 1.1 Caracterización de Sensores ....................................................................... 2 1.2 Sensores de Posición y sus Aplicaciones ................................................... 3 1.3 Estado del Arte de los Encoders Absolutos Angulares .............................. 7 1.4 Estructura de la Investigación .................................................................... 9 2. NUEVA SOLUCIÓN PARA SENSAR POSICIÓN ........................................ 11 2.1 La Medición de Posición Rotorica y Control de Motores Eléctricos ....... 11 2.2 Vehículos Híbridos ................................................................................... 13 2.3 El Proyecto Híbrido Serie Chevrolet S-10 ............................................... 16 2.4 El Problema y la Solución Propuesta ....................................................... 20 2.5 Hipótesis, Objetivos de la Investigación y Metodología.......................... 22 3. ESTRUCTURA, CODIFICACIÓN Y OPERACIÓN DEL SENSOR ............. 23 3.1 Estructura y Diseño del Sensor ................................................................ 23 3.2 Codificación del Sensor ........................................................................... 24 3.3 Operación del Sensor ............................................................................... 30 3.4 Ventajas del Sensor .................................................................................. 31 4. IMPLEMENTACIÓN Y RESULTADOS EXPERIMENTALES ................... 34 4.1 Reordenamiento de Código ...................................................................... 34 4.2 Diseño y Fabricación del Disco ............................................................... 37 4.3 Estructura Lectora .................................................................................... 40 4.4 Electrónica ................................................................................................ 43 4.4.1 Fotosensores: Generación de Señales Digitales ............................. 43 4.4.2 Comparadores:Adecuación y Amplificación de Señales Digitales 44 4.5 Control e Inversor..................................................................................... 48 4.6 Banco de Pruebas ..................................................................................... 49 4.7 Resultados Experimentales ...................................................................... 50 4.7.1 Operación del Sensor (Pruebas a Lazo Abierto) ............................ 51 4.7.2 Operación del Motor (Pruebas a Lazo Cerrado) ............................ 56 5. CONCLUSIONES ............................................................................................ 59 BIBLIOGRAFIA ........................................................................................................ 62 A N E X O S ............................................................................................................... 65 Anexo A : Código MATLAB del Algoritmo Generador de Secuencia ..................... 66 Anexo B : Tablas de Secuencia para Resoluciones de 6 y 8 Bits .............................. 68 Anexo C : Hoja de Datos Fotosensores ITR8102 ...................................................... 74 Anexo D : Hoja de Datos Comparadores LM239 ...................................................... 80 Anexo E : Hoja de Datos Motor Eléctrico utilizado como Generador..................... 110 Anexo F : Detalles de Operación del Filtro Digital ................................................. 111 INDICE DE TABLAS Pág. Tabla 2-1: Características del Grupo Motor-Generador ............................................ 17 Tabla 2-2: Caracterización de Motores de Tracción Camioneta S-10 ....................... 18 Tabla 3-1: Tabla de Posiciones Digitales para Resolución de 4 Bits ......................... 28 Tabla 3-2: Secuencia a grabar en disco para 4 bits de Resolución ............................ 29 Tabla 4-1: Tabla de Posiciones Digitales para Resolución de 4 Bits Heurística ....... 34 Tabla 4-2: Tabla de Posiciones Digitales para Resolución de 4 Bits con Lectura a Bit por Medio............................................................................................... 35 vi INDICE DE FIGURAS Pág. Figura 1-1: Diagrama de Control Realimentado .......................................................... 1 Figura 1-2: Ejemplos de Encoders Lineales Industriales ............................................. 4 Figura 1-3: Ejemplos de Encoders Angulares Industriales .......................................... 6 Figura 2-1: Relación entre Fuerzas Magnetomotrices ............................................... 11 Figura 2-2: Esquema Simplificado de Control por Posición ..................................... 13 Figura 2-3: Evolución de la Emisión de Dióxido de Carbono por sector industrial .. 14 Figura 2-4: Esquema de Configuración Híbrida Serie ............................................... 15 Figura 2-5: Esquema de Configuración Híbrida Paralela .......................................... 16 Figura 2-6: Camioneta Experimental Chevrolet S-10 Híbrida .................................. 17 Figura 2-7: Rectificador de Frente Activo Instalado en el Vehículo ......................... 18 Figura 2-8: Integración de Componentes al Interior del Vehículo Híbrido ............... 19 Figura 2-9: Espacio Disponible para la Instalación del Sensor.................................. 21 Figura 3-1: Estructura del Sensor Propuesto para 4 Bits de Resolución ................... 24 Figura 3-2: Algoritmo de Generación de Código Simplificado ................................. 26 Figura 3-3: Algoritmo Implementado en MATLAB ................................................. 27 Figura 3-4: Disco resultante para Sensor de 4 bits de Resolución ............................. 29 Figura 3-5: Esquema de Operación del Sensor de Posición ...................................... 31 vii Figura 3-6: Comparación de Sensores de 6 bits de Resolución ................................. 32 Figura 3-7: Modelo de Codificación Perimetral para Sensores Lineales ................... 33 Figura 4-1: Derivación de Tabla 4-2 a partir de Tabla 4-1 ........................................ 36 Figura 4-2: Diagramación del Disco Grabado en 2D................................................. 37 Figura 4-3: Modelo 3D del Disco Codificado ........................................................... 38 Figura 4-4: Cortadora Láser Taller de Desafíos de la Ingeniería ............................... 39 Figura 4-5: Disco Grabado Final ............................................................................... 40 Figura 4-6: Fotosensor ITR8102 ................................................................................ 41 Figura 4-7: Estructura Lectora ................................................................................... 42 Figura 4-8: Diagrama en Bloques del Sensor y su Electrónica .................................. 43 Figura 4-9: Circuito Fotosensores .............................................................................. 44 Figura 4-10: Circuito Comparador ............................................................................. 45 Figura 4-11: Esquemático Circuito de Acondicionamiento de Señales ..................... 46 Figura 4-12: Diseño PCB Circuito de Acondicionamiento de Señales ..................... 47 Figura 4-13: Circuito Final Implementado ................................................................ 47 Figura 4-14: Esquema del Inversor Utilizado ............................................................ 48 Figura 4-15: Banco de Prueba .................................................................................... 49 Figura 4-16: Acoplamiento Sensor-Motor ................................................................. 50 Figura 4-17: Señales Digitales provenientes del Sensor ............................................ 51 viii Figura 4-18: Medición de las No Idealidades en las Transiciones de Estado ............ 52 Figura 4-19: Diagrama de Flujo Filtro Digital ........................................................... 53 Figura 4-20: Salidas Digitales a 60 RPM ................................................................... 54 Figura 4-21: Salidas Digitales a 170 RPM ................................................................. 55 Figura 4-22: Salidas Digitales a 300 RPM ................................................................. 55 Figura 4-23: Prueba Lazo Cerrado a 460 RPM .......................................................... 56 Figura 4-24: Prueba Lazo Cerrado a 720 RPM .......................................................... 57 ix RESUMEN Esta tesis presenta el desarrollo e implementación de un nuevo sensor de posición óptico basado en un código serial de n bits distribuido perimetralmente a lo largo de un disco. Se entrega una síntesis relativa a los sensores en general, una revisión del estado del arte en los encoders absolutos, sus aplicaciones y la necesidad de producir un sensor óptico de menor tamaño y volumen que el convencional. Así, este trabajo plantea el objetivo de desarrollar un sensor de posición cuya lectura sea perimetral y no radial favoreciendo la optimización de tamaño y con ello la hipótesis sobre la factibilidad de poder codificar la posición empíricamente. El trabajo desarrollado derivó en el establecimiento de condiciones para la generación de código secuencial a inscribir perimetralmente en el disco, como así también en un algoritmo para la producción de secuencias capaces de codificar posición a cualquier resolución deseada. A partir de lo anterior, fue diseñado y construido un sensor de 4 bits para ser instalado en el generador eléctrico de un vehículo híbrido tipo serie, que será utilizado además como motor de partida para el motor de combustión interna. Se presentan las consideraciones mecánicas en diseño y construcción del disco como así también la estructura lectora. Finalmente, este sensor fue probado en un banco de pruebas que involucra un generador de similares características al que se encuentra dentro del vehículo, logrando un desempeño acorde con lo requerido para la aplicación. Los resultados obtenidos con este banco de pruebas validan la hipótesis planteada, por cuanto el sensor es capaz de discriminar todas las posiciones existentes para una resolución dada, y las imprecisiones propias de construcción pueden ser mitigadas con ayuda de filtros digitales. Palabras Claves: sensor, posición, codificación, binario, secuencia perimetral. x ABSTRACT This thesis presents the development and implementation of a novel optical position sensor based on an n-bit serial code distributed perimetrally along a disc. A brief summary about sensors is given as well a state-of-the-art review of absolute encoders, their applications and the necessity on producing an optical sensor with less size and volume than the conventional one. So, the objective of this work is to develop a position sensor whose lectures are obtained from a perimetral reading of a binary coded disc, instead of the conventional radial reading, verifying the hypothesis about the feasibility of position codification empirically. The work done, derived in the establishment of conditions for generate the sequential code that has to be engraved perimetrally on the disc, as well as an algorithm that produce binary sequences capable of enccode position for any desired resolution. From above, a 4-bit sensor was designed and built to be installed in the electrical generator of a “series type hybrid vehicle” that will be also used as the start engine of the internal combustion engine. Mechanical considerations on design and construction of the disc and reading structure are presented. Finally, this sensor was installed and tested in a test bank, coupled to a generator with similar characteristics to the one that is inside the vehicle, achieving consistent performance with the requirements of the expected application. The obtained results validate the formulated hypothesis, since the sensor is capable of read and discriminate all existing positions for a given resolution, and inaccuracies from its construction can be mitigated using digital filters. Keywords: sensor, position, codification, binary, perimetral sequence. xi 1 1. INTRODUCCIÓN El control de sistemas es uno de los tópicos más estudiados en Ingeniería, por cuanto ha permitido la automatización de diversos procesos industriales, facilitado la incorporación de nuevas tecnologías en distintos ámbitos y de forma transversal optimizar la ejecución de variadas actividades en términos de tiempo, producción, y consumo energético. En la figura 1-1 se puede observar el diagrama en bloques de un sistema de control convencional el cual es aplicable de forma general a cualquier proceso cotidiano. De forma simplificada, el controlador a partir del error entre la salida actual medida por el sensor y la referencia establecida, ejerce las acciones necesarias sobre el actuador y consecuentemente el proceso, con la finalidad que la salida se iguale al valor esperado (Dorf & Bishop, 2011). Naturalmente, cada bloque es importante para el debido funcionamiento del sistema de control, pero en esta tesis el enfoque principal estará en los sensores. Hay que tener en cuenta que no hay controlador robusto sin un sensor adecuado, atendido que su principal misión dentro del sistema es proveer de la medición precisa de la variable controlada para ejercer las acciones de control acordes a dicha información. Figura 1-1: Diagrama de Control Realimentado 2 1.1 Caracterización de Sensores Los sensores son dispositivos que miden variables físicas como presión, humedad, posición, velocidad, temperatura, entre otras, y las convierten en señales analógicas o digitales que pueden ser interpretadas por otros dispositivos electrónicos. Idealmente, deben ser capaces de ser selectivos a la variable medida de forma que sólo respondan a ella y a la vez no introducir imprecisiones a la medición realizada. Es de esto que se deriva su relevancia en sistemas de control y monitoreo, pues en base a estas mediciones y su precisión es que el controlador o monitor ejerce las mejores acciones de control que propenden a generar la salida o respuesta deseada. La variedad de sensores existentes lleva a requerir una caracterización adecuada de los mismos, que ha sido establecida por la literatura (Fraden, 2004). Algunas de las principales características de los sensores son su función de transferencia característica, rangos de entrada y salida, precisión, resolución, confiabilidad, grado de incerteza en la medición y la incidencia de factores medioambientales en su operación. Todo lo anterior, ha permitido clasificar la gran variedad de sensores existente y hacer uso de los mismos en una variada gama de aplicaciones industriales (Fraden, 2004; Soloman, 2009), como por ejemplo: - Automotriz (Fleming, 2001), para la medición de desplazamiento, posición, velocidad y aceleración; estado del motor, presión y otras. - Robótica (Lim, Luh, & Zheng, 1988; Suwanratchatamanee, Matsumoto, & Hashimoto, 2010), para medir torque, deslizamiento, posición, características superficiales (tacto) y otras. - Bioquímica (Mistlberger, Koren, Borisov, & Klimant, 2009; Pinet, Dube, Vachon-Savary, Cote, & Poliquin, 2006), para la detección de compuestos orgánicos, monitoreo de bioprocesos, entre otras. - Control de Motores Eléctricos (Bose, 2002). 3 Para el control de motores eléctricos, una de las mediciones más importantes en términos industriales es la posición, y es en este tipo de sensores que se centrará la presente investigación. 1.2 Sensores de Posición y sus Aplicaciones Estos dispositivos se utilizan en todas aquellas aplicaciones donde se necesita conocer las coordenadas de un objeto, ya sea de forma lineal o angular según su tipo de movimiento. La medida puede ser relativa o absoluta (Fraden, 2004): a) Sensores de Posición Relativos Se conocen comúnmente como sensores de desplazamiento, pues miden variaciones de posición a partir de una referencia debidamente establecida. Esto se traduce en que deben ser calibrados, o inicializados, en torno a dicha referencia cuando son operados. b) Sensores de Posición Absolutos Este tipo de sensores, a diferencia de los de desplazamiento, operan con una escala física en donde todas las posiciones posibles y medidas están completamente definidas y diferenciadas. De esta forma se hace innecesario fijar una posición inicial, y la posición medida nunca debe ser calibrada. Los sensores de posición más comunes en la industria se conocen como “encoders”. Estos dispositivos se basan en medios ópticos, magnéticos, inductivos, capacitivos o resistivos para tomar la medida, y luego codifican la información en señales eléctricas analógicas o digitales. La necesidad de medir posiciones lineales o angulares ha derivado en el desarrollo de encoders diferenciados para cada tipo de aplicación. A continuación se revisan estos dispositivos de forma general y sus aplicaciones típicas: 4 a) Encoders Lineales Estos sensores se utilizan para medir desplazamientos o posiciones a lo largo de una distancia lineal. Se usan en equipamiento metrológico, herramientas de medición de alta precisión y sistemas móviles mayoritariamente. La posición se codifica en una distribución lineal de resistencia, capacitancia o inductancia, de forma que un sensor móvil lo recorre y mide haciendo la relación proporcional correspondiente, un ejemplo de esto es el vernier digital (Mitutoyo, 2013); otra forma es por medio de la lectura de una banda magnética linealmente distribuida con un lector magneto-resistivo o de efecto hall cuya medición es proporcional a la posición; y la última corresponde a la lectura óptica de una banda codificada digitalmente en la que cada transición de estado ocurre a distancias específicas que pueden ser contadas e interpretadas como posiciones definidas o relativas. Ejemplos industriales de estos sensores y su debida especificación se puede encontrar en la siguiente referencia (McLaren, 2009a). La figura 1-2 presenta algunos de estos sensores actualmente disponibles para el público general. Figura 1-2: Ejemplos de Encoders Lineales Industriales, a) Potenciométrico; b) Magnético 5 b) Encoders Angulares Este tipo de sensores se utiliza para medir desplazamientos o posiciones angulares de ejes rotatorios. Este tipo de encoders se acoplan directamente al eje rotatorio a medir y contienen discos que codifican la información digitalmente o bien analógicamente. En el caso de codificación digital, la tecnología es óptica y la posición se codifica mediante coronas de secuencias binarias que pueden indicar desplazamientos angulares y sentido de giro, así como también posiciones individuales (absolutas). La codificación analógica recurre a arreglos de polos magnéticos o bobinas, cuyas variaciones de flujo por el movimiento del eje son leídas por sensores de efecto hall o voltaje y reinterpretadas como posiciones o desplazamientos angulares. Otra forma de codificación analógica puede ser una distribución paramétrica de capacitores u otros elementos pasivos que son leídos entre 2 puntos para determinar la posición. Ejemplos industriales de estos sensores y su debida especificación se puede encontrar en (McLaren, 2009b). Estos sensores son ampliamente utilizados en la robótica, el control de motores eléctricos y la astronomía para efectos de establecer posiciones angulares determinadas. La figura 1-3, presenta algunos de estos sensores disponibles comercialmente. 6 Figura 1-3: Ejemplos de Encoders Angulares Industriales, a) Efecto Hall; b) Óptico La aplicación de sensores angulares absolutos para medir la posición rotórica de motores eléctricos es lo que motiva esta investigación. El control fino de motores para su uso en aplicaciones industriales se realiza por medio de accionamientos que actúan basados en inyectar las corrientes adecuadas que permitan maximizar el torque, o lograr una alta precisión en la posición o velocidad de la máquina en todo instante. Esto cobra especial relevancia cuando se habla de máquinas eléctricas sincrónicas, actualmente muy utilizadas en el campo de los vehículos eléctricos, en las que las fuerzas magnetomotrices del estator y rotor deben ser mantenidas a un ángulo específico (e.g. 90°) para maximizar el torque (Bose, 2002), o a algún otro ángulo específico para obtener una velocidad de giro determinada. Para mantener dicha relación, se hace necesario recobrar la posición del eje rotórico continuamente, proveer la información al controlador y que éste ejerza las acciones correctivas por medio de la inyección de corrientes desde el inversor al estator de la máquina. A partir de lo anterior, se hace necesario profundizar en el estado del arte de estos sensores angulares para sentar las bases de la investigación relativa a los mismos. 7 1.3 Estado del Arte de los Encoders Absolutos Angulares Como se expresó previamente, existen variados tipos se sensores de posición angulares absolutos, siendo los más usados los de tipo óptico, magnéticos y resolvers. Los resolvers son dispositivos que usan el flujo magnético entre bobinados en núcleos de fierro de manera muy similar a los transformadores. Típicamente tienen 2 bobinas estatóricas de salida a 90 grados mecánicos una de otra, y una bobina rotatoria (o rotor) que es alimentada con un voltaje alterno, que hace de referencia, cuya magnitud varía desde los 6 VAC hasta los 60 VAC y su frecuencia va desde los 400 Hz hasta los 10.000 kHz dependiendo de los requerimientos y características constructivas. Al acoplar el resolver al eje rotatorio cuya posición desea medirse, se crea un flujo magnético variable que permite inducir tensión en las bobinas estatóricas y de esta forma la amplitud del voltaje inducido en el estator es proporcional a la posición angular relativa de las bobinas rotóricas y estatóricas siendo la posición exacta extraíble a partir de un postprocesamiento de las señales estatóricas en cuadratura (Bose, 2002; Lizhi, 2008). Sin embargo este dispositivo es extremadamente sensible a desbalances en los bobinados, contenido armónico en las señales en cuadratura, cuadratura imperfecta de las bobinas estatóricas, distorsión en la referencia de alimentación y otras imperfecciones constructivas u operativas (Hanselman, 1990). Por otro lado están los encoders magnéticos que son muy similares a los resolvers, cambiando las bobinas estáticas por sensores de efecto hall y el bobinado rotatorio por un imán, de forma que la información extraída por los sensores con la variación de flujo es procesada por un convertidor análogo-digital y funciones lógicas para generar la posición digital instantánea. Esta técnica permite evitar la complejidad del diseño de los resolvers, y sus grandes bondades son la insensibilidad a medioambientes hostiles y a la suciedad, y presentan además una gran resistencia mecánica (Miyashita, Takahashi, & Yamanaka, 1987). 8 Sin embargo, algunas de sus desventajas se relacionan con la interferencia magnética y la resolución limitada, que son actualmente el principal foco de mejoras en este dispositivo, alcanzando resoluciones de a lo más 13 bits (Miyashita et al., 1987; Shuanghui, Yong, & Minghui, 2009). Finalmente están los encoders ópticos que usan fotosensores para leer un disco codificado digitalmente. Estos sensores son ampliamente usados en la maquinaria industrial, la robótica y otros sectores gracias a su gran resolución y simplicidad. Convencionalmente, el disco sensor es grabado con anillos concéntricos que contienen un código gray determinado a ser leídos independientemente por un fotosensor que actúa como un bit. De esta forma el set de anillos define la resolución de este sensor y distribuye radialmente cada código posición. Claramente, una mejora resolutiva implica un incremento en el tamaño radial y por ende un aumento de tamaño del sensor. Recientemente los avances en estos encoders se focalizan en maximizar la resolución minimizando el tamaño de los fotosensores (Sugiyama et al., 2008), eventualmente usando una menor área de codificación. Sus desventajas son la sensibilidad a la suciedad, golpes mecánicos y vibraciones que afectan las lecturas de los fotosensores como así también la relación tamaño/resolución al requerir una estructura más segura. Sin embargo estos sensores tienen una precisión enorme en términos de la tasa ángulo/código, alcanzando 0,022° en el caso de un sensor de 14 bits de resolución (Sugiyama et al., 2008). Además, las lecturas de posición se obtienen directamente de los fotosensores sin tener que hacer un mayor postprocesamiento de datos ni hardware adicional, lo que los pone sobre los resolvers y encoders magnéticos. 9 Los últimos esfuerzos en el objetivo de optimizar los encoders ópticos, son trabajos de investigación en una nueva codificación que solo usa una corona en el perímetro del disco y fotosensores distribuidos a lo largo de ella para leer los códigos de posición (Arazi, 1984; Fuertes, Balle, & Ventura, 2008; Tomlinson, 1987). La mayor ventaja derivada de esta novedosa codificación es que se reduce el tamaño del sensor usando el mismo principio y hardware como los encoders convencionales (Balle, Ventura, & Fuertes, 2009). Sin embargo, es claro que generar el código secuencial necesario es complicado pues debe ser coherente y optimizado en términos de usar todas las combinaciones binarias posibles para una resolución en bits definida y además extendida para cualquier cantidad de posiciones individuales requeridas, por lo que el proceso involucra herramientas del álgebra booleana, teoría de números e información que recientemente han sido enfrentadas por algunos autores considerando código gray o no dependiendo de la codificación propuesta en cada trabajo (Balle et al., 2009; Fuertes et al., 2008; Hiltgen & Paterson, 2001; Hiltgen, Paterson, & Brandestini, 1996). Lograr sensores con este tipo de codificación permite un avance significativo en el desarrollo de los mismos, dado su gran uso en la industria considerando su bajo costo y complejidad, y es en su desarrollo que se enfoca esta tesis con un nuevo diseño. 1.4 Estructura de la Investigación La presente investigación se centra en el desarrollo de un nuevo tipo de sensor de posición angular con codificación binaria serial de n bits, que será implementado en un generador eléctrico de un vehículo hibrido, el cual actuará como motor de arranque para su puesta en marcha. Esta tesis consta de 5 capítulos. En el Capítulo 2 se revisarán someramente las bases del control de motores eléctricos, los vehículos híbridos y el problema que deriva en el nuevo diseño propuesto, junto con la hipótesis a ser verificada con la presente investigación. 10 El capítulo 3 versa sobre la caracterización del nuevo sensor, la generación del código secuencial generalizado para n bits de resolución y los principios de operación del dispositivo. Seguidamente, el Capítulo 4 trata sobre la implementación experimental del sensor en un banco de pruebas, las consideraciones de instalación del mismo y su interacción con el control del generador, para finalmente presentar los resultados de las pruebas experimentales. Finalmente, el Capítulo 5 presenta las conclusiones de la investigación y el trabajo futuro sobre el cual pueden basarse nuevas investigaciones. 11 2. NUEVA SOLUCIÓN PARA SENSAR POSICIÓN. La tesis presenta un nuevo encoder angular absoluto, con miras a su aplicación en un vehículo híbrido experimental, desarrollado en el Laboratorio de Vehículos Eléctricos del Departamento de Ingeniería Eléctrica de la Universidad Católica. No obstante esta aplicación, dicho encoder puede aplicarse a muchos otros sistemas en los cuales haya que medir posición, sea esta angular o lineal. 2.1 La Medición de Posición Rotórica y el Control de Motores Eléctricos La posición del rotor de una máquina eléctrica es una variable clave en su control. En las máquinas sincrónicas, esta medición es particularmente importante dado que sólo tienen torque definido al operarlas a velocidad síncrona, donde la velocidad mecánica se iguala a la velocidad del campo magnético rotatorio, y además la producción del mismo depende del ángulo entre los campos de estator y rotor. La figura 2-1 presenta un esquema con la relación entre los campos de estator y rotor en la máquina síncrona. En ella se pueden observar los vectores asociados a las fuerzas magnetomotrices de estator y rotor, como así también el ángulo entre ellas. Figura 2-1: Relación entre Fuerzas Magnetomotrices 12 La ecuación 2.1, define el torque en función de éste ángulo y parámetros eléctricos tanto internos como de alimentación, en funcionamiento a régimen permanente: Con esta relación y el requerimiento de sincronización, los esquemas de control para esta máquina se basan en mediciones de posición absoluta, ya sea por estimaciones (método “Sensorless”) o con sensores de posición al eje rotórico (Bose, 2002). Los métodos “sensorless” han sido ampliamente estudiados en el último tiempo para las máquinas síncronas y de inducción gracias a sus ventajas en implementación como reducción de ruido, costos y mantenimiento debido a que se basan en estimar la posición rotórica a partir de mediciones de corriente y voltaje en los terminales de la máquina, sin requerir la existencia de un sensor de posición externo, y usando avanzadas técnicas de estimación como filtros de Kalman y otras herramientas de control predictivo (Acarnley & Watson, 2006; Finch & Giaouris, 2008; Holtz, 2002). Sin embargo, éste método aún tiene problemas de operación a baja velocidad (Finch & Giaouris, 2008), pues bajo dicha condición, las variables medidas tienen pequeñas amplitudes y son afectadas por el ruido de forma muy apreciable. Como ya fue expuesto en el Capítulo I, otros esquemas de control se basan en la adquisición directa de la posición a partir de sensores angulares absolutos de posición acoplados directamente al eje de la máquina. Estos sensores son capaces de generar las señales necesarias (análogas o digitales) para que el controlador interprete la posición instantánea del rotor y proveerlas al sistema de control de forma que éste ejerza su acción sobre el accionamiento respectivo. 13 La figura 2-2 muestra un esquema simplificado de ambos métodos en el que se observa que es el controlador quien recibe la información a partir de las mediciones o estimaciones y a la vez quien actúa sobre el accionamiento y el motor. Figura 2-2: Esquema Simplificado de Control por Posición 2.2 Vehículos Híbridos Dado que el nuevo sensor de posición será utilizado en un vehículo eléctrico-híbrido, se hace necesario explicar un poco acerca de esta tecnología. Los últimos desarrollos en las máquinas eléctricas y su control han permitido la implementación de este tipo de vehículo en el campo del transporte. En la actualidad, la contaminación asociada a los vehículos basados en combustibles fósiles, y el alto costo de estos últimos ha derivado en el desarrollo de vehículos híbridos y eléctricos. La figura 2-3 muestra la evolución de las emisiones de carbono según sector industrial durante el periodo comprendido entre 1975 al año 2000. 14 Figura 2-3: Evolución de la emisión de Dióxido de Carbono por sector industrial (Ehsani, Gao, & Emadi, 2009) Actualmente, los vehículos híbridos se han posicionado como una transición entre los vehículos basados en combustible fósil y los de tipo eléctrico 100%. La literatura indica que la limitante para hacer competitivo al vehículo eléctrico respecto al convencional, es la baja capacidad energética de las baterías actuales (energía específica), lo que se traduce en una limitada capacidad de recorrer grandes distancias con ellos, Por ello es que se plantea al vehículo híbrido como un intermedio más competitivo (Ehsani et al., 2009). El vehículo híbrido eléctrico es un tipo de medio de transporte que tiene al menos dos fuentes de energía, una de tipo eléctrico y otra con combustibles fósiles. Estas fuentes pueden ser usadas de forma independiente, o bien simultáneamente, para repartir la carga mecánica o establecer mecanismos de carga de baterías y sistemas auxiliares de energía. Lo anterior depende de la configuración utilizada en el vehículo. 15 Básicamente, existen dos configuraciones, de las cuales se derivan otras mediante combinación de las ya mencionadas, pero que no se describirán en esta tesis, ya que escapan al propósito de este trabajo (Ehsani et al., 2009; Lo, 2009). Estas configuraciones son la Híbrida Serie y la Híbrida Paralela: a) Hibrida Serie En esta configuración, la tracción está a cargo de motores eléctricos que son abastecidos por un paquete de baterías. Sin embargo, se añade un motor de combustión interna acoplado a un generador sólo para cargar las baterías cuando es necesario (carga bajo un umbral preestablecido). Cabe destacar que el motor de combustión no se acopla a las ruedas, por lo que se minimizan las pérdidas mecánicas y el motor de combustión se puede operar en su punto de mayor eficiencia para minimizar el gasto de combustible fósil. Su esquema se puede ver en la figura 2-4. Figura 2-4: Esquema de Configuración Híbrida Serie 16 b) Híbrida Paralela Esta configuración permite la operación paralela y conjunta del motor de combustión y el motor eléctrico para traccionar el vehículo. Para permitir el funcionamiento conjunto, se hace necesario emplear un sistema de transmisión tal que sume los aportes de torque y potencia de cada motor para la propulsión. Lo normal es que la mayor parte de la energía la aporte el motor de combustión, y que el conjunto opere en el punto de máxima eficiencia. La figura 2-5 presenta su diagrama esquemático. Figura 2-5: Esquema de Configuración Híbrida Paralela 2.3 El Proyecto Híbrido Serie Chevrolet S-10 Actualmente, en el Laboratorio de Vehículos eléctricos, se está llevando a cabo la conversión de una camioneta eléctrica Chevrolet S-10 a sistema híbrido tipo serie, con la posibilidad de ser conectada a la red eléctrica domiciliaria. La alimentación del vehículo de combustión interna (ICE de “Internal Combustion Engine) está basada en gas natural como combustible. En la figura 2-6 se presenta una fotografía del vehículo: 17 Figura 2-6: Camioneta Experimental Chevrolet S-10 Híbrida El vehículo contiene un grupo motor-generador cuyas características se presentan en la Tabla 2.1: Tabla 2.1: Características del Grupo Motor-Generador Potencia 28 kW máx. Tipo Otto de 3 Cilindros Combustible Gas Natural Desplazamiento 796 cc Potencia 7 kW Tipo Axial – Imanes Permanentes Torque 29,5 Nm máx. ICE Generador El generador es controlado a través de un rectificador electrónico de frente activo, cuya función principal es dirigir el flujo de energía hacia las baterías (proceso de carga). 18 Este generador a su vez actúa como motor de arranque, proceso en el cual el flujo de energía se invierte. En la figura 2-7, se presenta el dispositivo instalado en el vehículo: Figura 2-7: Rectificador de Frente Activo Instalado en el Vehículo El vehículo cuenta con un conjunto de 12 baterías de plomo, cuya energía es transferida a sendos controladores electrónicos para alimentar los dos motores de tracción traseros. Estos motores son del tipo inducción jaula de ardilla y son los encargados de impulsar la camioneta. Estas dos máquinas están caracterizadas según la tabla 2.2: Tabla 2.2: Caracterización de Motores de Tracción Camioneta S-10 Potencia 12 kW @ 7400 rpm Tipo Inducción Torque 20 Nm Motores de Tracción 19 En la figura 2-8 se puede observar la integración de todos estos componentes: Figura 2-8: Integración de Componentes al Interior del Vehículo Híbrido En el esquema anterior se puede ver el grupo motor-generador, el control del grupo (rectificador de frente activo), el banco de baterías, el tanque de gas natural, los controladores de tracción y sus respectivos motores de tracción traseros. 20 2.4 El Problema y la Solución Propuesta Como fue explicado anteriormente, el proyecto híbrido S-10 contempla el uso de la máquina síncrona como generador para cargar las baterías del vehículo bajo una utilización óptima del motor de combustión interna, y además como motor de arranque para el motor de combustión interna. Esto último trae dificultades, pues de acuerdo a lo presentado, esta máquina no tiene torque a la partida y se hace necesario implementar alguno de los métodos de control revisados en la sección 2.1 para poder usarla con dicho fin. Haciendo un análisis de factibilidad tenemos por un lado los métodos “sensorless” y por otro los con sensor de posición. El método “sensorless” se descarta por sus problemas a velocidades bajas, pues el generador será utilizado como motor de arranque y debe aplicar un torque considerable a la partida usando el accionamiento ya implementado con anterioridad en el vehículo. Se hace presente que recientemente han proliferado controladores electrónicos industriales capaces de producir un alto torque, a baja velocidad y por un tiempo corto a partir de métodos “sensorless” evadiendo en parte los problemas de operación a baja velocidad, sin embargo el accionamiento instalado en el vehículo híbrido experimental fue fabricado previa e íntegramente en el laboratorio. Por lo tanto se hace imprescindible el uso del sensor de posición en el motor. Uno de los problemas que se presentó para instalar el sensor de posición es el espacio disponible entre motor y chasis del vehículo, el cual puede apreciarse en la figura 2-9. 21 Figura 2-9: Espacio Disponible para la Instalación del Sensor El reducido espacio disponible dificulta enormemente la instalación de cualquier dispositivo presente en el mercado, ya sea por tamaño o por requerimientos de acoplamiento y medición, y precisamente éste fue el problema que permitió desarrollar un nuevo sensor de posición, el cual al parecer no ha sido aún desarrollado. La solución fue el diseño de un disco adosado a la polea del cigüeñal, codificado perimetralmente y de forma serial, con una secuencia binaria que define las posiciones de forma absoluta. Al hacer esto, el tamaño del sensor se reduce prácticamente al espesor del disco codificado, el cual es leído por una serie de fotosensores ubicados en el perímetro del disco, y cuyo número depende del número de bits de la secuencia binaria. El problema es que dicha secuencia binaria era desconocida, por lo que debía encontrarse un algoritmo para generar una secuencia de números binarios leídos serialmente y que nunca se repitieran, independiente del número de bits del disco sensor. Es precisamente éste el motivo que generó este trabajo de investigación. 22 2.5 Hipótesis, Objetivos de la Investigación y Metodología A lo largo de la investigación, la hipótesis a verificar corresponde a la factibilidad de codificar posición usando una secuencia binaria distribuida perimetralmente a lo largo del disco grabado, cuya lectura secuencial permita hacer lecturas de sectores angulares independientes en forma absoluta. A partir de lo anterior, el objetivo principal de esta investigación es desarrollar un nuevo encoder óptico absoluto basado en una codificación binaria serial de n bits. La secuencia binaria debe ser sin redundancia y contener la lista completa de números. Este encoder se instalará en el generador eléctrico del vehículo híbrido experimental S-10 del Laboratorio de Vehículos Eléctricos, de modo que permita operarlo como motor de arranque para la puesta en marcha del motor de combustión. Los objetivos específicos son: a) Desarrollar un algoritmo generador de código secuencial sin redundancia para una resolución generalizada (n-bits). b) Implementar físicamente un sensor óptico perimetral para un vehículo híbrido de resolución fija. c) Evaluar el desempeño del dispositivo por medio de las pruebas de puesta en marcha del vehículo. En resumen, para verificar la hipótesis y lograr los objetivos propuestos, la metodología consiste primeramente en establecer condiciones para la codificación perimetral del disco sensor. Luego, desarrollar un algoritmo generador de código que sea capaz de formar una secuencia binaria perimetral para cualquier resolución requerida, y fabricar un disco sensor con el código encontrado para ser instalado posteriormente en el vehículo híbrido experimental. Finalmente, analizar el desempeño del sensor a partir de pruebas de puesta en marcha del motor síncrono en un banco de pruebas experimental. 23 3. ESTRUCTURA, CODIFICACION Y OPERACIÓN DEL SENSOR A lo largo de este capítulo se presentará el sensor de posición desarrollado, sus principales características estructurales, el algoritmo de generación de su secuencia binaria y la forma de operación, junto con la descripción de sus principales ventajas. 3.1 Estructura y Diseño del Sensor El sensor propuesto consiste en un disco rotatorio y “n” fotosensores convencionales que se traducen en una resolución de n bits capaces de codificar 2n posiciones diferentes. Estas posiciones son codificadas en una secuencia digital de 2n estados e inscrita en el perímetro del disco a través de perforaciones o regiones sombreadas dependiendo del modo de lectura (atravesando el disco o por reflexión), de los procedimientos de fabricación y el material utilizado. Los fotosensores se disponen al extremo del disco rotatorio y leen las posiciones como n-tuplas de la secuencia codificada mientras el disco gira. De esta forma, la resolución angular de este sensor para n bits está definida por: La figura 3-1 presenta la estructura del sensor propuesto, en este ejemplo con sólo 4 bits de resolución. En ella se observa el disco con la secuencia inscrita, en gris la estructura de lectura fija, y en su interior con puntos rojos los fotosensores. 24 Figura 3-1: Estructura del Sensor Propuesto para 4 Bits de Resolución 3.2 Codificación del Sensor La distribución de la codificación a lo largo del perímetro es más complicada que en los encoders convencionales, puesto que mientras en el convencional la tabla de verdad asociada a las posiciones, binaria o gray, se distribuye radialmente a lo largo del disco rotatorio, el código perimetral debe distribuir la misma información en una secuencia lineal cíclica coherente debido a la lectura continua por rotación. Esta secuencia entra a la región de lectura de forma serial y la salida es de tipo paralela con n bits. De esta forma cada posición comparte n-1 bits con la anterior. Claramente, la tabla resultante de esta lectura secuencial es diferente respecto a los códigos binario y gray clásicos, por lo tanto la generación de la secuencia requiere un criterio particular. 25 A lo largo de la investigación, heurísticamente fue posible establecer condiciones de generación de código secuencial capaz de definir 2n posiciones diferentes, y además mantener la coherencia para la rotación del disco. Estas condiciones se resumen a continuación: 1) La primera posición de la tabla, debe ser definida al inicio. 2) Cuando la secuencia es leída en una dirección, cada código de posición corresponde a un desplazamiento de 1 bit de la anterior. 3) No puede haber redundancia de código. 4) Las 2n posiciones posibles deben existir en el disco La tercera condición resulta fundamental para la operación del sensor, pues los códigos resultantes deben ser únicos para no tener problemas de lectura a lo largo del disco que impidan obtener la posición correcta. En el sensor diseñado, la primera condición se cumple asumiendo la posición inicial como el código digital cero. La segunda condición se logra desplazando la posición previa un bit hacia la izquierda y la tercera condición se impone añadiendo o no una unidad al código resultante, dependiendo de la repetición del mismo en las posiciones previas. La existencia de la cuarta condición asegura que la resolución angular expresada en (2) se satisface. De este modo, definiendo el código de la primera posición (P0) como 0, Aux como una variable de decisión y Pk como el término general para todo el resto de las posiciones, con k desde 1 hasta 2n-1, las ecuaciones en notación decimal que rigen la generación de código son: 26 En la figura 3-2 se presenta el algoritmo de código simplificado. Figura 3-2: Algoritmo de Generación de Código Simplificado Este algoritmo de codificación fue implementado en MATLAB y en la Figura 3-3 se puede observar el diagrama de flujo completo. En el Anexo A está el código completo adjunto. 27 Figura 3-3: Algoritmo Implementado en MATLAB 28 El código implementado en MATLAB recibe la referencia de resolución en bits para la cual se debe generar la secuencia y entrega una tabla binaria con todos los códigos de posición definidos, junto a la secuencia requerida a estampar en el disco. Este código fija la primera posición como el código digital 0, y luego inicia un ciclo acotado al total de posiciones restantes por rellenar, para completar la tabla. El siguiente código se rellena haciendo un desplazamiento de bit a la izquierda del anterior y sumando una unidad. Este nuevo código entra a un ciclo de chequeo de repeticiones para verificar que no haya sido definido previamente en la tabla. En caso de detectar repeticiones en el chequeo, al nuevo código se le resta una unidad. Si no hay repetición, el nuevo código se mantiene con la unidad añadida. Así el ciclo continúa hasta completar la tabla. La tabla 3.1, presenta los códigos digitales resultantes de la ejecución del programa para 4 bits. En el Anexo B se pueden encontrar las tablas resultantes para 6 y 8 bits. Tabla 3.1: Tabla de Posiciones Digitales para Resolución de 4 Bits Combinación Bit 4 Bit 3 Bit 2 Bit 1 Equivalente Decimal 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 0 0 0 0 1 1 1 1 0 1 1 0 0 1 0 1 0 0 0 1 1 1 1 0 1 1 0 0 1 0 1 0 0 0 1 1 1 1 0 1 1 0 0 1 0 1 0 0 0 1 1 1 1 0 1 1 0 0 1 0 1 0 0 0 0 1 3 7 15 14 13 11 6 12 9 2 5 10 4 8 De la tabla, se observa que la codificación no sigue el orden convencional binario ni gray, y asimismo, que la notación decimal de los códigos tampoco sigue un orden establecido. Sin embargo, las 2n combinaciones de código están presentes y ninguna se repite. 29 Para utilizar adecuadamente esta información, la tabla debe ser almacenada directamente en un microcontrolador de forma que las lecturas de los fotosensores se traduzcan en una secuencia numérica continua. Luego debe realizarse una ejecución de acciones de control sobre otros dispositivos. Para verificar que las condiciones establecidas se satisfacen, se puede referenciar la Tabla 3.1, asociada al código resultante para una resolución de 4 bits. A partir de ella se puede observar que todas las condiciones de diseño son satisfechas. La secuencia serial de codificación para 4 bits de resolución se presenta en la tabla 3.2 y el disco resultante asociado a dicha secuencia se presenta en la figura 3-4. Tabla 3.2: Secuencia a grabar en disco para 4 bits de Resolución Secuencia de Codificación para Sensor de 4 Bits de Resolución 0 1 1 1 1 0 1 1 0 0 1 0 1 0 Figura 3-4: Disco resultante para Sensor de 4 bits de Resolución 0 0 30 3.3 Operación del Sensor A partir del generador de código, se obtiene la secuencia a ser estampada en el disco rotatorio. De esta forma, una vez instalado el sensor de posición, los fotosensores leen los códigos de posición a partir de la rotación del disco grabado. Esto proporciona la información binaria respectiva al controlador, el cual posee la definición de posiciones digitales previamente establecidas. La secuencia codificada es completamente leída por cada uno de los fotosensores instalados, por lo que estando en una posición determinada, la rotación del disco en sentido horario o anti-horario produce un desplazamiento de bit a la derecha o a la izquierda respectivamente. Claramente esta definición es arbitraria y puede ser invertida dependiendo del diseño e instalación física del sensor. Con todo, la operación del sensor se puede hacer equivalente a un Registro de Desplazamiento Bidireccional con entrada serial y salida paralela de n-bits, donde la rotación define tanto la dirección del desplazamiento como el reloj de entrada en función de la velocidad. La entrada se asocia a la lectura de los n fotosensores y la salida paralela a la posición en el instante de medición. La figura 3-5 presenta el esquema de operación del sensor. En él se observa la estructura fija asociada a los fotosensores, el disco codificado con una resolución de 4 bits y las posiciones medidas a medida que éste va rotando. 31 Figura 3-5: Esquema de Operación del Sensor de Posición 3.4 Ventajas del Sensor Es claro que gracias a la operación de desplazamiento, cada código comparte n-1 bits con los adyacentes, lo que facilita el proceso de medición y evita errores, atendido a que cada n-tupla leída por los fotosensores está completamente definida por su predecesor. Basta tener en consideración que incluso posibles errores de transición pueden ser corregidos digitalmente, recurriendo a filtros dentro del mismo controlador. Esto hace innecesario implementar un código de detección y corrección de errores. Como un ejemplo comparativo para mostrar la reducción en tamaño del sensor, la figura 3-6 muestra un sensor convencional, codificado de forma binaria y radial de 6 bits, con un sensor perimetral de la misma resolución. 32 Figura 3-6: Comparación de Sensores de 6 bits de Resolución: a) Convencional Binario, b) Propuesto Se observa de la figura que el disco propuesto, a pesar de contener la misma información, es mucho más pequeño. Así, la estructura física del sensor se ve disminuida en tamaño en términos radiales como también en espesor, ya que los códigos se leen en la periferia permitiendo instalar la electrónica de lectura en el contorno del disco. Por otra parte, la codificación secuencial puede ser utilizada para la medición lineal de posición pues el código generado resulta coherente para estos efectos. La figura 3-7 presenta una distribución lineal factible para 4 bits de resolución. 33 Figura 3-7: Modelo de Codificación Perimetral para Sensores Lineales Finalmente, la versatilidad del código permite separar los bits para redistribuir la lectura, lo cual será presentado como ejemplo en la sección experimental de la tesis. De lo presentado a lo largo de este capítulo, se concluye que es posible generar secuencias para la codificación perimetral. Por una parte, se han establecido condiciones para la formulación del código y por otra se ha podido programar un algoritmo que permite la generación de secuencias para cualquier resolución requerida. Las ventajas de este nuevo código se evidencian al comparar la codificación binaria/gray convencionalmente radial con la secuencia perimetral planteada. Hay una reducción considerable de tamaño para una misma resolución y junto con ello, la secuencia binaria no sólo puede ser distribuida circularmente, sino que también puede hacerse de forma lineal sin cambiar su estructura permitiendo su implementación para aplicaciones lineales. En el siguiente capítulo se complementará la teoría presentada con la práctica, a través de la implementación física de un sensor de 4 bits cuya aplicación será la medición de posición rotórica de un motor eléctrico para efectos de control de torque y las pruebas experimentales. 34 4. IMPLEMENTACIÓN Y RESULTADOS EXPERIMENTALES En este capítulo se presentará el diseño y la implementación física de un sensor de 4 bits que en una próxima etapa será instalado en el vehículo experimental para su puesta en marcha. Se revisará la codificación del disco, su construcción, la estructura lectora, la electrónica asociada, el banco de pruebas utilizado y la forma de usar esta información por parte del controlador, para finalmente presentar los resultados experimentales asociados. 4.1 Reordenamiento de Código Como se enunció en el capítulo anterior, este código tiene la particularidad de poder redistribuirse, permitiendo separar los fotosensores en caso de ser necesario ya sea debido a requerimientos constructivos o de instalación. Con la finalidad de verificar esta propiedad, previo al desarrollo del algoritmo final, fueron hechas diversas pruebas de codificación entre las que derivaron a la siguiente tabla heurística, signada 4.1: Tabla 4.1: Tabla de Posiciones Digitales para Resolución de 4 Bits Heurística Combinación Bit 4 Bit 3 Bit 2 Bit 1 Equivalente Decimal 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 0 0 0 1 0 0 1 1 0 1 0 1 1 1 1 0 0 1 0 0 1 1 0 1 0 1 1 1 1 0 0 1 0 0 1 1 0 1 0 1 1 1 1 0 0 1 0 0 1 1 0 1 0 1 1 1 1 0 0 0 1 2 4 9 3 6 13 10 5 11 7 15 14 12 8 35 La tabla anterior se puede ver que cumple con las características propias del sensor perimetral, sin embargo no satisface la condición de aprovechamiento completo de códigos pues la combinación digital correspondiente a “0000” no se encuentra presente, dando un total de 15 códigos de un total de 16 posibles. Esto constituye otra solución, no óptima en combinaciones, a la codificación en 4-bits en base a una redistribución de código. El hecho de lograr este tipo de codificación, hace pensar en la implementación de códigos secuenciales que puedan ser leídos bit por medio mediante una redistribución de fotosensores. Por lo tanto, tomando como base la tabla 4.1, a lo largo de la investigación fue posible generar una secuencia coherente cuya lectura se puede realizar bit por medio. Esta secuencia se presenta en la tabla 4.2. Tabla 4.2: Tabla de Posiciones Digitales para Resolución de 4 Bits con Lectura a Bit por Medio Combinación Bit 4 Bit 3 Bit 2 Bit 1 Equivalente Decimal 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 0 0 0 1 0 0 1 1 0 1 0 1 1 1 1 0 1 0 0 1 1 0 1 0 1 1 1 1 0 0 0 0 1 1 0 1 0 1 1 1 1 0 0 0 1 1 1 0 1 0 1 1 1 1 0 0 0 1 0 0 1 5 2 11 4 7 9 15 3 14 6 12 13 8 10 36 Se observa que esta secuencia, cumpliendo con las características de codificación perimetral, tampoco satisface la condición de aprovechamiento de códigos proveyendo un máximo de 15 posiciones sobre un total de 16 posibles, atendido el uso de 4 bits de resolución. Sin embargo permite separar los fotosensores a una distancia de un bit entre sí. Resulta notable observar que existe una relación bastante grande entre ambas secuencias. Dividiendo la tabla 4.1 en dos subsecciones, una desde la combinación 0 hasta la 7 y otra desde la 8 hasta la 14, y leer los códigos de posición siguiendo las flechas indicadoras en la figura 4-1, se hace evidente que el resultado del recorrido es la tabla 4.2. Figura 4-1: Derivación de Tabla 4-2 a partir de Tabla 4-1. Se puede verificar que comenzando la codificación desde la posición 1, la nueva secuencia ordena los códigos alternando las posiciones entre ambas tablas, descartando de plano el código “0000” (o su decimal equivalente 0). Esta propiedad resulta muy interesante para un posible estudio futuro relativo a este tipo de codificación y la recursividad sobre la distribución de los bits. Cabe destacar que esto también iría en el mismo objetivo de optimización de tamaño del encoder que se ha presentado a lo largo de este trabajo. 37 Esta secuencia de codificación, bit por medio, fue implementada físicamente en el disco, tanto del banco de pruebas como el que se va a instalar en la camioneta, con la finalidad de verificar la operación del sensor y la funcionalidad de redistribución de código. 4.2 Diseño y Fabricación del Disco A partir de la tabla anterior, se puede proceder con la construcción del disco de pruebas. El motor tiene 4 pares de polos magnéticos, y con la finalidad de leer la posición efectiva del rotor es necesario seccionar el disco en esos 4 sectores equivalentes y grabarlos con la misma codificación. De esta forma, cada sector de 90 grados está definido por 15 estados binarios como se observa en la figura 4-2 que muestra el prototipo en dos dimensiones. El material de fabricación es acrílico negro, con un espesor de 2 mm. Figura 4-2: Diagramación del Disco Grabado en 2D 38 En la figura anterior, se puede observar la perforación central del disco para acoplarlo al eje del motor. Los orificios pequeños a los costados de esta perforación son para apernar el disco al buje que lo sostendrá en el motor de combustión interna. En la periferia está la codificación con sus respectivas zonas perforadas (código “1”) y no perforadas (código “0”). La figura 4-3 presenta el prototipo modelado en Autodesk Inventor. Este modelo es en 3D y resulta muy similar al disco final implementado. Figura 4-3: Modelo 3D del Disco Codificado 39 En amarillo, está la cara frontal, donde se puede apreciar la forma del disco y su presentación en 3D. Dados los requerimientos de precisión, tanto en el disco construido como en la estructura lectora que componen el sensor, se optó por procesar el disco en la cortadora Láser del Taller de Desafíos de la Ingeniería ubicado en el Departamento de Ingeniería Mecánica, que se muestra en la figura 4-4. Figura 4-4: Cortadora Láser Taller de Desafíos de la Ingeniería Con todo, la estructura final del disco grabado se presenta en la figura 4-5. 40 Figura 4-5: Disco Grabado Final Cabe destacar que la elección del acrílico como material para el disco se basó en las restricciones de material utilizable por la cortadora. 4.3 Estructura Lectora La estructura lectora se compone de 4 fotosensores ITR8102, para 4 bits de resolución, cuya hoja de datos se adjunta en el Anexo C. La figura 4-6 presenta uno de estos dispositivos físicamente. El parámetro más relevante para efectos de análisis de estos dispositivos y la aplicación que compete a este trabajo, es la rapidez de respuesta en términos de tiempos de subida y bajada por las transiciones binarias, que en el caso de estos sensores ópticos son de 15 µs. 41 Figura 4-6: Fotosensor ITR8102 Para el caso de esta aplicación, estas variables definen la máxima velocidad de rotación del disco sin tener problemas de medición debidos a la rapidez de respuesta de estos dispositivos. Considerando que la cantidad de estados digitales en este sensor son 60 (4 polos y 15 estados por polo), cada estado debe tener una duración temporal mínima de: La cantidad de estados, multiplicada por este tiempo, define el periodo de rotación más pequeño posible del disco y con ello la máxima velocidad alcanzable por él: 42 Atendido el hecho que la puesta en marcha de un motor de combustión se realiza desde una velocidad nula hasta aproximadamente 100 a 200 rpm, no hay problema con el uso de estos fotosensores para estos efectos. Incluso, para operación nominal sobre 3000 RPM, el margen de lectura es suficientemente alto como para obviar cualquier error debido a la velocidad de operación del dispositivo. Los fotosensores se disponen de forma perimetral en una estructura, de material basado en poliestireno, cuya curvatura coincide con el disco grabado. El bloque lector se adosa a una pieza metálica que a su vez deja 2 grados de libertad para el posicionamiento de los lectores, uno para el encaje adecuado con el disco grabado y otro para el enlace con el block del motor. La pieza final desarrollada se observa en la figura 4-7. Figura 4-7: Estructura Lectora 43 4.4 Electrónica Entre el disco y el controlador, está la electrónica asociada al acondicionamiento de las señales digitales. El diagrama en bloques asociado se presenta en la figura 4-8: ELECTRÓNICA ACONDICIONAMIENTO DE SEÑALES DISCO FOTOSENSORES COMPARADORES CONTROLADOR Figura 4-8: Diagrama en Bloques del Sensor y su Electrónica Cada una de las etapas será explicada a continuación: 4.4.1 Fotosensores : Generación de Señales Digitales Cada fotosensor es modelado en un extremo por un led infrarrojo, que hace de emisor, y por el otro, por un fototransistor que hace de receptor. Ambos deben ser polarizados de forma independiente para generar la salida digital asociada al bit respectivo. La figura 49 presenta el esquemático de esta etapa. 44 Figura 4-9: Circuito Fotosensores Este circuito es común para los 4 bits del sensor experimental. 4.4.2 Comparadores : Adecuación y Amplificación de Señales Digitales La polarización del fotosensor no es suficiente para generar las salidas digitales correctas. En efecto, en términos ideales, el dispositivo debiese ser capaz de entregar estados lógicos estabilizados, de forma que un 0 lógico sea equivalente a una salida de 0 V y un 1 lógico sea equivalente a 5 V. Sin embargo, la transferencia de información se hace por medio de la luz y su intensidad define las condiciones de polarización del fototransistor, ello sin siquiera considerar que no hay perfecta simetría entre los componentes utilizados. 45 Es esperable entonces que no se logren los niveles ideales con un dispositivo convencional. Experimentalmente se encontró que los voltajes asociados a las salidas lógicas 0 y 1 eran aproximadamente 0,5 Volts y 4,4 Volts respectivamente. El problema asociado a esto es el hecho que el microcontrolador requiere tensiones de al menos 4,7 Volts para interpretarlas como señales digitales “1”. Como experimentalmente no se alcanzaba este valor, se hizo necesario implementar una etapa de comparación y amplificación capaz de discriminar adecuadamente las señales. De esta forma, se hizo necesario implementar un comparador entre los fotosensores a la entrada del microcontrolador, de forma de estabilizar los voltajes asociados a los estados lógicos “0” y “1”. Este dispositivo compara el voltaje proveniente de los fotosensores con una referencia de 2 Volts, particularmente alejada de los niveles 0 Volts y 5 Volts, de forma que todo voltaje mayor a la referencia se asume como 1 lógico y un voltaje menor como 0 lógico. Dado que se requiere comparar 4 bits, se utilizó el integrado LM239, cuya hoja de datos se adjunta en el Anexo D. Este chip contiene 4 comparadores individuales, y la referencia común se generó con un potenciómetro calibrado. El esquemático de esta etapa, para un bit, se presenta en la figura 4-10. Figura 4-10: Circuito Comparador 46 Las figuras 4-11 a 4-13 corresponden al esquemático del circuito completo, su placa impresa e implementación física respectivamente. Figura 4-11: Esquemático Circuito de Acondicionamiento de Señales 47 Figura 4-12: Diseño PCB Circuito de Acondicionamiento de Señales Figura 4-13: Circuito Final Implementado 48 4.5 Control e Inversor El inversor utilizado como accionamiento para el generador síncrono del banco de pruebas (que se utiliza como motor de arranque), corresponde al tipo “Fuente de Voltaje” controlado por corriente cuya topología se presenta en la figura 4-14. Za 150 VDC C Zb Zc ÎREFERENCIA CONTROL PWM Ia Ib Ic Ia , Ib , Ic Figura 4-14: Esquema del inversor utilizado El Inversor es controlado por corriente haciendo uso del método SVPWM (Space Vector Pulse-Width Modulation) que básicamente aplica al motor un vector de voltaje con dirección y magnitud predeterminadas, en función de las mediciones de corriente en el estator y la posición del rotor. La relevancia de usar este método radica en la relación directa entre corriente y torque. 49 Al controlar la corriente, de forma indirecta se controla el torque, y mediante la información de posición instantánea del rotor, este torque se maximiza, logrando un adecuado método de arranque para el motor de combustión interna del vehículo híbrido. 4.6 Banco de Pruebas El banco de pruebas se observa en la figura 4-15. En él se puede ver el motor y el prototipo sensor instalado. a) b) Figura 4-15: Banco de Prueba, a) Vista General y b) Vista Superior Las características generales del motor se presentaron en la tabla 2.1, y para mayor detalle se puede revisar el Anexo E, que corresponde a la hoja de datos del mismo. Otra máquina de idénticas características está montada en el vehículo híbrido. En la figura 4-16, se presenta el sensor acoplado al eje del motor con los fotosensores dispuestos en el perímetro del mismo, en el sector donde se graba la codificación secuencial. 50 Figura 4-16: Acoplamiento Sensor-Motor A continuación, serán presentados los resultados experimentales, derivados de las pruebas en el banco. 4.7 Resultados Experimentales Los resultados experimentales pueden ser divididos en 2 secciones: una relativa al funcionamiento del sensor en lazo abierto y otra en lazo cerrado, tomando en cuenta las variables eléctricas del motor proveídas por el inversor. 51 4.7.1 Operación del Sensor (Pruebas a Lazo Abierto) Las primeras pruebas fueron realizadas en lazo abierto para analizar el desempeño del sensor en términos de proveer información adecuada sobre la posición del rotor. La figura 4-17 presenta una prueba realizada a una velocidad de 40 RPM. Figura 4-17: Señales Digitales provenientes del Sensor En este oscilograma se observa la secuencia de estados en cada una de las salidas digitales del comparador. Haciendo un acercamiento, tenemos la figura 4-18: 52 Figura 4-18: Medición de las No Idealidades en las Transiciones de Estado Al igual que en la figura 4-17, las puntas de medida del osciloscopio estaban invertidas y por ello los códigos aparecen negados. Acá se puede observar que hay imprecisión en las transiciones entre estados. En el caso ideal, todos los bits cambian al mismo tiempo, sin embargo las imprecisiones mecánicas al momento de instalar los fotosensores en la estructura curva se reflejan en retardos entre transiciones. Cabe destacar que la alineación de los fotosensores fue hecha de forma manual y de ahí el problema en las transiciones ya descrito. 53 Para solucionar el problema con las imprecisiones mecánicas se desarrolló un filtro digital capaz de omitir las mediciones incorrectas. En la práctica esto se hizo siguiendo el diagrama de la figura 4-19. Figura 4-19: Diagrama de Flujo Filtro Digital 54 Básicamente, lo que hace este filtro es implementar un retardo en la medición de posición cada vez que se detecta un error en la secuencia. En caso que la posición medida coincide con la almacenada, se alcanzan las condiciones de borde – posición 14 a 0 y viceversa -, o la nueva posición concuerda con la secuencia, el sensor no hace nada pues no hay error. En el Anexo F se explica con más detalle el funcionamiento de este filtro digital. Con esta corrección, e implementando todo en el controlador del accionamiento electrónico, se realizaron pruebas a distintas velocidades de forma de mostrar la independencia del desempeño del sensor sobre esta variable. Las figuras 4-20 a 4-22, muestran las señales digitales medidas desde el dispositivo, a tres velocidades distintas y con el motor sin carga. Figura 4-20: Salidas Digitales a 60 RPM 55 Figura 4-21: Salidas Digitales a 170 RPM a) b) Figura 4-22: Salidas Digitales a 300 RPM, a) Tren de Pulsos a 25 ms/div y b) Tren de Pulsos a 10 ms/div. 56 Se puede observar que no hay variaciones en la respuesta del dispositivo ante cambios en la velocidad de operación. A continuación se presentarán los resultados de las pruebas con el motor controlado en corriente teniendo en cuenta la realimentación de la posición desde el sensor desarrollado. 4.7.2 Operación del Motor (Pruebas a Lazo Cerrado) Con las debidas correcciones al software de control para medir la posición de forma adecuada, se hicieron pruebas con control en lazo cerrado a partir de las medidas del sensor. Las condiciones de operación son con motor en vacío y control de corriente. Las figuras 4-23 y 4-24, presentan los resultados de las mediciones digitales y las corrientes al estator del motor de prueba. a) b) Figura 4-23: Prueba Lazo Cerrado a 460 RPM, a) Señales Digitales y b) Corrientes de Fase 57 a) b) Figura 4-24: Prueba a Lazo Cerrado a 720 RPM, a) Señales Digitales y b) Corrientes de Fase Las figuras anteriores muestran que la posición se adquiere de forma adecuada y permite la generación de las corrientes requeridas por el motor desde el rectificador. Cabe destacar que el motor tiene una inductancia baja y por ello el filtrado de la corriente no es suficiente. Sin embargo la respuesta del motor fue la esperada para la aplicación que se le dará. Se concluye de este capítulo que es posible codificar la posición correctamente usando las secuencias perimetrales, validando la hipótesis. Las mayores dificultades se asocian a precisión mecánica en la construcción de la estructura lectora debido a que al ser fabricada a mano, la alineación y separación de los fotosensores se vieron afectadas produciendo errores de lectura casi imperceptibles en régimen permanente, pero detectables en el transitorio. Sin embargo, los resultados experimentales a lazo abierto muestran un buen desempeño con posiciones bien definidas, y a lazo cerrado, junto con la programación del filtro digital, la información entregada al controlador es adecuada, permitiendo la generación de las corrientes requeridas por el motor bajo las condiciones de operación descritas. 58 No se debe perder de vista que la tecnología actual permite alcanzar una precisión enorme, y con ello evitar los errores descritos previamente. Cabe destacar que los resultados obtenidos confirman la independencia de la lectura de la posición respecto a la velocidad de operación, y se puede afirmar que no hay problemas en el uso de este dispositivo para el control de motores, cuyo propósito es el fundamento de esta investigación. Finalmente, en base a todo lo anteriormente expuesto, el capítulo 5 presenta las principales conclusiones extraídas a partir de este trabajo. 59 5. CONCLUSIONES En este trabajo de investigación se desarrolló un nuevo sensor de posición binario, basado en un código secuencial de n bits de resolución distribuido perimetralmente, cuya aplicación ha sido enfocada al control de un generador eléctrico para la puesta en marcha de un vehículo híbrido. El nuevo sensor es capaz de resolver 2n posiciones, y su lectura perimetral permite minimizar el tamaño del dispositivo en comparación a los encoders convencionales basados en código binario o gray, pues reduce la superficie de codificación al ocupar sólo la periferia del disco para estos efectos, en lugar del disco completo. Para hacer efectiva la lectura perimetral, se desarrolló un algoritmo generador de código secuencial para el disco sensor, que permite grabar una secuencia de números binarios con cualquier número de bits. Dicha secuencia debía contener todos los números binarios y sin redundancia, lo cual no es obvio considerando que los números se leen en forma serial y secuencial. Con todo, fue posible establecer condiciones para generar la secuencia binaria a grabar en un disco, como así también, a partir de ellas, programar una generalización de la codificación que permite generar secuencias binarias para cualquier resolución junto con la tabla que define todas las posiciones determinadas por dicha secuencia. La parte compleja del desarrollo de esta tesis fue la implementación mecánica del dispositivo. Por una parte, la grabación del disco requirió de una precisión enorme, de forma que los estados binarios definidos por la secuencia fueran todos de igual duración, y por ello fue necesario emplear una cortadora láser en la construcción del mismo. Por otro lado, la construcción de la estructura lectora también requirió de una máxima precisión. Esta estructura fue fabricada en el Laboratorio de Vehículos, con ayuda del taller de Ingeniería Mecánica, y no obstante se tomó la mayor precaución acomodando los fotosensores, igual se presentaron imprecisiones en la alineación de los mismos. 60 Esto se tradujo en errores de transición que fueron eliminados implementando un filtro digital. Cabe destacar que las imprecisiones mecánicas, dada la tecnología actual, son absolutamente evitables. Los resultados experimentales confirman la hipótesis planteada en el Capítulo 2 de la tesis, esto es, la posibilidad de codificar posición de forma adecuada a través del código secuencial distribuido perimetralmente. Los datos obtenidos a partir del banco de pruebas dan cuenta que el sensor genera los trenes de pulsos acordes con la secuencia de codificación. Los errores de transición, debidos a imperfecciones mecánicas, son corregibles con buenos resultados por medio de la implementación de un filtro digital dentro del controlador, como fuera planteado en el Capítulo 3. Particularmente, para la aplicación en control de motores eléctricos, la información sobre la posición rotórica entregada al controlador del inversor es adecuada, permitiendo la generación de las corrientes de operación normal del motor, teniendo en cuenta además que el sensor muestra un buen desempeño para distintas velocidades de operación. No debe perderse de vista el hecho que este dispositivo puede ser perfectamente utilizado en otras aplicaciones tales como: robótica, control de procesos industriales e instrumentación astronómica, entre otros. El próximo paso que debe darse en un trabajo futuro es montar el prototipo en el vehículo híbrido experimental (en el block del motor) y acoplarlo al eje del cigüeñal. Con esto, se puede proceder con las pruebas de partida del grupo motor-generador del vehículo. También hay que profundizar sobre la codificación secuencial en el análisis matemático relativo a la determinación de una fórmula general para la obtención de secuencias binarias. Esto no fue abordado por la tesis, pero resulta de gran relevancia para extender el algoritmo generador de secuencias a cualquier posición inicial, como también a cualquier disposición de los fotosensores (ya sea distanciados o no). 61 Las condiciones para la generación de código son una buena aproximación para abordar un trabajo futuro relativo a esto. Por otro lado, también resulta interesante la implementación de un sensor lineal basado en esta codificación. A lo largo de la tesis se planteó la posibilidad de usar estas secuencias para codificar posiciones de forma lineal, por lo que la implementación sería un paso muy importante para validar empíricamente esta aplicación. Finalmente, es de esperar que este trabajo sirva de base para continuar con la investigación en códigos binarios secuenciales, de forma que su desarrollo a lo largo del tiempo permita la transición desde los sensores ópticos convencionales a dispositivos como el presentado. De esta forma se puede lograr minimizar el tamaño de los encoders y facilitar su manipulación, instalación y aplicación en otros sectores, más allá de lo convencional. 62 BIBLIOGRAFÍA Acarnley, P. P., & Watson, J. F. (2006). Review of position-sensorless operation of brushless permanent-magnet machines. Industrial Electronics, IEEE Transactions on, 53(2), 352-362. doi: 10.1109/TIE.2006.870868 Arazi, B. (1984). Position recovery using binary sequences. Electronics Letters, 20(2), 61-62. doi: 10.1049/el:19840042 Balle, B., Ventura, E., & Fuertes, J. M. (2009, 14-17 April 2009). An algorithm to design prescribed length codes for single-tracked shaft encoders. Paper presented at the Mechatronics, 2009. ICM 2009. IEEE International Conference on. Bose, B.K. (2002). Modern Power Electronics and Ac Drives: Prentice Hall PTR. Dorf, R.C., & Bishop, R.H. (2011). Modern Control Systems: Pearson. Ehsani, M., Gao, Y., & Emadi, A. (2009). Modern Electric, Hybrid Electric, and Fuel Cell Vehicles: Fundamentals, Theory, and Design, Second Edition: Taylor & Francis. Finch, J. W., & Giaouris, D. (2008). Controlled AC Electrical Drives. Industrial Electronics, IEEE Transactions on, 55(2), 481-491. doi: 10.1109/TIE.2007.911209 Fleming, W. J. (2001). Overview of automotive sensors. Sensors Journal, IEEE, 1(4), 296-308. doi: 10.1109/7361.983469 Fraden, J. (2004). Handbook of Modern Sensors: Physics, Designs, and Applications: AIP Press/Springer Verlag. Fuertes, J. M., Balle, B., & Ventura, E. (2008). Absolute-Type Shaft Encoding Using LFSR Sequences With a Prescribed Length. Instrumentation and Measurement, IEEE Transactions on, 57(5), 915-922. doi: 10.1109/TIM.2007.913811 Hanselman, D. C. (1990). Resolver signal requirements for high accuracy resolver-todigital conversion. Industrial Electronics, IEEE Transactions on, 37(6), 556-561. doi: 10.1109/41.103461 Hiltgen, A. P., & Paterson, K. G. (2001). Single-track circuit codes. Information Theory, IEEE Transactions on, 47(6), 2587-2595. doi: 10.1109/18.945274 Hiltgen, A. P., Paterson, K. G., & Brandestini, M. (1996). Single-track Gray codes. Information Theory, IEEE Transactions on, 42(5), 1555-1561. doi: 10.1109/18.532900 63 Holtz, J. (2002). Sensorless control of induction motor drives. Proceedings of the IEEE, 90(8), 1359-1394. doi: 10.1109/JPROC.2002.800726 Lim, S. Y., Luh, J. Y. S., & Zheng, Y. F. (1988, 24-26 Aug 1988). Integration of multiple sensors in robotic control systems. Paper presented at the Intelligent Control, 1988. Proceedings., IEEE International Symposium on. Lizhi, Sun. (2008). Analysis and Improvement on the Structure of Variable Reluctance Resolvers. Magnetics, IEEE Transactions on, 44(8), 2002-2008. doi: 10.1109/TMAG.2008.923315 Lo, E. W. C. (2009, 20-22 May 2009). Review on the configurations of hybrid electric vehicles. Paper presented at the Power Electronics Systems and Applications, 2009. PESA 2009. 3rd International Conference on. McLaren. (2009a). Linear Position Sensors Application Note. Retrieved 11-08-2013, 2013, from http://www.mclarenelectronics.com/Content/Products/_ApplicationNotes/Linear%20Pos ition%20Sensors/Linear_Position_Sensors_Application_Note.pdf McLaren. (2009b, 11-08-2013). Rotary Position Sensor Application Note. Retrieved 11-08, 2013, from http://www.mclarenelectronics.com/Content/Products/_ApplicationNotes/Rotary%20Po sition%20Sensors/Rotary_Position_Sensors_Application_Note.pdf Mistlberger, G., Koren, K., Borisov, S. M., & Klimant, I. (2009, 25-28 Oct. 2009). Magnetic sensor macrospheres as easy-to-use, remote-controlled, optical sensors in bioprocess monitoring. Paper presented at the Sensors, 2009 IEEE. Mitutoyo. (2013). ABSOLUTE Digimatic Caliper Series 500-with Exclusive ABSOLUTE Encode Technology. Retrieved 11-08, 2013, from http://ecatalog.mitutoyo.com/ABSOLUTE-Digimatic-Caliper-Series-500-withExclusive-ABSOLUTE-Encode-Technology-C1381.aspx Miyashita, K., Takahashi, T., & Yamanaka, M. (1987). Features of a magnetic rotary encoder. Magnetics, IEEE Transactions on, 23(5), 2182-2184. doi: 10.1109/TMAG.1987.1065634 Pinet, E., Dube, S., Vachon-Savary, M., Cote, J. S., & Poliquin, M. (2006). Sensitive Chemical Optic Sensor Using Birefringent Porous Glass for the Detection of Volatile Organic Compounds. Sensors Journal, IEEE, 6(4), 854-860. doi: 10.1109/JSEN.2006.877994 64 Shuanghui, Hao, Yong, Liu, & Minghui, Hao. (2009, 22-25 Feb. 2009). Study on a novel absolute magnetic encoder. Paper presented at the Robotics and Biomimetics, 2008. ROBIO 2008. IEEE International Conference on. Soloman, S. (2009). Sensors Handbook: Mcgraw-hill. Sugiyama, Y., Matsui, Y., Toyoda, H., Mukozaka, N., Ihori, A., Abe, T., . . . Mizuno, S. (2008). A 3.2 kHz, 14-Bit Optical Absolute Rotary Encoder With a CMOS Profile Sensor. Sensors Journal, IEEE, 8(8), 1430-1436. doi: 10.1109/JSEN.2008.920709 Suwanratchatamanee, K., Matsumoto, M., & Hashimoto, S. (2010). Robotic Tactile Sensor System and Applications. Industrial Electronics, IEEE Transactions on, 57(3), 1074-1087. doi: 10.1109/TIE.2009.2031195 Tomlinson, G. H. (1987). Absolute-type shaft encoder using shift register sequences. Electronics Letters, 23(8), 398-400. doi: 10.1049/el:19870291 65 ANEXOS 66 ANEXO A : CÓDIGO MATLAB DEL ALGORITMO GENERADOR DE SECUENCIA El código desarrollado en MATLAB para la generación de código se presenta en este anexo. Está debidamente comentado a fin de facilitar su lectura e interpretación. function matrizfinal = codificacionv3(n,narchivo) % Definimos la cantidad de códigos y bits del sensor ncodigos=2^n; bits=n; % Creamos la matriz binaria que contendrá % todos los códigos correctos. matrizbinaria=cell(ncodigos,1); % Es necesario tener un arreglo de números decimales equivalente % a lo que llevamos de código. Se construye la matriz equidec. matrizequidec=zeros(ncodigos,1); % ------------------------- Código -----------------------% Primero rellenamos la matriz de códigos con ceros. matrizbinaria{1}=dec2bin(0,n); matrizequidec(1)=0; % Ahora procedemos a rellenar con el código for i=2:ncodigos % Lo primero es generar la siguiente linea con un shift izquierdo % incrementando en una unidad matrizbinaria{i}=bin(bitsll(fi(matrizequidec(i-1),0,n,0),1)); matrizbinaria{i}=dec2bin((bin2dec(matrizbinaria{i})+1),n); % % % % % % Por algoritmo debemos mantener dicho valor o bien restar 1 En principio sumamos 1, y luego comparamos el valor binario resultante con todos los elementos de la tabla anteriores a este código. Si este código estuviese repetido, debemos asumir que el bit menos significativo debe ser 0 - y no 1 como dijimos en principio-. % Ahora comparamos este código con todos los anteriores a él conteo=0; for j=1:(i-1) if(strcmp(matrizbinaria{i},matrizbinaria{j})) conteo=conteo+1; 67 end end % Si el conteo de repeticiones es 0, actualizamos la matriz binaria if(conteo==0) % Si es distinto a 0, actualizamos la matriz auxiliar else matrizbinaria{i}=dec2bin((bin2dec(matrizbinaria{i})-1),n); end % Actualizamos el valor decimal equivalente del código generado matrizequidec(i)=bin2dec(matrizbinaria{i}); end % Armamos la matriz de Códigos Final for x = 1:ncodigos ordencodigos(x,1)=x-1; end matrizfinal=[ ordencodigos de2bi(matrizequidec,n,'left-msb') matrizequidec ]; % Guardamos la Matriz en un Archivo Excel file=narchivo; % Generamos la fila de información datostabla{1,1} = 'Combinacion'; decremento=bits; for y=2:bits+1 datostabla{1,y} = ['Bit ' num2str(decremento)]; decremento = decremento-1; end datostabla{1,bits+2} = 'Equivalente Decimal'; % Guardamos la fila de información y la matriz en excel [estado1]=xlswrite(file,datostabla,[num2str(n) ' Bits'],'A1'); [estado2]=xlswrite(file,matrizfinal,[num2str(n) ' Bits'],'A2'); if estado1==0 || estado2==0 disp('La creacion del archivo ha fallado.'); end end 68 ANEXO B : TABLAS DE SECUENCIA PARA RESOLUCIONES DE 6 Y 8 BITS. El algoritmo generador de secuencias fue evaluado para resoluciones mayores obteniéndose las tablas B-1 para 6 bits y B-2 para 8 bits. En ambas se puede verificar el cumplimiento de las condiciones enunciadas en la tesis para la construcción de código como así también la secuencia almacenada en cada columna bit. Atendido el espacio requerido por ambas tablas dada su extensión (64 y 256 combinaciones para 6 y 8 bits respectivamente), éstas se organizan en bloques de 64 códigos de forma de asegurar continuidad en la revisión de las mismas. Las tablas se encuentran a continuación. 69 Tabla B.1: Tabla de Posiciones Digitales para Resolución de 6 Bits Combinación Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Equivalente Decimal 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 0 0 0 0 0 0 1 1 1 1 1 1 0 1 1 1 1 0 0 1 1 1 0 1 0 1 1 1 0 0 0 1 1 0 1 1 0 1 0 0 1 1 0 0 1 0 1 1 0 0 0 0 1 0 1 0 1 0 0 0 1 0 0 1 0 0 0 0 0 1 1 1 1 1 1 0 1 1 1 1 0 0 1 1 1 0 1 0 1 1 1 0 0 0 1 1 0 1 1 0 1 0 0 1 1 0 0 1 0 1 1 0 0 0 0 1 0 1 0 1 0 0 0 1 0 0 1 0 0 0 0 0 1 1 1 1 1 1 0 1 1 1 1 0 0 1 1 1 0 1 0 1 1 1 0 0 0 1 1 0 1 1 0 1 0 0 1 1 0 0 1 0 1 1 0 0 0 0 1 0 1 0 1 0 0 0 1 0 0 1 0 0 0 0 0 1 1 1 1 1 1 0 1 1 1 1 0 0 1 1 1 0 1 0 1 1 1 0 0 0 1 1 0 1 1 0 1 0 0 1 1 0 0 1 0 1 1 0 0 0 0 1 0 1 0 1 0 0 0 1 0 0 1 0 0 0 0 0 1 1 1 1 1 1 0 1 1 1 1 0 0 1 1 1 0 1 0 1 1 1 0 0 0 1 1 0 1 1 0 1 0 0 1 1 0 0 1 0 1 1 0 0 0 0 1 0 1 0 1 0 0 0 1 0 0 1 0 0 0 0 0 1 1 1 1 1 1 0 1 1 1 1 0 0 1 1 1 0 1 0 1 1 1 0 0 0 1 1 0 1 1 0 1 0 0 1 1 0 0 1 0 1 1 0 0 0 0 1 0 1 0 1 0 0 0 1 0 0 1 0 0 0 0 0 0 1 3 7 15 31 63 62 61 59 55 47 30 60 57 51 39 14 29 58 53 43 23 46 28 56 49 35 6 13 27 54 45 26 52 41 19 38 12 25 50 37 11 22 44 24 48 33 2 5 10 21 42 20 40 17 34 4 9 18 36 8 16 32 70 Tabla B.2: Tabla de Posiciones Digitales para Resolución de 8 Bits Combinación Bit 8 Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 0 0 1 1 1 1 1 0 1 0 1 1 1 1 1 0 0 0 1 1 1 1 0 1 1 0 1 1 1 1 0 1 0 0 1 1 1 1 0 0 1 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 0 0 1 1 1 1 1 0 1 0 1 1 1 1 1 0 0 0 1 1 1 1 0 1 1 0 1 1 1 1 0 1 0 0 1 1 1 1 0 0 1 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 0 0 1 1 1 1 1 0 1 0 1 1 1 1 1 0 0 0 1 1 1 1 0 1 1 0 1 1 1 1 0 1 0 0 1 1 1 1 0 0 1 0 1 0 0 0 0 0 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 0 0 1 1 1 1 1 0 1 0 1 1 1 1 1 0 0 0 1 1 1 1 0 1 1 0 1 1 1 1 0 1 0 0 1 1 1 1 0 0 1 0 1 1 0 0 0 0 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 0 0 1 1 1 1 1 0 1 0 1 1 1 1 1 0 0 0 1 1 1 1 0 1 1 0 1 1 1 1 0 1 0 0 1 1 1 1 0 0 1 0 1 1 1 0 0 0 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 0 0 1 1 1 1 1 0 1 0 1 1 1 1 1 0 0 0 1 1 1 1 0 1 1 0 1 1 1 1 0 1 0 0 1 1 1 1 0 0 1 0 1 1 1 1 0 0 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 0 0 1 1 1 1 1 0 1 0 1 1 1 1 1 0 0 0 1 1 1 1 0 1 1 0 1 1 1 1 0 1 0 0 1 1 1 1 0 0 1 0 1 1 1 1 0 0 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 0 0 1 1 1 1 1 0 1 0 1 1 1 1 1 0 0 0 1 1 1 1 0 1 1 0 1 1 1 1 0 1 0 0 1 1 1 1 0 0 1 0 1 1 1 1 0 0 Equivalente Decimal 0 1 3 7 15 31 63 127 255 254 253 251 247 239 223 191 126 252 249 243 231 207 159 62 125 250 245 235 215 175 95 190 124 248 241 227 199 143 30 61 123 246 237 219 183 111 222 189 122 244 233 211 167 79 158 60 121 242 229 203 151 47 94 188 71 Combinación Bit 8 Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 0 1 1 1 1 0 0 0 0 1 1 1 0 1 1 1 0 1 1 0 0 1 1 1 0 1 0 1 0 1 1 1 0 1 0 0 0 1 1 1 0 0 1 1 0 1 1 1 0 0 1 0 0 1 1 1 0 0 0 1 0 1 1 1 1 1 1 1 0 0 0 0 1 1 1 0 1 1 1 0 1 1 0 0 1 1 1 0 1 0 1 0 1 1 1 0 1 0 0 0 1 1 1 0 0 1 1 0 1 1 1 0 0 1 0 0 1 1 1 0 0 0 1 0 1 1 1 0 1 1 1 0 0 0 0 1 1 1 0 1 1 1 0 1 1 0 0 1 1 1 0 1 0 1 0 1 1 1 0 1 0 0 0 1 1 1 0 0 1 1 0 1 1 1 0 0 1 0 0 1 1 1 0 0 0 1 0 1 1 1 0 0 1 1 0 0 0 0 1 1 1 0 1 1 1 0 1 1 0 0 1 1 1 0 1 0 1 0 1 1 1 0 1 0 0 0 1 1 1 0 0 1 1 0 1 1 1 0 0 1 0 0 1 1 1 0 0 0 1 0 1 1 1 0 0 0 1 0 0 0 0 1 1 1 0 1 1 1 0 1 1 0 0 1 1 1 0 1 0 1 0 1 1 1 0 1 0 0 0 1 1 1 0 0 1 1 0 1 1 1 0 0 1 0 0 1 1 1 0 0 0 1 0 1 1 1 0 0 0 0 0 0 0 0 1 1 1 0 1 1 1 0 1 1 0 0 1 1 1 0 1 0 1 0 1 1 1 0 1 0 0 0 1 1 1 0 0 1 1 0 1 1 1 0 0 1 0 0 1 1 1 0 0 0 1 0 1 1 1 0 0 0 0 0 0 0 0 1 1 1 0 1 1 1 0 1 1 0 0 1 1 1 0 1 0 1 0 1 1 1 0 1 0 0 0 1 1 1 0 0 1 1 0 1 1 1 0 0 1 0 0 1 1 1 0 0 0 1 0 1 1 1 0 0 0 0 0 1 0 0 1 1 1 0 1 1 1 0 1 1 0 0 1 1 1 0 1 0 1 0 1 1 1 0 1 0 0 0 1 1 1 0 0 1 1 0 1 1 1 0 0 1 0 0 1 1 1 0 0 0 1 0 1 1 1 0 0 0 0 0 1 1 Equivalente Decimal 120 240 225 195 135 14 29 59 119 238 221 187 118 236 217 179 103 206 157 58 117 234 213 171 87 174 93 186 116 232 209 163 71 142 28 57 115 230 205 155 55 110 220 185 114 228 201 147 39 78 156 56 113 226 197 139 23 46 92 184 112 224 193 131 72 Combinación Bit 8 Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 0 0 0 0 0 1 1 0 1 1 0 1 0 1 1 0 1 1 0 0 0 1 1 0 1 0 1 0 0 1 1 0 1 0 0 1 0 1 1 0 1 0 0 0 0 1 1 0 0 1 1 0 0 1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 1 1 0 1 1 0 1 0 1 1 0 1 1 0 0 0 1 1 0 1 0 1 0 0 1 1 0 1 0 0 1 0 1 1 0 1 0 0 0 0 1 1 0 0 1 1 0 0 1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 1 1 0 1 1 0 1 0 1 1 0 1 1 0 0 0 1 1 0 1 0 1 0 0 1 1 0 1 0 0 1 0 1 1 0 1 0 0 0 0 1 1 0 0 1 1 0 0 1 0 1 0 1 1 0 0 1 0 0 0 1 0 0 1 1 0 1 1 0 1 0 1 1 0 1 1 0 0 0 1 1 0 1 0 1 0 0 1 1 0 1 0 0 1 0 1 1 0 1 0 0 0 0 1 1 0 0 1 1 0 0 1 0 1 0 1 1 0 0 1 0 0 0 1 1 0 1 1 0 1 1 0 1 0 1 1 0 1 1 0 0 0 1 1 0 1 0 1 0 0 1 1 0 1 0 0 1 0 1 1 0 1 0 0 0 0 1 1 0 0 1 1 0 0 1 0 1 0 1 1 0 0 1 0 0 0 1 1 0 1 1 0 1 1 0 1 0 1 1 0 1 1 0 0 0 1 1 0 1 0 1 0 0 1 1 0 1 0 0 1 0 1 1 0 1 0 0 0 0 1 1 0 0 1 1 0 0 1 0 1 0 1 1 0 0 1 0 0 0 1 1 0 0 1 0 1 1 0 1 0 1 1 0 1 1 0 0 0 1 1 0 1 0 1 0 0 1 1 0 1 0 0 1 0 1 1 0 1 0 0 0 0 1 1 0 0 1 1 0 0 1 0 1 0 1 1 0 0 1 0 0 0 1 1 0 0 0 0 1 1 0 1 0 1 1 0 1 1 0 0 0 1 1 0 1 0 1 0 0 1 1 0 1 0 0 1 0 1 1 0 1 0 0 0 0 1 1 0 0 1 1 0 0 1 0 1 0 1 1 0 0 1 0 0 0 1 1 0 0 0 1 Equivalente Decimal 6 13 27 54 109 218 181 107 214 173 91 182 108 216 177 99 198 141 26 53 106 212 169 83 166 77 154 52 105 210 165 75 150 45 90 180 104 208 161 67 134 12 25 51 102 204 153 50 101 202 149 43 86 172 89 178 100 200 145 35 70 140 24 49 73 Combinación Bit 8 Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 0 1 1 0 0 0 1 0 0 1 1 0 0 0 0 1 0 1 1 0 0 0 0 0 0 1 0 1 0 1 0 1 0 0 0 1 0 1 0 0 1 0 0 1 0 1 0 0 0 0 0 1 0 0 1 0 0 0 0 1 0 0 0 1 1 1 0 0 0 1 0 0 1 1 0 0 0 0 1 0 1 1 0 0 0 0 0 0 1 0 1 0 1 0 1 0 0 0 1 0 1 0 0 1 0 0 1 0 1 0 0 0 0 0 1 0 0 1 0 0 0 0 1 0 0 0 1 0 1 0 0 0 1 0 0 1 1 0 0 0 0 1 0 1 1 0 0 0 0 0 0 1 0 1 0 1 0 1 0 0 0 1 0 1 0 0 1 0 0 1 0 1 0 0 0 0 0 1 0 0 1 0 0 0 0 1 0 0 0 1 0 0 0 0 0 1 0 0 1 1 0 0 0 0 1 0 1 1 0 0 0 0 0 0 1 0 1 0 1 0 1 0 0 0 1 0 1 0 0 1 0 0 1 0 1 0 0 0 0 0 1 0 0 1 0 0 0 0 1 0 0 0 1 0 0 0 0 0 1 0 0 1 1 0 0 0 0 1 0 1 1 0 0 0 0 0 0 1 0 1 0 1 0 1 0 0 0 1 0 1 0 0 1 0 0 1 0 1 0 0 0 0 0 1 0 0 1 0 0 0 0 1 0 0 0 1 0 0 0 0 0 1 0 0 1 1 0 0 0 0 1 0 1 1 0 0 0 0 0 0 1 0 1 0 1 0 1 0 0 0 1 0 1 0 0 1 0 0 1 0 1 0 0 0 0 0 1 0 0 1 0 0 0 0 1 0 0 0 1 0 0 0 0 0 1 0 0 1 1 0 0 0 0 1 0 1 1 0 0 0 0 0 0 1 0 1 0 1 0 1 0 0 0 1 0 1 0 0 1 0 0 1 0 1 0 0 0 0 0 1 0 0 1 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 1 1 0 0 0 0 1 0 1 1 0 0 0 0 0 0 1 0 1 0 1 0 1 0 0 0 1 0 1 0 0 1 0 0 1 0 1 0 0 0 0 0 1 0 0 1 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 Equivalente Decimal 98 196 137 19 38 76 152 48 97 194 133 11 22 44 88 176 96 192 129 2 5 10 21 42 85 170 84 168 81 162 69 138 20 41 82 164 73 146 37 74 148 40 80 160 65 130 4 9 18 36 72 144 33 66 132 8 17 34 68 136 16 32 64 128 74 ANEXO C : HOJA DE DATOS FOTOSENSORES ITR8102 75 76 77 78 79 80 ANEXO D : HOJA DE DATOS COMPARADORES LM239 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 ANEXO E : HOJA DE DATOS MÁQUINA PERM PGS-150 USADA COMO GENERADOR 111 ANEXO F : DETALLES DE OPERACIÓN DEL FILTRO DIGITAL El filtro digital implementado para la omisión de mediciones incorrectas básicamente almacena la última posición correcta en memoria y chequea que la posición medida sea la almacenada o bien la que sigue en la secuencia de lectura. De no serlo, implementa un retardo en la medición hasta que ésta última sea alcanzada. En este chequeo, deben considerarse 2 casos posibles: a) La posición medida corresponde a la que efectivamente sigue en secuencia, ante lo cual sólo se debe actualizar la posición en memoria. Esto incluye la condición de borde cíclica, es decir, cuando la posición en memoria es la 14 y la medida es la 0, en cuyo caso debe reiniciarse la detección de posición, actualizando la memoria con la posición 0. b) Cualquier otro caso, hay error y se debe generar un contador que representa un intervalo de tiempo máximo sobre el cual es seguro que la posición medida pasa a ser la correcta. En este intervalo temporal se mide continuamente la posición hasta que se alcance el código correcto en secuencia, y así se actualiza la posición y resetea el contador para un próximo error. El tiempo máximo de error se determinó en base a pruebas empíricas y mediciones en oscilogramas como se presentó en las figuras 4-17 y 4-18. A continuación se presenta el código asociado a este filtro, que fue implementado en el controlador del rectificador. 112 // Filtro Digital static unsigned int memoriaPosicion = 0; static unsigned int contadorPosicion = 0; if(sensorPosicion != memoriaPosicion && contadorPosicion < 80) { if(sensorPosicion == memoriaPosicion + 1) { contadorPosicion = 0; memoriaPosicion = sensorPosicion; } else if(sensorPosicion == 0 && memoriaPosicion == 14) { contadorPosicion = 0; memoriaPosicion = sensorPosicion; } else { sensorPosicion = memoriaPosicion; contadorPosicion = contadorPosicion + 1; } } else if(sensorPosicion != memoriaPosicion && contadorPosicion >= 80) { contadorPosicion = 0; memoriaPosicion = sensorPosicion; } //Escala theta = sensorPosicion*4369; //Correción Posición Electro-Mec theta = theta + 4369;