4 sensor del ángulo de paso colectivo y cálculo...

32
INGENIERÍA DE SISTEMAS Y AUTOMÁTICA PROYECTO DE FIN DE CARRERA 4 Sensor del ángulo de paso colectivo y cálculo numérico de su derivada En este capítulo se realiza una descripción detallada tanto de la solución adoptada para obtener una medida del ángulo de paso colectivo de las palas del helicóptero como de los procedimientos empleados para obtener dicha solución. También se describe el cálculo numérico de la derivada del ángulo de paso en la sección que detalla el desarrollo del programa informático. El cálculo numérico de la derivada se considera un problema secundario y se abordó una vez el sistema proporcionaba medidas correctas del paso colectivo. El proceso de obtención de la solución al problema primario o de la medida del paso 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 un nivel como aparato de medida auxiliar y modificando el paso colectivo de forma manual, y posteriormente con una regresión lineal de la tensión en el potenciómetro en función del ángulo de paso, operando las palas mediante el servomecanismo de paso colectivo. 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. 4:1

Upload: dinhdang

Post on 11-Oct-2018

215 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 4 Sensor del ángulo de paso colectivo y cálculo …bibing.us.es/proyectos/abreproy/60066/fichero/7_Sensor+de+ángulo... · 4 Sensor del ángulo de paso colectivo y cálculo

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

4 Sensor del ángulo de paso colectivo y cálculo numérico de su derivada

En este capítulo se realiza una descripción detallada tanto de la solución adoptada

para obtener una medida del ángulo de paso colectivo de las palas del helicóptero como de los procedimientos empleados para obtener dicha solución. También se describe el cálculo numérico de la derivada del ángulo de paso en la sección que detalla el desarrollo del programa informático. El cálculo numérico de la derivada se considera un problema secundario y se abordó una vez el sistema proporcionaba medidas correctas del paso colectivo. El proceso de obtención de la solución al problema primario o de la medida del paso 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 un nivel como aparato de medida auxiliar y modificando el paso colectivo de forma manual, y posteriormente con una regresión lineal de la tensión en el potenciómetro en función del ángulo de paso, operando las palas mediante el servomecanismo de paso colectivo. 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.

4:1

Page 2: 4 Sensor del ángulo de paso colectivo y cálculo …bibing.us.es/proyectos/abreproy/60066/fichero/7_Sensor+de+ángulo... · 4 Sensor del ángulo de paso colectivo y cálculo

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

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

4:2

Page 3: 4 Sensor del ángulo de paso colectivo y cálculo …bibing.us.es/proyectos/abreproy/60066/fichero/7_Sensor+de+ángulo... · 4 Sensor del ángulo de paso colectivo y cálculo

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

4.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 (debe estar de alguna forma ligado al mecanismo de paso colectivo) y el sensor debe adaptarse a alguna de ellas sin alterar excesivamente la geometría y la distribución de pesos del helicóptero.

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

exigida; el potenciómetro de desplazamiento angular, el potenciómetro de desplazamiento lineal y el codificador óptico. Cada una presenta ventajas e inconvenientes que se reconocerán con una descripción breve de las tres.

Codificador óptico

Un codificador óptico digital es un dispositivo que convierte un desplazamiento en

un código digital detectando las zonas iluminadas y oscuras que se producen al atravesar un haz de luz una plantilla de sectores opacos y transparentes. Según el tipo de desplazamiento que se quiera medir, existen codificadores lineales para medir desplazamientos lineales y rotativos para medir desplazamientos angulares. La plantilla, de material plástico o cristal, se diseña de forma que contiene varias pistas, representando cada pista un bit del código. Cuantas más pistas, mayor resolución se tiene dentro del recorrido del dispositivo. En el caso que nos concierne, el recorrido es de un sector angular que generalmente será de una vuelta completa ó 360º. A modo de ejemplo, un codificador de 360º y ocho pistas (ocho bits) proporcionará una resolución de 1.406 (360/256) grados. Las pistas, en el codificador rotativo, son anillos concéntricos del disco, como se ilustra en la siguiente página. En la práctica se divide el recorrido total del sensor en 2N sectores equidistantes, siendo N el número de pistas y por tanto de bits de que dispone. A cada sector le corresponde un código unívoco de bits (esta estructura corresponde a un codificador absoluto, distinta de la de un codificador incremental). Aunque para transmitir la información del sensor a un computador es deseable utilizar codificación binaria, en la práctica se utiliza a menudo la codificación Gray, que garantiza transiciones suaves de las medidas entre sensores.

4:3

Page 4: 4 Sensor del ángulo de paso colectivo y cálculo …bibing.us.es/proyectos/abreproy/60066/fichero/7_Sensor+de+ángulo... · 4 Sensor del ángulo de paso colectivo y cálculo

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

Figura 4.2: Codificador óptico

En la codificación binaria ordenamos los sectores en los que dividimos el recorrido de forma ascendente, de forma que cuando el sensor transiciona entre dos puntos inmediatos del recorrido que pertenezcan a sectores distintos, nos puede cambiar el código por completo, modificando más de un bit. Tómese como ejemplo el paso, en un código de 2 bits, del sector 1 (0 1) al sector 2 (1 0). En teoría, esto no debería presentar problema, y el computador interpretaría el cambio de sector correctamente. En la práctica, cada bit del código es un pulso que se transmite al circuito de adquisición del computador. Debido a pequeñas imperfecciones, una de las dos pistas transicionará primero y su señal llegará antes, introduciendo códigos de otros sectores en medio de la transición, y no podemos controlar cual de ellas lo hace. El computador interpretará saltos entre sectores que no son adyacentes y al no ver el movimiento del codificador, no podrá discernir entre movimientos irreales y movimientos verdaderos. En un sistema de control en tiempo real esto puede provocar comportamientos anómalos y resultar catastrófico.

En la codificación Gray se resuelve el problema de la codificación binaria

introduciendo un ordenamiento de los códigos que garantice que en las transiciones entre sectores adyacentes sólo cambie un bit del código. Así se elimina la posibilidad de que aparezcan códigos en medio de una transición que proporcionen valores disparatados del desplazamiento. En el código Gray, la incertidumbre en una transición es de un bit, mientras que en código binario, la incertidumbre puede ser de varios. Antes de transmitir los pulsos al computador se pasan por un circuito lógico para traducir a código binario.

Como se mencionaba al principio, existen además dos familias de codificadores

según su forma de operar: el codificador absoluto y el codificador incremental. El absoluto asigna un código distinto a cada sector del recorrido. El codificador incremental sólo tiene 2 pistas cuyos pulsos están desfasados 90º. El desplazamiento se calcula a partir del estado anterior, y gracias al desfase entre ambas pistas, se puede distinguir en que sentido se produce. Con este método se puede calcular también la velocidad de desplazamiento. En algunos codificadores incrementales se introduce una tercera pista de referencia que marca con un solo pulso el 0 para poder medir desplazamientos absolutos.

4:4

Page 5: 4 Sensor del ángulo de paso colectivo y cálculo …bibing.us.es/proyectos/abreproy/60066/fichero/7_Sensor+de+ángulo... · 4 Sensor del ángulo de paso colectivo y cálculo

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

Potenciómetros

Un potenciómetro consiste en una resistencia eléctrica de tres terminales en la que se puede desplazar uno de los terminales para crear un divisor de tensiones variable. Si sólo se conectan el terminal variable y uno de los fijos se tiene un reostato o resistencia variable. La aplicación principal de los potenciómetros es el control de dispositivos eléctricos analógicos. Desplazando un actuador se varía de forma continua un nivel de tensión y se puede regular una salida de un circuito eléctrico. Esta tecnología se puede aplicar directamente para medir el desplazamiento de un mecanismo. El actuador se debe ligar de forma solidaria al mecanismo cuyo desplazamiento se quiere medir. Si se establecen correctamente las relaciones cinemáticas entre ambos se puede interpretar la variación de tensión en la salida del potenciómetro como un desplazamiento conocido entre dos posiciones del mecanismo.

Los potenciómetros son dispositivos relativamente económicos y muy utilizados en

la industria a todos los niveles de especificación. Además, al consistir en un circuito de resistencias (e interruptores y otros añadidos de mayor complejidad), prácticamente cualquier diseño es posible. En cuanto al tipo de desplazamiento del actuador se puede distinguir entre deslizantes o de desplazamiento lineal y rotativos o de desplazamiento angular. En cuanto a materiales suelen fabricarse con resistencias cerámicas, de composite metálico-cerámico, de plástico conductor o de cable arrollado de cobre. El cuerpo se fabrica de algún material aislante, como medida de seguridad para el usuario, que suele ser termoplástico o termoestable. A continuación se muestran el circuito eléctrico representativo y la ecuación que determina la tensión de salida en el terminal variable conocidas las resistencias.

Figura 4.3: Circuito eléctrico de un potenciómetro

4:5

Page 6: 4 Sensor del ángulo de paso colectivo y cálculo …bibing.us.es/proyectos/abreproy/60066/fichero/7_Sensor+de+ángulo... · 4 Sensor del ángulo de paso colectivo y cálculo

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

Los potenciómetros deslizantes se utilizan en equipos de sonido como “faders” o

atenuadores. Varían la resistencia mediante un desplazamiento rectilíneo del actuador. Su utilidad en nuestra aplicación radica en que el movimiento del plato deslizante en movimientos del mecanismo colectivo es rectilíneo a lo largo del eje del rotor. El problema principal es que dicho plato se encuentra en una zona del helicóptero con pocos puntos de agarre para una estructura que fije el potenciómetro de forma satisfactoria.

Los potenciómetros de desplazamiento angular se utilizan en multitud de

reguladores de potencia, amplificadores de señal, y como transductores de posición de elementos rotativos en diversas aplicaciones. Varían la resistencia mediante la rotación del actuador, que suele ser una rueda, en torno a un eje fijo, que está ligado al cuerpo del potenciómetro. Un contacto deslizante anular en la base del eje realiza la variación efectiva de resistencia. Su utilidad en nuestra aplicación radica en que el servomecanismo que mueve el mecanismo de paso colectivo gira en torno a su eje, y a través de una serie de rótulas, palancas y brazos mecánicos, transmite el movimiento al colectivo de las palas. Un potenciómetro de desplazamiento angular se puede acoplar con relativa facilidad al servomecanismo de forma que el giro de éste último provoque la variación de resistencia en el primero. El principal problema es que no se conocen las leyes cinemáticas que rigen los movimientos del complejo mecanismo de paso colectivo. Sin embargo, las leyes cinemáticas exactas se pueden sustituir por leyes empíricas y regresiones. A continuación se muestran ilustraciones de ambos tipos de potenciómetros.

Figura 4.4: Potenciómetro rotatorio y potenciómetros lineales o deslizantes

Como último aspecto relevante de los potenciómetros es necesario explicar en qué consiste la ley desplazamiento-resistencia, más conocida como ley o taper del potenciómetro. Un potenciómetro se puede diseñar de forma que la resistencia, y por tanto la tensión de salida, varíen según cualquier ley que no sea necesariamente directamente proporcional al desplazamiento del actuador. En la práctica, muchos potenciómetros llevan leyes lineales, otros logarítmicas y exponenciales, y otros llevan leyes compuestas para aplicaciones más específicas. La ley del potenciómetro se puede

4:6

Page 7: 4 Sensor del ángulo de paso colectivo y cálculo …bibing.us.es/proyectos/abreproy/60066/fichero/7_Sensor+de+ángulo... · 4 Sensor del ángulo de paso colectivo y cálculo

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

optimizar para la funcionalidad que se le quiere dar. Por ejemplo, el mando de volumen de un equipo suele llevar una ley logarítmica debido a que el tímpano humano suele presentar una respuesta logarítmica al incremento de presión de las ondas sonoras. Así, un desplazamiento equivalente proporciona la misma sensación de aumento de volumen en sectores de volumen dispares. En nuestra aplicación interesa un potenciómetro de ley lineal, ya que la variación de paso de la pala en cualquier intervalo del rango de movimiento es directamente proporcional al desplazamiento angular del servomecanismo y al desplazamiento vertical del plato deslizante.

4.1.1 Potenciómetro de desplazamiento angular

La tecnología del potenciómetro de desplazamiento angular se eligió para su aplicación a este proyecto por cumplir los requisitos del mismo y presentar ciertas ventajas frente al potenciómetro de desplazamiento lineal y frente al codificador óptico. Entre ellas es destacable la gran profusión de potenciómetros angulares en el mercado y su reducido coste frente al codificador óptico. Además, el codificador óptico de especificación comercial, aunque proporciona directamente un valor en formato digital que nos ahorra el proceso de conversión A/D, no presenta mejor resolución que el conversor de la placa Hércules. A esto hay que añadir la relación dispar de precios entre los potenciómetros y codificadores ópticos disponibles en el mercado. Mientras que los codificadores ópticos no bajan de los 100 euros, existen potenciómetros con tolerancias de error suficientes para nuestra aplicación cuyo precio no supera los 20 euros.

Frente a los potenciómetros deslizantes, el potenciómetro rotativo presenta ventajas

tanto en la facilidad de su instalación como en su disponibilidad. Existe una gama más amplia de potenciómetros rotativos y más adecuada a nuestras necesidades, mientras que los potenciómetros deslizantes encontrados eran o de calidad insuficiente o de calidad y coste excesivos para nuestro proyecto. En cuanto a la facilidad de instalación, no se ha encontrado solución para un potenciómetro deslizante equiparable en simplicidad y garantías estructurales a la que se ha implementado con potenciómetro angular.

Aplicación

Como ya sabemos, el potenciómetro de desplazamiento angular consiste en una

resistencia variable cuyo valor es proporcional al giro que se produce en un eje que va unido solidariamente al actuador del potenciómetro. Este mismo eje se une en su base al cuerpo del potenciómetro pero con libertad de rotación. El contacto eléctrico que se produce en esta unión es de resistencia variable con dicha rotación. La solución implementada contempla unir solidariamente el eje giratorio al eje del servomecanismo de paso colectivo y unir el cuerpo del potenciómetro al fuselaje para que no existan movimientos relativos entre ambos. Al estar el cuerpo del servomecanismo también solidariamente unido al fuselaje, se consigue que no existan movimientos relativos entre el cuerpo del servomecanismo y el cuerpo del potenciómetro, y el ángulo girado por el eje del servomecanismo será idéntico al ángulo girado por el eje del potenciómetro.

4:7

Page 8: 4 Sensor del ángulo de paso colectivo y cálculo …bibing.us.es/proyectos/abreproy/60066/fichero/7_Sensor+de+ángulo... · 4 Sensor del ángulo de paso colectivo y cálculo

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

Una vez se consigue el movimiento solidario de ambos ejes, se obtiene una variación de tensión en la salida del potenciómetro que tiene una relación funcional, a priori desconocida, con la variación de ángulo de paso colectivo de las palas del rotor principal. Descartado el estudio cinemático riguroso del mecanismo de paso colectivo del Raptor, se optó por utilizar una regresión basada en medidas de tensión con varios ángulos de paso conocidos para aproximar dicha relación funcional. Se demostró la hipótesis de que la relación era cuasi-lineal, hipótesis basada en que todos los giros de los elementos del mecanismo son de ángulos pequeños, en que el movimiento de dichos elementos es aproximadamente plano, y en que la ley del potenciómetro es lineal.

4.1.2 El Potenciómetro Vishay 132-2-0-102 100 Ω La elección del potenciómetro angular de la casa Vishay responde de forma muy

satisfactoria a las necesidades del proyecto por diversos motivos: • Su diseño de aplicación industrial es estanco y duradero, con eje de acero

y cuerpo de termoplástico de alta resistencia. • Ofrece un par de resistencia de 72 g.cm frente a los más de 3000 g.cm

que puede generar el servomecanismo de paso colectivo, por lo que el movimiento libre del mecanismo no se ve afectado.

• Su tamaño es lo suficientemente reducido para incorporarlo sin problemas al fuselaje del Raptor. Su peso es inferior a 30 gramos.

• Su recorrido es de más de 300º, varias veces mayor que el recorrido del servo, de aproximadamente 80º.

• Su resistencia eléctrica es suficiente para soportar sin problemas los 10 V de alimentación de la Hércules de forma continua.

• Al ser lineal, la traducción de sus valores de tensión a valores de ángulo girado es una proporción sencilla.

Sus dimensiones son tales que cabe en un cilindro de 33.32 milímetros de diámetro

y 42.75 mm de altura, incluidas las terminales de sus líneas eléctricas. El cuerpo tiene 33.32 mm de diámetro y 15.88 mm de altura y el eje tiene 6.34 mm de diámetro y 22.22 mm de altura. Cabe destacar que el diámetro del eje, al no ser un valor normalizado de broca de 6.25 o 6.5 mm, provocó la necesidad de utilizar un torno de cilindrado para poder encajarlo en un hueco de 6.25 mm originales de diámetro, que se cilindraron hasta los 6.34 del eje. Este inconveniente no se previó en la elección del potenciómetro pero fue solucionado utilizando el torno de precisión. En la página siguiente se presenta un plano acotado del potenciómetro, medidas en pulgadas (mm entre paréntesis):

4:8

Page 9: 4 Sensor del ángulo de paso colectivo y cálculo …bibing.us.es/proyectos/abreproy/60066/fichero/7_Sensor+de+ángulo... · 4 Sensor del ángulo de paso colectivo y cálculo

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

Figura 4.5: Plano acotado del potenciómetro empleado

En cuanto a sus especificaciones mecánicas, cabe destacar que tiene un recorrido de 340º con topes en ambos extremos. Estos topes resisten hasta 9.21 kg.cm, que es más del doble que el par máximo que puede generar el servomecanismo, por lo que la integridad de los topes no corre peligro. El par de oposición dentro del recorrido es de 72 g.cm parado y de 50.4 g.cm en rotación. El peso total del potenciómetro es de 28.35 gramos.

En cuanto a sus especificaciones eléctricas, cabe destacar que soporta una tensión

máxima entre bornas de 16.6 V y tiene una resolución máxima de 0.251% de la tensión de alimentación. Su consumo nominal es de 2.8 W desde los 0 hasta los 40º C de temperatura ambiente, muy inferior a la potencia total que puede proporcionar la placa con sus circuitos de alimentación, que oscila entre los 24 y los 40 W según la velocidad de procesamiento de la misma. Su resistencia total es de 100 Ω, con una tolerancia nominal de ±3%. Se garantiza la linealidad del potenciómetro en ±1% nominal, ±0.5% en la configuración más favorable. Para más detalles y especificaciones adicionales referirse al Anexo C.

4:9

Page 10: 4 Sensor del ángulo de paso colectivo y cálculo …bibing.us.es/proyectos/abreproy/60066/fichero/7_Sensor+de+ángulo... · 4 Sensor del ángulo de paso colectivo y cálculo

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

4.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 ángulos). En la sección anterior se ha descrito la señal que proporciona el potenciómetro, que es un nivel analógico de tensión. La placa Hércules dispone de un circuito de adquisición de datos analógicos con un convertidor de analógico a digital que transforma un nivel de tensión dado en un valor digital en memoria. A continuación se describe dicho circuito.

4.2.1 Subsistema de adquisición de datos analógicos El subsistema de adquisición de datos analógicos tiene un circuito de entradas y

salidas de 40 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 en modo común y 16 si se opera en modo diferencial con las siguientes características:

• Tasa de muestreo máxima de 250 KHz. • Ganancias y rangos de entrada programables, con un rango máximo de ±10V

(bipolar) ó 0-10V (unipolar). • Rangos de entrada tanto bipolares como unipolares. • 5 ppm / ºC de desviación de exactitud. • Disparo A/D tanto interno como externo. • 1048-FIFO “buffer” de muestreo.

4:10

Page 11: 4 Sensor del ángulo de paso colectivo y cálculo …bibing.us.es/proyectos/abreproy/60066/fichero/7_Sensor+de+ángulo... · 4 Sensor del ángulo de paso colectivo y cálculo

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

Entradas analógicas Las especificaciones de las entradas se presentan en la siguiente tabla:

ENTRADAS ANALÓGICAS

Número de líneas 16 en modo diferencial y 32 en modo común, opción configurable por el usuario

Resolución de la conversión A/D 16 bits (1/65536 de la escala total)

Rangos de entrada Bipolar: ±10 V, ±5 V, ±2.5 V, ±1.25 VUnipolar: 0-10 V, 0-5 V, 0-2.5 V

Entrada de IBIAS 50 nA máx

Máximo voltaje de entrada ±10 V para operación lineal

Protección de sobrevoltaje ±35 V en cualquiera de las entradas sin daños

Desviación 5 ppm º/C típica

Tasa de conversión 100000 muestras/s máx

No-linealidad ±3 LSB, sin pérdida de código

Disparo de la conversión Software, reloj interno o señal externa TTL

FIFO 48 muestras. Umbral de interrupción programable

Figura 4.6: Especificaciones del circuito de entradas analógicas

Dentro del análisis que se está realizando de las entradas y salidas analógicas de la placa Hercules, se van a incluir algunos detalles interesantes sobre la resolución que se pueden obtener a la hora de medir las tensiones en las entradas analógicas según el modo y rango de entrada que se programen. Esta resolución vendrá impuesta por el conversor Analógico/Digital que como ya se ha dicho será de 16 bits (1/65536 de la escala total). Realizando unos sencillos cálculos se obtiene la tabla de resultados que se expone en la siguiente página.

4:11

Page 12: 4 Sensor del ángulo de paso colectivo y cálculo …bibing.us.es/proyectos/abreproy/60066/fichero/7_Sensor+de+ángulo... · 4 Sensor del ángulo de paso colectivo y cálculo

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

POLARIDAD RANGO DE ENTRADA RESOLUCIÓN

±10 V 305 µV

±5 V 153 µV

±2.5 V 76 µV BIPOLAR

±1.25 V 38 µV

0-10 V 153 µV

0-5 V 76 µV

0-2.5 V 38 µV UNIPOLAR

0-1.25 V 19 µV

Figura 4.7: Resolución del circuito de entradas analógicas

Salidas analógicas La Hércules proporciona 4 salidas analógicas independientes con las siguientes

características:

• Resolución de 12 bits • Rangos de salida de ±10 V en bipolar y 0-10 V en unipolar • Actualización simultánea • Rango de salida ajustable (opción de configuración por encargo)

Sus especificaciones se detallan en la tabla expuesta en la siguiente página:

4:12

Page 13: 4 Sensor del ángulo de paso colectivo y cálculo …bibing.us.es/proyectos/abreproy/60066/fichero/7_Sensor+de+ángulo... · 4 Sensor del ángulo de paso colectivo y cálculo

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

SALIDAS ANALÓGICAS

Número de salidas 4

Resolución de la conversión D/A 12 bits (1/4096 de la escala total)

Rangos de salida Bipolar: ±10 V programable Unipolar: 0-10 V programable

Corriente de salida ±5 mA máx. por canal

Tiempo de asentamiento 4 µs máx. para ± 1/2 LSB

Exactitud relativa ±1 LSB

No-linealidad ±1 LSB monotónico

Figura 4.8: Especificaciones del circuito de salidas analógicas

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 2x20 0.1”

Figura n:

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

Figura 4.9: Conector del circuito de entradas y salidas analógicas

En la siguiente página se muestra la relación de pines del conector en ambos modos de operación, común y diferencial.

4:13

Page 14: 4 Sensor del ángulo de paso colectivo y cálculo …bibing.us.es/proyectos/abreproy/60066/fichero/7_Sensor+de+ángulo... · 4 Sensor del ángulo de paso colectivo y cálculo

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

MODO COMÚN

Vout 0 1 2 Vout 1

Vout 2 3 4 Vout 3

Output Ground 5 6 Output Ground

Vin 0 7 8 Vin 16

Vin 1 9 10 Vin 17

Vin 2 11 12 Vin 18

Vin 3 13 14 Vin 19

Vin 4 15 16 Vin 20

Vin 5 17 18 Vin 21

Vin 6 19 20 Vin 22

Vin 7 21 22 Vin 23

Vin 8 23 24 Vin 24

Vin 9 25 26 Vin 25

Vin 10 27 28 Vin 26

Vin 11 29 30 Vin 27

Vin 12 31 32 Vin 28

Vin 13 33 34 Vin 29

Vin 14 35 36 Vin 30

Vin 15 37 38 Vin 31

Input Ground 39 40 Input Ground

Figura 4.10: Listado de las 40 líneas del circuito de entradas y salidas. Modo común.

4:14

Page 15: 4 Sensor del ángulo de paso colectivo y cálculo …bibing.us.es/proyectos/abreproy/60066/fichero/7_Sensor+de+ángulo... · 4 Sensor del ángulo de paso colectivo y cálculo

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

MODO DIFERENCIAL

Vout 0 1 2 Vout 1

Vout 2 3 4 Vout 3

Output Ground 5 6 Output Ground

Vin 0 + 7 8 Vin 0 -

Vin 1 + 9 10 Vin 1 -

Vin 2 + 11 12 Vin 2 -

Vin 3 + 13 14 Vin 3 -

Vin 4 + 15 16 Vin 4 -

Vin 5 + 17 18 Vin 5 -

Vin 6 + 19 20 Vin 6 -

Vin 7 + 21 22 Vin 7 -

Vin 8 + 23 24 Vin 8 -

Vin 9 + 25 26 Vin 9 -

Vin 10 + 27 28 Vin 10 -

Vin 11 + 29 30 Vin 11 -

Vin 12 + 31 32 Vin 12 -

Vin 13 + 33 34 Vin 13 -

Vin 14 + 35 36 Vin 14 -

Vin 15 + 37 38 Vin 15 -

Input Ground 39 40 Input Ground

Figura 4.11: Listado de las 40 líneas del circuito de entradas y salidas. Modo diferencial.

4:15

Page 16: 4 Sensor del ángulo de paso colectivo y cálculo …bibing.us.es/proyectos/abreproy/60066/fichero/7_Sensor+de+ángulo... · 4 Sensor del ángulo de paso colectivo y cálculo

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

A la vista de las características de los canales de entrada y salida analógicas, se concluye que la configuración óptima de conexión entre el potenciómetro y la placa Hércules sería alimentar el potenciómetro mediante una salida analógica unipolar con un rango de 0-10 V y capturar la salida de éste mediante una entrada analógica también configurada en modo común y que mida dentro de un rango de 0-10 V. Con esta configuración se pierde resolución en las entradas analógicas de la placa según la tabla n, pero debído a que el potenciómetro es una resistencia eléctrica variable y su tensión de salida es proporcional a la de entrada, cuanto mayor sea la alimentación mayor será el recorrido en tensiones para el mismo desplazamiento angular. Por lo tanto, aunque la resolución de la medición es menor, el incremento de tensión por grado girado es mayor, y ambos efectos se contrarrestan.

Una vez se ha decidido la configuración que tendrán nuestras conexiones (la cual se impondrá por programación) ya se puede realizar la conexión física entre el potenciómetro y el subsistema de adquisición de datos. Para imponer una caída de tensión de 10 Voltios entre los pines 1 y 3 del potenciómetro, se conecta el pin 1 del potenciómetro a la salida analógica Vout 1 (pin 2 del conector analógico) y el pin 3 del potenciómetro a tierra (pin 6 del conector analógico). Para obtener la señal (variación de voltaje) se conecta el pin 2 del potenciómetro a la entrada analógica Vin 16 (pin 8) y el pin 3 de nuevo a tierra, pero en este caso a tierra de entrada analógica (pin 40). A continuación se muestran las conexiones en el potenciómetro, donde los números dentro de las flechas indican las líneas del conector analógico a las que va conectada cada toma del potenciómetro. En la siguiente página se muestran las conexiones en el conector analógico. El código de colores empleado responde al color de cada cable en el montaje.

Figura 4.12: Conexiones entre el potenciómetro y el circuito analógico de la placa

4:16

Page 17: 4 Sensor del ángulo de paso colectivo y cálculo …bibing.us.es/proyectos/abreproy/60066/fichero/7_Sensor+de+ángulo... · 4 Sensor del ángulo de paso colectivo y cálculo

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

MODO COMÚN

Vout 0 1 2 Vout 1

Vout 2 3 4 Vout 3

Output Ground 5 6 Output Ground

Vin 0 7 8 Vin 16

Vin 1 9 10 Vin 17

Vin 2 11 12 Vin 18

Vin 3 13 14 Vin 19

Vin 4 15 16 Vin 20

Vin 5 17 18 Vin 21

Vin 6 19 20 Vin 22

Vin 7 21 22 Vin 23

Vin 8 23 24 Vin 24

Vin 9 25 26 Vin 25

Vin 10 27 28 Vin 26

Vin 11 29 30 Vin 27

Vin 12 31 32 Vin 28

Vin 13 33 34 Vin 29

Vin 14 35 36 Vin 30

Vin 15 37 38 Vin 31

Input Ground 39 40 Input Ground

Figura 4.13: Líneas empleadas para leer la señal del potenciómetro

4:17

Page 18: 4 Sensor del ángulo de paso colectivo y cálculo …bibing.us.es/proyectos/abreproy/60066/fichero/7_Sensor+de+ángulo... · 4 Sensor del ángulo de paso colectivo y cálculo

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

4.3 Desarrollo de los programas informáticos

El programa informático que obtiene los valores de ángulo de paso y su derivada 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 permamente, es dcolecdsk.exe, su código C es dcolecdsk.c, y el archivo de cabecera que acompaña al código es dcolecdsk.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 (paso colectivo medido, velocidad de variación del paso colectivo y etiqueta de tiempo de la muestra) con formato datos_colectivo_xx.txt.

4.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 recoge la primera medida del potenciómetro, que debe realizarse con un ángulo de paso conocido (por ejemplo paso nulo); también se configuran las interrupciones. 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.

4:18

Page 19: 4 Sensor del ángulo de paso colectivo y cálculo …bibing.us.es/proyectos/abreproy/60066/fichero/7_Sensor+de+ángulo... · 4 Sensor del ángulo de paso colectivo y cálculo

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

Main

Ini Driver

Libera

Ini Placa

Ini A/D

Para

Medidas

Fin

`S´

SI

NO

Medidas

Interrupción Borrar Para

`M´ `P´

`B´

Medida pot

Lectura

Conversión A/D

Paso

return

Interrupción (Derivada)

Medida_

Pantalla /

Disco

`P´ NO

SI

Fin

Fin Medidas

Calibración Potenciómetro

Cálculo Derivada

Figura 4.14: Diagrama de flujo del funcionamiento del programa dcolecdsk

4:19

Page 20: 4 Sensor del ángulo de paso colectivo y cálculo …bibing.us.es/proyectos/abreproy/60066/fichero/7_Sensor+de+ángulo... · 4 Sensor del ángulo de paso colectivo y cálculo

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

4.3.2 Programa informático

El programa dcolecdsk.c requiere su código de cabecera dcolecdsk.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 mide la tensión del punto de calibración, que debe tener un ángulo de paso conocido. A partir de este punto se calcula el ángulo de paso correspondiente a cualquier medida posterior. Este diseño permite desmontar el sensor y montarlo sin tener que realizar un proceso de calibración manual que altere el código programado. Dada la linealidad del potenciómetro, también permite variar la tensión de alimentación sin modificar dicho código.

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.

4:20

Page 21: 4 Sensor del ángulo de paso colectivo y cálculo …bibing.us.es/proyectos/abreproy/60066/fichero/7_Sensor+de+ángulo... · 4 Sensor del ángulo de paso colectivo y cálculo

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

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.

⇒ 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 20 ms. Su dinámica es por lo tanto 8 veces más rápida que la de las interrupciones en el sensor de r.pm. Esta diferencia es coherente con la mayor rapidez de la dinámica de paso colectivo frente a la dinámica de las r.p.m. del rotor principal.

⇒ void derivada(DFLOAT *PTt_j, DFLOAT *PTpaso_j)

Esta función calcula la derivada del ángulo de paso a partir de las medidas que le proporciona la función medida_pot. Para que pueda utilizar como argumentos valores del paso colectivo que se obtienen en tiempo real la función se ha implementado mediante punteros a una variable de paso en memoria. Esta técnica simplifica el programa, permite operar en tiempo real y elimina la necesidad de crear vectores de datos. El inconveniente es que modifica continuamente el espacio asignado a la variable de paso en la memoria del ordenador, “pisando” el valor de la medida anterior. Siempre que sea posible, es deseable utilizar variables locales en las funciones.

⇒ DFLOAT medida_pot( )

Esta función se puede dividir en dos secciones bien definidas. En la primera se lee un valor analógico de tensión que se transforma en un valor digital y se asigna a una variable en memoria (voltage), según el procedimiento descrito en la sección “Cálculo del ángulo de paso”. En la segunda se calcula el ángulo de paso también según el procedimiento descrito en dicha sección. La función devuelve el valor del paso para que la función derivada calcule la variación de paso entre la medida anterior y la actual y la función interrupción lo muestre todo por pantalla y lo escriba a un fichero.

4:21

Page 22: 4 Sensor del ángulo de paso colectivo y cálculo …bibing.us.es/proyectos/abreproy/60066/fichero/7_Sensor+de+ángulo... · 4 Sensor del ángulo de paso colectivo y cálculo

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

4.3.3 Cálculo del ángulo de paso

Para obtener el paso de las palas del rotor en función de la tensión medida, el programa utiliza una ecuación que aproxima a la curva característica del sensor en sus variables tensión-ángulo de paso. Esta curva se ha calculado realizando mediciones, con el potenciómetro alimentado a 10V (tensión elegida para la operación normal), de la salida del potenciómetro para valores conocidos del ángulo de paso. Para determinar el ángulo en cada punto de medición, se han utilizado en paralelo un nivel (para ángulo de paso nulo) y los valores en grados 12 6 0 -4 -8. Estos valores vienen identificados en un indicador mecánico situado en la cabeza del rotor del Raptor. Otra alternativa que se estudió es realizar fotografías del rotor en distintas posiciones y medir el ángulo entre el perfil de la pala del rotor y el perfil del estabilizador, ya que es éste último la referencia respecto a la cual se mide el paso colectivo, por formar las palas del estabilizador un plano perpendicular al eje del rotor.

Para cada ángulo se ha medido la tensión de salida del potenciómetro y se han

ajustado los puntos resultantes. Según las especificaciones del potenciómetro, la relación entre ángulo girado en el eje y aumento de la resistencia es lineal. Al ser también la relación entre tensión y resistencia lineal, se deduce que la relación entre tensión y ángulo girado en el eje del potenciómetro es lineal. El eje del potenciómetro es coincidente con el eje del servomecanismo del paso colectivo, y el movimiento se transmite finalmente hasta las palas mediante un mecanismo rígido de palancas y articulaciones. El modelado de dicho mecanismo se sale de los objetivos de este proyecto, pero podría ser útil para corroborar los resultados obtenidos. La regresión lineal de los datos experimentales se ha realizado con Microsoft Excel y ha proporcionado un valor del coeficiente r2 de Pearson de 0.9946, siendo r2=1 una dependencia lineal perfecta entre los dos conjuntos de datos sobre los que se realiza la regresión; en nuestro caso valores de tensión frente a valores de ángulo de paso. A continuación se presentan: los conjuntos de datos y las ecuaciones de la recta de regresión y del coeficiente r2.

( )( ) ( ) ⎥⎦

⎤⎢⎣⎡⎥⎦⎤

⎢⎣⎡

⎥⎥⎦

⎢⎢⎣

∑−∑∑−∑

∑∑−∑=

+⋅−=

≡≡−−

2222

58.41111.392

)()(º

;89.542.511.557.412.4840612

yynxxn

yxxynr

xy

VTensiónxPasoy

∗ con n siendo el número de muestras, 5 en nuestro caso.

4:22

Page 23: 4 Sensor del ángulo de paso colectivo y cálculo …bibing.us.es/proyectos/abreproy/60066/fichero/7_Sensor+de+ángulo... · 4 Sensor del ángulo de paso colectivo y cálculo

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

A continuación se presenta la gráfica de la recta característica del potenciómetro:

Recta característica del potenciómetro

y = -11,392x + 58,411R2 = 0,9946

-10

-5

0

5

10

15

0 2 4 6 8

Tensión

Paso Paso Colectivo

Lineal (Paso Colectivo)

El valor que realmente caracteriza al sensor potenciómetro es la pendiente de esta

recta, ya que como se ha especificado en el apartado de descripción del programa informático, cada vez que se realizan medidas se calibra el sensor con el valor de tensión de paso nulo, o palas niveladas. Así se garantiza que si por cualquier motivo nos hemos desplazado en el intervalo de tensión del potenciómetro (por ejemplo por un reajuste o recolocación del sensor), las medidas siguen siendo correctas y los resultados son coherentes. Se puede establecer un periodo de tiempo para revisar periódicamente la recta característica, evitando así la degradación de las medidas por desajustes en el potenciómetro o degradación del mismo.

Una vez se tiene la ecuación con el punto de paso nulo definido (el sensor ha sido

calibrado por el programa informático), se obtiene cada 20 ms el valor del paso colectivo de las palas, calculado introduciendo el valor de tensión medido en la ecuación de la recta y obteniendo el valor de paso asociado.

4:23

Page 24: 4 Sensor del ángulo de paso colectivo y cálculo …bibing.us.es/proyectos/abreproy/60066/fichero/7_Sensor+de+ángulo... · 4 Sensor del ángulo de paso colectivo y cálculo

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

4.3.4 Cálculo de la derivada del ángulo de paso

El cálculo de la derivada del ángulo de paso se incorporó al proyecto para obtener a partir de una misma aplicación dos variables de estado valiéndose de su relación matemática. La función que la calcula forma parte del código del programa que mide el ángulo de paso. Para poder utilizar valores de paso almacenados en memoria en una interrupción (y borrados en la siguiente) sin ocupar innecesariamente grandes extensiones de memoria con interminables arrays y además poder obtener la derivada en tiempo real a la vez que se medía el paso se optó por utilizar un tipo de variable que en C se denomina puntero. Esta variable es en sí una dirección de memoria en la que se guarda la variable con la que el programador realmente quiere operar. Los argumentos que se pasan a la función son estos punteros, y la función opera con la variable que se encuentre en la dirección en memoria hacia la que están apuntando. Es una técnica, denominada indirection por los creadores del lenguaje, que permite utilizar como variable de entrada a una función una variable que cambia y desconocemos antes de cada ejecución de la función, pero cuyo emplazamiento permanece inalterado.

Una vez aplicada esta técnica se puede aplicar un algoritmo con “variables de paso”

como el que se utilizaría en MATLAB o Mathematica, programas de cálculo numérico (y simbólico en el segundo caso) de amplia profusión en aplicaciones científicas y tecnológicas. En estos programas no es necesario aplicar punteros porque los programas se encargan de hacer el “trabajo de fondo” con la memoria del ordenador y el usuario sólo se tiene que preocupar de los aspectos matemáticos.

En el aspecto matemático, para calcular la derivada se ha empleado la medida actual

y la medida de la interrupción anterior, aproximándola con la pendiente de la recta que une los puntos correspondientes a ambas medidas. Se ha utilizado esta fórmula por ser la de mayor simplicidad de cálculo y porque sólo requiere almacenar dos valores de paso colectivo en memoria, que son reemplazados en cada interrupción con una secuencia FIFO (First In First Out). Mayor precisión en la derivada se puede obtener utilizando fórmulas de derivación numérica con más puntos de aproximación. A continuación se presenta el algoritmo empleado:

( ) kjPTkjPTjk

jk

inikcoleckjPTjjPTj

pasopasottttpasopaso

pasodtd

ttpasopasottpasopaso

=∗⇒=∗⇒−

−⋅=

=⇒=⇒∗=⇒∗=

1000

Se puede observar cómo se busca en memoria mediante los punteros (PTabc), recurriendo a la asignación mediante la técnica de indirection (mediante el símbolo “*”), a los valores de paso colectivo y tiempo de interrupción medidos en la interrupción j. Con esos valores y los valores de la interrupción actual se aproxima la derivada mediante la pendiente de la recta que los une, corrigiendo el valor para que las unidades sean º/s. Los valores de paso y tiempo de la interrupción actual se asignan a los espacios en memoria a los que señalan los “punteros de paso”, y el ciclo se repite de forma idéntica en la siguiente interrupción.

4:24

Page 25: 4 Sensor del ángulo de paso colectivo y cálculo …bibing.us.es/proyectos/abreproy/60066/fichero/7_Sensor+de+ángulo... · 4 Sensor del ángulo de paso colectivo y cálculo

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

4.3.5 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”

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:

4:25

Page 26: 4 Sensor del ángulo de paso colectivo y cálculo …bibing.us.es/proyectos/abreproy/60066/fichero/7_Sensor+de+ángulo... · 4 Sensor del ángulo de paso colectivo y cálculo

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

4.3.6 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 adquisición de datos analógicos

Cambio de parámetros A/D:

BYTE dscADSetSettings(DSCB board, DSCADSETTINGS* adsettings)

Donde ‘DSCADSETTINGS’ es una estructura con los siguientes parámetros:

BYTE current_channel BYTE gain BYTE range BYTE polarity BYTE load_cal BYTE scan_interval

4:26

Page 27: 4 Sensor del ángulo de paso colectivo y cálculo …bibing.us.es/proyectos/abreproy/60066/fichero/7_Sensor+de+ángulo... · 4 Sensor del ángulo de paso colectivo y cálculo

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

Conversión A/D:

BYTE dscADSample(DSCB board, DSCSAMPLE* sample)

Siendo ‘DSCSAMPLE’ un tipo ‘SWORD’. Escaneo A/D:

BYTE dscADScan(DSCB board, DSCADSCAN* dscadscan, DSCSAMPLE* sample_values)

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

BYTE current_channel BYTE gain BYTE range BYTE polarity BYTE load_cal BYTE scan_interval

Conversión D/A:

BYTE dscDAConvert(DSCB board, BYTE channel, DSCDACODE output_code) donde ‘DSCDACODE’ es un tipo ‘DWORD’.

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)

4:27

Page 28: 4 Sensor del ángulo de paso colectivo y cálculo …bibing.us.es/proyectos/abreproy/60066/fichero/7_Sensor+de+ángulo... · 4 Sensor del ángulo de paso colectivo y cálculo

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

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

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

4.4 Montaje del sensor

Una de las tareas con mayor carga de diseño del sensor de paso colectivo ha sido el diseño y construcción del soporte para unir solidariamente el potenciómetro con el mecanismo de colectivo. Tras barajar varios posibles emplazamientos, algunos asociados incluso a tecnologías sensoriales distintas, se llegó a la conclusión de que el punto de unión más cómodo y con más posibilidades de diseñar un montaje exitoso es la cabeza del servomecanismo. Era necesario un mecanismo de unión que garantizara el movimiento al unísono de los ejes de servomecanismo y potenciómetro. A su vez, el mecanismo de unión no podía impedir o entorpecer apreciablemente el movimiento del servomecanismo, ya que esto incidiría sobre el mecanismo de movimiento de las palas directamente. La configuración geométrica del mecanismo de unión se ilustra a continuación.

Figura 4.15: Detalle de la estructura de fijación del potenciómetro al helicóptero

4:28

Page 29: 4 Sensor del ángulo de paso colectivo y cálculo …bibing.us.es/proyectos/abreproy/60066/fichero/7_Sensor+de+ángulo... · 4 Sensor del ángulo de paso colectivo y cálculo

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

4.4.1 Fijación mecánica Estando decidido el emplazamiento, el siguiente paso era elegir un mecanismo de

unión adecuado. De nuevo se planteaban varias posibilidades, de costes y especificaciones dispares. Entre ellas estaba la unión del eje del potenciómetro y una prolongación (a determinar) del eje del servomecanismo mediante tubos de silicona, fijando al fuselaje la carcasa del potenciómetro. Otra posibilidad era utilizar un soporte cilíndrico que encapsulara al potenciómetro, impidiendo así su movimiento libre, y estuviera fijado de alguna forma (a determinar) a la cabeza del servomecanismo. En esta opción se utilizaría algún mecanismo para garantizar el movimiento solidario de ambos ejes. La tercera opción, que resultó elegida, se basa en una pieza mecanizada metálica que une solidariamente la cabeza del servomecanismo (modificada) con el eje del potenciómetro. Esta pieza se mecanizó a partir de un mando de potenciómetro comercial, similar a los que se utilizan, por ejemplo, en los mandos de volumen de un equipo de sonido de alta fidelidad. El cuerpo del potenciómetro se fija al fuselaje mediante una estructura de chapa de aluminio y un tornillo de acero de gran calibre.

La elección de una fijación mecanizada y atornillada responde a la necesidad de un

soporte duradero para el sensor, suficientemente liviano para no sobercargar el eje del servomecanismo y con la suficiente rigidez para transmitir con un error aceptable el movimiento entre los ejes del servo y del potenciómetro. Por este motivo se aceptó esta solución pese a presentar un coste más elevado y la necesidad de recurrir a un taller de mecanizado con torno de cilindrado y taladro. A continuación se describen las piezas que lo conforman.

La cabeza del servomecanismo, en origen de plástico, se cambió por una de

aluminio para garantizar su integridad cuando fuera atornillada al mando cilíndrico de aluminio que soporta el potenciómetro. Esta cabeza debe soportar el par de oposición que genera el peso del sensor y las vibraciones que aparecen con el helicóptero en funcionamiento.

El mando cilíndrico de aluminio, en origen de tapa plana y con un prisionero

roscado para impedir el movimiento libre del eje del potenciómetro, sufrió varias modificaciones para poder integrarlo lo más posible en la configuración deseada. Se realizó un taladro ciego en el centro de la tapa para que no entorpeciera a la cabeza del tornillo del eje del servomecanismo, permitiendo así que el sensor sobresalga lo menos posible de la geometría del helicóptero. Se realizaron dos taladros pasantes sobre un diámetro de la tapa, simétricos respecto del eje y paralelos al mismo, para introducir los tornillos de fijación a la cabeza del servo. Finalmente, se realizó un cilindrado en la cara que da al potenciómetro para aligerar material y reducir el peso de todo el soporte. También se ensanchó el taladro del prisionero para que pudiera entrar el eje del potenciómetro. A continuación se ilustran la cabeza del servomecanismo (aluminio pintado en morado) y el mando cilíndrico modificado (aluminio). Se pueden observar los dos taladros paralelos al eje del potenciómetro, en los que se introducen los tornillos de fijación a la cabeza del servo. Igualmente, se observa en la superficie exterior curva del cilindro el taladro en el que se introduce el prisionero que atrapa al eje del potenciómetro.

4:29

Page 30: 4 Sensor del ángulo de paso colectivo y cálculo …bibing.us.es/proyectos/abreproy/60066/fichero/7_Sensor+de+ángulo... · 4 Sensor del ángulo de paso colectivo y cálculo

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

Figura 4.16: Detalle de la interfaz entre potenciómetro y servomotor

En cuanto a la estructura de fijación del cuerpo del potenciómetro al fuselaje del helicóptero, se corto una chapa de enlace a partir de una lámina de aluminio comercial. Se realizaron taladros en los dos extremos de la chapa para que pasaran el eje del potenciómetro y el tornillo de fijación al fuselaje. En ambos taladros se utiliza una tuerca de fijación ya que el eje del potenciómetro está roscado en un segmento próximo al cuerpo del mismo precisamente para facilitar este tipo de operaciones y el tornillo del fuselaje es de rosca métrica. Se realizó un pequeño taladro de fijación en el que encaja un pequeño tetón situado en el perímetro del cuerpo del potenciómetro. Este tetón fija la chapa al potenciómetro e impide que ésta gire en torno al eje del mismo aunque se afloje la tuerca que la mantiene cogida en dicho eje. Es por tanto el mecanismo que garantiza que el cuerpo del potenciómetro no gire respecto del fuselaje del helicóptero, permitiendo así medir con precisión los giros del eje del potenciómetro, que son, debido a la unión rígida entre ambos, los giros del eje del servomecanismo. A continuación se ilustran la estructura de fijación al fuselaje y sus piezas y principales características.

4:30

Page 31: 4 Sensor del ángulo de paso colectivo y cálculo …bibing.us.es/proyectos/abreproy/60066/fichero/7_Sensor+de+ángulo... · 4 Sensor del ángulo de paso colectivo y cálculo

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

Figura 4.17: Detalle de la estructura de fijación del potenciómetro al helicóptero

Se observa la chapa de aluminio de color blanco con la que se fija el cuerpo del potenciómetro, en rotación y desplazamiento, a la estructura del helicóptero. Se consigue que el cuerpo del potenciómetro no rote haciéndolo atravesar la chapa en dos puntos de la misma. En un punto la atraviesa con su propio eje. En el otro punto la atraviesa con un pequeño saliente cilíndrico diseñado para cumplir esta función de fijación. En ambos puntos de enganche el ajuste requiere una ligera presión para introducirse correctamente, garantizando la ausencia de giro relativo entre la cabeza del potenciómetro y la estructura del helicóptero. La chapa se une al fuselaje mediante un perno con las tuercas correspondientes. Se plantea para futuros desarrollos la posibilidad de utilizar tuercas no-metálicas y tuercas de seguridad para reducir vibraciones y evitar el afloje de las fijaciones, respectivamente.

4:31

Page 32: 4 Sensor del ángulo de paso colectivo y cálculo …bibing.us.es/proyectos/abreproy/60066/fichero/7_Sensor+de+ángulo... · 4 Sensor del ángulo de paso colectivo y cálculo

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

4.4.2 Cableado y conectores

Para dirigir las tres líneas eléctricas desde el potenciómetro a la placa Hércules se han utilizado tres cables independientes de microelectrónica de 1 mm de calibre. La longitud de estos cables es de aproximadamente 0.5 metros, ya que tienen que hacer un recorrido de este orden desde la mitad superior del helicóptero hasta la caja de aviónica, que va ubicada debajo de los patines. Para mayor compacidad y mejor resistencia al ambiente se han agrupado los cables en un mazo protegido por un tubo de silicona transparente. Desde la caja de aviónica salen otros tres cables idénticos, soldados a los pines que corresponden, que también se han agrupado en un mazo protegido por el mismo tubo. Ambos mazos se han conectado mediante un conector roscado de microelectrónica de 4 pines, dejando ciego 1 de los 4. Este conector aporta durabilidad al diseño y está diseñado para entornos no protegidos, como puede ser la nave de un laboratorio para su almacenaje o el aire libre para uso durante un tiempo limitado del sistema. Además, este conector permite separar el helicóptero de la caja de aviónica con facilidad, y sin necesidad de herramientas. A continuación se muestran fotos del cableado y el conector.

Figura 4.18: Cables y conectores empleados

4:32