|
@@ -177,6 +177,7 @@ void MC_RunInfo_Update(void)
|
|
|
MC_RunInfo.Power = ((uint32_t)MC_RunInfo.BusCurrent) * (((MC_MotorParam.Rate_Power & 0x07FF) * ((MC_MotorParam.Rate_Power >> 11) + 1)) >> 5) / (MC_ConfigParam1.CurrentLimit * 1000);
|
|
|
}
|
|
|
MC_RunInfo.Power = (MC_RunInfo.Power < 20) ? 0 : MC_RunInfo.Power;
|
|
|
+ MotorPowerFltSum += ((int32_t)(MC_RunInfo.BusCurrent >> 7) * (MC_RunInfo.BusVoltage >> 7) * 67 - MotorPowerFltSum) >> 4; //平均功率,2^14 / 1000000 * 2^12
|
|
|
|
|
|
//更新踏频方向
|
|
|
MC_RunInfo.CadenceDir = MC_CadenceResult.Cadence_Dir;
|
|
@@ -330,8 +331,12 @@ void MC_RunInfo_Update(void)
|
|
|
PowerAvg = 0;
|
|
|
else
|
|
|
PowerAvg = MC_AvgPower.PedalPowerSum / MC_RideLog.ODO_Time;
|
|
|
- MC_RideInfo.Cal_Trip = PowerAvg * 66 * MC_RideLog.TRIP_Time / 1000; //Cal = P * 1.1 * 3.6 * t(h)
|
|
|
- MC_RideInfo.Cal_Once = PowerAvg * 11 * MC_RunInfo.Ride_Time / 10000; //Cal = P * 1.1 * 3.6 * t(h)
|
|
|
+ MC_RideInfo.Cal_Trip = (PowerAvg * 135 * MC_RideLog.TRIP_Time) >> 11; //Cal = P * 1.1 * 3.6 * t(h)
|
|
|
+ MC_RideInfo.Cal_Once = (PowerAvg * 18 * MC_RunInfo.Ride_Time) >> 14; //Cal = P * 1.1 * 3.6 * t(h)
|
|
|
+ //电机平均功率
|
|
|
+ MC_RideInfo.MotorPowerAvg = MotorPowerFltSum >> 12;
|
|
|
+ //踩踏平均功率
|
|
|
+ MC_RideInfo.PedalPowerAvg = PedalPowerFltSum >> 10;
|
|
|
}while(0);
|
|
|
|
|
|
}
|