32
INGENIERÍA DE SISTEMAS Y AUTOMÁTICA PROYECTO DE FIN DE CARRERA 3 Sensor de velocidad de rotación del rotor principal En este capítulo se realiza una descripción detallada tanto de la solución adoptada para obtener una medida de la velocidad de rotación del rotor principal del helicóptero como de los procedimientos empleados para obtener dicha solución. El proceso de obtención de la solución se puede separar en tres vertientes que parten de una idea inicial en la que se concreta qué tipo de sensor se va a implementar y deben converger en un dispositivo plenamente funcional. Estas tres vertientes son: El diseño de la configuración física del sensor y su construcción (sujeciones mecánicas, conexiones eléctricas, etc.). El estudio del sensor y la interpretación y traducción de las medidas que proporciona, de forma que sepamos exactamente qué tipo de dato llega al circuito de adquisición de datos de la caja de aviónica. En apartados posteriores nos referiremos a esta tarea como la caracterización del sensor. El diseño de los algoritmos lógicos y de cálculo que forman parte de la aplicación informática con la que debe interactuar el usuario, así como la programación de la propia aplicación. Dicha aplicación debe procesar correctamente la medida recibida del circuito de adquisición de datos y devolver al usuario en distintos soportes un valor con las dimensiones físicas adecuadas. Esta estructura de procesos en paralelo responde a la complejidad intrínseca del proyecto. Desarrollar los distintos aspectos del proyecto en paralelo ha conducido a diversas relaciones transversales entre las vertientes, que con frecuencia se han visto paralizadas hasta que un hito necesario de otra vertiente se completaba. Es el caso del programa informático, que no se ha validado hasta que el sensor estaba caracterizado y una construcción temporal que permitiera realizar las pruebas pertinentes estaba operativa. Dichas pruebas se realizaron primero con el ventilador de un ordenador, y posteriormente con otro helicóptero de menor tamaño y coste operativo que el Raptor. Sin embargo, el programa informático fue la primera vertiente en desarrollarse, ya que una gran parte del trabajo inicial del proyecto fue adquirir unos conocimientos sólidos de programación en C, suficientes para elaborar un programa que cumpliera con los requisitos establecidos. Las relaciones cronológicas entre los distintos hitos de las tres vertientes son complejas, y se presentan a continuación en un diagrama de flujo de forma resumida. Se han utilizado iconos con forma de semáforo para indicar que un hito de la vertiente A estaba paralizando el desarrollo de la vertiente B. 3:1

3 Sensor de velocidad de rotación del rotor principalbibing.us.es/proyectos/abreproy/60066/descargar_fichero/6_Sensor+de... · complejas, y se presentan a continuación en un diagrama

  • Upload
    lykhanh

  • View
    213

  • Download
    0

Embed Size (px)

Citation preview

INGENIERÍA DE SISTEMAS Y AUTOMÁTICA PROYECTO DE FIN DE CARRERA

3 Sensor de velocidad de rotación del rotor principal

En este capítulo se realiza una descripción detallada tanto de la solución adoptada para obtener una medida de la velocidad de rotación del rotor principal del helicóptero como de los procedimientos empleados para obtener dicha solución. El proceso de obtención de la solución se puede separar en tres vertientes que parten de una idea inicial en la que se concreta qué tipo de sensor se va a implementar y deben converger en un dispositivo plenamente funcional. Estas tres vertientes son:

• El diseño de la configuración física del sensor y su construcción (sujeciones

mecánicas, conexiones eléctricas, etc.). • El estudio del sensor y la interpretación y traducción de las medidas que

proporciona, de forma que sepamos exactamente qué tipo de dato llega al circuito de adquisición de datos de la caja de aviónica. En apartados posteriores nos referiremos a esta tarea como la caracterización del sensor.

• El diseño de los algoritmos lógicos y de cálculo que forman parte de la aplicación informática con la que debe interactuar el usuario, así como la programación de la propia aplicación. Dicha aplicación debe procesar correctamente la medida recibida del circuito de adquisición de datos y devolver al usuario en distintos soportes un valor con las dimensiones físicas adecuadas.

Esta estructura de procesos en paralelo responde a la complejidad intrínseca del

proyecto. Desarrollar los distintos aspectos del proyecto en paralelo ha conducido a diversas relaciones transversales entre las vertientes, que con frecuencia se han visto paralizadas hasta que un hito necesario de otra vertiente se completaba. Es el caso del programa informático, que no se ha validado hasta que el sensor estaba caracterizado y una construcción temporal que permitiera realizar las pruebas pertinentes estaba operativa. Dichas pruebas se realizaron primero con el ventilador de un ordenador, y posteriormente con otro helicóptero de menor tamaño y coste operativo que el Raptor. Sin embargo, el programa informático fue la primera vertiente en desarrollarse, ya que una gran parte del trabajo inicial del proyecto fue adquirir unos conocimientos sólidos de programación en C, suficientes para elaborar un programa que cumpliera con los requisitos establecidos.

Las relaciones cronológicas entre los distintos hitos de las tres vertientes son

complejas, y se presentan a continuación en un diagrama de flujo de forma resumida. Se han utilizado iconos con forma de semáforo para indicar que un hito de la vertiente A estaba paralizando el desarrollo de la vertiente B.

3:1

INGENIERÍA DE SISTEMAS Y AUTOMÁTICA PROYECTO DE FIN DE CARRERA

Figura 3.1: Diagrama de flujo del proceso de diseño

3:2

INGENIERÍA DE SISTEMAS Y AUTOMÁTICA PROYECTO DE FIN DE CARRERA

3.1 Alternativas tecnológicas

Previo a la elección de un sensor específico se realizó un estudio de las posibles tecnologías y dispositivos representativos de cada una que fueran aplicables al proyecto. Siempre bajo el paraguas de los criterios ya mencionados en la introducción, se consideran adicionalmente algunos condicionantes particulares de un sensor de estas características:

• Características de la medida: Son factores determinantes para la elección

el tipo de salida que emite el sensor y su compatibilidad con el circuito de adquisición de la caja de aviónica.

• Interferencias: Distintas tecnologías sufren interferencias de naturalezas dispares. Considerando el contexto en el que se va a emplear el sensor, hay tecnologías preferentes porque el tipo de interferencia (óptica, electromagnética, mecánica...) que más le afecta es de poca importancia en nuestra aplicación

• Configuración física: Es crucial conocer la fisonomía y las dimensiones del sensor para determinar su selección. Existe un número limitado de posibles colocaciones (deben formar parte de los ejes de rotación, del motor o del rotor principal) y el sensor debe adaptarse a alguna de ellas.

El estudio proporcionó tres tecnologías candidatas a cumplir la funcionalidad

exigida; el sensor magnético de Efecto Hall, el tacómetro de efecto estroboscópico y el sensor óptico reflectante o pasante de fotodiodo y transistor fotosensible. Cada una presenta ventajas e inconvenientes que se reconocerán con una descripción breve de las tres.

Sensor de efecto Hall

Edwin Hall descubrió en 1879 que, dada una corriente eléctrica circulando por un

conductor de forma que el flujo es homogéneo para una sección cualquiera del mismo, un campo magnético transversal a la dirección de la corriente genera una diferencia de potencial eléctrico perpendicular a ambas magnitudes, formando las tres un triedro ortogonal. El efecto apreciable es una caída de tensión en el conductor transversal a la corriente y se denomina efecto Hall.

Según la teoría corpuscular del electromagnetismo, la corriente eléctrica es la

manifestación del movimiento de partículas portadoras de carga eléctrica (electrones y huecos). En ausencia de un campo magnético transversal, estas portadoras circulan con una distribución uniforme en la sección del conductor. Por simplicidad geométrica, supondremos que el conductor es plano. En presencia de un campo magnético, las cargas en movimiento experimentan una fuerza que es perpendicular a la velocidad de la partícula y al campo magnético. Esta fuerza desvía las trayectorias de las partículas y provoca una concentración de cargas de un mismo signo en una de las paredes del conductor, y una concentración de cargas de signo opuesto en la pared opuesta. Esta distribución asimétrica de cargas provoca una diferencia de potencial eléctrico entre las paredes del conductor, transversal a la corriente, cuya manifestación es el efecto Hall.

3:3

INGENIERÍA DE SISTEMAS Y AUTOMÁTICA PROYECTO DE FIN DE CARRERA

Figura 3.2: Representación del efecto Hall

En las ilustraciones mostradas sobre estas líneas se puede observar la diferencia de potencial (en la figura de la izquierda) y la deflexión de la corriente (en la figura de la derecha); son manifestaciones del efecto Hall.

Un sensor de efecto Hall en su versión más simple consiste en un transductor que

detecta alteraciones en el campo magnético y varía su tensión de salida en consecuencia. Existen numerosas aplicaciones que se pueden aprovechar de este efecto. En nuestro caso, se pretende utilizar un imán permanente de material ferromagnético que provoque picos de tensión en la salida del sensor cuando pase cerca del mismo. El imán va fijado al eje giratorio y el sensor se coloca de forma que, en cada vuelta, el imán pase por delante del sensor, a una distancia de pocos milímetros. Cuando el rotor gire a una velocidad determinada, la frecuencia de los picos de tensión nos proporciona la velocidad de giro. A continuación se muestra un sensor de efecto Hall montado en el eje del motor de un helicóptero de aeromodelismo. Para mayor claridad, el imán se ha rodeado con un círculo rojo y la cabeza del sensor con un círculo azul.

.

Figura 3.3: Ubicación del sensor de efecto Hall

3:4

INGENIERÍA DE SISTEMAS Y AUTOMÁTICA PROYECTO DE FIN DE CARRERA

El sensor de efecto Hall presenta algunos inconvenientes que pueden afectar al

correcto funcionamiento del aparato. En primer lugar, el sensor puede sufrir perturbaciones en el campo magnético que percibe inducidas por los grandes bloques metálicos de las piezas del motor. Estas piezas pueden imantarse de forma permanente si son expuestas a campos magnéticos de suficiente intensidad. Estas perturbaciones pueden llegar a generar pulsos falsos de cuenta de vuelta y estropear el valor de velocidad de giro obtenido. Por otro lado, el sensor magnético requiere estar a menos de 2 mm del imán para medir correctamente. Una distancia tan pequeña con velocidades de giro de miles de revoluciones por minuto y vibraciones debidas a los desequilibrios de los ejes puede provocar impactos entre ambos elementos con posibilidades de ser catastróficos para el sensor.

Tacómetro de efecto estroboscópico

El efecto estroboscópico se puede observar fácilmente cuando un disco giratorio gira a la misma frecuencia a la que lo ilumina la luz que incide sobre él. Si el disco tiene algún punto aislable visualmente, cuando se produce el efecto estroboscópico, dicho punto permanecerá aparentemente fijo en una posición (aunque evidentemente está girando con el resto del disco). Este efecto sólo es posible si la luz que ilumina el disco es intermitente, como por ejemplo la luz doméstica generada con corriente alterna.

Un tacómetro de efecto estroboscópico se basa en este fenómeno para medir la

velocidad de revolución de un elemento giratorio, como puede ser el rotor de un helicóptero. Tiene una fuente de luz estroboscópica (intermitente), normalmente en la banda infrarroja del espectro, que incide sobre la superficie giratoria. En dicha superficie se coloca un elemento reflectante, de dimensiones lo más próximas posibles a las del haz de luz del tacómetro. La fuente emisora comienza un barrido de frecuencias, dentro de sus límites establecidos, y compara la reflexión recibida en su receptor con la frecuencia de emisión. Cuando ambas señales coinciden en frecuencia, se “congela” el barrido y la frecuencia de emisión, debido al efecto estroboscópico, es la velocidad de giro del elemento giratorio.

El tacómetro de efecto estroboscópico se ha empleado durante el proceso de

caracterización y validación en varias pruebas realizadas en el laboratorio para tener una medida alternativa a la que proporciona el sensor implementado. Sin embargo, no es apto para utilizarlo en el helicóptero por ser demasiado voluminoso y carecer de una interfaz cómoda de salida a los circuitos TTL. Su rol se ha limitado al de herramienta auxiliar, y ha servido para comprobar que el sistema del sensor óptico implementado funciona correctamente. En el siguiente apartado se describe detalladamente el sensor óptico fotoeléctrico reflectante, tecnología elegida para obtener las r.p.m. del helicóptero.

3:5

INGENIERÍA DE SISTEMAS Y AUTOMÁTICA PROYECTO DE FIN DE CARRERA

3.1.1 Sensor óptico fotoeléctrico reflectante

La tecnología del sensor óptico fotoeléctrico reflectante se eligió para su aplicación a este proyecto por cumplir los requisitos del mismo y presentar ciertas ventajas frente al sensor magnético de efecto Hall y el tacómetro. Entre ellas es destacable la facilidad de instalación en el plato del ventilador del motor. El sensor magnético requiere instalar un imán cuyas características magnéticas se pueden degradar con el tiempo. Además, su instalación requiere realizar modificaciones mecánicas permanentes en el ventilador y utilizar adhesivos de tipo epoxi. Por otro lado, el sensor óptico sólo requiere fijar una tira reflectante autoadhesiva a la superficie del plato del ventilador. El sensor magnético también presenta el inconveniente de estar expuesto a interferencias magnéticas no controlables. Al estar acoplado al bloque del motor, está rodeado de piezas metálicas que pueden imantarse de forma permanente, por ejemplo, por una instalación previa de imanes y sensor magnético. Estos imanes permanentes pueden ser fuentes importantes de interferencia y trastornar las medidas del sensor. Las interferencias en el sensor óptico son todas debidas a fuentes de luz externas y pueden ser anuladas con una disposición adecuada de barreras opacas. El tacómetro se descartó por su baja precisión (resolución máxima de 100 r.p.m.)y por la ausencia en el mercado de aparatos fácilmente embarcables en nuestra plataforma y con salidas digitales que pudieran enviarse a nuestro circuito de adquisición. En cuanto al sensor óptico pasante, se descarta su uso por ser de mayor tamaño que el reflectante y presentar mayores complicaciones para diseñar una configuración tanto en el ventilador del motor como en el rotor principal que proporcione una medida correcta de la velocidad de revolución.

Principio de funcionamiento

El sensor fotoeléctrico reflectante basa su medición en la recepción de un estímulo

luminoso que él mismo genera. Emite constantemente un haz de luz que se refleja cuando la superficie sobre la que incide es propicia para ello. El receptor recibe el haz y lo convierte en una señal eléctrica. La calidad de la medida será mayor cuanto mayor sea el contraste entre las zonas que deben ser reflectantes y las que no. El sensor debe apuntar hacia un plano con su haz perpendicular a dicho plano, y está diseñado para operar correctamente a una distancia del mismo de pocos milímetros. Las superficies ideales para el funcionamiento del sensor óptico en nuestro helicóptero son la culata del ventilador del motor y el engranaje reductor del rotor principal. Para provocar una reflexión lo más intensa posible, se coloca una tira reflectante en la superficie de reflexión. Los sensores ópticos reflectantes se utilizan en robótica como sensores de proximidad. El robot se programa para que un umbral bajo de intensidad luminosa se considere como un objeto próximo. En nuestra aplicación tendremos un objeto permanentemente reflejando sobre el sensor, pero la reflexión de la franja reflectante será de una intensidad mucho mayor y se podrá diferenciar fácilmente entre un valor “alto” de medida y un fondo de baja intensidad. Para aumentar el contraste entre “alto” y “bajo” puede ser necesario “matar” la superficie sobre la que se coloca la tira reflectante mediante un lijado. A continuación se muestra una figura con el esquema de funcionamiento de un sensor óptico reflectante.

3:6

INGENIERÍA DE SISTEMAS Y AUTOMÁTICA PROYECTO DE FIN DE CARRERA

Figura 3.4: Esquema de funcionamiento de un sensor reflectante de efecto fotoeléctrico

3.1.2 El sensor fotoeléctrico OMRON EE-SF5 La elección del sensor óptico fotoeléctrico reflectante de la casa OMRON responde

de forma muy satisfactoria a las necesidades del proyecto por diversos motivos: • Lo más destacable es su diseño compacto, que permite instalarlo en los

espacios reducidos adyacentes al motor del helicóptero. • El encapsulado es estanco, de forma que los circuitos internos y sus

dispositivos no son accesibles sin destruir el sensor, que además es resistente al desgaste propio de un uso responsable.

• Se puede fijar a cualquier soporte mediante tornillos de métrica M2, con la flexibilidad que esto supone para instalarlo en cualquier plataforma.

• Se suministra con patillas preparadas para la soldadura con estaño. Esto facilita las operaciones de conexionado del sensor a los elementos necesarios para obtener una salida en los intervalos de tensión adecuados a la lógica TTL.

Sus dimensiones son, sin contar las patillas de los terminales de los circuitos, las de

un prisma de 13x8x5.4 mm. Las patillas tienen una longitud de 10 mm. Puede funcionar en un amplio intervalo de temperaturas, desde los 25º C bajo cero hasta los 80º C sobre cero. A continuación se presenta un plano acotado del sensor. Las iniciales A, K, E y C de la vista inferior representan los terminales ánodo y cátodo del diodo y emisor y colector del transistor, en el orden en el que están escritas.

3:7

INGENIERÍA DE SISTEMAS Y AUTOMÁTICA PROYECTO DE FIN DE CARRERA

Figura 3.5: Plano acotado del sensor OMRON EE-SF5

Circuito eléctrico

El circuito eléctrico del sensor se puede resumir en el siguiente esquema:

Donde los terminales A y K son el ánodo y cátodo del diodo fotoemisor y los

terminales C y E son el colector y el emisor del transistor fotorreceptor. El diodo tiene las siguientes características eléctricas (a 25º C de temperatura ambiente):

Valores máximos a 25º C Corriente directa: 50 mA Corriente directa (pulso de 10 μs y 100Hz): 1 A Tensión inversa: 4 V Valores característicos a 25 º C Tensión directa: 1.2 – 1.5 V con corriente directa de 30 mA Corriente inversa: 0.01 – 10 μA con tensión inversa de 4 V La emisión de luz es máxima para una longitud de onda de 940 nm (banda infrarroja) con una corriente directa de 20 mA.

3:8

INGENIERÍA DE SISTEMAS Y AUTOMÁTICA PROYECTO DE FIN DE CARRERA

El funcionamiento del sensor se basa en el efecto fotoeléctrico que se produce tanto en el LED (Light Emitting Diode) o fotodiodo como en el fototransistor receptor. El LED emite luz siempre que haya una corriente eléctrica entre su ánodo y cátodo. Esta luz emitida se refleja en una superficie que la devuelve al sensor, haciéndola incidir sobre el fototransistor. Este transistor, sensible a la luz recibida, genera una corriente eléctrica de valor proporcional a la intensidad de la luz. Esta corriente sale por el terminal emisor del mismo. El resultado obtenido es una corriente eléctrica de un valor conocido (a partir de las especificaciones del transistor) generada cada vez que se produce una reflexión. Cuanto mayor sea el contraste entre el sector reflectante de la superficie y la zona que no queremos que reflecte, mayor diferencia habrá entre las corrientes eléctricas generadas y más notoria será la reflexión para el sistema de adquisición. Con valores de resistencias eléctricas adecuados se puede transformar la corriente a un nivel de tensión compatible con la lógica del circuito de adquisición de datos de nuestro sistema de aviónica. A continuación se presentan las especificaciones más notorias del fototransistor:

Valores máximos a 25º C Tensión colector-emisor: 30 V Corriente de colector: 20 mA Potencia disipada en el colector: 100 mW Valores característicos a 25º C Corriente “iluminado”: 0.2 - 2 mA

con • intensidad directa en el diodo de 20 mA • tensión colector-emisor de 10 V • papel reflectante del 90% situado a 5 mm del sensor

Corriente “en sombra”: 2 – 200 nA con tensión colector-emisor de 10 V La sensibilidad del receptor de luz es máxima para una longitud de onda de 850 nm (banda infrarroja). Cabe señalar la importancia de que el diodo y el transistor estén “sintonizados” a longitudes de onda similares para que el sensor sea eficaz. En el siguiente apartado se describe el dispositivo Throttle Jockey de la casa Model

Avionics. Este dispositivo se basa en el sensor óptico descrito en este apartado y un circuito electrónico auxiliar que proporciona al usuario regulación automática del motor del helicóptero. Para poder actuar sobre los servos de radiocontrol, convierte los picos de intensidad del emisor debidos a las reflexiones en pulsos modulados en su ancho (PWM), las señales de control utilizadas en los servomecanismos del helicóptero. Debido a este acondicionamiento electrónico necesario que proporciona el Throttle Jockey off-the-shelf se ha considerado incorporarlo a nuestro sistema de adquisición de velocidad de revolución del rotor principal.

3:9

INGENIERÍA DE SISTEMAS Y AUTOMÁTICA PROYECTO DE FIN DE CARRERA

3.1.3 El regulador Throttle Jockey

El Throttle Jockey es un regulador digital de la velocidad de giro del motor diseñado específicamente para helicópteros de aeromodelismo. Utiliza un algoritmo de proalimentación (feed-forward) adaptativo para mantener la velocidad de giro del motor constante. Se emplea proalimentación por tener este tipo de control una respuesta más rápida que la realimentación clásica. El algoritmo adaptativo se utiliza para tener alguna referencia de la respuesta del motor, empleando como realimentación en un instante dado una combinación de las respuestas de varios instantes precedentes.

Su función es mantener la velocidad de giro del rotor en el régimen que le indique la

emisora, es decir, el piloto. La dinámica de un helicóptero se caracteriza por tener interdependencias muy complejas entre las variables. Es habitual, por ejemplo, que disminuya la velocidad de giro del rotor cuando se aumenta el paso colectivo de las palas. Este comportamiento se debe principalmente al aumento de la resistencia aerodinámica de la pala cuando ésta aumenta su ángulo de ataque. En esta situación, el Throttle Jockey detecta una disminución de la velocidad de giro e incrementa progresivamente la apertura de la válvula de admisión hasta que el motor recupera la velocidad que le corresponde según la posición de los mandos en la emisora.

El Throttle Jockey está diseñado para regular la velocidad de giro en un intervalo

comprendido entre las 9500 y las 20500 r.p.m. Es por éste motivo que debe colocarse en el eje del motor. Para una relación de engranajes típica entre rotor principal y motor de 9:1, el intervalo de regulación en el rotor principal sería desde 1055 hasta 2253 r.p.m. Los reguladores que actúan directamente sobre el rotor principal tienden a acelerarse por encima de la velocidad deseada (overspeed) por ser la dinámica del rotor principal más lenta que la del motor.

En nuestra aplicación particular, al no precisar la función reguladora del Throttle

Jockey, es indiferente situar el sensor en el rotor principal o en el motor. Se ha decidido situarlo en el rotor principal, con el sensor incidiendo sobre la superficie plana del engranaje principal, por comodidad al instalarlo en ese emplazamiento. Sin embargo, también se ha estudiado su instalación en el motor, con el sensor incidiendo sobre la superficie plana del ventilador, con resultados satisfactorios. Utilizar uno u otro emplazamiento tiene consecuencias directas en el programa de cálculo, ya que si se coloca en el motor, es necesario corregir el dato final de las r.p.m. con la relación de dientes entre los engranajes del eje del motor y el eje del rotor principal.

A continuación se presenta un esquema del regulador con las conexiones que tiene a

los distintos dispositivos con los que interactúa.

3:10

INGENIERÍA DE SISTEMAS Y AUTOMÁTICA PROYECTO DE FIN DE CARRERA

Figura 3.6: Conexiones del Throttle Jockey

En la figura se pueden observar las conexiones que el Throttle Jockey mantiene con

el receptor, el sensor y el servo de la válvula de admisión. El regulador tiene dos entradas desde el receptor, una entrada desde el sensor y una salida al servo. El canal auxiliar del receptor se utiliza para apagar el regulador y marcar la velocidad de regulación. El canal de “throttle” (gases) del receptor envía las señales generadas con la palanca de gases desde los mandos. El canal del sensor envía al regulador la velocidad de giro del eje a una tasa de muestreo adecuada para el algoritmo de control y el canal del servo envía las instrucciones al servo de la válvula de admisión.

El lector perspicaz se preguntará qué papel tiene el Throttle Jockey en la lectura de

las medidas que realiza el sensor. Incluso se preguntará cómo hace llegar las medidas al sistema de aviónica. El sensor óptico genera un pico de corriente cuando recibe una reflexión. Este pico de corriente ha de transformarse a un nivel de tensión compatible con la lógica TTL de los circuitos de adquisición de datos de la Hércules. La implementación del sensor requiere por lo tanto el diseño de un circuito auxiliar que transforme la medida a una señal interpretable por la Hércules. Los circuitos auxiliares del Throttle Jockey realizan este acondicionamiento y generan unos pulsos especialmente adecuados para calcular las r.pm. en el eje por el canal de salida al servo. Mediante el canal de entrada auxiliar se puede activar o desactivar el regulador. Cuando el regulador está activado, la salida al servo envía señales de mando PWM que no son medidas directas. Cuando el regulador está desactivado, la salida al servo envía pulsos rectificados y filtrados cuyo ancho es exactamente el periodo entre reflexiones y por lo tanto la inversa de la velocidad de giro del eje. En el siguiente apartado se describe el circuito diseñado para hacer llegar las medidas del sensor utilizando el Throttle Jockey y se compara con un diseño del autor que no utiliza el regulador comercial.

3:11

INGENIERÍA DE SISTEMAS Y AUTOMÁTICA PROYECTO DE FIN DE CARRERA

3.1.4 Throttle Jockey vs. circuito de diseño propio

El sensor óptico es un dispositivo que emite un pico de corriente cuando es irradiado con luz de una banda de frecuencia determinada. Por otro lado, la caja de aviónica tiene un circuito de adquisición de lógica TTL que tiene dos estados con dos niveles de tensión distintos (en torno a 0 V para un 0 lógico y en torno a 4 V para un 1 lógico). Es necesario suministrar los valores de tensión y corriente adecuados al sensor y los niveles necesarios de tensión al circuito TTL. Además, el sensor óptico se compone de dispositivos eléctronicos, diodo y transistor, que deben operar con unas intensidades y tensiones determinadas para que su funcionamiento sea óptimo. Estas necesidades se han satisfecho con dos soluciones distintas; una está íntegramente diseñada por el autor y la otra consiste en el Throttle Jockey mencionado anteriormente. Aunque finalmente se ha implementado la solución comercial, se ha realizado el diseño de un circuito que cumpla los requisitos mencionados. En este apartado se analizan y describen detalladamente ambas soluciones.

Diseño del autor

Utilizando las curvas características de los dispositivos del sensor, se ha diseñado un

circuito que envía pulsos de tensión que provocan unos y ceros en la lógica de la Hércules. Este circuito también proporciona, mediante resistencias y fuentes de tensión calculadas, los valores de intensidad en el diodo y tensión en el transistor para obtener una reflexión óptima. A continuación se detalla el esquema eléctrico del circuito:

100 O

1 KO

1.2 V5 V4.2 V

30 mA

1 mA

Figura 3.7: Diagrama eléctrico del circuito del autor

3:12

INGENIERÍA DE SISTEMAS Y AUTOMÁTICA PROYECTO DE FIN DE CARRERA

Con este circuito se obtiene una señal en la salida como la que se representa a continuación (para obtener un pulso limpio es necesario añadir un circuito de acondicionamiento mediante filtros):

Los valores indicados corresponden a una configuración en la que se ha considerado

el disco del eje del motor con el sensor situado a 20.71 mm del centro girando a 14000 r.p.m. Si el ancho del pulso es demasiado pequeño (con velocidades de giro muy elevadas o distancias del sensor al centro muy grandes) es posible que el transistor no tenga tiempo para llegar a nivel alto. Se debe tener en cuenta el tiempo de subida del transistor, con un valor típico de 30 μs (extraído de las especificaciones del sensor). Con la velocidad de giro y el radio de la posición del sensor considerados, el tiempo durante el cual se produce reflexión es de aproximadamente 330 μs, suficiente para que el transistor llegue a nivel alto. Esta combinación de velocidad de giro y distancia al centro es el caso más crítico de mínimo ancho de pulso, como se puede extraer de las dimensiones y velocidades de giro máximas del ventilador del motor y el engranaje del rotor principal:

Diámetro (mm) Dientes Velocidad de giro (rpm)

Rotor 88.14 87 258 - 1448

Ventilador 41.42 9 2500 - 14000

Para realizar estos cálculos de ancho de pulso se ha considerado una región de

reflexión equivalente a 10 mm de arco de circunferencia. Se detalla un diagrama ilustrativo con los cálculos a continuación.

3:13

INGENIERÍA DE SISTEMAS Y AUTOMÁTICA PROYECTO DE FIN DE CARRERA

mmPerímetro 1.13070.202 =⋅⋅= π

077.01.130

10==

Perímetroa

mssf

THzrpm 3.40043.0133.23314000 ===→→

a=10.00

r=20.70

sTpulsodeAncho μ330077.0 =⋅=

Figura 3.8: Diagrama y cálculos del ancho del pulso emitido por el sensor

Throttle Jockey

El dispositivo Throttle Jockey está diseñado para intervenir directamente en el control de la válvula de admisión del helicóptero realizando una función de regulación. En este proyecto, en el que no deseamos que el Throttle Jockey realice dicha regulación, se ha empleado este dispositivo por dos motivos principales:

• El Throttle Jockey viene acompañado de un sensor óptico que incluye

todos los elementos eléctricos necesarios para proporcionar un nivel de tensión alto cuando recibe luz y uno bajo cuando no la recibe, ambos compatibles con lógica TTL como 1 y 0 lógicos, respectivamente.

• El Throttle Jockey acondiciona la señal que proviene del sensor para generar un pulso cuadrado uniforme, cuyo ancho es el periodo de rotación del eje cuya velocidad de giro se está midiendo, que es idóneo para ser capturado por el circuito de adquisición de datos digitales de la placa Hércules.

El dispositivo Throttle Jockey contiene el microcontrolador programable

CY8C25122 de la casa Cypress. Este microcontrolador contiene una CPU de 8 bits, memorias Flash para programas ejecutables y SRAM para datos, y dispositivos analógicos y digitales de entrada y salida. Este microcontrolador se puede programar por el usuario para realizar una multitud de funciones que incluyen tratamiento de señales y operaciones lógicas. En el Throttle Jockey se utiliza su capacidad para generar pulsos PWM para generar las señales de control que se envían al servo de la válvula de admisión del motor. Con estas señales y la información del sensor óptico el Throttle Jockey es capaz de mantener la velocidad de rotación del eje del motor en un valor predefinido. En este proyecto no se utiliza esta función de regulación del Throttle Jockey.

3:14

INGENIERÍA DE SISTEMAS Y AUTOMÁTICA PROYECTO DE FIN DE CARRERA

En este proyecto se utiliza la funcionalidad de tratamiento de señal e inversión lógica programada por el fabricante del Throttle Jockey. Concretamente, el microcontrolador está programado para realizar una inversión lógica (puerta NOT) de la señal que proviene del sensor óptico. Recordemos que la señal que proviene del sensor consiste en un tren de pulsos cortos a nivel alto intercalados con largos periodos a nivel bajo. Además, la señal de salida del microcontrolador es más regular y está “suavizada” respecto de la señal que le llega del sensor. Este suavizado se produce a su paso por los transistores de la puerta lógica. El ancho de estos pulsos de salida es el periodo de rotación del eje cuya velocidad de giro mide el sensor óptico, al igual que la distancia entre los pulsos cortos de la señal que proviene del sensor óptico es también dicho periodo de rotación.

La reproducción de la señal de entrada con tratamiento e inversión lógica se produce

siempre que la función de regulación esté desactivada, ya que cuando ésta está activada, la señal de salida del microcontrolador es un pulso PWM con la anchura adecuada en cada instante para regular la velocidad de rotación del eje del motor. Para activar/desactivar el regulador se utiliza el canal AUX de entrada al Throttle Jockey. A este canal se debe asignar un mando con recorrido gradual o varias posiciones. Previamente el Throttle Jockey debe haber sido calibrado con el recorrido del mando asignado. El regulador está programado para desactivarse si el mando se encuentra en una posición comprendida entre el -5% y el 5% de su recorrido. En este proyecto se operará siempre con el regulador desactivado. Para ello se mantendrá físicamente desconectado el canal AUX, ya que el regulador nunca entrará en funcionamiento mientras no reciba señal por dicho canal.

Figura 3.9: Throttle Jockey

3:15

INGENIERÍA DE SISTEMAS Y AUTOMÁTICA PROYECTO DE FIN DE CARRERA

3.2 Adquisición de las medidas

Una vez elegido un sensor y conocida la señal que proporciona, es necesario diseñar toda la infraestructura eléctrica que transporte dicha señal al sistema de aviónica y toda la aplicación informática que interprete las señales digitales y las convierta en variables en memoria con valores de una magnitud física (en nuestro caso velocidad angular). En la sección anterior se han descrito los elementos necesarios para transformar la señal de salida del sensor en una señal de tensión compatible con la lógica TTL de la placa de aviónica. Se entiende por compatible que provoque:

• un “1” lógico cuando el receptor del sensor está iluminado y un “0” lógico

cuando el receptor está “a oscuras” en el circuito de diseño propio. • un “0” lógico cuando el receptor está iluminado y un “1” lógico cuando el

receptor está “a oscuras” en el circuito del Throttle Jockey. Cualquiera de estas dos señales nos permite calcular directamente el periodo de

rotación del eje sobre el que incide el sensor simplemente contando pulsos elementales de una señal reloj cuyos parámetros en la escala temporal podemos configurar para elegir arbitrariamente la unidad básica de tiempo y por lo tanto la resolución del sensor. El procedimiento de cálculo del periodo de rotación se describe detalladamente en un apartado posterior de esta sección. Una vez se tiene el periodo, la obtención de la velocidad de giro se reduce a un problema de cálculo elemental.

En esta sección se describen detalladamente el sistema de adquisición de datos

digitales de la Hércules, las conexiones al mismo del circuito del sensor y el intérprete informático que se ha programado para obtener valores de las medidas deseadas en las unidades adecuadas.

Lógica TTL

La “Transistor to Transistor Logic” o TTL es una tecnología de construcción de circuitos electrónicos digitales en la que tanto los elementos de decisión o “puertas lógicas” como los elementos de amplificación de señal son transistores de unión bipolar. A menudo se extiende la denominación TTL a cualquier circuito con niveles de tensión compatibles con esta tecnología, aunque esté construido con una tecnología distinta. La mayoría de los dispositivos comerciales de microelectrónica incorporan circuitos de acondicionamiento para garantizar la compatibilidad con TTL. El circuito de adquisición de la placa Hércules no utiliza lógica TTL, sino que es una FPGA (Field Programmable Gate Array), tecnología más avanzada que la TTL. Aquí participaremos en el abuso de nomenclatura y hablaremos de la lógica TTL de la Hércules. En la imagen se puede observar un circuito típico de una puerta lógica TTL. La alimentación nominal de estos circuitos es de 5 V, el nivel alto de tensión entre 2.4 V y la tensión e alimentación, y el nivel bajo entre 0.2 y 0.8 V.

3:16

INGENIERÍA DE SISTEMAS Y AUTOMÁTICA PROYECTO DE FIN DE CARRERA

3.2.1 Subsistema de adquisición de datos digitales El subsistema de adquisición de datos digitales tiene un circuito de entradas y

salidas de 50 pines. Se alimenta con una tensión de 5 Vcc ± 5% y consume una corriente de entre 0.7 y 1.1 A. Puede operar a temperaturas mínimas de 40º C bajo cero y máximas de 85 º C; y a humedad ambiental comprendida entre el 5% y el 95% sin condensación. El circuito dispone de 32 líneas configurables como entradas o salidas con las siguientes especificaciones:

ENTRADAS Y SALIDAS DIGITALES

Número de líneas 40 (32 dedicadas divididas en 4 puertos de 8 bits más 2 configurables de 4 bits cada una)

Compatibilidad Lógica de 3.3 V y 5 V

Tensión de entrada ‘0’ lógico: -0.5 V mín, 0.8 V máx‘1’ lógico: 2.0 V mín, 5.5 V máx

Corriente de entrada ±1 μA máx

Tensión de salida ‘0’ lógico: 0.0 V mín, 0.4 V máx‘1’ lógico: 2.4 V mín, 3.3 V máx

Corriente de salida ‘0’ lógico: 1 mA máx‘1’ lógico: -0.8 mA máx

Capacidad de E / S 10 pF máxFigura 3.10: Especificaciones del circuito de entradas y salidas digitales

El conector del circuito al exterior tiene las siguientes características:

• Conexión con la placa: Phyco 2120-50S • Cable de tipo cinta estándar (Ribbon) • Conexión al exterior: conector hembra de tipo cinta estándar 2x25 0.1”

Figura 3.11: Conector del circuito de entradas y salidas digitales

3:17

INGENIERÍA DE SISTEMAS Y AUTOMÁTICA PROYECTO DE FIN DE CARRERA

A continuación se muestra el listado detallado de las líneas del circuito:

DIO A0 1 2 DIO A1

DIO A2 3 4 DIO A3

DIO A4 5 6 DIO A5

DIO A6 7 8 DIO A7

DIO B0 9 10 DIO B1

DIO B2 11 12 DIO B3

DIO B4 13 14 DIO B5

DIO B6 15 16 DIO B7

DIO C0 17 18 DIO C1

DIO C2 19 20 DIO C3

DIO C4 21 22 DIO C5

DIO C6 23 24 DIO C7

DIO D0 25 26 DIO D1

DIO D2 27 28 DIO D3

DIO D4 29 30 DIO D5

DIO D6 31 32 DIO D7

DIO E0 / PWM 0 33 34 DIO E1 / PWM 1

DIO E2 / PWM 2 35 36 DIO E3 / PWM 3

DIO E4 / GATE 1 37 38 DIO E5 / TOUT 1

DIO E6 / DIOLATCH 39 40 DIO E7 / GATE 0

EXTTRIG 41 42 TOUT 0

ACK 43 44 WDI

WDO 45 46 FXA

FXB 47 48 FXB

+ 5V 49 50 Digital Ground

Figura 3.12: Listado de las 50 líneas del circuito de E/S

3:18

INGENIERÍA DE SISTEMAS Y AUTOMÁTICA PROYECTO DE FIN DE CARRERA

A continuación se describen las 50 líneas: DIO A7-A0: E/S Digital: Puerto A (entrada / salida programable) DIO B7-B0: E/S Digital: Puerto B (entrada / salida programable) DIO C7-C0: E/S Digital: Puerto C (entrada / salida programable). DIO D7-D0: E/S Digital: Puerto D (entrada / salida programable). DIO E7-E0: E/S Digital: Puerto E (entrada / salida programable). PWM3 - PWM0: Salidas PWM. 4 canales independientes. GATE 1-0: Puertas de entrada para los Contadores / Temporizadores 1 y 0. TOUT1: Salida del Contador / Temporizador 1. DIOLATCH: Línea digital usada (junto con la señal ACK) para definir parámetros

en transmisiones digitales automatizadas. EXT TRIG: Entrada de disparo externo. TOUT 0: Salida del Contador / Temporizador 0. +5 Vout: Conectado a una fuente de +5 V. Digital Ground: Tierra digital. WDO: Salida del ‘Watchdog Timer’. WDI: Entrada del ‘Watchdog Timer’. ACK: Línea digital usada (junto con la señal DIOLATCH) para definir parámetros

en transmisiones digitales automatizadas. FXA, FXB: Líneas que deben dejarse desconectadas. En la siguiente página se detallan las conexiones realizadas para la correcta lectura

de las señales procedentes del Throttle Jockey.

3:19

INGENIERÍA DE SISTEMAS Y AUTOMÁTICA PROYECTO DE FIN DE CARRERA

DIO A0 1 2 DIO A1

DIO A2 3 4 DIO A3

DIO A4 5 6 DIO A5

DIO A6 7 8 DIO A7

DIO B0 9 10 DIO B1

DIO B2 11 12 DIO B3

DIO B4 13 14 DIO B5

DIO B6 15 16 DIO B7

DIO C0 17 18 DIO C1

DIO C2 19 20 DIO C3

DIO C4 21 22 DIO C5

DIO C6 23 24 DIO C7

DIO D0 25 26 DIO D1

DIO D2 27 28 DIO D3

DIO D4 29 30 DIO D5

DIO D6 31 32 DIO D7

DIO E0 / PWM 0 33 34 DIO E1 / PWM 1

DIO E2 / PWM 2 35 36 DIO E3 / PWM 3

DIO E4 / GATE 1 37 38 DIO E5 / TOUT 1

DIO E6 / DIOLATCH 39 40 DIO E7 / GATE 0

EXTTRIG 41 42 TOUT 0

ACK 43 44 WDI

WDO 45 46 FXA

FXB 47 48 FXB

+ 5V 49 50 Digital Ground

Figura 3.13: Líneas empleadas para leer las señales procedentes del Throttle Jockey

En azul se ha remarcado el pin al cual se conecta la señal de salida del Throttle Jockey y que contiene la información de velocidad de giro del eje. En rojo se han remarcado los dos pines que se han conectado entre sí para utilizar como reloj de referencia para contar pulsos una señal PWM generada por la Hércules. En gris oscuro se ha remarcado el pin al cual se ha conectado la tierra del Throttle Jockey. La tercera salida del Throttle Jockey es una tensión de alimentación utilizada para mover el servo cuando actúa como regulador. Como en esta aplicación no es necesaria, se ha dejado en circuito abierto.

3:20

INGENIERÍA DE SISTEMAS Y AUTOMÁTICA PROYECTO DE FIN DE CARRERA

3.3 Desarrollo de los programas informáticos

El programa informático que calcula las medidas de r.p.m. ha sido desarrollado en C y se ejecuta en un sistema operativo Real Time Linux. Su nombre, en su versión definitiva que almacena los datos recogidos en memoria permanente, es opticdsk.exe, su código C es opticdsk.c, y el archivo de cabecera que acompaña al código es opticdsk.h. En pocas líneas, el programa inicia un menú en el que el usuario puede decidir si arranca el proceso de adquisición de medidas, borra archivos de datos generados en medidas anteriores, o sale de la aplicación. Además, pulsando una tecla el usuario arranca el proceso de medidas y pulsando otra lo detiene. Una vez detenida la batería de medidas se genera de forma automática un archivo con los datos más relevantes de las medidas (velocidad de giro medida y etiqueta de tiempo de la muestra) con formato datos_rpm_xx.txt.

3.3.1 Algoritmo

La estructura del programa desarrollado sigue las pautas que proporciona el fabricante de la Hércules para elaborar código que gestione el funcionamiento de la placa, y las que a su vez se implementan en programas desarrollados anteriormente para otros sensores implementados en el helicóptero. En líneas generales, consta de una fase de inicialización, una de definición de los parámetros de configuración, y una de toma de medidas que se ejecuta de forma recursiva, siguiendo las instrucciones del usuario mediante un menú, hasta que se sale del programa y se liberan los recursos utilizados mediante la pulsación de la tecla ‘P’.

En la primera etapa del programa se inicializa el driver de la Hércules, librería de funciones que permiten gestionarla correctamente. Posteriormente se inicializa la placa, definiendo los parámetros que la identifican para que los dispositivos físicos de la misma puedan ser operados por los programas. En la siguiente etapa se definen los parámetros del reloj que gestiona la frecuencia de interrupciones para tomar medidas y los de las señal PWM que se utiliza como reloj auxiliar para medir el ancho de los pulsos. Posteriormente se genera el menú de usuario con las distintas opciones para tomar medidas y almacenar datos. Dentro de estas opciones se encuentra la función que arranca el proceso de medidas y ejecuta las funciones necesarias para realizar las mediciones y los cálculos. La última etapa del programa libera los recursos y sale del menú de usuario. En la siguiente página se muestra un diagrama de flujo con el funcionamiento del programa.

3:21

INGENIERÍA DE SISTEMAS Y AUTOMÁTICA PROYECTO DE FIN DE CARRERA

Main

Ini Driver

Libera

Ini Placa

Config PWM,

Interrupcion

Para

Medidas

Fin

`S´

SI

NO

Medidas

Interrupción Borrar Para

`M´ `P´

`B´

Medida opt

Lectura

Contador

revs

Lectura

`1´

`0´

return

SI

NO

SI

NO

Interrupción

Medida_

Pantalla

`P´ NO

SI

Fin

Fin Medidas

Figura 3.14: Diagrama de flujo del funcionamiento del programa opticdsk

3:22

INGENIERÍA DE SISTEMAS Y AUTOMÁTICA PROYECTO DE FIN DE CARRERA

3.3.2 Programa informático

El programa opticdsk.c requiere su código de cabecera opticdsk.h para ser compilado correctamente. En esta cabecera se definen todas las variables globales que intervienen en el programa y la estructura básica de cada función que se va a desarrollar. El código en lenguaje C se detalla en los anexos del documento y una descripción de sus funciones y comandos se expone a continuación.

⇒ int main( )

Ésta es la función principal del programa, y como es habitual en un código en C, alberga toda la secuencia de instrucciones y demás funciones secundarias del programa. Se puede dividir en 5 secciones perfectamente definidas:

1. Inicialización del Driver

Se inicializan todas las funciones de gestión de la placa.

2. Inicialización de la placa

Se inicializan los dispositivos periféricos para que estén a disposición de las instrucciones de la CPU.

3. Inicialización del sensor

Se configuran los pulsos PWM que servirán de reloj auxiliar y la frecuencia de las interrupciones para realizar medidas. Para los pulsos PWM se elige una frecuencia de 100 KHz y para las interrupciones una de 6.25 Hz, obteniendo una interrupción cada 160 ms.

4. Toma de medidas

Se presenta un menú en pantalla que permite al usuario emprender varias acciones según la opción que elija: ‘M’ – Comienzan las interrupciones cíclicas, con las medidas del sensor, su presentación en pantalla y su almacenado en disco hasta que el usuario las detenga. ‘P’ – Detiene las interrupciones. ‘B’ – Borra todos los ficheros que existan en memoria con datos de mediciones anteriores.

5. Finalización

Se liberan los recursos utilizados por el Driver de la placa y se finaliza el programa. Para pasar a esta sección se debe pulsar ‘S’ en el menú de toma de medidas.

3:23

INGENIERÍA DE SISTEMAS Y AUTOMÁTICA PROYECTO DE FIN DE CARRERA

⇒ void arranca( )

Esta función sirve de intermediaria para poder iniciar las interrupciones en el formato recomendado en los manuales de programación de la Hércules. Este formato incluye una comprobación de error con mensaje en pantalla si éste se produce.

⇒ void para( )

Esta función detiene las interrupciones y libera los recursos empleados en las mismas.

⇒ void interrupcion(void* params)

Esta función arranca el proceso de interrupciones para realizar las medidas y genera los archivos donde posteriormente guarda los datos de dichas medidas. Se ejecuta en su totalidad cada 160 ms.

⇒ medida_opt( )

Esta función se puede dividir en dos secciones bien definidas. En la primera se leen los pulsos del sensor y se cuentan los pulsos de reloj para obtener el ancho del pulso medido, según el procedimiento descrito en la sección “Cálculo de la velocidad de giro”. En la segunda se calculan las r.p.m. también según el procedimiento descrito en dicha sección. La función devuelve el valor de las r.p.m. para que la función interrupción lo muestre por pantalla y lo escriba a un fichero.

3.3.3 Cálculo de la velocidad de giro

Para obtener la velocidad de giro del eje sobre el que se mide, el programa utiliza un contador de pulsos, donde cada pulso representa la unidad fundamental de tiempo que el algoritmo puede medir. El pulso que genera el Throttle Jockey, señal que lee el circuito de adquisición, tiene como ancho el periodo de giro del eje. Con una resolución máxima limitada por el ancho del pulso fundamental del reloj, se puede medir el ancho del pulso procedente del Throttle Jockey, contando el número de pulsos reloj que hay desde su subida de “0” a “1” hasta su bajada de “1” a “0”. Es fundamental asegurar que el contador empieza a contar pulsos reloj en la subida de “0” a “1” para que la medida final sea correcta.

3:24

INGENIERÍA DE SISTEMAS Y AUTOMÁTICA PROYECTO DE FIN DE CARRERA

Figura 3.15: Esquema de medición de pulsos para el cálculo de la velocidad de giro

El pulso reloj se genera mediante el generador de señales PWM que incorpora la

Hércules. Las características de estas señales son configurables en el código del programa que gestiona la captura de datos. En nuestra aplicación se utiliza un pulso con ciclo de carga del 50%, por lo que el pulso es simétrico y está medio periodo a 1 y medio a 0.

No se han apreciado en las pruebas “cuentas en falso”, que podrían darse si las

instrucciones del programa fuesen lo suficientemente rápidas como para que el circuito de adquisición leyera varias veces la entrada de la señal reloj antes de que se diese un nuevo pulso. Este fenómeno se podría arreglar incrementando el ciclo de carga de la señal reloj, ya que el contador de pulsos se incrementa cada vez que detecta un nivel bajo en la señal. Igualmente, si las instrucciones fueran demasiado lentas, el contador podría “obviar” varios pulsos consecutivos. Este fenómeno tampoco se ha apreciado en las pruebas, y se podría resolver disminuyendo la resolución del reloj, haciendo que sus pulsos sean más largos. Para conocer exactamente la dinámica del contador, estudio que va más allá de las necesidades de nuestro sistema de adquisición, sería necesario conocer con exactitud las instrucciones que desencadena cada línea de código en la CPU, así como sus tiempos de ejecución.

Para la señal reloj se ha elegido una frecuencia de 100 KHz, lo que proporciona a

cada pulso un periodo de 10 μs y una resolución del mismo valor al reloj. Este valor es más que suficiente si observamos que el tiempo de subida del transistor es de 20 μs con una resistencia de carga de 200 Ω y de 30 μs con una de 1KΩ. Además, el inversor lógico que incorpora el Throttle Jockey sitúa la señal a nivel bajo durante todo el tiempo de reflexión, tiempo durante el cual la tira reflectante pasa por delante del sensor. En páginas anteriores se ha calculado este tiempo y se han obtenido valores de varios cientos de μs. El reloj tiene resolución más que suficiente para que existan varios pulsos de tiempo entre dos pulsos de sensor distintos. Para un comportamiento detallado del transistor consultar sus especificaciones técnicas en los anexos.

3:25

INGENIERÍA DE SISTEMAS Y AUTOMÁTICA PROYECTO DE FIN DE CARRERA

Una vez se tiene el número de pulsos reloj que hay dentro de un pulso del sensor se conoce el ancho de dicho pulso y por tanto el periodo de rotación del eje cuya velocidad de giro se está midiendo. Con este dato la obtención de la velocidad de giro es inmediata, realizando las conversiones de unidades adecuadas:

rpmT

f 601000100⋅⋅=

Donde T es el valor de la variable contador que almacena el número de pulsos reloj

contados.

3.3.4 Librerías de funciones utilizadas

Para obtener toda la funcionalidad deseada del programa se ha recurrido a varias librerías estándar ANSI de programación en C, además de una librería específica suministrada por Diamond Systems con funciones que gestionan los circuitos de la placa. Las librerías ANSI utilizadas son:

• stdlib.h • stdio.h • math.h • time.h

Estas librerías están incluidas en el compilador GCC de Linux. Las funciones de

gestión de la placa están englobadas en el “driver” DSCUD 5.7. Se suele denominar driver a la librería que contiene funciones para gestionar un determinado dispositivo informático. En la jerga comercial se mencionan con frecuencia los drivers de la tarjeta de sonido, la tarjeta gráfica u otros dispositivos periféricos relevantes de un ordenador. En nuestro driver se encuentran funciones necesarias para iniciar y configurar el circuito de adquisición de datos, las señales PWM, el contador interno y otras utilidades que empleamos en nuestro programa informático. Esta librería o driver se denomina dscud.h.

El procedimiento necesario para acceder a la librería dscud.h es el siguiente:

• Se carga la librería en el sistema operativo ejecutando el archivo:

“/usr/local/dscud5/load.sh”

• Para compilar el programa será necesario incluir las librerías mencionadas con los siguientes añadidos al comando gcc:

“-L/usr/local/dscud5 -L/opt/dscud5 -ldscud5 –pthread -lm

-I/usr/local/dscud5 -I/opt/dscud5”

3:26

INGENIERÍA DE SISTEMAS Y AUTOMÁTICA PROYECTO DE FIN DE CARRERA

Tanto el programa elaborado para la adquisición de medidas con el sensor óptico como el programa elaborado para el potenciómetro deben seguir un proceso muy parecido de ejecución de funciones del driver de la placa. Esta secuencia de funciones con las variables utilizadas se detalla a continuación.

3.3.5 Funciones de la placa

Inicialización del driver:

BYTE dscInit(WORD version)

Inicialización de la placa:

BYTE dscInitBoard(BYTE boardtype, DSCCB* dsccb, DSCB* board)

donde ‘DSCB’ es un tipo ‘SWORD’ y ‘DSCCB’ una estructura con los siguientes parámetros (a configurar a la hora de inicializar la placa):

BYTE boardtype DSCB boardnum WORD base_address BYTE int_level BOOL RMM_external_trigger BOOL RMM_external_trigger_c3 WORD EMM_IOAddr[8] WORD EMM_Interrupt[8] BYTE clkfrq0 BYTE clkfrq1 BYTE clksel1 WORD address_space

Liberación de recursos:

BYTE dscFree(void)

Funciones de E/S digitales

Configuración de los puertos digitales como entradas o como salidas:

BYTE dscDIOSetConfig(DSCB board, BYTE* config_bytes)

donde ‘config_bytes’ son 8 bits que indican cada uno si cada puerto funciona como entrada o como salida. El bit menos significativo se corresponde con el puerto A, el siguiente con el puerto B y así sucesivamente. Si el bit correspondiente a un puerto está a uno, dicha puerta funcionará como salida y si está a cero, funcionará como entrada.

3:27

INGENIERÍA DE SISTEMAS Y AUTOMÁTICA PROYECTO DE FIN DE CARRERA

Poner a ‘1’ un bit determinado de un puerto determinado:

BYTE dscDIOSetBit(DSCB board, BYTE port, BYTE bit)

Poner a ‘0’ un bit determinado de un puerto determinado:

BYTE dscDIOClearBit(DSCB board, BYTE port, BYTE bit)

Leer el valor de un bit determinado de un puerto digital determinado:

BYTE dscDIOInputBit(DSCB board, BYTE port, BYTE bit, BYTE* digital_value)

Lanzamiento de una señal PWM:

BYTE dscPWMFunction(DSCB board, DSCPWM * dscpwm)

donde ‘DSCPWM’ es una estructura con los siguientes parámetros:

DFLOAT output_freq FLOAT duty_cycle BYTE polarity BYTE pwm_circuit BOOL output_enab

Interrupciones de usuario Inicialización de las interrupciones:

BYTE dscUserInt(DSCB board, DSCUSERINT* dscuserint, DSCUserInterruptFunction func)

donde ‘DSCUSERINT’ es una estructura con los siguientes parámetros:

BYTE intsource FLOAT rate BYTE clksource BYTE counter DWORD int_type DSCUserInterruptFunction func

y ‘DSCUserInterruptFunction’ se corresponde con el nombre de la función que se ejecutará en cada interrupción y que tendría la siguiente definición:

void (*DSCUserInterruptFunction) (void* parameter)

Detención de las interrupciones: BYTE dscCancelOp(DSCB board)

3:28

INGENIERÍA DE SISTEMAS Y AUTOMÁTICA PROYECTO DE FIN DE CARRERA

Eliminación y liberación de las interrupciones: BYTE dscClearUserInterruptFunction(DSCB board)

3.4 Montaje del sensor

Una de las ventajas del sensor de efecto fotoeléctrico reflectante es la facilidad con la que se puede montar y desmontar de cualquier plataforma. Esto ha permitido probarlo durante el proceso de caracterización y en la posterior validación en diversos elementos rotativos, como un ventilador de PC convencional o un helicóptero de motor eléctrico, siendo ambos más seguros y fáciles de operar que el helicóptero Raptor de motor de combustión. El sensor requiere los siguientes elementos para su correcta fijación:

• Cinta adhesiva autorreflectante. Se debe cortar un trozo de tamaño y forma

idénticas a la cara sensible del sensor. • Plataforma de soporte y tornillo y tuerca de fijación a la plataforma. • Sistema de fijación de la plataforma al helicóptero. En nuestro caso se han

utilizado dos tornillos estructurales del Raptor, con unas arandelas para garantizar el alineamiento, para impedir el movimiento de la plataforma y permitir a su vez un desmontaje fácil.

• Guías para los cables. El sensor se ha situado en una posición cercana al plato de transmisión del colectivo, por lo que se han fijado los cables del primero a la estructura del helicóptero para evitar que interfieran en los movimientos del segundo.

• Visera solar para el receptor del sensor. Disminuye la intensidad de las interferencias producidas por fuentes de luz distintas del fotodiodo.

A continuación se muestra una imagen con los componentes del sensor. A la

izquierda se muestra el regulador Throttle Jockey, interfaz entre el sensor y la caja de aviónica. En el centro se muestran el tornillo de fijación a la plataforma, dos plataformas de tamaños distintos, la visera y la cinta reflectante, todos los elementos proporcionados por la empresa Model Avionics. A la derecha se muestra el sensor óptico.

3:29

INGENIERÍA DE SISTEMAS Y AUTOMÁTICA PROYECTO DE FIN DE CARRERA

Figura 3.16: Componentes del sensor óptico y Throttle Jockey

3:30

INGENIERÍA DE SISTEMAS Y AUTOMÁTICA PROYECTO DE FIN DE CARRERA

3.4.1 Ubicación El sensor debe montarse a una distancia de entre 3 y 5 mm entre la cara sensible y la

superficie donde se encuentra la tira reflectante para obtener una recepción de intensidad máxima. Además, ambos planos, el de la cara sensible y el de la tira reflectante, deben ser lo más paralelos posibles. La tira debe cortarse justo al tamaño de la cara sensible del sensor y su orientación en su propio plano debe cuadrar lo mejor posible con la cara sensible del sensor. A continuación se muestra una foto del sensor montado en el Raptor.

Figura 3.17: Sensor óptico montado en el Raptor

3.4.2 Cableado e interfaz eléctrica

El mercado del aeromodelismo tiene una norma común de cableado e interfaces impuesta por los principales fabricantes, Futaba y JR. El cable básico consiste en un cable plano formado por tres hilos, de colores blanco, rojo y negro en cables fabricados por JR y naranja, rojo y negro en cables fabricados por Futaba. Además, el conector macho de los JR tiene una pequeña pestaña que impide introducirlo en el conector hembra de Futaba. El problema es sólo incomodidad porque esta pestaña se puede lijar fácilmente. Con estas pequeñas diferencias aparte, los cables son idénticos. El cable rojo transporta la alimentación de los servos y sistemas. El cable negro proporciona la tierra común. El cable blanco o naranja transmite la señal. En este proyecto se ha decidido adoptar la norma del mercado y se han utilizado cables y conectores JR y Futaba para realizar todas las conexiones. El cable que va unido directamente al circuito de adquisición de la Hércules se ha abierto en sus tres hilos y cada hilo se ha soldado en su pin correspondiente. A continuación se muestra una foto del cable y los conectores.

3:31

INGENIERÍA DE SISTEMAS Y AUTOMÁTICA PROYECTO DE FIN DE CARRERA

Figura 3.18: Conector y cables utilizados en el diseño

3:32