Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Esta estructura de procesos en paralelo responde a la complejidad intrnseca 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 informtico, que no se ha validado hasta que el sensor estaba caracterizado y una construccin temporal que permitiera realizar las pruebas pertinentes estaba operativa. Dichas pruebas se realizaron primero con el ventilador de un ordenador, y posteriormente con otro helicptero de menor tamao y coste operativo que el Raptor. Sin embargo, el programa informtico fue la primera vertiente en desarrollarse, ya que una gran parte del trabajo inicial del proyecto fue adquirir unos conocimientos slidos de programacin en C, suficientes para elaborar un programa que cumpliera con los requisitos establecidos. Las relaciones cronolgicas entre los distintos hitos de las tres vertientes son complejas, y se presentan a continuacin en un diagrama de flujo de forma resumida. Se han utilizado iconos con forma de semforo para indicar que un hito de la vertiente A estaba paralizando el desarrollo de la vertiente B.
3:1
3:2
El estudio proporcion tres tecnologas candidatas a cumplir la funcionalidad exigida; el sensor magntico de Efecto Hall, el tacmetro de efecto estroboscpico y el sensor ptico reflectante o pasante de fotodiodo y transistor fotosensible. Cada una presenta ventajas e inconvenientes que se reconocern con una descripcin breve de las tres.
3:3
En las ilustraciones mostradas sobre estas lneas se puede observar la diferencia de potencial (en la figura de la izquierda) y la deflexin de la corriente (en la figura de la derecha); son manifestaciones del efecto Hall. Un sensor de efecto Hall en su versin ms simple consiste en un transductor que detecta alteraciones en el campo magntico y vara su tensin de salida en consecuencia. Existen numerosas aplicaciones que se pueden aprovechar de este efecto. En nuestro caso, se pretende utilizar un imn permanente de material ferromagntico que provoque picos de tensin en la salida del sensor cuando pase cerca del mismo. El imn va fijado al eje giratorio y el sensor se coloca de forma que, en cada vuelta, el imn pase por delante del sensor, a una distancia de pocos milmetros. Cuando el rotor gire a una velocidad determinada, la frecuencia de los picos de tensin nos proporciona la velocidad de giro. A continuacin se muestra un sensor de efecto Hall montado en el eje del motor de un helicptero de aeromodelismo. Para mayor claridad, el imn se ha rodeado con un crculo rojo y la cabeza del sensor con un crculo azul. .
3:4
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 magntico que percibe inducidas por los grandes bloques metlicos de las piezas del motor. Estas piezas pueden imantarse de forma permanente si son expuestas a campos magnticos 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 magntico requiere estar a menos de 2 mm del imn para medir correctamente. Una distancia tan pequea 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 catastrficos para el sensor.
3:5
Principio de funcionamiento
El sensor fotoelctrico reflectante basa su medicin en la recepcin de un estmulo 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 seal elctrica. 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 diseado para operar correctamente a una distancia del mismo de pocos milmetros. Las superficies ideales para el funcionamiento del sensor ptico en nuestro helicptero son la culata del ventilador del motor y el engranaje reductor del rotor principal. Para provocar una reflexin lo ms intensa posible, se coloca una tira reflectante en la superficie de reflexin. Los sensores pticos reflectantes se utilizan en robtica como sensores de proximidad. El robot se programa para que un umbral bajo de intensidad luminosa se considere como un objeto prximo. En nuestra aplicacin tendremos un objeto permanentemente reflejando sobre el sensor, pero la reflexin de la franja reflectante ser de una intensidad mucho mayor y se podr diferenciar fcilmente 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 continuacin se muestra una figura con el esquema de funcionamiento de un sensor ptico reflectante.
3:6
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 continuacin se presenta un plano acotado del sensor. Las iniciales A, K, E y C de la vista inferior representan los terminales nodo y ctodo del diodo y emisor y colector del transistor, en el orden en el que estn escritas.
3:7
Circuito elctrico
El circuito elctrico del sensor se puede resumir en el siguiente esquema:
Donde los terminales A y K son el nodo y ctodo del diodo fotoemisor y los terminales C y E son el colector y el emisor del transistor fotorreceptor. El diodo tiene las siguientes caractersticas elctricas (a 25 C de temperatura ambiente): Valores mximos a 25 C Corriente directa: 50 mA Corriente directa (pulso de 10 s y 100Hz): 1 A Tensin inversa: 4 V Valores caractersticos a 25 C Tensin directa: 1.2 1.5 V con corriente directa de 30 mA Corriente inversa: 0.01 10 A con tensin inversa de 4 V La emisin de luz es mxima para una longitud de onda de 940 nm (banda infrarroja) con una corriente directa de 20 mA.
3:8
El funcionamiento del sensor se basa en el efecto fotoelctrico 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 elctrica entre su nodo y ctodo. Esta luz emitida se refleja en una superficie que la devuelve al sensor, hacindola incidir sobre el fototransistor. Este transistor, sensible a la luz recibida, genera una corriente elctrica de valor proporcional a la intensidad de la luz. Esta corriente sale por el terminal emisor del mismo. El resultado obtenido es una corriente elctrica de un valor conocido (a partir de las especificaciones del transistor) generada cada vez que se produce una reflexin. 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 elctricas generadas y ms notoria ser la reflexin para el sistema de adquisicin. Con valores de resistencias elctricas adecuados se puede transformar la corriente a un nivel de tensin compatible con la lgica del circuito de adquisicin de datos de nuestro sistema de avinica. A continuacin se presentan las especificaciones ms notorias del fototransistor: Valores mximos a 25 C Tensin colector-emisor: 30 V Corriente de colector: 20 mA Potencia disipada en el colector: 100 mW Valores caractersticos a 25 C Corriente iluminado: 0.2 - 2 mA con intensidad directa en el diodo de 20 mA tensin colector-emisor de 10 V papel reflectante del 90% situado a 5 mm del sensor
Corriente en sombra: 2 200 nA con tensin colector-emisor de 10 V La sensibilidad del receptor de luz es mxima para una longitud de onda de 850 nm (banda infrarroja). Cabe sealar la importancia de que el diodo y el transistor estn 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 electrnico auxiliar que proporciona al usuario regulacin automtica del motor del helicptero. 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 seales de control utilizadas en los servomecanismos del helicptero. Debido a este acondicionamiento electrnico necesario que proporciona el Throttle Jockey off-the-shelf se ha considerado incorporarlo a nuestro sistema de adquisicin de velocidad de revolucin del rotor principal.
3:9
3:10
En la figura se pueden observar las conexiones que el Throttle Jockey mantiene con el receptor, el sensor y el servo de la vlvula de admisin. 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 regulacin. El canal de throttle (gases) del receptor enva las seales generadas con la palanca de gases desde los mandos. El canal del sensor enva al regulador la velocidad de giro del eje a una tasa de muestreo adecuada para el algoritmo de control y el canal del servo enva las instrucciones al servo de la vlvula de admisin. El lector perspicaz se preguntar qu papel tiene el Throttle Jockey en la lectura de las medidas que realiza el sensor. Incluso se preguntar cmo hace llegar las medidas al sistema de avinica. El sensor ptico genera un pico de corriente cuando recibe una reflexin. Este pico de corriente ha de transformarse a un nivel de tensin compatible con la lgica TTL de los circuitos de adquisicin de datos de la Hrcules. La implementacin del sensor requiere por lo tanto el diseo de un circuito auxiliar que transforme la medida a una seal interpretable por la Hrcules. 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 enva seales de mando PWM que no son medidas directas. Cuando el regulador est desactivado, la salida al servo enva 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 diseado para hacer llegar las medidas del sensor utilizando el Throttle Jockey y se compara con un diseo del autor que no utiliza el regulador comercial.
3:11
30 mA
1.2 V 4.2 V 5V
1 KO
3:12
Con este circuito se obtiene una seal en la salida como la que se representa a continuacin (para obtener un pulso limpio es necesario aadir un circuito de acondicionamiento mediante filtros):
Los valores indicados corresponden a una configuracin 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 pequeo (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 tpico de 30 s (extrado de las especificaciones del sensor). Con la velocidad de giro y el radio de la posicin del sensor considerados, el tiempo durante el cual se produce reflexin es de aproximadamente 330 s, suficiente para que el transistor llegue a nivel alto. Esta combinacin de velocidad de giro y distancia al centro es el caso ms crtico de mnimo ancho de pulso, como se puede extraer de las dimensiones y velocidades de giro mximas del ventilador del motor y el engranaje del rotor principal: Dimetro (mm) Rotor Ventilador 88.14 41.42 Dientes 87 9 Velocidad de giro (rpm) 258 - 1448 2500 - 14000
Para realizar estos clculos de ancho de pulso se ha considerado una regin de reflexin equivalente a 10 mm de arco de circunferencia. Se detalla un diagrama ilustrativo con los clculos a continuacin.
3:13
r=20.70
1 = 0.0043 s = 4.3 ms f
Throttle Jockey
El dispositivo Throttle Jockey est diseado para intervenir directamente en el control de la vlvula de admisin del helicptero realizando una funcin de regulacin. En este proyecto, en el que no deseamos que el Throttle Jockey realice dicha regulacin, se ha empleado este dispositivo por dos motivos principales: El Throttle Jockey viene acompaado de un sensor ptico que incluye todos los elementos elctricos necesarios para proporcionar un nivel de tensin alto cuando recibe luz y uno bajo cuando no la recibe, ambos compatibles con lgica TTL como 1 y 0 lgicos, respectivamente. El Throttle Jockey acondiciona la seal que proviene del sensor para generar un pulso cuadrado uniforme, cuyo ancho es el periodo de rotacin del eje cuya velocidad de giro se est midiendo, que es idneo para ser capturado por el circuito de adquisicin de datos digitales de la placa Hrcules.
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 analgicos y digitales de entrada y salida. Este microcontrolador se puede programar por el usuario para realizar una multitud de funciones que incluyen tratamiento de seales y operaciones lgicas. En el Throttle Jockey se utiliza su capacidad para generar pulsos PWM para generar las seales de control que se envan al servo de la vlvula de admisin del motor. Con estas seales y la informacin del sensor ptico el Throttle Jockey es capaz de mantener la velocidad de rotacin del eje del motor en un valor predefinido. En este proyecto no se utiliza esta funcin de regulacin del Throttle Jockey.
3:14
En este proyecto se utiliza la funcionalidad de tratamiento de seal e inversin lgica programada por el fabricante del Throttle Jockey. Concretamente, el microcontrolador est programado para realizar una inversin lgica (puerta NOT) de la seal que proviene del sensor ptico. Recordemos que la seal que proviene del sensor consiste en un tren de pulsos cortos a nivel alto intercalados con largos periodos a nivel bajo. Adems, la seal de salida del microcontrolador es ms regular y est suavizada respecto de la seal que le llega del sensor. Este suavizado se produce a su paso por los transistores de la puerta lgica. El ancho de estos pulsos de salida es el periodo de rotacin del eje cuya velocidad de giro mide el sensor ptico, al igual que la distancia entre los pulsos cortos de la seal que proviene del sensor ptico es tambin dicho periodo de rotacin. La reproduccin de la seal de entrada con tratamiento e inversin lgica se produce siempre que la funcin de regulacin est desactivada, ya que cuando sta est activada, la seal de salida del microcontrolador es un pulso PWM con la anchura adecuada en cada instante para regular la velocidad de rotacin 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 posicin comprendida entre el -5% y el 5% de su recorrido. En este proyecto se operar siempre con el regulador desactivado. Para ello se mantendr fsicamente desconectado el canal AUX, ya que el regulador nunca entrar en funcionamiento mientras no reciba seal por dicho canal.
3:15
Cualquiera de estas dos seales nos permite calcular directamente el periodo de rotacin del eje sobre el que incide el sensor simplemente contando pulsos elementales de una seal reloj cuyos parmetros en la escala temporal podemos configurar para elegir arbitrariamente la unidad bsica de tiempo y por lo tanto la resolucin del sensor. El procedimiento de clculo del periodo de rotacin se describe detalladamente en un apartado posterior de esta seccin. Una vez se tiene el periodo, la obtencin de la velocidad de giro se reduce a un problema de clculo elemental. En esta seccin se describen detalladamente el sistema de adquisicin de datos digitales de la Hrcules, las conexiones al mismo del circuito del sensor y el intrprete informtico que se ha programado para obtener valores de las medidas deseadas en las unidades adecuadas.
Lgica TTL
La Transistor to Transistor Logic o TTL es una tecnologa de construccin de circuitos electrnicos digitales en la que tanto los elementos de decisin o puertas lgicas como los elementos de amplificacin de seal son transistores de unin bipolar. A menudo se extiende la denominacin TTL a cualquier circuito con niveles de tensin compatibles con esta tecnologa, aunque est construido con una tecnologa distinta. La mayora de los dispositivos comerciales de microelectrnica incorporan circuitos de acondicionamiento para garantizar la compatibilidad con TTL. El circuito de adquisicin de la placa Hrcules no utiliza lgica TTL, sino que es una FPGA (Field Programmable Gate Array), tecnologa ms avanzada que la TTL. Aqu participaremos en el abuso de nomenclatura y hablaremos de la lgica TTL de la Hrcules. En la imagen se puede observar un circuito tpico de una puerta lgica TTL. La alimentacin nominal de estos circuitos es de 5 V, el nivel alto de tensin entre 2.4 V y la tensin e alimentacin, y el nivel bajo entre 0.2 y 0.8 V.
3:16
10 pF mx Capacidad de E / S Figura 3.10: Especificaciones del circuito de entradas y salidas digitales El conector del circuito al exterior tiene las siguientes caractersticas: Conexin con la placa: Phyco 2120-50S Cable de tipo cinta estndar (Ribbon) Conexin al exterior: conector hembra de tipo cinta estndar 2x25 0.1
3:17
A continuacin se muestra el listado detallado de las lneas del circuito: DIO A0 DIO A2 DIO A4 DIO A6 DIO B0 DIO B2 DIO B4 DIO B6 DIO C0 DIO C2 DIO C4 DIO C6 DIO D0 DIO D2 DIO D4 DIO D6 DIO E0 / PWM 0 DIO E2 / PWM 2 DIO E4 / GATE 1 DIO E6 / DIOLATCH EXTTRIG ACK WDO FXB + 5V 1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 33 35 37 39 41 43 45 47 49 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32 34 36 38 40 42 44 46 48 50 DIO A1 DIO A3 DIO A5 DIO A7 DIO B1 DIO B3 DIO B5 DIO B7 DIO C1 DIO C3 DIO C5 DIO C7 DIO D1 DIO D3 DIO D5 DIO D7 DIO E1 / PWM 1 DIO E3 / PWM 3 DIO E5 / TOUT 1 DIO E7 / GATE 0 TOUT 0 WDI FXA FXB Digital Ground
3:18
A continuacin se describen las 50 lneas: 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: Lnea digital usada (junto con la seal ACK) para definir parmetros 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: Lnea digital usada (junto con la seal DIOLATCH) para definir parmetros en transmisiones digitales automatizadas. FXA, FXB: Lneas que deben dejarse desconectadas. En la siguiente pgina se detallan las conexiones realizadas para la correcta lectura de las seales procedentes del Throttle Jockey.
3:19
DIO A0 DIO A2 DIO A4 DIO A6 DIO B0 DIO B2 DIO B4 DIO B6 DIO C0 DIO C2 DIO C4 DIO C6 DIO D0 DIO D2 DIO D4 DIO D6 DIO E0 / PWM 0 DIO E2 / PWM 2 DIO E4 / GATE 1 DIO E6 / DIOLATCH EXTTRIG ACK WDO FXB + 5V
1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 33 35 37 39 41 43 45 47 49
2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32 34 36 38 40 42 44 46 48 50
DIO A1 DIO A3 DIO A5 DIO A7 DIO B1 DIO B3 DIO B5 DIO B7 DIO C1 DIO C3 DIO C5 DIO C7 DIO D1 DIO D3 DIO D5 DIO D7 DIO E1 / PWM 1 DIO E3 / PWM 3 DIO E5 / TOUT 1 DIO E7 / GATE 0 TOUT 0 WDI FXA FXB Digital Ground
Figura 3.13: Lneas empleadas para leer las seales procedentes del Throttle Jockey
En azul se ha remarcado el pin al cual se conecta la seal de salida del Throttle Jockey y que contiene la informacin 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 seal PWM generada por la Hrcules. 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 tensin de alimentacin utilizada para mover el servo cuando acta como regulador. Como en esta aplicacin no es necesaria, se ha dejado en circuito abierto.
3:20
3.3.1 Algoritmo
La estructura del programa desarrollado sigue las pautas que proporciona el fabricante de la Hrcules para elaborar cdigo 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 helicptero. En lneas generales, consta de una fase de inicializacin, una de definicin de los parmetros de configuracin, 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 pulsacin de la tecla P. En la primera etapa del programa se inicializa el driver de la Hrcules, librera de funciones que permiten gestionarla correctamente. Posteriormente se inicializa la placa, definiendo los parmetros que la identifican para que los dispositivos fsicos de la misma puedan ser operados por los programas. En la siguiente etapa se definen los parmetros del reloj que gestiona la frecuencia de interrupciones para tomar medidas y los de las seal 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 funcin que arranca el proceso de medidas y ejecuta las funciones necesarias para realizar las mediciones y los clculos. La ltima etapa del programa libera los recursos y sale del men de usuario. En la siguiente pgina se muestra un diagrama de flujo con el funcionamiento del programa.
3:21
`M
Medidas `B
`P
Interrupcin
Borrar
Para
Ini Placa
Fin Medidas
Medidas
Medida opt
`S SI
NO
Medida_
Lectura
NO
Lectura
`0 SI revs
NO
return
3:22
3:23
void arranca( ) Esta funcin sirve de intermediaria para poder iniciar las interrupciones en el formato recomendado en los manuales de programacin de la Hrcules. Este formato incluye una comprobacin de error con mensaje en pantalla si ste se produce. void para( ) Esta funcin detiene las interrupciones y libera los recursos empleados en las mismas. void interrupcion(void* params) Esta funcin 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 funcin 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, segn el procedimiento descrito en la seccin Clculo de la velocidad de giro. En la segunda se calculan las r.p.m. tambin segn el procedimiento descrito en dicha seccin. La funcin devuelve el valor de las r.p.m. para que la funcin interrupcin lo muestre por pantalla y lo escriba a un fichero.
3:24
El pulso reloj se genera mediante el generador de seales PWM que incorpora la Hrcules. Las caractersticas de estas seales son configurables en el cdigo del programa que gestiona la captura de datos. En nuestra aplicacin se utiliza un pulso con ciclo de carga del 50%, por lo que el pulso es simtrico y est medio periodo a 1 y medio a 0. No se han apreciado en las pruebas cuentas en falso, que podran darse si las instrucciones del programa fuesen lo suficientemente rpidas como para que el circuito de adquisicin leyera varias veces la entrada de la seal reloj antes de que se diese un nuevo pulso. Este fenmeno se podra arreglar incrementando el ciclo de carga de la seal reloj, ya que el contador de pulsos se incrementa cada vez que detecta un nivel bajo en la seal. Igualmente, si las instrucciones fueran demasiado lentas, el contador podra obviar varios pulsos consecutivos. Este fenmeno tampoco se ha apreciado en las pruebas, y se podra resolver disminuyendo la resolucin del reloj, haciendo que sus pulsos sean ms largos. Para conocer exactamente la dinmica del contador, estudio que va ms all de las necesidades de nuestro sistema de adquisicin, sera necesario conocer con exactitud las instrucciones que desencadena cada lnea de cdigo en la CPU, as como sus tiempos de ejecucin. Para la seal reloj se ha elegido una frecuencia de 100 KHz, lo que proporciona a cada pulso un periodo de 10 s y una resolucin del mismo valor al reloj. Este valor es ms 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. Adems, el inversor lgico que incorpora el Throttle Jockey sita la seal a nivel bajo durante todo el tiempo de reflexin, tiempo durante el cual la tira reflectante pasa por delante del sensor. En pginas anteriores se ha calculado este tiempo y se han obtenido valores de varios cientos de s. El reloj tiene resolucin ms que suficiente para que existan varios pulsos de tiempo entre dos pulsos de sensor distintos. Para un comportamiento detallado del transistor consultar sus especificaciones tcnicas en los anexos.
3:25
Una vez se tiene el nmero de pulsos reloj que hay dentro de un pulso del sensor se conoce el ancho de dicho pulso y por tanto el periodo de rotacin del eje cuya velocidad de giro se est midiendo. Con este dato la obtencin de la velocidad de giro es inmediata, realizando las conversiones de unidades adecuadas:
f =
Donde T es el valor de la variable contador que almacena el nmero de pulsos reloj contados.
Estas libreras estn incluidas en el compilador GCC de Linux. Las funciones de gestin de la placa estn englobadas en el driver DSCUD 5.7. Se suele denominar driver a la librera que contiene funciones para gestionar un determinado dispositivo informtico. En la jerga comercial se mencionan con frecuencia los drivers de la tarjeta de sonido, la tarjeta grfica u otros dispositivos perifricos relevantes de un ordenador. En nuestro driver se encuentran funciones necesarias para iniciar y configurar el circuito de adquisicin de datos, las seales PWM, el contador interno y otras utilidades que empleamos en nuestro programa informtico. Esta librera o driver se denomina dscud.h. El procedimiento necesario para acceder a la librera dscud.h es el siguiente: Se carga la librera en el sistema operativo ejecutando el archivo: /usr/local/dscud5/load.sh Para compilar el programa ser necesario incluir las libreras mencionadas con los siguientes aadidos al comando gcc: -L/usr/local/dscud5 -L/opt/dscud5 -ldscud5 pthread -lm -I/usr/local/dscud5 -I/opt/dscud5
3:26
Tanto el programa elaborado para la adquisicin de medidas con el sensor ptico como el programa elaborado para el potencimetro deben seguir un proceso muy parecido de ejecucin de funciones del driver de la placa. Esta secuencia de funciones con las variables utilizadas se detalla a continuacin.
3:27
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 seal PWM: BYTE dscPWMFunction(DSCB board, DSCPWM * dscpwm) donde DSCPWM es una estructura con los siguientes parmetros: DFLOAT output_freq FLOAT duty_cycle BYTE polarity BYTE pwm_circuit BOOL output_enab
Interrupciones de usuario
Inicializacin de las interrupciones: BYTE dscUserInt(DSCB board, DSCUserInterruptFunction func) DSCUSERINT* dscuserint,
donde DSCUSERINT es una estructura con los siguientes parmetros: BYTE intsource FLOAT rate BYTE clksource BYTE counter DWORD int_type DSCUserInterruptFunction func y DSCUserInterruptFunction se corresponde con el nombre de la funcin que se ejecutar en cada interrupcin y que tendra la siguiente definicin: void (*DSCUserInterruptFunction) (void* parameter) Detencin de las interrupciones: BYTE dscCancelOp(DSCB board)
3:28
A continuacin 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 avinica. En el centro se muestran el tornillo de fijacin a la plataforma, dos plataformas de tamaos 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
3:30
3.4.1 Ubicacin
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 recepcin de intensidad mxima. Adems, ambos planos, el de la cara sensible y el de la tira reflectante, deben ser lo ms paralelos posibles. La tira debe cortarse justo al tamao de la cara sensible del sensor y su orientacin en su propio plano debe cuadrar lo mejor posible con la cara sensible del sensor. A continuacin se muestra una foto del sensor montado en el Raptor.
3:31
3:32