FOC控制所有公式

几个不明白的点:

        hall_timer_counter = timer_channel_capture_value_register_read(TIMER2,TIMER_CH_0)+1;


霍尔每次中断递增角度等于速度乘以时间,就是速度除以每次中断的频率;

        hall_theta_inc = (PI/3)/((float)hall_timer_counter/HALL_TIMER_FREQ_HZ)/MOTOR_PWM_FREQ_HZ;

//霍尔速度等于60度/T;霍尔计数/霍尔频率,相当于霍尔周期/霍尔频率=周期=T
        hall_speed = (PI/3)/((float)hall_timer_counter/HALL_TIMER_FREQ_HZ);


        hall_state = hall_get();
        if((hall_state > 0) && (hall_state <= 6))
        {
            hall_theta = hall_theta_tab[hall_state - 1] + PHASE_SHIFT_ANGLE;
//为什么加90度,霍尔的角度求出后是真实角度,需要加上90度转变为Q轴角度
        }

此图的作用:由于电机内部电感的作用,一般在三个下管都打开的时候进行 ADC 采样才
能采集到正确的相电流,也就i是为000时刻,一个周期内,下管才处于打开的状态;

FOC采集的电流有正负;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值