Solar Validation
Note: there are two solar boards. One has 5 MPPTs and one has 6 MPPTs. On rev 2, one pin (currently PA7) is high on the 6 MPPT version and low on the 5 MPPT version. Rev 2 should automatically detect this, but if you’re validating rev 1, uncomment line 33 in projects/solar/main.c:
// Uncomment to force firmware to detect the 5 or 6 MPPT board.
// #define MPPT_COUNT SOLAR_BOARD_5_MPPTS
Then change SOLAR_BOARD_5_MPPTS
to SOLAR_BOARD_6_MPPTS
if you’re on the 6 MPPT version instead.
Also, if you happen to notice any pattern in the “CR bit” value, tell @Ryan Dancy since I have no idea what it is, the SPV1020 datasheet is a bit sparse on details.
If the sensed values aren’t accurate, please note the values you applied and the values you got (the more data points the better) so the scaling factor can be adjusted.
Action | Expected Result | Actual / Notes | |
---|---|---|---|
1 | Compile | No compilation errors | PASS |
2 | Run all | All unit tests pass |
|
3 | Connect CAN dongle, open minicom and candump | - |
|
4 | Flash | On minicom: MPPT 0 input voltage: 18792 mV
MPPT 1 input voltage: 18792 mV
MPPT 2 input voltage: 18792 mV
MPPT 3 input voltage: 18792 mV
MPPT 4 input voltage: 18792 mV
MPPT 5 input voltage: 18792 mV // only on 6 MPPT
MPPT 0 output voltage: unset
MPPT 1 output voltage: unset
MPPT 2 output voltage: unset
MPPT 3 output voltage: unset
MPPT 4 output voltage: unset
MPPT 5 output voltage: unset // only on 6 MPPT
MPPT 0 input current: 7792640 uA
MPPT 1 input current: 7792640 uA
MPPT 2 input current: 7792640 uA
MPPT 3 input current: 7792640 uA
MPPT 4 input current: 7792640 uA
MPPT 5 input current: 7792640 uA // only on 6 MPPT
Total output current: unset
Thermistor 0 temperature: 2500 dC
Thermistor 1 temperature: 2500 dC
Thermistor 2 temperature: 2500 dC
Thermistor 3 temperature: 2500 dC
Thermistor 4 temperature: 2500 dC
Thermistor 5 temperature: 2500 dC // only on 6 MPPT
MPPT 0 PWM duty cycle: 500/1000
MPPT 1 PWM duty cycle: 500/1000
MPPT 2 PWM duty cycle: 500/1000
MPPT 3 PWM duty cycle: 500/1000
MPPT 4 PWM duty cycle: 500/1000
MPPT 5 PWM duty cycle: 500/1000 // only on 6 MPPT
MPPT 0 CR bit: 0
MPPT 1 CR bit: 0
MPPT 2 CR bit: 0
MPPT 3 CR bit: 0
MPPT 4 CR bit: 0
MPPT 5 CR bit: 0 // only on 6 MPPT output every second, with the On CAN: messages with ID
No other messages should be tx’d, and messages should only be tx’d if their corresponding value isn’t “unset”. Otherwise: the relay should be open. |
|
5 | Send CAN message: (“relay close CAN message”) | Relay closes. |
|
6 | Send CAN message: | Relay opens. |
|
7 | Send the relay close CAN message | Relay closes again. |
|
8 | Vary/measure the MPPTs' input voltages | The corresponding |
|
9 | Vary/measure the MPPTs' input currents | The corresponding |
|
10 | Vary/measure the MPPTs' output voltages | The corresponding |
|
11 | Vary/measure the total output current | The |
|
12 | If you can, vary/measure the MPPTs' PWM duty cycles | The corresponding |
|
13 | Vary/measure the temperature measured by the thermistors in the solar array, or use a potentiometer instead and vary it | The corresponding |
|
14 | Try to find a pattern in the CR bit values | ?? If you find one please note it |
|
15 | WITH HARDWARE: simulate a negative total output current condition. | On minicom: |
|
16 | Send the relay close CAN message | Relay closes again. |
|
17 | WITH HARDWARE: simulate an overcurrent condition (>9A) - you can change | On minicom: |
|
18 | Send the relay close CAN message. | Relay closes again. |
|
19 | WITH HARDWARE: simulate an overvoltage condition (sum of output voltages > 160V) - you can change | On minicom: |
|
20 | Send the relay close CAN message. | Relay closes again. |
|
21 | WITH HARDWARE (maybe): simulate an overtemperature condition (temperature on any thermistor > 100°C) - you can change | Where On minicom: |
|
22 | WITH HARDWARE: simulate an overvoltage on the input voltage to an MPPT (input voltage > 40V?). | Where On minicom: |
|
23 | WITH HARDWARE: simulate an overcurrent on the input current to an MPPT (input current > 4.5A?). | Where On minicom: |
|
24 | WITH HARDWARE: simulate an overtemperature on the MPPT (temperature > 130°C?), if it’s safe. | Where On minicom: |
|