Characterisation and Calibration
- Solar cells
- Battery characterization test
- Battery degradation test
- Photodiodes Temperature Characterization
- Magnetorquer Polarisation verification
- Gyroscope Characterization 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
- Subsystem and its components
- Battery tests equipment.
- 2 power supply cables with bananas in both sides.
- 2 power supply cables with bananas in one side and exposed copper in the other one.
- Dual power supply or 2 independent ones.
- Flat small screwdriver.
- USB A to USB B cable.
- Computer with the Arduino IDE and Putty Installed for data logging.
- Battery to be tested.
- 2,5 A Fuse and fuse holder.
- Some wire.
- Connectors to connect cable between them.
- Metal container for the battery.
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
- 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.
- 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.
- 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.
-
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.
-
Enable the 12V power supply output.
-
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.
-
Disconnect the USB cable from the PC.
-
Disable the 12V output.
-
Open PUTTY and select connection type: Serial and write down the Arduino COM port previously indentified.
- In PUTTY go to the Logging tab and select Printable Output and select the folder where you want to save the test data.
- 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.
-
Put the battery inside the metal container as a precaution measure in case of explosion.
-
Enable both power supply channels.
-
Connect the USB cable to the PC and click on Open on the PUTTY software.
-
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 (“;”).
-
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.
-
Disconnect USB cable.
-
Turn off power supplies.
-
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
Charge Cycle
In Table 1 there is an overview of the main parameters of the battery for each iteration
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:
Link broken, to be inserted.
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
- Subsystem and its components.
- Battery tests apparatus.
- 2 power supply cables with bananas in both sides.
- 2 power supply cables with bananas in one side and exposed copper in the other one.
- Dual power supply or 2 independent ones. One must be able to supply 12V and 6A the other one must be able to supply 4,2V and 1A.
- Flat small screwdriver.
- USB A to USB B cable.
- Computer with the Arduino IDE and Putty Installed to log data.
- Battery to perform the test one.
- 2,5 A Fuse and fuse holder.
- Some wire.
- Connectors to connect cable between them.
- Empty metal case for the battery.
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
- 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.
- 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.
- 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.
- Place the battery between the TEC module assembly halves.
- Place the assembly with the battery inside a metal box for protection and route the cables outside.
- Connect the NTC, FANS and TEC modules to the battery test apartus headers (check labels especially in the case of the TEC modules)
- 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.
-
Close the metal box
-
Enable the 12V power supply output.
-
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.
-
Disconnect the USB cable from the PC.
-
Disable the 12V output.
-
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.
- In PUTTY go to the Logging tab and select Printable Output and select the folder where you want to save the test data.
- 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.
-
Enable both power supply channels.
-
Connect the USB cable to the PC and click on Open on the PUTTY software.
-
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 (“;”)
-
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.
-
Disconnect USB cable.
-
Turn off power supplies.
-
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
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
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
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:
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
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
- ADCS board and the PocketQube lateral boards.
- Multimeter, alligator clips ,cables and jumpers for the connection between the photodiodes and the ADCS board.
- A computer.
- Black coated box.
- An halogen bulb with its correct power source.
- Hair dryer.
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:
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:
Where:
k is the Boltzman constant in [ j/k ].
T is the temperature of the diode in kelvins.
q is the elementary charge.
Where:
Tnom is the temperature in which the photodiode's characteristics are specified in the datasheet.
Eg is the energy gap.
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:
The sensitivity in function of the temperature will have this shape:
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:
- 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.
- 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.
- Once the measurements are completed, the real voltage measured in the ADC can be computed, knowing that a 12-bit quantization is used.
- Next, compute the current IdI_d, considering that a resistor of 20 kΩ is being used.
- Later, compute the Vd isolating it from the Id equation:
- Afterwards, compute the sensitivity for each measurement using the sensivity equation. THe Vd and the temperature will be different for each measurement.
- The last step is to calibrate the measurements using the following equation:
Test Results
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
- Power supply.
- Two bananas.
- Outer boards boards.
- Two cables per lateral board.
- A device to measure the magnetic field ( e.g magnetometer of the mobile phone ).
- Cable stripper.
- Soldering station.
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
- Strip the cables at both ends.
- Turn on the soldering station.
- Solder one cable for each extreme of the magnetorquer. Those pins are the ADCS pin and VCC_MAG pin off the outer boards.
- Connect the power supply.
- Set an intensity of 16 mA.
- Connect the bananas into the power supply.
- Take one outer board and connect the positive banana to the ADCS pin. Afterwards, connect the negative banana to the VCC_MAG pin.
- Turn on the device used to measure the magnetic field.
- Turn on the output of the power supply.
- 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.
- Turn off the output of the power supply
- Connect the negative banana to the ADCS pin. Afterwards, connect the positive banana to the VCC_MAG pin.
- Turn on the output of the power supply.
- 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.
- Turn off the output of the power supply
- Disconnect the power supply.
Test Results
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.
- ADCS and Breakout board
- STM32L476RG Nucleo board
- Wires
- A computer with STM32CubeIde and Ki-Cad installed
- Calculator, pen and paper, or computer with Excel
- Protoboard
- 2 Resistances of 4.7 KOhms
- Peltier cell
- Halogen lamp
- Rotating platform with motor. In case of unavailability, use something that can produce a constant rotation.
- Power supply.
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:
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.
The schematic used for the averaging algorithm is the following one:
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.
- Ambient temperature, aproximately 25ºC.
- Night temperature, around 10ºC.
- Freezer temperature. around -16 ºC.
- Halogen lamp, around 40ºC.
- (optional) peltier cellwith a constant temperature different to the previous ones
2-Movement measurements
- With the rotation platform take samples of each axi in one velocity, remember to writte down the real velocity used in degrees/second and the temperature of each sample.
- With the same velocity redo the measurements now with a diferent temperature, remember to use one of the temperatures used for the previous static measurements, for example halogen lamp with 40 ºC.
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.
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.
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
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.
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:
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.