5.6 Software del microcontrolador de PIC.

En este proyecto el software del las funciones fueron desarrolladas en la
lengua de programación C para el microcontrolador de PIC, para muestrear
datos de los sensores de la determinación de la actitud. Estas funciones se
han utilizado para verificar que los sensores funcionan según requisitos.
Después de verificar que los sensores funcionan, se decidió que
(Frederiksen et el al., 2002) debe ser responsable de diseñar y de poner
software en ejecución en el microcontrolador de PIC. El software
desarrollado para el microcontrolador de PIC consiste en los algoritmos
para el control de la posición y las funciones desarrolladas para el
muestreo de los datos del sensor. Se decidió que el grupo que desarrollaba
la determinación de la posición, sería por consiguiente responsable de
diseñar y de poner el software en ejecución en el OBC. Esto incluye la
fabricación del interfaz al subsistema de DHCS y al control de la posición
puesto en ejecución en el microcontrolador de PIC.

Aquí se da una descripción corta del software puesto en ejecución en el
microcontrolador de PIC para los sensores del muestreo.

5.6.1 Muestreo de los sensores solares y de temperatura.

El muestreo de los sensores solares y de los sensores de temperatura se
pone en ejecución en una función. Esto es así porque el microcontrolador
del PIC utiliza los puertos de salida digital comunes para seleccionar los
canales en los multiplexores. Esto da lugar al pseudo código siguiente para
el muestreo de los 6 sensores solares y los 6 sensores de temperatura.

enable multiplexers
enable A/D-converters
for (x= 1 to 6)
channel = x
sample sun-sensor(x)
sample temperature-sensor(x)
end
disable A/D-converters
disable multiplexers

Para reducir el ruido de los sensores solares y de los sensores de
temperatura, éstos serán muestreados 16 veces, hallando el valor medio.



5.6.2 Muestreo del magnetómetro triaxial.

La sincronización es importante al generar los pulsos SET/RESET para el
magnetómetro y al muestrear las salidas del sensor. Después de que se
genere un pulso de SET o de RESET, es necesario esperar a que el pulso
finalice y a que los retrasos de los amplificadores de la instrumentación
sean tenidos en cuenta. El pseudo código siguiente con retrasos se utiliza
en las pruebas del prototipo:

enable A/D-converters
Reset_signal low
delay 10us // Important delay to save HEXFET
Set_signal high // Generates Set pulse
delay 30us
sample SetX
sample SetY
sample SetZ
delay 500us // Wait for capacitors to recharge
Reset_signal high
delay 10us // Important delay to save HEXFET
Set_signal low // Generates Reset pulse
delay 30us
sample ResetX
sample ResetY
sample ResetZ
disable A/D-converters

¡Nota! Es importante que los pulsos de SET/RESET del magnetómetro, nunca
estén arriba al mismo tiempo. Ésto es para cerciorarse de que un HEXFET en
el circuito del set-reset está apagado antes de que el otro se encienda.

No hay comentarios: