Está en la página 1de 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
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 mA

30 mA

1.2 V
4.2 V 5V

1 KO

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

r=20.70

Perímetro = 2 ⋅ π ⋅ 20.70 = 130.1 mm

a 10
= = 0.077
Perímetro 130.1
a=10.00

1
14000 rpm → 233.33 Hz → T = = 0.0043 s = 4.3 ms
f
Ancho de pulso = 0.077 ⋅ T = 330 μs

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

40 (32 dedicadas divididas en 4 puertos de 8 bits más 2


Número de líneas
configurables de 4 bits cada una)

Compatibilidad Lógica de 3.3 V y 5 V

‘0’ lógico: -0.5 V mín, 0.8 V máx


Tensión de entrada
‘1’ lógico: 2.0 V mín, 5.5 V máx
Corriente de
±1 μA máx
entrada
‘0’ lógico: 0.0 V mín, 0.4 V máx
Tensión de salida
‘1’ lógico: 2.4 V mín, 3.3 V máx
‘0’ lógico: 1 mA máx
Corriente de salida
‘1’ lógico: -0.8 mA máx
Capacidad de E / S 10 pF máx
Figura 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

`M´ `P´
Main Medidas
`B´
Ini Driver Interrupción Borrar Para

Ini Placa

Config Fin Medidas


PWM,
Interrupcion

Interrupción Medida opt


Medidas

`S´ NO Medida_ Lectura

SI
Pantalla NO
`1´
Para
SI
`P´ NO

SI Contador
Libera

Fin
Lectura
Fin

`0´ NO

SI

revs

return

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:

100
f = ⋅ 1000 ⋅ 60 rpm
T
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

También podría gustarte