scieee AI-readable full text Open interactive document viewer

Diseño de un entorno gráfico para visualizar el estado de un sensor solar para aplicaciones espaciales

Márquez Pino, Natalia

Abstract

Los sensores solares tienen un papel muy destacable en aplicaciones espaciales, donde se utilizan mayoritariamente en el control de los sistemas de actitud de los satélites. Estos sensores pasan por un proceso de calibración antes de ser enviados al espacio, aunque es un proceso fiable, hoy día sigue teniendo factores que podrían mejorarse. En este proyecto se ha diseñado la aplicación CalbSS con la herramienta App Designer de MATLAB que tiene como objetivo principal optimizar y agilizar este proceso de calibración automatizando cálculos y representando errores de una manera visual, rápida, sencilla y útil. Esta aplicación está pensada para sensores solares analógicos de cuatro cuadrantes, los cuales describen la posición del Sol con la luz que les llega por una pequeña ventana con dos ejes. Describen dos ángulos X e Y mediante las tensiones de cuatro fotodiodos ubicados cada uno en uno de los cuadrantes del sensor.

Full text

Proyecto Fin de Carrera Ingeniería de Telecomunicación Formato de Publicación de la Escuela Técnica Superior de Ingeniería Autor: F. Javier Payán Somet Tutor: Juan José Murillo Fuentes Dep. Teoría de la Señal y Comunicaciones Escuela Técnica Superior de Ingeniería Universidad de Sevilla Sevilla, 2013 Trabajo Fin de Grado Grado en Ingeniería de las Tecnologías de Telecomunicación Diseño de un entorno gráfico para visualizar el estado de un sensor solar para aplicaciones espaciales. Autora: Natalia Márquez Pino Tutor: Juan García Ortega Dpto. de Ingeniería Electrónica Escuela Técnica Superior de Ingeniería Universidad de Sevilla Sevilla, 2022 Trabajo Fin de Grado Grado en Ingeniería de las Tecnologías de Telecomunicación Diseño de un entorno gráfico para visualizar el estado de un sensor solar para aplicaciones espaciales. Autora: Natalia Márquez Pino Tutor: Juan García Ortega Profesor Titular Dpto. de Ingeniería Electrónica Escuela Técnica Superior de Ingeniería Universidad de Sevilla Sevilla, 2022 Trabajo Fin de Grado: Diseño de un entorno gráfico para visualizar el estado de un sensor solar para aplicaciones espaciales. Autora: Natalia Márquez Pino Tutor: Juan García Ortega El tribunal nombrado para juzgar el trabajo arriba indicado, compuesto por los siguientes profesores: Presidente: Vocal/es: Secretario: acuerdan otorgarle la calificación de: El Secretario del Tribunal Fecha: Agradecimientos Quiero agradecer a mis padres haberme dado la oportunidad de estudiar fuera y ayudarme siempre. A mi hermana que siempre me ha apoyado. A Alba que ha estado conmigo en todos los momentos buenos y malos de la carrera, sin ella no hubiese sido lo mismo. A mis compañeros de piso, los cuáles no podrían ser mejores. A mis amigos de toda la vida y a mis amigos de la carrera. Y por último a mi tutor Juan, por ayudarme a realizar este trabajo y la oportunidad de adentrarme más en este sector. Gracias de corazón a todos. Natalia Márquez Pino I Resumen Los sensores solares tienen un papel muy destacable en aplicaciones espaciales, donde se utilizan mayoritariamente en el control de los sistemas de actitud de los satélites. Estos sensores pasan por un proceso de calibración antes de ser enviados al espacio, aunque es un proceso fiable, hoy día sigue teniendo factores que podrían mejorarse. En este proyecto se ha diseñado la aplicación CalbSS con la herramienta App Designer de MATLAB que tiene como objetivo principal optimizar y agilizar este proceso de calibración automatizando cálculos y representando errores de una manera visual, rápida, sencilla y útil. Esta aplicación está pensada para sensores solares analógicos de cuatro cuadrantes, los cuales describen la posición del Sol con la luz que les llega por una pequeña ventana con dos ejes. Describen dos ángulos X e Y mediante las tensiones de cuatro fotodiodos ubicados cada uno en uno de los cuadrantes del sensor. III 1 Introducción En este proyecto se diseñará un entorno gráfico llamado CalbSS para visualizar el estado y asistir en la calibración de los sensores solares de cuatro cuadrantes utilizados en aplicaciones espaciales. CalbSS no pretende sustituir al actual método de calibración de sensores, pero si complementar en la fase de calibración y análisis de sensores. El programa CalbSS está pensado para visualizar como trabaja el sensor que se esté analizando y ayudar a mejorar sus curvas de calibración de una manera visual, rápida y clara, sin tener que rehacer cálculos. 1.1 Estado del arte 1.1.1 Sensores solares Actualmente, los sensores solares desempeñan un papel importante en distintos ámbitos. En el sector de las energías renovables resultan esenciales para el seguimiento del sol, análisis de radiación o sistemas de orientación. También son relevantes en la aeronáutica para determinar referencias de vuelos. Pero en este trabajo nos centraremos en sus usos para aplicaciones espaciales. [1]. La principal función de estos sensores en el espacio está relacionada con la orientación de satélites. Se usan como sensores de actitud para medir la posición de un cuerpo respecto a un vector de referencia, en este caso el vector solar. Miden la posición en la que se encuentra el sol y la dirección con la que inciden los rayos, y forman parte del sistema de actitud de los satélites o naves espaciales. También se utilizan para reorientar y optimizar los paneles solares y optimizan la captación de radiación para obtener un mayor suministro de energía. La popularidad de estos instrumentos se debe a su simplicidad en el diseño y la fabricación con un bajo coste. Además, conllevan un consumo muy reducido de potencia en el mecanismo que los usa, siendo dispositivos fáciles de implementar. Otra ventaja con la que cuentan es su pequeño tamaño. Fundamentalmente, Los sensores solares sobre los que se trabajarán son de cuatro cuadrantes, y tienen integrados cuatro fotodiodos formando una retícula cuadrada de 2x2, la cual está cubierta por un material totalmente opaco, y que protege a los fotodiodos de la radiación, exceptuando uno o varios orificios diminutos llamados spot o ventana, a partir de los cuáles se deja pasar la luz, que incidirá en la zona fotosensible. Estos componentes absorben los fotones convirtiéndolos en pares de electrón-hueco, es decir, el electrón al absorber la energía pasa a ser un electrón libre dejando un hueco. Dependiendo de la zona que abarque la luz y la intensidad con la que lo haga, cada unidad fotosensible generará una corriente eléctrica proporcional a la irradiancia recibida. Con estas corrientes se tiene información suficiente para calcular el vector solar, que está formado por el ángulo de incidencia de los rayos. A partir de esto, con la ayuda de un instrumento adicional como por ejemplo un magnetómetro el sensor es capaz de determinar la actitud. [2]. 1.1.2 Tipos de sensores solares El tamaño, posición y número de las ventanas incorporadas en el sensor, la cantidad y tipo de células fotosensibles o el tamaño y los materiales usados en su fabricación dependen del tipo de sensor escogido y de 1 2Capítulo 1. Introducción la tarea que se quiera desempeñar con el mismo. Los sensores se pueden clasificar según diferentes aspectos, como se explica en los siguientes apartados. Transmisión de los datos Los sensores pueden transmitir los datos por cable o de forma inalámbrica. Los cableados tienen un coste menor y las comunicaciones se ven menos afectadas por las condiciones del ambiente. Sin embargo, la instalación es más compleja y existe la posibilidad de que algún cable quede suelto o esté defectuoso. Con los inalámbricos ocurre exactamente lo contrario. La instalación es más sencilla pero tienen un coste elevado y hay más posibilidades de que las condiciones climáticas perjudiquen la transmisión de los datos. Cuentan con una movilidad mayor hasta un cierto alcance pero suelen ser algo más pesados. [3] Tipo de señal Con respecto al tipo de señal con la que trabajan, pueden ser analógicos o digitales. Los sensores solares analógicos cuentan con la ventaja de que tienen un coste inferior a los digitales, pero suelen tener un algoritmo de control con mayor complejidad, y además les afecta el ruido eléctrico de forma considerable. Por otra parte, devuelven resultados más imprecisos debido a su sensibilidad a los efectos de albedo y a la temperatura. En los digitales, la posibilidad de que se pierdan datos relevantes es mayor. En cambio, no tienen errores de aproximación y suelen ser más precisos, el algoritmo de control es mucho más simple y los efectos que produce el ruido electrónico son mucho menores. Suelen estar formado por una matriz de píxeles fotosensibles de una cámara CMOS o CCD, aunque estos componentes son más susceptibles a la radiación, de ahí que tengan un coste mayor para poder tener una vida útil más larga. [2] [3] Modo de funcionamiento En esta clasificación, los sensores se pueden diferenciar según como miden la posición del Sol, y se distinguen cuatro tipos: • El sensor solar colimado, que concentra los rayos que pasan de forma paralela por la ventana en un punto específico del sensor. • El sensor apuntador al Sol, este evalúa la luz y la sombra del componente que genera las corrientes, llamado fotodetector, según la luminosidad y , a partir de la diferencia entre las corrientes calcula la posición aparente del Sol. • El sensor fotográfico de montaje inclinado, que contiene dos o más planos inclinados con fotodetectores formando una pirámide en un plano horizontal. El fotodetector que genere una mayor corriente será el que indicará la posición del Sol. • Existen también sensores híbridos que combinan distintas características de cada sensor mencionado. [3] Seguimiento de la dirección del Sol Los sensores pueden seguir la dirección del sol de dos formas, usando un ángulo solo o usando dos. Los sensores con dos cuadrantes de componentes fotosensibles solo pueden determinar un ángulo del vector solar, es decir, sus movimientos son en un solo plano. Los sensores capaces de ver el vector solar referenciado por dos ejes son los que utilizan cuatro cuadrantes. Este proyecto usa sensores solares analógicos, colimados y de cuatro cuadrantes. En la Figura 1.1 aparece uno de estos sensores, el ISS-AX, correspondiente a la empresa Solar MEMS Technologies. 1.1 Estado del arte 3 Figura 1.1 Sensor solar analógico ISS-AX de Solar MEMS Technologies [4]. Estos sensores solo dejan pasar la luz por una pequeña ventana que tienen en su centro, a través de ella la luz es colimada hacia el fotodetector. Esta última parte está dividida en cuatro cuadrantes, cada uno con un fotodiodo para medir la cantidad de luz que llega, como se representa en la Figura 1.2. Dependiendo del ángulo con el que pasen los rayos, incidirá abarcando más unas zonas u otras de la parte fotosensible, haciendo circular fotocorrientes mayores en los cuadrantes más expuestos a la iluminación. A partir de estas corrientes se obtienen cuatro tensiones procedentes de cada fotodiodo. Figura 1.2 Luz guiada hacia los cuatro cuadrantes [4]. Al usar cuatro cuadrantes, este sensor es capaz de determinar dos ángulos de incidencia respecto a su plano perpendicular, ángulo X y ángulo Y (Figura 1.3), que forman el vector solar. Es decir, el sensor puede medir tanto el ángulo de elevación como el de acimut del Sol, trabajando sobre dos ejes x e y. Una característica muy importante de estos sensores es el campo de visión, la cual especifica el rango ángulos que es capaz de abarcar el sensor. Dependiendo de la aplicación que tenga el sensor se usará un modelo con un campo de visión u otro. Figura 1.3 Representación del vector solar y de los ángulos X e Y [4]. Los ángulos X e Y son calculados con los voltajes de los fotodiodos mediante unas simples ecuaciones [ 4 ]. 4Capítulo 1. Introducción X1=VPH3+VPH4Y1=VPH1+VPH4(1.1) X2=VPH1+VPH2Y2=VPH2+VPH3(1.2) FX=X2−X1 X2+X1 F Y=Y2−Y1 Y2+Y1 (1.3) X=arctan (C·FX)Y=arctan (C·F Y)(1.4) 1.1.3 Calibración de los sensores solares Para garantizar que el funcionamiento cumple con las especificaciones requeridas, cada sensor individualmente debe de pasar unas pruebas específicas: unas comprobaciones eléctricas, que conllevan pruebas de consumo y de las tensiones de los fotodiodos que conforman el vector; y unas comprobaciones ópticas, donde se calibra, evalúa, y examina el campo de visión. La calibración de estos sensores es llevada a cabo por técnicos cualificados. Este procedimiento mejora la calidad de los dispositivos de medición. Es necesario ya que reduce los errores de tolerancia de los componentes y compensa los desajustes y desalineaciones que se hayan podido producir en el proceso de fabricación. Además es importante ya que sin ella no sería posible obtener resultados precisos. Teóricamente aproximando las funciones F (1.3) mediante una función arcotangente se consiguen relacionar las salidas de las tensiones de cada celda del sensor con los ángulos, aunque pueden calcularse los ángulos perfectamente, al ser una aproximación los datos que se obtienen no representan fielmente los ángulos reales con los que incide la luz. Es por esto que una calibración de los sensores es necesaria para aplicaciones espaciales entre otras. En este proceso se ajustan parámetros que mejoran los resultados como es el caso del parámetro C de la ecuación 1.4. El ajuste de este parámetro puede resultar un poco tedioso, ya que no produce los mismos cambios en cada sensor debido a factores como los componentes o la fabricación, a esto se le suma que no se adapta un coeficiente para cada sensor individualmente, por ello se intenta adecuar un parámetro más general, haciendo distinción entre sensores con diferentes campos de visión. Todo esto se complica al ser un proceso poco automatizado. Para el procedimiento de la calibración se usa el apoyo de maquinaria que pueda simular situaciones parecidas a las que se enfrentará el sensor. Como es el Sistema de Posicionamiento Angular de Alta Precisión (HAAPS) desarrollado por SMT mostrado en la Figura Figura 1.4. Figura 1.4 Sistema de Posicionamiento de Angular de Alta Precisión (HAAPS). El HAAPS está formado por dos motores rotativos paso a paso con una precisión de 0.00125°, además sus ejes cortan en el centro del sensor que se va a calibrar. Con la ayuda de una luz colimada se simula la luz del sol, a partir de la cual se sacarán las distintas tensiones de los componentes fotosensibles. Al colocar el sensor, el HAAPS se programa para realizar un barrido en todo el campo de visión (FOV) del 1.1 Estado del arte 5 sensor seleccionado con un paso determinado para verificar que no aparecen efectos inesperados. Es decir, el instrumento va girando el sensor respecto a sus dos ejes, y así la luz incidirá de manera diferente en cada paso ya que se mantiene fijada. En la Figura 1.5 se muestran los puntos en los que se toman datos para un sensor con FOV de ±60°y un paso de 5°, que son un total de 625 puntos. Las siguientes explicaciones usaran este mismo sensor de ejemplo. Figura 1.5 Puntos de calibración para un sensor con FOV de ±60°y un paso de 5°. Con este método se obtienen 625 vectores solares que se han generado para cada actitud y se almacenan en una base de datos como vectores, los cuales están formados por los dos ángulos que describen la posición real ajustada en el HAAPS. Xreal°e Yreal°en las dos primeras posiciones del vector respectivamente y los voltajes devueltos por cada fotodiodo en las siguientes cuatro posiciones: vector solar = [Xreal,Y real,VPH1,VPH2,VPH3,VPH4] Además se guardan en un documento de texto como que se muestra en la Figura 1.6, el cual se utilizará posteriormente para analizar los errores. Figura 1.6 Datos obtenidos en el proceso de calibración con el HAAPS. 6Capítulo 1. Introducción El siguiente paso consiste en evaluar los datos obtenidos para garantizar que la precisión del sensor concuerda con sus especificaciones. Para ello, se parte del documento de texto mencionado. Representando las tensiones obtenidas puede visualizarse si ha habido algún error en algún paso anterior que pueda provocar deformaciones o irregularidades. Es el caso de la Figura 1.7, donde se ha representado la tensión generada por uno de los fotodiodos en cada punto de calibración. Para esto se han tomado los valores de la columna del documento de texto de la tensión del fotodiodo que se quiera representar (columna tres, cuatro, cinco o seis) y se han dibujado respecto las columnas una y dos del documento, es decir, respecto al ángulo de incidencia de la luz en cada punto de calibración correspondiente. En la gáfica de la izquierda pueden verse unas rugosidades en la superficie de la curva que se deben a unas burbujas en el proceso de fabricación, una vez se eliminaron, la curva de calibración quedo lisa como se esperaba obtener. Figura 1.7 Tensiones de un cuadrante del sensor solar con un efecto rugoso debido a la fabricación y después de haber corregido ese error [5]. Además, la suma de todas tensiones obtenidas por los fotodiodos de cada celda en todos los puntos de calibración puede verse en la Figura 1.8, sumando las últimas cuatro columnas del documento y representando los valores en los puntos que indiquen en las columnas uno y dos. Figura 1.8 Suma de las tensiones obtenidas por los fotodiodos de cada celda ( VPH1,VPH2,VPH3y VPH4 ) en todos los puntos de calibración de un sensor con FOV de ±60°. La parte más importante es calcular los ángulos de incidencia del rayo de Sol a partir de las tensiones generadas por los fotodiodos. Se trata de un cálculo sencillo siguiendo las ecuaciones 1.4 sobre al menos 100 1.1 Estado del arte 7 vectores de los obtenidos en el paso anterior, al número de vectores utilizados le llamaremos NV. El primer paso es ver la diferencia entre los ángulos reales del vector solar con los ángulos calculados a partir de las tensiones, lo cual no es más que la resta entre: Error en X =Xcalculado −Xreal Error en Y =Ycalculado −Y real A partir de estos vectores, qué llamaremos ErrX y ErrY, pueden calcularse parámetros estadísticos que ayudan examinar si el sensor cumple con los requisitos para los que se ha fabricado. Algunos de estos errores pueden ser los siguientes: • Error medio. Sumatorio de todas las diferencias entre el ángulo real y el ángulo calculado dividido entre NV. ¯ ErrX =∑NV i=1ErrX(i) NV (1.5) ¯ ErrY =∑NV i=1ErrY(i) NV (1.6) • Desviación típica estándar. Representa como de dispersos están los errores respecto al valor del error medio. σX=s∑NV i=1(ErrX(i)−¯ ErrX)2 NV (1.7) σY=s∑NV i=1(ErrY (i)−¯ ErrY)2 NV (1.8) •La precisión del sensor. La cual es el error tres sigma, consiste en multiplicar por tres la desviación típica. Esto se hace para definir un intervalo válido de muestras donde se mide con la precisión resultante, la cual representa el menor valor capaz de medir con exactitud. 3·σX(1.9) 3·σY(1.10) •Error máximo. La mayor diferencia en grados entre el ángulo calculado y el real. ErrXmax =Max(ErrX)(1.11) ErrYmax =Max(ErrY)(1.12) •Error mínimo. La mínima diferencia en grados entre el ángulo calculado y el real. ErrXmax =Min(ErrX)(1.13) ErrYmax =Min(ErrY)(1.14) • Offset. Es el error en grados que se comete cuando el rayo del sol incide perpendicularmente, es decir, el valor de ErrX y ErrY para los ángulos Xreal = 0°e Yreal = 0°. Es importante destacar, que según los vectores solares escogidos en NV pueden calcularse los errores en distintas fovias de los sensores, tomando solo los vectores que entren en el campo de visión que se quiera evaluar. Un siguiente paso en esta calibración es ir calculando los mismos errores, excepto los offsets ya que no cambian, para campos de visión más estrechos. Esto se debe a que los errores son inversamente proporcionales al campo de visión del sensor, y es útil determinar la precisión que alcanza el sensor solar en distintos rangos de trabajo. 8Capítulo 1. Introducción Se procesa y estudia toda la información recopilada con ayuda de Excel y MATLAB para dar el visto bueno a la funcionalidad y comercialización del sensor. [6] [5] 2 Objetivo En el proceso de calibración descrito en el subapartado 1.1.3 se obtiene una gran cantidad de datos que interpretar y gestionar, lo que hace que se convierta en una tarea engorrosa. Por eso este proyecto plantea como objetivo diseñar una aplicación de ayuda a la calibración de los sensores solares. Uno de los principales fines de CalbSS es crear un entorno gráfico para administrar los datos de una forma visual e intuitiva, de manera que la simple lectura de los resultados se presente de una forma mucho más comprensible para el usuario. Gracias a su interactividad se pueden obtener datos de forma inmediata en condiciones concretas requeridas por el cliente en el mismo momento de uso de la aplicación. Usando simplemente los vectores guardados en la base de datos calculados por el HAAPS como se ha descrito en el subapartado 1.1.3, la aplicación le mostrará al usuario el cálculo de errores estadísticos para que puedan ser evaluados, dándole la opción de ajustar parámetros del propio sensor para disminuir errores exponiendo en cada momento como ha afectado cada cambio en la precisión del sensor. Además de poder ajustar manualmente las variables, se ofrece la opción de optimizar esos parámetros de una manera personalizada buscando encontrar el menor error posible. La interfaz de la aplicación ha sido diseñada lo más simple posible para un uso instintivo de la misma, sin necesidad de que haya que invertir tiempo en la comprensión del manejo de CalbSS. Se acelera el proceso tanto de interpretación como de cálculos, ayudando a automatizar una pequeña parte de todo el desarrollo que hay detrás, para conseguir un sensor solar apto para su funcionamiento en el espacio. 9 16 Capítulo 4. Diseño Figura 4.4 Representación del rayo solar real y calculado del sensor ISS-A60 en la posición (60°,20°). Figura 4.5 Representación del rayo solar real y calculado del sensor ISS-A60 en la posición (0°,0°). Al introducir un offset en las ecuaciones para cada ángulo con los valores de los errores obtenidos en la posición (0,0), se puede apreciar la mejora en los resultados. En la Figura 4.6 del vector v0 obtenemos Z = Zreal = 0.009°, eliminando todo error. Y si volvemos a usar el vector v1 donde Zreal es 60.5331°obtenemos un valor para Z de 60.7158°(Figura 4.7), un valor muy próximo al real. Antes de añadir offset a las ecuaciones el valor de Z fue de 61.7721°lo cual provocaba un error de 1.239°, ahora ha disminuido alrededor de un grado. Con lo cual las ecuaciones usadas en el diseño de la aplicación serán las definidas en 4.5. 4.3 Diseño de la aplicación 17 Figura 4.6 Representación del rayo solar real y calculado del sensor ISS-A60 en la posición (0°,0°) añadiendo un offset en X igual a 1.217°y un offset en Y de -1.7181°. Figura 4.7 Representación del rayo solar real y calculado del sensor ISS-A60 en la posición (60°,20°) añadiendo un offset en X igual a 1.217°y un offset en Y de -1.7181°. 4.3 Diseño de la aplicación Como se ha mencionado en apartados anteriores, CalbSS es una aplicación capaz de devolver los errores de manera numérica y gráficamente permitiendo ajustar el coeficiente C de manera manual o automática para distintos rangos de campos de visión, cuenta también con una consola que imprime información útil sobre el estado en que se encuentra la aplicación y datos del sensor, además, permite guardar los datos obtenidos. Este diseño puede dividirse en bloques, como vemos en la Figura 4.8 donde se interconecta cada bloque con el correspondiente. A continuación se hará una explicación más detallada de cada bloque y otros apartados destacables de la aplicación. 18 Capítulo 4. Diseño Figura 4.8 Diagrama de bloques de CalbSS. 4.3.1 Datos de entrada Para comenzar a usar CalbSS, debe cargarse un archivo .txt que contenga todos los vectores evaluados del sensor que se desee analizar. Estos vectores deben estar escritos cada uno en una fila separando por espacios cada parámetro: Xreal Yreal VPH1VPH2VPH3VPH4 , tal y como se muestra en el ejemplo de la Figura 4.9. Si el archivo cargado no cumple estos requisitos aparecerá un mensaje por consola indicando que los datos de entrada son inválidos y no podrá ejecutarse ninguna función de la aplicación hasta introducir un fichero adecuado. Figura 4.9 Ejemplo de archivo para los datos de entradas, Xreal Yreal VPH1VPH2VPH3VPH4. Una vez comprobado que los datos son correctos, se analiza hasta donde llega el campo de visión del sensor, lo cual se le mostrará al usuario por consola. En este punto de ejecución del código se guardan un vector con los ángulos en X, otro vector con los ángulos en Y, cuatro vectores para cada una de las tensiones de los fotodiodos, los valores máximos y mínimos de cada ángulo X e Y y se averigua en que fila se encuentra el vector solar central que corresponde a un rayo solar perpendicular a la ventana del sensor, esto último es usado para poder calcular los offsets de las ecuaciones. Todos estos datos son almacenados durante todo el tiempo que se esté usando el archivo, para poder utilizarlos en cualquier bloque de la aplicación sin tener que volver a analizar el archivo de entrada. Una vez los datos de entrada han sido introducidos correctamente, la aplicación permite escoger entre una opción manual y otra automática. 4.3 Diseño de la aplicación 19 Para más información sobre los datos de entrada consultar el apartado 6 del Manual de uso de CalbSS. 4.3.2 Opción Manual En la opción Manual el cliente puede introducir un valor de C para cada ángulo X o Y, estos coeficientes serán llamados Cx y Cy . Aparecen dos cuadros de textos para introducir cada uno de estos coeficiente (Figura 4.10). Figura 4.10 Display en modo Manual. Cuando se han escrito los coeficientes deseados debe pulsarse el botón de calcular para calcular los offsets con el vector central almacenado anteriormente y todos los ángulos a partir de las tensiones de los fotodiodos usando las ecuaciones: X1=VPH3+VPH4Y1=VPH1+VPH4(4.6) X2=VPH1+VPH2Y2=VPH2+VPH3(4.7) FX=X2−X1 X2+X1 F Y=Y2−Y1 Y2+Y1 (4.8) X=arctan (Cx ·FX)−o f f setX Y =arctan (Cy ·F Y)−o f f setY (4.9) Una vez se tienen todos los ángulos calculados, son comparados con los ángulos reales de los datos de entradas con X−Xreal e Y−Yreal . Estas diferencias en grados sexagesimales son guardadas en un vector para X y otro para Y llamados errx y erry. Para poder analizar los errores se calcula el error medio, la desviación típica, el error 3sigma, el error máximo y el error mínimo en valor absoluto. Por consola se mostrarán las ecuaciones usadas para el cálculo de los ángulos además del valor de los offsets obtenidos. Para más información sobre el modo Manual consultar el apartado 6 del Manual de uso de CalbSS. 4.3.3 Errores en Manual Los errores calculados en el modo Manual se visualizan en la aplicación de diferentes modos. Con ayuda de gráficas, lo que hace que pueda verse en que zonas los errores son mayores o menores. Las gráficas aparecen de forma tridimensional pintando el error correspondiente en el eje z para cada posición de Xreal e Yreal. En la Figura 4.11 se han representado las curvas de errores para el sensor ISS-A60 con Cx = Cy = 1.781 sacado del datasheet [ 4 ]. La gráfica de más a la izquierda representa el valor del vector errx en cada posición de los ángulos reales del fichero de entrada. La gráfica del centro representa el vector erry de la misma manera que la anterior. Y la última gráfica expone todos los valores de los ángulos Xreal, X calculado, Yreal e Y calculado. Las dos primeras gráficas cuentan con la opción de visualizar los errores en dos dimensiones por si el cliente lo requiere (Figura 4.12). Adicionalmente a las gráficas, la aplicación expone los errores estadísticos calculados en una tabla. Después de usar el botón calcular aparecen en la tabla seis filas con errores, tres para el ángulo X y otras tres para el ángulo Y. Las primeras dos filas son los errores calculados para todo el campo de visión del sensor, las siguientes para un rango un 33% menor al rango completo, y las dos últimas para un campo un 66% reducido. Esta tabla cuenta además con un cuadro de texto y un botón con la función de poder añadir las filas de los errores en el campo de visión que el usuario desee. Para el mismo sensor y coeficiente del ejemplo del subapartado anterior se muestra la tabla de errores en la Figura 4.13. Los errores obtenidos son bastante altos, por eso se implementa el modo Automático en CalbSS, para ayudar a reducir estos errores de una manera óptima. 20 Capítulo 4. Diseño Figura 4.11 Representación de errores en el modo Manual. Figura 4.12 Representación de errores en 2D en el modo Manual. Figura 4.13 Tabla de errores en el modo Manual del sensor ISS-A60 para Cx = Cy = 1.871. Para más información sobre la representación de errores del modo Manual consultar el apartado 6 del Manual de uso de CalbSS. 4.3.4 Opción Automático El modo Automático está basado en encontrar los coeficientes que aporten la mayor precisión posible al sensor, buscando aquellos con los que se obtenga una desviación típica menor. Este modo cuenta con dos submodos. En el primero se podrá optimizar el sensor para todo su rango de trabajo, y en el segundo optimizar en un campo de visión reducido que el cliente escoja. En los cuadros de texto en los que en el modo Manual se introducía los valores deseados de los coeficientes aparecerán los valores óptimos de estos al pulsar el botón calcular (Figura 4.14). Figura 4.14 Display del modo Automático. Cuando se escoge optimizar el sensor para su rango completo, la aplicación hará un barrido de los coeficientes Cx y Cy entre 0.01 y 2.2 ya que nunca sobrepasan estos valores, este barrido se hace con un paso de 0.0001 lo que aporta una gran precisión en el cálculo. Para cada valor del barrido se calcula el offset correspondiente y la desviación típica de los errores de los ángulos en todo el campo de visión del sensor, guardándose los coeficientes con los que se obtenga menor error. Estos coeficientes óptimos aparecen en los cuadros de textos que servían de entrada el modo Manual para escribir los coeficientes manualmente. Si se opta por optimizar 4.3 Diseño de la aplicación 21 un rango concreto del sensor, deberá activarse en la Check Box de la Figura 4.14 y especificar el valor del rango de visión en el campo FOV. El procedimiento para calcular los coeficientes es exactamente el mismo, exceptuando la evaluación de los errores de los ángulos obtenidos para cada coeficiente del barrido realizado, ya que solo se calculará la desviación típica para los vectores que entren dentro del FOV proporcionado por el cliente. Para el mismo ejemplo que en los casos anteriores, el sensor ISS-A60, se obtiene unos coeficientes óptimos en el modo Automático y para el FOV completo del sensor (±60) de Cx =1.6102 y Cy =1.5782 (Figura 4.15). En el subapartado de Errores en Automático se apreciará como los errores han disminuido considerablemente. Figura 4.15 Coeficiente para el sensor ISS-A60 óptimos en su campo de visión completo. Para más información sobre el modo Automático consultar el apartado 6 del Manual de uso de CalbSS. 4.3.5 Errores en Automático El cálculo de errores en este modo es exactamente igual que para el modo Manual, se presentan y calculan de la misma forma. La única diferencia se encuentra cuando se ha escogido la opción de optimizar para un rango concreto del sensor, si es así, los errores son calculados solo teniendo en cuenta los vectores que están en el FOV especificado por el usuario, además, si se selecciona la Check Box de Mostrar solo FOV optimizado en las gráficas de errores solo se representarán los errores de los vectores solares que entren en el FOV seleccionado. Este submodo también añade una fila más inicialmente a la tabla de errores con los errores en el FOV dado por el usuario. Con los coeficientes óptimos obtenidos para el sensor ISS-A60 en todo su rango, se obtienen los errores expuestos en las Figuras 4.16 y 4.17. A simple vista puede observarse la mejoría, tanto gráficamente como numéricamente. Los errores en X e Y se han reducido al rededor de un 77% y 85% respectivamente, lo cual supone una mejoría bastante notoria. Figura 4.16 Gráfica de errores para ISS-A60 en el modo Automático. Figura 4.17 Tabla de errores para ISS-A60 en el modo Automático. A modo de ejemplo se muestran en la Figura 4.18 y Figura 4.19 los errores para la optimización del sensor 22 Capítulo 4. Diseño en un FOV de ±25°. Recordemos que los errores en este campo de visión son aún más pequeños debido a que al estrechar el FOV los sensores son proporcionalmente más precisos. Es importante mencionar que para el modo Automático en el que se requiera optimizar los errores en un FOV menor a 6°no está permitida la opción de mostrar en la gráfica los errores en ese rango de visión. Esto se debe a que puede darse el caso que el archivo de calibración solo contenga un vector solar dentro de ese rango de grados y la función sur f de MATLAB puede dar problemas. Figura 4.18 Gráfica de errores para ISS-A60 en el modo Automático seleccionando la opción de mostrar en las gráficas solo el rango optimizado, este caso de ±25°. Figura 4.19 Tabla de errores para ISS-A60 en el modo Automático optimizando en un FOV de ±25°. Para más información sobre la representación de errores en el modo Automático consultar el apartado 6 del Manual de uso de CalbSS. 4.3.6 Guardar datos Independientemente del modo de funcionamiento escogido en la aplicación, esta proporciona la opción de guardar todos los datos calculados. En el menú Archivo encontramos la opción Guardar datos , al pulsarla aparecerá una ventana emergente en la que se pedirá especificar el nombre del nuevo directorio donde se guardarán los datos, si el directorio ya existe todos los datos serán sobrescritos. En este directorio aparecerán cuatro archivos: Errores en los angulos X.png , Errores en los angulos Y.png , Posiciones reales f rente a calculos.png y Calculo_de_errores_estadisticos.xlsx . Las tres imágenes serán las que se estén visualizando en el momento de guardar los datos, es decir, si se ha hecho zoom, si se han desplazado, si están en 2D o 3D, si solo se está mostrando un FOV concreto... quedará reflejado en las imágenes guardadas. El último archivo es un Excel con todos los datos conocidos del sensor. Cuenta con el nombre del fichero, el FOV del sensor, las ecuaciones utilizadas para el cálculo de los ángulos, el modo usado (Manual o Automático), los coeficientes Cx y Cy, los offsets en X e Y, la tabla de errores que se tuviera en pantalla en el momento de guardar los datos, todas las posiciones X e Y reales, todos los ángulos X e Y calculados y todo los errores obtenidos para los ángulos X y para los ángulos Y, además en el caso de haber optimizado para un FOV concreto se especificará que se ha hecho y en que FOV. En la Figura 4.20 se muestra los datos guardados para el ejemplo del modo Automático en todo el FOV del sensor ISS-A60. Es muy importante asegurarse de que se tiene el archivo Excel cerrado si se desea sobrescribir los datos, de lo contrario se producirá un error en la aplicación. Para más información sobre guardar los datos obtenidos consultar el apartado 6 del Manual de uso de CalbSS. 4.3 Diseño de la aplicación 23 Figura 4.20 Datos guardados en Excel para ISS-A60 para el modo Automático en todo el FOV del sensor. 4.3.7 Ayuda CalbSS dispone de un menú de Ayuda en su barra de herramientas que al pulsar abrirá el Manual de usuario de la aplicación en formato PDF. Este manual explica detalladamente como se debe usar la aplicación. Este Manual se encuentra en el ANEXO de esta memoria. 4.3.8 Limpiar Existe un botón Limpiar que resetea el programa, incluida la consola. La aplicación seguirá almacenando el último archivo de datos que se le cargó y todas las variables que se calcularon inicialmente al analizar el archivo. Es decir, este botón deja la aplicación en el mismo estado en el que se encontraba antes de realizar ninguna operación con los datos de calibración del sensor que se está estudiando. 4.3.9 Desajustes en los bordes Durante este trabajo se ha mencionado que la precisión de estos sensores solares es mayor para ángulos más estrechos con respecto a la vertical de la ventana, lo que hace que mientras más se ensanche el campo de visión mayores serán los errores que cometan los sensores. A esto hay que sumarle las filtraciones de luz que puedan existir y la aberración del rayo al ser un ángulo más amplio, esto produce desajustes en los bordes y sobre todo en las esquinas del campo de visión que hacen que los errores se disparen en esas zonas. Por este motivo, CalbSS no tiene en cuenta los bordes a la hora de hacer los cálculos estadísticos, ya que aumentan considerablemente los errores y no serían una representación fiel de la precisión del sensor. En las gráficas si se representa el error que hay en esas zonas. En la Figura 4.17 pueden observarse los errores habiéndose optimizado el sensor sin tener en cuenta los bordes y calculando los errores sin ellos, sin embargo, en la Figura 4.21 se muestra como hubieran sido los errores si la aplicación no contara con esta función. Los errores serían mayores al intentar compensar los errores de los bordes. Además, intentar compensar estos errores no útiles, ya que siguen siendo demasiado altos y los errores que podría haberse disminuido más se han visto desmejorados. 4.3.10 Protección contra comportamientos inesperados Para que CalbSS no se quede congelada si recibe una acción por parte del cliente que no estuviera contemplada en el funcionamiento normal, se ha dotado con mucho código de protección, evitando así tener que reiniciar la aplicación por un error y perder todos los datos. Las acciones inesperadas son comportamientos que pueden dar lugar a que dos bloques de código tengan conflictos entre sí, por ejemplo, cambiar el modo que se está usando mientras se están haciendo los cálculos. 24 Capítulo 4. Diseño Figura 4.21 Tabla de errores para ISS-A60 en el modo Automático si no se hubiesen omitido los desajustes producidos en el borde del campo de visión del sensor. 5 Resultados Se han realizado una seria de pruebas para comprobar y demostrar que requisitos impuestos se han cumplido, además de a las funciones añadidas que se han considerado útiles para el usuario. A continuación se hará un análisis de la lista de requisitos demandados descritos en el capítulo Requerimientos con el objetivo de verificar el comportamiento deseado. 1. Entrada de datos: La aplicación solo admite como datos de entrada un archivo txt con vectores solares formados por v= [X Y VPH1VPH2VPH3VPH4] Si no se introduce este tipo de archivo la aplicación avisará y pedirá datos válidos (Figura 5.1). Figura 5.1 Información por consola, archivo no válido. Se umple con lo requerido, ya que los archivos de calibración del HAAPS están compuestos por esos vectores solares, además, no necesita de ninguna otra información o dato para ejecutar todas sus funciones. 2. Distinguir sensores: Al introducir archivos de sensores con campo de visión diferente, la aplicación analiza el rango de trabajo máximo que puede alcanzar y lo muestra en consola (Figura 5.2). Figura 5.2 Información por consola del sensor del cual se han introducido los datos. CalbSS es capaz de diferenciar entre sensores del mismo tipo con distintos campos de visión. 3. Al menos tres decimales: En el modo Manual pueden introducirse valores en Cx y Cy de hasta cinco decimales. La optimización del modo Automático tiene una precisión de 0.0001. Los offsets se muestran 25 32 Capítulo 6. Conclusiones Figura 6.2 Consola inicialmente. Figura 6.3 Consola inicialmente. Estos vectores deben estar escritos cada uno en una fila separando por espacios cada parámetro: Xreal Yreal VPH1VPH2VPH3VPH4 , tal y como se muestra en el ejemplo de la Figura 6.4. Si el archivo cargado no cumple estos requisitos aparecerá un mensaje por consola indicando que los datos de entrada son inválidos (Figura 6.5) y no podrá ejecutarse ninguna función de la aplicación hasta introducir un fichero adecuado. Figura 6.4 Ejemplo de archivo para los datos de entradas, Xreal Yreal VPH1VPH2VPH3VPH4. Figura 6.5 Información por consola, archivo no válido. Si se ha introducido un archivo válido se informará por consola con el nombre del archivo y el FOV del sensor (Figura 6.6). Modo Manual Si se ha seleccionado el modo Manual en el panel de Modos (Figura 6.7) se podrán introducir los coeficientes Cx y Cy que se deseen en los campos numéricos que aparecen a la derecha de la consola (Figura 6.8). La coma de los decimales se especifica con un punto, además solo se permite introducir datos numéricos. Para calcular los errores con los coeficientes elegidos basta con pulsar el botón "Calcular". 33 Figura 6.6 Información por consola, archivo válido. Figura 6.7 Panel de modos, modo Manual. Figura 6.8 Coeficientes en modo Manual. Modo Automático Si se ha seleccionado en el modo Automático en el panel de modos (Figura 6.9) al la derecha de la consola aparecerán los campos numéricos del modo Manual pero no son campos editables, ahora son los campos donde aparecerán los coeficientes óptimos que el programa calcule. Si pulsamos el botón "Calcular" aparecerán los coeficientes óptimos para todo el FOV del sensor solar. Si se selecciona la opción de "Optimizar para un rango de ángulos concretos" se podrá especificar en que rango de ángulos se quiere optimizar el sensor. Si además se selecciona la opción de "Mostrar solo FOV optimizado" las gráficas representará los errores solo en el FOV especificado si es mayor de 6°(Figura 6.10). Figura 6.9 Panel de modos, modo Automático. Gestión de errores Cuando se ha pulsado el botón "Calcular" la aplicación cargará la tabla y gráficas de errores, además en consola se especificará el FOV del sensor, los coeficientes utilizados, los offsets calculados y usados, y las ecuaciones para calcular los ángulos (Figura 6.11). Las dos primeras gráficas de errores podrán ser representadas en dos dimensiones al pulsar el seleccionar la opción "2D" que aparece debajo de las mismas (Figura 6.12). Las gráficas cuentan con herramientas para hacer zoom, desplazar, ver el valor de un punto concreto, girar... Estas aparecen al pasar el ratón por encima de la gráfica que se quiera modificar (Figura 6.13). La tabla de errores cuenta con la opción de añadir el análisis de errores en un campo de visión que se especifique en el campo numérico que aparece debajo de la tabla (Figura 6.14). 34 Capítulo 6. Conclusiones Figura 6.10 Display modo Automático. Figura 6.11 Errores al pulsar el botón "Calcular" . Figura 6.12 Gráficas en 2D. Limpiar Con el botón de "Limpiar" pueden borrarse las gráficas y tabla que estuvieran en pantalla, pero seguirá el archivo cargado. Si se quiere volver a cargar un archivo distinto bastaría con cargar otro diferente en cualquier momento de uso. 35 Figura 6.13 Herramientas para la visualización de las gráficas. Figura 6.14 Campos de visión añadidos al análisis de errores manualmente. Guardar datos En la barra de herramientas puede elegirse la opción de guardar los datos cuando se han calculado los errores, al pulsarla aparecerá una ventana emergente en la que se pedirá especificar el nombre del nuevo directorio donde se guardarán los datos, si el directorio ya existe todos los datos serán sobrescritos (Figura 6.15). Figura 6.15 Escribir nombre del directorio donde se quieren guardar los datos. La consola avisará cuando se guarden los datos, mientras se guardan se bloquearan todas las funciones, y una vez están listo se especificará los nombres de los archivos almacenados en el directorio especificado (Figuras 36 Capítulo 6. Conclusiones 6.16 y 6.17). Figura 6.16 Mensaje por consola a la espera de que se termine de guardar los datos. Figura 6.17 Mensaje con los nombres de los datos que se han guardado. En este directorio aparecerán cuatro archivos: Errores en los angulos X.png , Errores en los angulos Y.png , Posiciones reales f rente a calculos.png y Calculo_de_errores_estadisticos.xlsx . Las tres imágenes serán las que se estén visualizando en el momento de guardar los datos, es decir, si se ha hecho zoom, si se han desplazado, si están en 2D o 3D, si solo se está mostrando un FOV concreto... quedará reflejado en las imágenes guardadas. El último archivo es un Excel con todos los datos conocidos del sensor. Cuenta con el nombre del fichero, el FOV del sensor, las ecuaciones utilizadas para el cálculo de los ángulos, el modo usado (Manual o Automático), los coeficientes Cx y Cy, los offsets en X e Y, la tabla de errores que se tuviera en pantalla en el momento de guardar los datos, todas las posiciones X e Y reales, todos los ángulos X e Y calculados y todo los errores obtenidos para los ángulos X y para los ángulos Y, además en el caso de haber optimizado para un FOV concreto se especificará que se ha hecho y en que FOV (Figura 6.18). Es muy importante asegurarse de que se tiene el archivo Excel cerrado si se desea sobrescribir los datos, de lo contrario se producirá un error en la aplicación. Figura 6.18 Datos guardados en Excel para ISS-A60 para el modo Automático en todo el FOV del sensor. Índice de Figuras 1.1 Sensor solar analógico ISS-AX de Solar MEMS Technologies [4] 3 1.2 Luz guiada hacia los cuatro cuadrantes [4] 3 1.3 Representación del vector solar y de los ángulos X e Y [4] 3 1.4 Sistema de Posicionamiento de Angular de Alta Precisión (HAAPS) 4 1.5 Puntos de calibración para un sensor con FOV de ±60° y un paso de 5° 5 1.6 Datos obtenidos en el proceso de calibración con el HAAPS 5 1.7 Tensiones de un cuadrante del sensor solar con un efecto rugoso debido a la fabricación y después de haber corregido ese error [5] 6 1.8 Suma de las tensiones obtenidas por los fotodiodos de cada celda (VPH1,VPH2,VPH3y VPH4) en todos los puntos de calibración de un sensor con FOV de ±60° 6 4.1 Interfaz visual de la aplicación inicialmente 13 4.2 Componentes más comunes de las librerías que proporciona MATLAB 14 4.3 Ángulos X,Y y Z 15 4.4 Representación del rayo solar real y calculado del sensor ISS-A60 en la posición (60°,20°) 16 4.5 Representación del rayo solar real y calculado del sensor ISS-A60 en la posición (0°,0°) 16 4.6 Representación del rayo solar real y calculado del sensor ISS-A60 en la posición (0°,0°) añadiendo un offset en X igual a 1.217° y un offset en Y de -1.7181° 17 4.7 Representación del rayo solar real y calculado del sensor ISS-A60 en la posición (60°,20°) añadiendo un offset en X igual a 1.217° y un offset en Y de -1.7181° 17 4.8 Diagrama de bloques de CalbSS 18 4.9 Ejemplo de archivo para los datos de entradas, Xreal Yreal VPH1VPH2VPH3VPH418 4.10 Display en modo Manual 19 4.11 Representación de errores en el modo Manual 20 4.12 Representación de errores en 2D en el modo Manual 20 4.13 Tabla de errores en el modo Manual del sensor ISS-A60 para Cx = Cy = 1.871 20 4.14 Display del modo Automático 20 4.15 Coeficiente para el sensor ISS-A60 óptimos en su campo de visión completo 21 4.16 Gráfica de errores para ISS-A60 en el modo Automático 21 4.17 Tabla de errores para ISS-A60 en el modo Automático 21 4.18 Gráfica de errores para ISS-A60 en el modo Automático seleccionando la opción de mostrar en las gráficas solo el rango optimizado, este caso de ±25° 22 4.19 Tabla de errores para ISS-A60 en el modo Automático optimizando en un FOV de ±25° 22 4.20 Datos guardados en Excel para ISS-A60 para el modo Automático en todo el FOV del sensor 23 4.21 Tabla de errores para ISS-A60 en el modo Automático si no se hubiesen omitido los desajustes producidos en el borde del campo de visión del sensor 24 5.1 Información por consola, archivo no válido 25 5.2 Información por consola del sensor del cual se han introducido los datos 25 5.3 Tabla de errores para ISS-A60 en el modo Automático para mostrar los FOV que se analizan 26 5.4 Herramientas para la visualización de las gráficas 26 37 38 Índice de Figuras 5.5 Campos de visión añadidos al análisis de errores manualmente 27 6.1 Interfaz inicial. Rojo: Consola. Verde: Modos de uso. Amarillo: Botones. Azul: Barra de herramientas 31 6.2 Consola inicialmente 32 6.3 Consola inicialmente 32 6.4 Ejemplo de archivo para los datos de entradas, Xreal Yreal VPH1VPH2VPH3VPH432 6.5 Información por consola, archivo no válido 32 6.6 Información por consola, archivo válido 33 6.7 Panel de modos, modo Manual 33 6.8 Coeficientes en modo Manual 33 6.9 Panel de modos, modo Automático 33 6.10 Display modo Automático 34 6.11 Errores al pulsar el botón "Calcular" 34 6.12 Gráficas en 2D 34 6.13 Herramientas para la visualización de las gráficas 35 6.14 Campos de visión añadidos al análisis de errores manualmente 35 6.15 Escribir nombre del directorio donde se quieren guardar los datos 35 6.16 Mensaje por consola a la espera de que se termine de guardar los datos 36 6.17 Mensaje con los nombres de los datos que se han guardado 36 6.18 Datos guardados en Excel para ISS-A60 para el modo Automático en todo el FOV del sensor 36 Índice de Tablas 5.1 Resultados de las pruebas de cumplimiento de los requisitos 27 39 Bibliografía [1] Germán Santamaría. Different uses of solar sensors. www.solar-mems.com/different-uses-of-solar- sensors, 2021. Solar MEMS Technologies. [2] Germán Santamaría. How sun sensors work. www.solar-mems.com/how-sun-sensors-work, 2021. Solar MEMS Technologies. [3] Lizbeth Salgado-Conrado. A review on sun position sensors used in solar applications. Renewable and Sustainable Energy Reviews, 82:2128–2146, 2018. [4] Solar MEMS Technologies S.L. ISS-AX Technical Specifications. Version 1.08. [5] Pablo Ortega, Gema López-Rodríguez, Jordi Ricart, Manuel Domínguez, Luis M Castañer, José M Quero, Cristina L Tarrida, Juan García, Manuel Reina, Ana Gras, et al. A miniaturized two axis sun sensor for attitude control of nano-satellites. IEEE Sensors Journal, 10(10):1623–1632, 2010. [6] Solar MEMS Technologies S.L. Sun Sensors Test Plan. ¿Confidential Report? 41