The power subsystem's electronics consist of 2 electronic boards. EPS and EPS controller. The EPS board is in charge of switching the loads on/off, protecting the battery, switching the solar arrays, the 30-minute deployment timer, and the ground and MPB (Main Power Bus) inhibits.
The EPS Controller Board is designed to control the functions of the Power subsystem of Iris. The functions include controlling the load switches to perform load shedding, controlling the power input from solar arrays to charge the batteries, reading current sensor values, reading temperature values, interfacing with the battery pack, communicating with ADCS over SPI, and communicating with CDH over CAN bus. The tests and the results for each of the mentioned functions are reported in this page.
To operate the EM board, a 6.4V power supply was used to simulate the battery pack. The power supply showed a max current of 60 mA while the board was functioning (Max power of 0.384 W for EPS Electronic boards). This max current draw happens when the CAN controller is operational and CAN messages are being transferred.
The document below covers the main functional tests done for the EPS board. More information about the changes from the EM to FM is provided in this section.
Figures below show the time it takes for each load switch to turn on. "Channel 0" is the trigger signal and "Channel 1" is the output of the load switch. All of the switches take less than 2ms to comply with V-POW-0160
ADCS
CDH
COMS
PLD (* takes about 2.05ms to turn on. However it's not a major functionality issue)
ANT-DPL
SOL-DPL
HTR (DATEC Heater)
Figures below show the time it takes for each load switch to turn off. "Channel 0" is the trigger signal and "Channel 1" is the output of the load switch. All of the switches take less than 200ms to comply with V-POW-0170
ADCS
CDH
COMS
PLD
ANT-DPL
SOL-DPL
HTR (DATEC Heater)
Verification Activities: V-POW-3038, 0160, 0170
Verified:
The Load Switches are based on the EPS board and control the flow of power to each subsystem. In total there are 7 load switches that are controlled by the EPS controller which supply power to ADCS, CDH, COMS, PLD, antenna deployment mechanism, solar array deployment mechanism, and DATEC heater. The control pins are placed on the P2_POW and P2_CTL connectors on the EPS and EPS control boards respectively. The pins are shown in Figure 1. By applying 3.3 V to the highlighted pins, the respective switch will turn on.
Figure 1: Control pins for load switches
To test the controller function, the code shown in Figure 2 is written on the controller which sequentially toggles the output of the load switches. The function "setLoads(number, value)", sets the selected load switch in the desired HIGH/LOW state. The output pins of each load switch is probed and the results are shown in Figure 3.
Figure 2: Test code for load switches.
Figure 3: The output of the load switches while running the code. The slowly decreasing manner is due to the capacitors at the output and the outputs not being connected to load at the time of this test.
Verification Activities:
Verified:
The solar array switches are based on the EPS board and control the flow of input power from solar panels. In total there are 7 switches that are controlled by the EPS controller. The control pins are placed on the P1_POW and P1_CTL connectors on the EPS and EPS control boards respectively. The pins are shown in Figure 4. By applying 3.3 V to the highlighted pins, the respective switch will turn on.
Figure 4: Control pins for solar array switches
To test the controller function, the code shown in Figure 5 is written on the controller which sequentially toggles the solar array switches. The function "setSolar(number, value)", sets the selected solar panel switch in the desired HIGH/LOW state. For testing purposes, a variable power supply set at a voltage of 6.8 V was connected in place of solar panels. Video 1 shows the result of the code.
Figure 5: Test code for solar array switches.
Video 1: The solar array switches while running the code. Green light indicates that the current is flowing and red light indicates that no current is flowing.
The power subsystem has a total of 7 temperature sensors for monitoring the temperature of the batteries, EPS and EPS control boards, and the solar panels. The temperature sensors are thermistors that are driven using a resistive voltage divider circuit and an RC low-pass-filter. ADC bank A with 8 analog inputs is designed to read the analog voltage and send it to the microcontroller. The microcontroller will convert the voltage value to temperature and will use it for data telemetry and battery saddle temperature control. Figure 6 shows the placement of the ADC bank A with the thermistor inputs on the EPS control board.
Figure 6: The ADC bank A (U1) and the thermistor inputs
To test the functionality of ADC bank A, the microcontroller is programmed to read the analog values, convert them into voltage and show the value in the debugger environment. For testing purposes, we put the resistor array in Figure 7 in place of thermistors. Figure 8 shows the code that is written for this test and Figure 9 shows the results.
Figure 7: The resistor array for testing ADC bank A
Figure 8: Test code for reading ADC bank A values
Figure 9: Voltage values read from ADC bank A
The current sensors are placed on the EPS board to measure the amount of current input to the board from solar panels and the current output that is consumed by other subsystems. The current sensors output an analog voltage value that is dependent on the current. Figure 10 and Figure 11 show the position of the current sensor outputs for solar arrays and load switches that are placed on P1_POW and P2_POW ports on the EPS board. The corresponding ports on the EPS Control board are P1_CTL and P2_CTL.
Figure 10: Current sensor pins for solar arrays
Figure 11: Current sensor pins for load switches
In the EPS Controller Schematics, ADC bank B is designed to read these current sensor values. The function "read_ADC_B(channel)" is used to read the analog voltage that is present at the current sensors' output. To test the functionality of the ADC bank B, a piece of code is written on the EPS controller board that reads the current sensor values using ADC bank B. The tests are done with current values of 100, 200, and 300 mA for solar panel inputs and 110, 200, and 300 mA for load switches. Figure 12, shows the test code and Table 1 and Table 2 show the results for different current values.
Figure 12: Test code for reading ADC bank B values
The watchdog timer in the EPS controller board is in charge of resetting the controller in case of a single event upset. Figure 13 shows the output of the watchdog timer in case there is no input signal. As shown, if the timer doesn't receive any input for longer than 1.02 seconds, it will pull the reset pin down for 0.8 seconds to cause the controller to reset.
Figure 13: Watchdog timer output
The battery pack contains a coulomb counter that measures the amount of charge left in the batteries. The coulomb counter used is LTC4150 which interfaces with the microcontroller by sending pulses whenever one coulomb of charge has passed through R_SENSE. The microcontroller has an interrupt set up to catch the pulses and count for the number of the coulombs left in the battery pack accordingly.
This test will be done during FlatSat activities. The microcontroller has the SPI communication set up and a list of commands provided by ADCS hardware team will be used to interface with ADCS.
The Power subsystem uses the CAN bus to communicate with CDH and other subsystems. To achieve this functionality, a CAN controller IC (TCAN 4550) was used. Although we had some difficulties with using this IC (as documented below), we were able to successfully implement it in our controller board and verified its functionality.
The CAN bus signals were captured using a logic analyzer. Figure## below shows the bus signals as well as the message content. The identifiers and data values will be unique to power subsystem and will be assigned by FSW.
Figure ##: CAN bus containing a CAN message with extended identifier and 8 bytes of data
One of the tasks of the power control board is to read temperature from 7 different thermistors and relay them back to CDH for ground telemetry. To ensure that the temperature values are accurate, we need to calibrate our sensors. In this section, the calibration process and the results are provided.
First, the resistance of the thermistor is calculated and then using the appropriate formulas in the datasheet, we can find the temperature. Figure ## shows the codes written to get the temperature data.
Figure ##: calculating the thermistor temperatures
To ensure that the temperature values are accurate, the temperature logging device in Figure ## is used. Different sets of temperatures are measured from both the on-board thermistors and the logging device and the values are compared. The measurement results are shown in Table##.
Table##: Comparing thermistor and logger temperatures
Figure ##: Temperature logger
The results show that on average, the values read from the thermistor are 0.88 degrees less than the values on the data logger. To compensate for this difference, the value "1.048" is added to the code.
We can also see that after applying the compensation values, the new Error for measured values are all less than 0.5 degrees.
After doing the calibration, the board mount and the structure mount thermistors (battery saddle) were tested in the cleanroom. Picture below shows the results. The error for the temperature measurements were below 0.5 degrees which verifies V-POW-2042, V-POW-3206
While testing our EPS controller Engineering Model board, we encountered some problems that were caused by wrong circuit schematics, wrong choice of components, or poor design decisions. We have identified the problems and will address them in our Flight Model boards as stated in Table 3. In the meantime, to keep the EM tests going, some modifications were done to the board that are listed below.
The masking areas for conformal coating of the electronic boards are shown in figures below. The area inside the red rectangles shall not be coated.
We received the FM boards for the EPS Controller from Microart on Monday May 2, 2022 in STARLab. On May 5, 2022, I transferred the boards to the Iris repository in the cleanroom. The inspections and measurements of physical characteristics were conducted in the cleanroom. We received 3 boards in total.
Board #1:
All components are soldered.
The received boards match the sent FM layouts
Soldering job is well done, no solder bridges or not soldered pins were visible
Board #2:
All components are soldered.
The received boards match the sent FM layouts
Soldering job is well done, no solder bridges or not soldered pins were visible
Board #3:
U6 (CAN controller IC) and U7 (Buck converter) are missing due to lack of available chips in stock
The received boards match the sent FM layouts
Soldering job is well done, no solder bridges or not soldered pins were visible
Board #1:
Dimensions and Mass:
X Y Thickness Mass
89.94 mm 90.26 mm 1.17 mm 29.4 g
Tallest Component:
Headers P1 and P2 (12.30 mm)
Board #2:
Dimensions and Mass:
X Y Thickness Mass
89.96 mm 90.05 mm 1.17 mm 29.3 g
Tallest Component:
Headers P1 and P2 (12.25 mm)
Board #3:
Dimensions and Mass:
X Y Thickness Mass
89.94 mm 90.20 mm 1.17 mm 28.5 g
Tallest Component:
Headers P1 and P2 (12.33 mm)