SLVAFK1 January 2025 INA228 , INA232 , INA234 , INA236 , INA237 , INA238 , MSPM0C1103 , MSPM0C1103-Q1 , MSPM0C1104 , MSPM0C1104-Q1 , MSPM0C1105 , MSPM0C1106 , MSPM0G1105 , MSPM0G1106 , MSPM0G1107 , MSPM0G1505 , MSPM0G1506 , MSPM0G1507 , MSPM0G1518 , MSPM0G1519 , MSPM0G3105 , MSPM0G3105-Q1 , MSPM0G3106 , MSPM0G3106-Q1 , MSPM0G3107 , MSPM0G3107-Q1 , MSPM0G3505 , MSPM0G3505-Q1 , MSPM0G3506 , MSPM0G3506-Q1 , MSPM0G3507 , MSPM0G3507-Q1 , MSPM0G3518 , MSPM0G3518-Q1 , MSPM0G3519 , MSPM0G3519-Q1 , MSPM0H3216 , MSPM0L1105 , MSPM0L1106 , MSPM0L1117 , MSPM0L1227 , MSPM0L1228 , MSPM0L1228-Q1 , MSPM0L1303 , MSPM0L1304 , MSPM0L1304-Q1 , MSPM0L1305 , MSPM0L1305-Q1 , MSPM0L1306 , MSPM0L1306-Q1 , MSPM0L1343 , MSPM0L1344 , MSPM0L1345 , MSPM0L1346 , MSPM0L2227 , MSPM0L2228 , MSPM0L2228-Q1 , TPS62866 , TPS62868 , TPS62869 , TPS6286A06 , TPS6286A08 , TPS6286A10 , TPS6286B08 , TPS6286B10
At start-up, the software running in the MSP0L1306 begins by initializing the I2C read/write function and then configures the INA234 and TPS62868 via I2C. The MSPM0L1306 is then able to read the voltage, current and power in the load resistor from the INA234 using I2C and control the output voltage of the TPS62868 also via I2C.
The constant power control algorithm is described in the flow chart shown in Figure 5-1. The first step is to read the power INA234_getPOWER_W(INA234) through I2C and store it in the measuredP variable. The measured power is compared with the target power and a power error calculated.
The voltage change needed to correct the power error is calculated as the error scaled by a gain factor of 2. There is a limit applied to prevent excessive voltage changes; it is clamped to a range of ±5.
If the measured power is higher than the target power, the algorithm calculates a new voltage by decreasing the measured output voltage by the calculated voltage step. If the measured power is lower than the target value, the calculated voltage step is added to the measured output voltage. The output voltage of the TPS62868 is then adjusted by writing the new voltage value to the output voltage register via I2C.