3.3.1 Descripci´on general
La tarjeta DSPic o DSPic board es el coraz´on del FEE. Ha sido dise˜nada para controlar cada una de las tarjetas que forman el sistema mediante una serie de interfaces internos. Esta tarjeta permite al equipo comunicarse con un PC, de tal forma que todos los datos puedan ser analizados y almacenados posteriormente, controlar actuadores, etc. Ha sido dise˜nada como un elemento flexible y adaptable a diferentes configuraciones de EGSE, de tal forma que puede ser dise˜nada en serie y reutilizada en distintos proyectos, simplemente modificando su software interior. Este elemento ha sido dise˜nado para trabajar con un dsPic33EP512MU814, pero podr´ıa trabajar con cualquier otro controlador que fuera compatible con la disposici´on
de pines de la PCB. Permite al usuario por lo tanto, una infinidad de posibilidades y una gran flexibilidad a la hora de controlar cada uno de sus elementos.
Figure 18: DSPic Board, FEE
El funcionamiento del DSPic no es complejo. Est´a formado por tres partes, aunque no son independientes entre ellas. En primer lugar, el procesador genera una serie de se˜nales que son utilizadas para controlar los actuadores del sistema (motores, heaters...). Al mismo tiempo, la tarjeta recibe v´ıa SPI una serie de se˜nales de monitorizaci´on que son procesadas por el dsPIC y utilizadas para cerrar el bucle de control. Por ´ultimo, todas estas actividades, se˜nales o medidas son transferidas al PC v´ıa USB. En resumen, esta tarjeta es capaz de recibir y enviar se˜nales para controlar una serie de elementos. Estas actividades son realizadas mediante una serie de bloques electr´onicos que veremos en profundidad a continuaci´on.
3.3.2 Elementos dsPic Board 3.3.2.1 Alimentaci´on y filtrado
La funci´on principal de este bloque es adaptar la alimentaci´on general de la tarjeta a todos los circuitos que la componen. Es por lo tanto responsable de obtener todas las referencias anal´ogicas y digitales, y alimentar circuitos. Adem´as, debe realizar la distribuci´on de tierras y filtrar las se˜nales de entrada de tal forma que no existan variaciones de tensi´on significativas. Todo esto se consigue mediante una serie de filtros y reguladores soldados en la etapa principal de la placa, y que se muestra en la siguiente figura.
3.3.2.2 Lectura de se˜nales: Backplane y SPI
Figure 19: circuito USB, DSPic Board
La recepci´on de se˜nales se realiza a trav´es de 8 conectores distribuidos en la placa. El m´as importante es el que encontramos en la parte trasera de la tarjeta, ya que recibe toda la informaci´on procedente del backplane, y por lo tanto de las tarjetas del FEE de adquisici´on de datos. El m´odulo USB es capaz de recibir y enviar informaci´on al MMI, y facilita la salida de informaci´on hacia el exterior. El tercer elemento importante es la salida de las se˜nales digitales, que se originan en el microprocesador y abandonan el sistema por el panel frontal hasta el mecanismo.
3.3.2.3 Control t´ermico: Heaters
Los circuitos de control t´ermico pueden resumirse en actuadores digitales que alimentan un elemento de control; en este caso un transistor tipo MOSFET. De este modo, y mediante una fuente de alimentaci´on y un peque˜no m´odulo ´optico, se a´ıslan las se˜nales de control de las se˜nales de potencia. El control t´ermico es regulado utilizando las se˜nales digitales como generadores de PWM. De este modo se puede actuar sobre los heaters mediante ajustes din´amicos y adaptativos en funci´on de la lectura de los sensores de temperatura.
3.3.2.4 Microcontrolador: PIC
El PIC es el cerebro de la tarjeta y de todo el FEE. La tarjeta DSPIC board + DIO ha sido dise˜nada para trabajar con un procesador espec´ıfico; en este caso el dsPIC33EP512MU814 de 16 bits o cualquiera de esta familia de DSPs con compatibilidad de pines. Este procesador cuenta con una arquitectura modificada para trabajar con un compilador C optimizado. Cuenta con 15 canales hardware DMA, 116 fuentes de interrupci´on diferentes, 7 salidas PWM, 60 salidas digitales independientes, 9 temporizadores de 16 bits, comunicaci´on USB On-The-Go, 4 m´odulos SPI e I2C, y 8 m´odulos ADC de 12 bits para el muestreo de se˜nales anal´ogicas de hasta 3,3 V. Este procesador es capaz de cubrir las necesidades actuales del equipo, pero ser´ıa posible realizar un cambio de procesador en caso de requerirse.
Figure 21: Microprocesador dsPic33EP512MU814, Microchip
Las conexiones realizadas entre el microprocesador y la tarjeta se resumen en el Anexo B2. Si la comparamos con la figura anterior observamos que las 7 salidas PWM est´an en uso,
as´ı como la gran mayor´ıa de las se˜nales digitales. Los pines PWM 1-4 son utilizados en este proyecto para realizar el control de los motores del mecanismo. Cada una de ellas puede ser dirigida a dos pines diferentes, con ciclos de trabajo diferentes. De esta forma, obtenemos las 8 se˜nales PWM necesarias para controlar los 2 puentes en H localizados en la tarjeta PWM, como se explica en el apartado 3.2.2.2
3.3.2.5 Conversi´on PWM: Single-ended a diferencial.
Hasta ahora hemos cubierto las partes m´as importantes de la tarjeta de control. El procesador, los m´odulos PWM, los puertos digitales y todas sus funciones, los circuitos del control t´ermico, y las formas de controlarlos, conectores, etc. Todas estas se˜nales son recibidas y enviadas por el backplane hasta las tarjetas y actuadores. Sin embargo, las se˜nales PWM siguen un procedimiento diferente, ya que deben ser convertidas a diferencial antes de ser enviadas por el backplane. Para esto se utilizan unos componentes electr´onicos relativamente simples (transceptores), que realizan esta conversi´on. De esta forma, cada se˜nal PWM es transmitida por dos cables diferentes (P y N), y transformada de nuevo al entrar en las diferentes tarjetas.
4
Dise˜no del sistema: Software
4.1
Prop´osito general
El desarrollo de este apartado del documento trata de explicar, primero de forma general, y m´as adelante entrando en m´as detalle, el dise˜no del software de control que llevar´a a cabo las tareas del EGSE. Este c´odigo ha sido pensado espec´ıficamente para este equipo, teniendo en cuenta tanto las restricciones de hardware como las especificaciones t´ecnicas del mecanismo del Rover. Enfocando el problema desde una perspectiva general, podemos dividir las funciones principales del EGSE en tres grandes grupos: Software de control, que tratar·
de gestionar la actividad entre sensores y actuadores, comunicaci´on, entendiendo esto como el punto de uni´on entre el exterior y el interior del FEE, y la obtenci´on de datos procedentes de los sensores. Tanto las v´ıas de comunicaci´on como los interfaces utilizados para cada uno de estos procesos han sido definidos anteriormente en el apartado de hardware.
Como veremos m´as adelante, todo el conjunto software ha sido dise˜nado alrededor de los distintos tiempos de ejecuci´on. Al encontrarnos en frente de un sistema de pruebas en tiempo real, es necesario distribuir las distintas tareas del equipo, en funci´on de la frecuencia de ejecuci´on de cada una de ellas. Por ejemplo, la velocidad de obtenci´on de datos de los sensores se realizar´a a 100 Hz en el caso de los potenci´ometros, y a 1 Hz en el caso de los sensores de temperatura; el intercambio de telemetr´ıa entre el PC principal y el Pic, se realizar· a 10 Hz, y actividades como la actualizaci´on de la pantalla del MMI a 2 Hz. Las diferencias en las velocidades de cada uno de los diferentes procesos, obliga a establecer cuidad´osamente una lista de prioridades a la hora de realizar las tareas del EGSE, de tal forma que tanto las acciones como los datos no se pierdan, o no se ejecuten durante el tiempo de ejecuci´oin del programa.