Skip to content
brunoeiterer edited this page Dec 13, 2017 · 30 revisions

MCU Configuration

  • Clock
    • 8 MHz master clock
    • 32 MHz sub-master clock
    • 16 MHz auxiliary clock
  • Watchdog
    • 1 second timeout
  • UART
    • UCA0 at 4800 bps for the beacon communication
    • UCA2 at 115200 bps for debugging
  • ADC
    • 2.5 V External reference
  • SPI
    • UCA1
    • Master mode
    • 1 MHz
  • I2C
    • Slave mode
    • Own address 0x48
  • Timers
    • TA0.0 1 second interrupt
    • TA1.0 100 milliseconds interrupt
    • TB0.1 - TB0.3 500 kHz PWM signal
    • TA1.1 - TA1.2 50 kHz PWM signal

Back To Top

Batteries Monitor Configuration

This task configures the batteries monitor registers via one-wire protocol. The configuration sets thresholds and the batteries initial state of charge. The registers are configured as follows:

  • Protection Register
    • Enable charge and discharge
  • Protector Threshold Register
    • Set the overvoltage threshold to ~4.26 V
  • Status Register
    • Clear all flags
  • Control Register
    • Set the undervoltage threshold to 2.60 V
  • Overcurrent Thresholds Register
    • Set the short-circuit current threshold to 15 A
    • Set the charging overcurrent threshold to 5 A
    • Set the discharging overcurrent threshold to 7.5 A
  • Accumulated Current Register
    • Set initial charge to 3 Ah (fully charged). This configuration is run only once during the satellite lifetime.

Back To Top

External ADC Configuration

This task configures the external ADC that reads temperatures from several RTDs placed on the batteries and other strategic points in the satellite.

  • MUX0 Register
    • Turn off the burn-out current source
  • Vbias Register
    • Disable Vbias
  • MUX1
    • Turn internal reference generator always on
    • Select external 0 reference
    • Select normal operation mode
  • SYS0 Register
    • Set PGA gain to 1
    • Set Data Ouput Rate to 40 SPS
  • IDAC0 Register
    • Set DOUT/D̅R̅D̅Y̅ to only Data Out mode
    • Set excitation current sources magnitude to 100 µA

Back To Top

System Initialization

This task sets the initial state for the regulators and the LMC555. The regulators are enabled/disabled based on the energy level of the batteries, and the LMC555 is kept disabled.

Back To Top

Batteries Monitor Measurements

In this task the EPS MCU reads the following variables from the Batteries Monitor:

  • Batteries average current
  • Batteries current
  • Batteries monitor temperature
  • Batteries voltages
  • Batteries accumulated current
  • Batteries monitor protection register
  • Batteries monitor status register
  • Batteries monitor cycle counter
  • Batteries monitor remaining active absolute capacity register
  • Batteries monitor remaining standby absolute capacity register
  • Batteries monitor remaining active relative capacity register
  • Batteries monitor remaining standby relative capacity register

Back To Top

Temperature Measurements

In this task the EPS MCU configures the channel to be read and attaches the current sources to the channel to be read, then it sends the start conversion command and wait until the conversion is completed. Then it sends the read command and reads the temperature from the external ADC. This process is repeated for all the channels.

Back To Top

EPS-Beacon Current Measurement

In this task the EPS MCU uses the internal ADC to read a voltage proportional to the EPS-Beacon regulator output current. The conversion is started by setting a bit in the MCU registers. The code then waits for the conversion to finish and reads the result from the memory.

Back To Top

Main Bus Voltage Measurement

In this task the EPS MCU uses the internal ADC to read a voltage proportional to the Main Bus voltage. The conversion is started by setting a bit in the MCU registers. The code then waits for the conversion to finish and reads the result from the memory.

Back To Top

Solar Panels Boosts Output Voltage Measurement

In this task the EPS MCU uses the internal ADC to read a voltage proportional to the Solar Panels Boosts Output voltage. The conversion is started by setting a bit in the MCU registers. The code then waits for the conversion to finish and reads the result from the memory.

Back To Top

MCU Internal Temperature Measurement

In this task the EPS MCU uses the internal ADC to read a voltage proportional to its own temperature, using the internal temperature sensor. The conversion is started by setting a bit in the MCU registers. The code then waits for the conversion to finish and reads the result from the memory.

Back To Top

Batteries Temperature Control Algorithm Execution

In this task the EPS MCU generates a PWM signal with duty cycle proportional to a PI controller output, based on the temperature measurements. This PWM signal is used to control the drivers that deliver power to the batteries heaters.

Back To Top

Send Data to Beacon

In this task the EPS MCU packs the Beacon data into a FSP data packet and sends it to the Beacon MCU.

Back To Top

Energy Level Algorithm Execution

In this task the EPS MCU executes an algorithm to determine the energy level of the satellite, based on the remaining charge in the batteries.

Back To Top

Regulators Actuation

In this task the EPS MCU turns on/off the OBDH and the payload regulator based on the energy level determined in the Energy Level Algorithm Execution. The enable/disable procedure is done by simply setting/clearing GPIO pins.

Back To Top

Send Data to OBDH

In this task the EPS MCU packets the full data packet into a FSP data packet and sends it to OBDH.

Back To Top

Solar Panels Currents Measurements

In this task the EPS MCU uses the internal ADC to read a voltage proportional to the solar panel current. To start a conversion, a bit is set in the MSP registers. The code waits until the conversion is done and reads the result from the memory. This procedure is repeated to each solar panel.

Back To Top

Solar Panels Voltages Measurements

In this task the EPS MCU uses the internal ADC to read a voltage proportional to a solar panel pair voltage. To start a conversion, a bit is set in the MSP registers. The code waits until the conversion is done and reads the result from the memory. This procedure is repeated to each solar panel pair.

Back To Top

Solar Panels Measurements Mean Calculation

After ten measurements are done, the EPS MCU calculates the mean of the measurements, to acquire a better value.

Back To Top

MPPT Algorithm Execution

The P&O algorithm will determine if the voltage should be increased or decreased and will actuate on the Boosts PWM accordingly. If the voltage needs to be increased, the duty cycle is decreased. Similarly, if the voltage needs to decreased, the duty cycle is increased.

Back To Top