|
|
@@ -154,6 +154,7 @@ bool mc_start(u8 mode) {
|
|
|
PMSM_FOC_SetErrCode(FOC_Throttle_Err);
|
|
|
return false;
|
|
|
}
|
|
|
+
|
|
|
pwm_up_enable(false);
|
|
|
|
|
|
_mc_internal_init(mode, true);
|
|
|
@@ -164,9 +165,14 @@ bool mc_start(u8 mode) {
|
|
|
PMSM_FOC_Start(mode);
|
|
|
PMSM_FOC_RT_LimInit();
|
|
|
pwm_turn_on_low_side();
|
|
|
- delay_ms(100);
|
|
|
+ delay_ms(10);
|
|
|
phase_current_offset_calibrate();
|
|
|
pwm_start();
|
|
|
+ delay_us(10); //wait for ebrake error
|
|
|
+ if (PMSM_FOC_GetCriticalError() != 0) {
|
|
|
+ mc_stop();
|
|
|
+ return false;
|
|
|
+ }
|
|
|
adc_start_convert();
|
|
|
phase_current_calibrate_wait();
|
|
|
if (phase_curr_offset_check()) {
|
|
|
@@ -557,6 +563,7 @@ void MC_Brake_IRQHandler(void) {
|
|
|
|
|
|
static void _pwm_brake_prot_timer_handler(shark_timer_t *t){
|
|
|
pwm_brake_enable(true);
|
|
|
+ sys_debug("MC protect error\n");
|
|
|
}
|
|
|
|
|
|
void MC_Protect_IRQHandler(void){
|