Characterisation and Calibration

Solar cells

Datasheet and 3D model of our Ligtricity s3040_CIC solar cell https://satsearch.co/products/exa-solar-cells-30-40

This page states that it belongs to another company ‘Ecuadorian Space Agency (EXA)’ but the datasheet and 3D model correspond to the solar cell used in this Kit.

Battery characterization test

Test Description and Objectives

The objective of this test is to perform and analyse a charge cycle of the battery using the battery test equipment.

Requirements Verification

Requirement Description
1 Battery can be completely charged
2 Battery can be completely discharged
3 Battery voltage shall be recorded during all the test duration
4 Battery current shall be recorded during all the test duration
5 Battery temperature shall be recorded during all the test duration
6 Total power charged to the battery shall be recorded

Test Set-Up

The test setup can be seen below

Captura.JPG

Pass/Fail Criteria

This test is designed to characterize a charge cycle for the PocketQube battery. There is no pass or fail criteria as the result will be the charge curves of the battery. However, after having these curves, depending on the application, further study can be needed, in order to determine whether the battery is suitable for the desired task.

Test Plan

  1. Regulate the power supply with one channel set to 12 V and 500 mA and the other channel set to 4,2 V and C/2 mA (current limit should be equal to half the battery capacity) 700 mA for this battery test.

IMG_20230615_174437.jpg

  1. Connect using 2 banana cables the 12V output from the power supply to the banana connectors from the battery test apparatus respecting the polarity. DO NOT ENABLE THE POWER SUPLY OUTPUT YET.

Captura.JPG

  1. Connect the output from the 4,2V power supply to the top terminal block labelled as BATTERY CHARGE INPUT respecting the polarity. DO NOT ENABLE THE POWER SUPLY OUTPUT YET.

Captura2.JPG

  1. Attach the NTC to the battery under test using tape. Wrap it as tight as possible to ensure good contact between the NTC and the battery. The NTC that needs to be attached to the battery is the TOP one from NTC Battery 4 pin block terminal marked with a yellow dot on the block terminal.

  2. Enable the 12V power supply output.

  3. Connect the USB cable to the Arduino and PC and upload the charge .ino test code to the board. Select the adequate COM port on the Arduino IDE and remember it for the following steps.

Captura3.JPG

  1. Disconnect the USB cable from the PC.

  2. Disable the 12V output.

  3. Open PUTTY and select connection type: Serial and write down the Arduino COM port previously indentified.

Captura4.JPG

  1. In PUTTY go to the Logging tab and select Printable Output and select the folder where you want to save the test data.

Captura5.JPG

  1. Connect the battery cables to the terminal block labelled as BATERY respecting polarity and installing a Fuse of 2,5A between the battery test apparatus and the battery.

Captura6.JPG

  1. Put the battery inside the metal container as a precaution measure in case of explosion.

  2. Enable both power supply channels.

  3. Connect the USB cable to the PC and click on Open on the PUTTY software.

  4. If all steps were performed correctly, the text START ARDUINO will be visible, and, after pressing any key of the keyboard, the test will start. Every 5 seconds a new line will be written indicating the voltage, current, accumulated power and temperature separated by a semicolon (“;”).

  5. Each cycle end will be indicated on screen and at the beginning of each charge cycle the test iteration will be written. At the end of the entire test, a “TEST END” prompt will appear. Note that for a test of 10 iterations will take approximately 3 days to complete.

  6. Disconnect USB cable.

  7. Turn off power supplies.

  8. After that the data will be available in the folder you selected before, and you can use any software capable to graph and analyse the result data from the CSV file.

Test Results

This test was carried out at NanosatLab between 02/06/2023 and 05/06/2023 by Adrià Molló Carulla. The RAW data in CSV and also the processed data in an Excel file is attached to this document. This has been performed at ambient temperature (cca 25C). While already a good breakthrough, if time allows, a hot (40C) and cold (4C) case should also be performed for at least 5 cycles.

Frome the test the following results have been obtained:

Discharge Cycle

2.JPG 3.JPG 4.JPG 5.JPG

Charge Cycle

6.JPG 7.JPG 8.JPG 9.JPG

In Table 1 there is an overview of the main parameters of the battery for each iteration 10.JPG

Anomalies

It has been found that the battery capacity appears to be considerably higher than the declared by the manufacturer (5,16 Wh) compared to the tested one (7,07 Wh).

Conclusions

The main conclusions of this test campaign are that the battery charge and discharge curves look follow the same pattern as a generic lithium polymer battery, with no appreciable differences, except for the aforementioned anomaly.

The full test code is available at: 

Battery degradation test

Test Description and Objectives

The objective of this test is to perform and analyse the degradation of the battery in LEO orbit thermal conditions.

Due to time constraints, in order to see the proper degradation of the battery, a full charge and discharge of the battery will be carried out. That is, charging to 4.2V and discharging till 2.7V at a rate of C/2 mA. As to the temperature conditions, the same logic has been followed. The charging cycle will be done at the highest possible working temperature (40ºC) and a moderate 10ºC for the discharge cycle (instead of the lowest 2ºC). This configuration has been adopted because the battery will normally be charged by the solar panels when the PocketCube is facing the sun and discharged during the eclipse phase.

Requirements Verification

Requirement ID Description
1 Battery can be charged
2 Battery can be discharged
3 Battery voltage shall be recorded during all the test duration
4 Battery current shall be recorded during all the test duration
5 Battery temperature shall be recorded during all the test duration
6 Total power charged to the battery shall be recorded
7 LEO thermal conditions must be simulated

Test Set-Up

Pass/Fail Criteria

This test is designed to characterize a degradation of the PocketQube battery over a great number of cycles and temperature ranges. There is no pass or fail criteria as the result will be the information pertaining to the charge and discharge curves of the battery.

Test Plan

  1. Regulate the power supply with one channel set to 12V and 6 A and the other channel set to 4,2V and adjust the current limit so it matches the max desired charge current.

IMG_20230621_164811.jpg

  1. Connect with 2 banana cables the 12V output from the power supply to the banana connectors from the battery test apparatus respecting the polarity. DO NOT ENABLE THE POWER SUPLY OUTPUT YET.

Captura.JPG

  1. Connect the output from the 4,2V power supply to the top terminal block labelled as BATTERY CHARGE INPUT respecting the polarity. DO NOT ENABLE THE POWER SUPLY OUTPUT YET.

Captura2.JPG

  1. Place the battery between the TEC module assembly halves.

IMG_20230621_162240.jpg

  1. Place the assembly with the battery inside a metal box for protection and route the cables outside.

IMG_20230621_162246.jpg

  1. Connect the NTC, FANS and TEC modules to the battery test apartus headers (check labels especially in the case of the TEC modules)

Captura10.JPG

  1. Conect the remaining NTC to the port labelled as NTC Heatsink and put it inside the metal box to have an ambient temperature reference point.

IMG_20230621_164651.jpg

  1. Close the metal box

  2. Enable the 12V power supply output.

  3. Connect the USB cable to the Arduino and PC and upload the charge .ino test code to the board. Select the adequate COM port on the Arduino IDE and remember it for the following steps.

Captura3.JPG

  1. Disconnect the USB cable from the PC.

  2. Disable the 12V output.

  3. Open PUTTY and select connection type: Serial and write down the Arduino COM port previously indentified. If the OS is Linux, it will probably be /dev/ttyACMX where 'X' is the port number.

Captura4.JPG

  1. In PUTTY go to the Logging tab and select Printable Output and select the folder where you want to save the test data.

Captura5.JPG

  1. Connect the battery cables to the terminal block labelled as BATERY respecting polarity and installing a Fuse of 2,5A between the battery test apparatus and the battery.

Captura6.JPG

  1. Enable both power supply channels.

  2. Connect the USB cable to the PC and click on Open on the PUTTY software.

  3. If all steps were performed correctly, the text START ARDUINO will be visible, and, after pressing any key of the keyboard, the test will start. Every 5 seconds a new line will be written indicating the voltage, current, accumulated power and temperature separated by a semicolon (“;”)

  4. Each cycle end will be indicated on screen and at the beginning of each charge cycle the test iteration will be written. At the end of the entire test, a “TEST END” prompt will appear. Note that for a test of 10 iterations will take approximately 3 days to complete.

  5. Disconnect USB cable.

  6. Turn off power supplies.

  7. After that the data will be available in the folder you selected before, and you can use the software you prefer to graph and analyse the result data from the CSV file.

Test Results

This battery degradation test has lasted 844 hours and taking into account that a full charge and discharge cycle lasts approximately 4 hours, a total of 211 full cycles have been performed.

1. Voltage

voltage.PNG

As it is seen, the votltage range is from 2.7 V to 4.3 V. It is faster for discharging than for charging because in charging mode when it is almost getting to the final charge voltage the cells are trying to get the equilibrium. For this reason, it is possible to see the slowest part from 4.1 V till 4.3 V.

2. Current

current.PNG

As the capacity of the battery is 1400 mAh, the current charge is 700 mA so as not to exceed the limit, for this reason we have a constant current and an almost linear discharge part as it discharges. The lowest current level is when it reaches to 2.7 V.

3. Energy

Eenergy.PNG

In the previous graph, the highest plots are the energy in the charge cycle and the lowest ones represents the battery discharged or provided by the battery. It is seen that the last pic compared with the first one of the lowests plots is slightly lower than the first one. Let's see the complete charge and discharge cycles of the test:

energy2.PNG

As the number of cycles increases, the battery capacity decreases. At the beggining of the test the battery provided around 70 Wh for one discharge cycle and at the end of the test it provided around 65 Wh for 1 discharge cycle.

4. Modules temperature

Temperature_TEC_modules.PNG

This plot represents the temperatures at the charge and discharge cycles. For charging the battery, the modules temperature is set to 40 ºC. For discharging, the temperature is set to 10 ºC.

Conclusions

It is seen in the energy plots the loss of effective energy provided by the battery. The battery starts providing 70 Wh for a discharge cycle and finally provides 65 Wh. This means that for every charge and discharge cycle is lost 23.7 mWh

On the other hand, as it can be seen in the beginning of the voltage curves, the battery was subjected to a voltage higher than the maximum due to overheating of the power sources, and there were no serious consequences for it.

Even though the test may not be entirely conclusive because of its time constraints, it does show the robustness of the battery. The PocketCube energy requirements are much smaller than the ones subjected in this test and therefore it can be concluded that the battery is suited for the mission.

The code is available at: https://github.com/nanosatlab/pocat-sw/tree/main/Battery%20test%20aparatus/Arduino%20Code/Degradation_testing

Photodiodes Temperature Characterization

Test Description and Objectives

The main objective of this test is to characterise the temperature behaviour of the photodiode and calibrate its results.

Test Set-Up

Test Plan

Following the Shockley Diode equation, the current coming out the photodiode depends of the temperature, following an exponential function.

The Shockley diode equation is the following one:

                                                                              formula Id.png

Where:

              ID is the diode current.

              Isat(T) is the reverse bias saturation current.

              VD is the voltage of the diode.

              VT is the thermal voltage.

              μ is the idiality factor, it will be assumed that it is equal to 1.

In this equation there are two key parameters, the VT and the Isat(T) which are computed with the following formulas:

formula Vt.png

Where:

             k is the Boltzman constant in [ j/k ].

             T is the temperature of the diode in kelvins.

             q is the elementary charge.

formula-isat.png

Where:

             Tnom is the temperature in which the photodiode's characteristics are specified in the datasheet.

             Eg is the energy gap.

             k is the Boltzman constant in [ eV/K ].
             Isat(Tnom) is the reverse bias saturation current at the nominal temperature.
It is important to note that since the measured current of the photodiode is converted into voltage, the readings from the analog-to-digital converters will be expressed in volts. The conversion formula is as follows:
ADC voltage.png
Using this equation, the Id and the Vd of the photodiode in function of the temperature will have this shape:
voltage diode.pngintensity.png

Now the next step is to derive the sensitivity equation. To obtain it, you will have to derivate the Shockley diode equation in function of the temperature:

sensitivity equation.png

The sensitivity in function of the temperature will have this shape:

sensitivity.png

All the parameters that  has been obtained are the following:

Computed Isat(Tnom) Measured voltage quantized values Measured T

At this part of the calibration the following steps have to be followed:

  1. First of all, the Isat(Tnom) has to be computed. In order to do that, you have to measure the Id and Vd of the photodiode while using a constant source of light. Afterwards, isolate the Isat(Tnom) from the Shockley diode equation and compute it.
  2. Afterwards, put the photodiode inside the black coated box pointing towards an halogen lamp bulb. You have to take measurements of the photodiode and its operating temperature. Place the box in a place where it can reach as low temperatures as you can. While the photodiode is taking measurements, the halogen lamp will increment the temperature inside the black coated box. The temperature will increase until a maximum point, then is the turn of the dryer, start increasing the temperature inside the box pintroducing hot air little by little.
  3. Once the measurements are completed, the real voltage measured in the ADC can be computed, knowing that a 12-bit quantization is used.
    ADC real voltage measured.png
  4. Next, compute the current IdI_d, considering that a resistor of 20 kΩ is being used.
    Id.png
  5. Later, compute the Vd isolating it from the Id equation:Vd formula.png
  6. Afterwards, compute the sensitivity for each measurement using the sensivity equation. THe Vd and the temperature will be different for each measurement.
  7. The last step is to calibrate the measurements using the following equation:

Data_calibrated.png

Test Results


datano calbrated.pngdata calibrated.png

A simulation was conducted with a total of 17,000 samples of photodiode measurements taken at temperatures ranging from 15 to 35 degrees Celsius. As shown in the calibrated data, photodiode measurements increase with rising temperatures.

Conclusions

The calibration test has been conducted succesfully.

Magnetorquer Polarisation verification

DOCUMENT SCOPE

The aim of this document is to clearly explain the procedure to verify the polarisation of the magnetorquers.

TEST 1: Electrical check

Test Description and Objectives

The aim of this test is to verify that the polarisation of the magnetorquers is the correct one.

Requirements Verification

Requirement ID Description
TST-MAGT-01 The magnetorquers must generate a magnetic field direction in accordance with the left hand rule when current is being injected.

Test Set-Up

Pass/Fail Criteria

The verification will be completed if the polarisation is the same as te theoretical computed using the right hand rule.

Test Plan

  1. Strip the cables at both ends.
  2. Turn on the soldering station.
  3. Solder one cable for each extreme of the magnetorquer. Those pins are the ADCS pin and VCC_MAG pin off the outer boards.
  4. Connect the power supply.
  5. Set an intensity of 16 mA.
  6. Connect the bananas into the power supply.
  7. Take one outer board and connect the positive banana to the ADCS pin. Afterwards, connect the negative banana to the VCC_MAG pin.
  8. Turn on the device used to measure the magnetic field.
  9. Turn on the output of the power supply.
  10. Place in the exterior face of the board, the device. Then check that the direction of the magnetic field goes out from the center of the exterior face.
  11. Turn off the output of the power supply
  12. Connect the negative banana to the ADCS pin. Afterwards, connect the positive banana to the VCC_MAG pin.
  13. Turn on the output of the power supply.
  14. Place in the inner face of the board, the device. Then check that the direction of the magnetic field goes out from the center of the inner face.
  15. Turn off the output of the power supply
  16. Disconnect the power supply.

Test Results

WhatsApp Image 2024-06-17 at 12.05.43 AM.jpeg

Gyroscope Characterization and Calibration

Test Description and Objectives

This test is designed to characterize and calibrate the ADCS gyroscopes, ensuring their precise performance under various conditions. The results will give us important information to improve the system that controls the satellite’s orientation, making the system more reliable and effective.

Test Set-Up

To conduct this test, an STM32L476RG Nucleo board is utilized as a simulator for the OBC-ADCS interface. Commands are sent to the Nucleo board, which subsequently requests data from the ADCS board.

Test Plan

To calibrate the gyroscope IIM 42652 we have done the following test:

3.1 Allan's variance characterization

First, the “Random walk phenomenon” of the gyroscope has to be characterized. The method will use the Allan’s variance. Once the samples of measurements has been taken, the standard deviation of the measurements will be plotted in function of the time. The results might be similar to the following ones:

Allans_variance_X.jpgAllans_variance_Y.jpgAllans_variance_Z.jpg

In these plots, it is observed the evolution of the standard deviation of the noise in the gyroscope samples. Approximately, in τ=10 s for the X and Z axis, and for τ=20 s, the standard variation tends to variate the slope of the line repeatedly, that happens because of the effect of the “Random walk phenomenon”.

Consequently,  the gyroscope samples will be averaged for 10 seconds, using a sample frequency of 0.1 seconds. The total number samples that will be averaged is 100 samples.

AveragedSamples.JPG

The schematic used for the averaging algorithm is the following one:

Averaged_algorithm.JPG

Averaged_algorithmFormula.JPG

This algorithm functions as a circular queue that averages all the samples within it during each iteration, helping to reduce the effect of the "random walk phenomenon" in the gyroscope readings.

3.2 Temperature bias characterization and calibration

Afterwards, we will have to take at least 1000, or more, samples of data for each axi in differents situations using the algorithm of the previous section:

1- Static data measurements, all with a constant temperature.

2-Movement measurements

After that, in order to calibrate de measurements, the following formula will be used for each axis:

                                             Data Calibrated = Data measured * sensitivity - Bias(Tº)

For each axis, plot the real data in function of the measured data using in the X axis the measured data and in the Y axis the real data. Afterwards, in the measured data vector use the static data and the constant velocity data, both obtained with the same temperature. Regarding the real data, also use the static real data and the real angular velocity data. Now you will have two figures, each one with different temperature, compute in both plots the line equation of the graphic and store the value of the slope coefficient of the equation.

zslope25.jpgzslope40.jpg

After obtaining the two slopes, one for the first temperature and the other for the second, the next step is to plot the slope, which is computed using the two previous calculated slopes, against the temperature and recalculate the line equation. This line equation will serve as the formula for calculating sensitivity as a function of temperature.

zsensitivityeq.jpg

This procedure is repeated for each axis:

Axis Slope (25 ºC) Slope (40 ºC) Sensitivity equation
X 1.073 1.085 Xsens=-0.0009231*T(ºC)+1.05
Y 1.026 0.9912 Ysens=-0.0029*T(ºC)+1.099
Z 1.042 1.005 Zsens=0.002056*T(ºC)+1.093


For the next step of the calibration, the measured static data versus the temperature is plotted. This graphic will show us the evolution of the bias in respect to the temperature. Then, the equation of the line will be computed, which will be used in order to compute the Bias:

            Bias( Tº) = m *  Tº(temperature) + n

Z axisvstemp static.jpg

The results for each axis are:

Axies Bias equation
X Bias=0.01388 * T(ºC)-0.1716
Y Bias=0.0005596 * T(ºC)-0.03862
Z Bias=0.003362 * T(ºC)+0.2535

The final calibrated data will be computed with the following equation:

Calibrated_data = Sensitivity(ºC) * Measured_data - Bias(ºC)

Test Results

The test consisted of measurements of a real velocity of 13,6 degrees/s. The following plots show that the results of the calibration in all the axis.

                             x_nocalibrated.jpgx_calibrated.jpg

                             y_nocalibrated.jpgy_calibrated.jpg

                            z_nocalibrated.jpgz_calibrated.jpg

In addition, the following figures show the results of testing the averaged algorithm. The tests show how the gyroscope works once it has been calibrated. To do so, different velocities had been applied into the Z axis. Here are the results:

                       Zbeforeaveraged.jpgzafteravg.jpg

          Macrotest.jpg

Anomalies

The temperature sensor inside the IIM 42652 could work wrongly if the chip has been exposed to high temperatures during the welding process. It is recommendable to check in the IIM 42652 documentation, which is the maximum temperature that the temperature sensor can withstand without getting damaged.

Conclusions

As all the requirements has been fulfilled, the test is completed.