Phase advance bug fix and default configuration change

This commit is contained in:
Benjamin Vedder 2015-02-24 21:38:53 +01:00
parent b3f8e3aa39
commit ace760a4fd
2 changed files with 6 additions and 2 deletions

View File

@ -38,8 +38,8 @@
// Sensorless settings
#define MCPWM_IS_SENSORLESS 1 // Use sensorless commutation
#define MCPWM_MIN_RPM 250 // Auto-commutate below this RPM
#define MCPWM_CYCLE_INT_LIMIT_MIN_RPM 900.0 // Minimum RPM to calculate the BEMF coupling from
#define MCPWM_MIN_RPM 150 // Auto-commutate below this RPM
#define MCPWM_CYCLE_INT_LIMIT_MIN_RPM 1100.0 // Minimum RPM to calculate the BEMF coupling from
#define MCPWM_CYCLE_INT_LIMIT 62.0 // Flux integrator limit 0 ERPM
#define MCPWM_CYCLE_INT_LIMIT_HIGH_FAC 0.8 // Flux integrator limit percentage at MCPWM_CYCLE_INT_START_RPM_BR ERPM
#define MCPWM_BEMF_INPUT_COUPLING_K 600.0 // Input voltage to bemf coupling constant

View File

@ -1275,6 +1275,10 @@ static msg_t rpm_thread(void *arg) {
rpm_dep.cycle_int_limit_max = rpm_dep.cycle_int_limit + (float)ADC_Value[ADC_IND_VIN_SENS] *
conf.sl_bemf_coupling_k / conf.sl_min_erpm_cycle_int_limit;
if (rpm_dep.cycle_int_limit_running < 1.0) {
rpm_dep.cycle_int_limit_running = 1.0;
}
if (rpm_dep.cycle_int_limit_running > rpm_dep.cycle_int_limit_max) {
rpm_dep.cycle_int_limit_running = rpm_dep.cycle_int_limit_max;
}