Add powerfactor, testing needed
This commit is contained in:
parent
6195129baa
commit
6300314851
|
@ -178,7 +178,23 @@ void OvmsVehicleRenaultZoePh2::IncomingEVC(uint16_t type, uint16_t pid, const ch
|
|||
}
|
||||
case 0x300D: { // AC input current
|
||||
StandardMetrics.ms_v_charge_current->SetValue((float) (CAN_UINT(0) * 0.1), Amps);
|
||||
StandardMetrics.ms_v_charge_power->SetValue((float) (StandardMetrics.ms_v_charge_current->AsFloat() * StandardMetrics.ms_v_charge_voltage->AsFloat() * mt_main_phases_num->AsFloat()), kW);
|
||||
//Power factor measured with simple power meter, using later a Janitza UMG512 Class A power analyser to get more precision
|
||||
if (StandardMetrics.ms_v_charge_current->AsFloat() > 30.0f) {
|
||||
ACInputPowerFactor = 0.9;
|
||||
} else if (StandardMetrics.ms_v_charge_current->AsFloat() > 25.0f) {
|
||||
ACInputPowerFactor = 0.8;
|
||||
} else if (StandardMetrics.ms_v_charge_current->AsFloat() > 20.0f) {
|
||||
ACInputPowerFactor = 0.7;
|
||||
} else if (StandardMetrics.ms_v_charge_current->AsFloat() > 10.0f) {
|
||||
ACInputPowerFactor = 0.6;
|
||||
} else if (StandardMetrics.ms_v_charge_current->AsFloat() > 8.0f) {
|
||||
ACInputPowerFactor = 0.5;
|
||||
} else if (StandardMetrics.ms_v_charge_current->AsFloat() > 7.0f) {
|
||||
ACInputPowerFactor = 0.1;
|
||||
} else if (StandardMetrics.ms_v_charge_current->AsFloat() < 6.0f) {
|
||||
ACInputPowerFactor = 0.05;
|
||||
}
|
||||
StandardMetrics.ms_v_charge_power->SetValue((float) (StandardMetrics.ms_v_charge_current->AsFloat() * StandardMetrics.ms_v_charge_voltage->AsFloat() * mt_main_phases_num->AsFloat() * ACInputPowerFactor), kW);
|
||||
//ESP_LOGD(TAG, "300D EVC mt_main_current: %f", (CAN_UINT(0) * 0.1));
|
||||
break;
|
||||
}
|
||||
|
@ -204,7 +220,7 @@ void OvmsVehicleRenaultZoePh2::IncomingEVC(uint16_t type, uint16_t pid, const ch
|
|||
}
|
||||
case 0x2B8A: { // AC mains voltage
|
||||
StandardMetrics.ms_v_charge_voltage->SetValue((float) (CAN_UINT(0) * 0.5), Volts);
|
||||
StandardMetrics.ms_v_charge_power->SetValue((float) (StandardMetrics.ms_v_charge_current->AsFloat() * StandardMetrics.ms_v_charge_voltage->AsFloat() * mt_main_phases_num->AsFloat()), kW);
|
||||
StandardMetrics.ms_v_charge_power->SetValue((float) (StandardMetrics.ms_v_charge_current->AsFloat() * StandardMetrics.ms_v_charge_voltage->AsFloat() * mt_main_phases_num->AsFloat() * ACInputPowerFactor), kW);
|
||||
//ESP_LOGD(TAG, "2B8A EVC ms_v_charge_voltage: %f", (CAN_UINT(0) * 0.5));
|
||||
break;
|
||||
}
|
||||
|
|
|
@ -74,6 +74,7 @@ class OvmsVehicleRenaultZoePh2 : public OvmsVehicle {
|
|||
bool CarLastCharging = false;
|
||||
bool CarIsDriving = false;
|
||||
bool CarIsDrivingInit = false;
|
||||
float ACInputPowerFactor = 0.0;
|
||||
|
||||
protected:
|
||||
int m_range_ideal;
|
||||
|
|
Loading…
Reference in New Issue