本帖最后由 Angus 于 2024-9-15 16:05 编辑
新唐M451 无感FOC 代码,做MTPA控制。
先介绍一下理论。文字中的符号, 要显示出来,必须单独上传图片,为了省事,我只好先写成 word 文件,再截成一个大图片上传了。
电流分量代入转矩公式,得
MTPA 控制就是给定电流Is,求角度等于多少时,转矩最大。求导=0得
解这个一元二次方程,得
不同Is对应的超前角可做一个折线。假如最大工作电流是32A,做8个点,4A一个点。算出N = 8*Is/32=Is/4 (取整),则Is对应的超前角在点[ N], [N+1 ]之间,按下式做一个线性计算就可得到角度
M451的无感FOC 代码,起转时Id=0,起转成功能后,第277行代码,切同步前把超前角 Angle_Fai 写成 0,如果以后不再改这个超前角,就是 Id=0 控制。
若要做 MTPA 控制,就在 SysTick 中断里、转速 PI 运算得出 Is 后,再查表求出超前角 Angle_Fai就可以了,求 Iq,Id的代码已写好。
|