foc算法框架
1:采样电机相电流
2:经过clarke变换将三相定子坐标电流变换为两相的定子坐标电流
3:经过Park变换将静止的坐标电流,改为转子坐标电流,生成Id,Iq电流,(这一步转换的转子角度使用的上一个周期观测出来的角度)
4:将计算出来的Id,Iq电流,与参考电流进行pi运算,输出一个Vq,Vd电压,(这里电流环输出的结果是电压是因为svpwm模块控制的6个pwm的占空比,所以根据电压来设置合成矢量的占空比)
5:根据Id,Iq电流,Vq,Vd电压观测出角度
6:将Vq,Vd电压用新观测出来的角度进行Park逆变换,再Clarke逆变换生成aV,bV,cV三相电压
7:经过svpwm模块,根据在哪一个扇区的计算出三相pwm的时间(占空比),输出对的矢量电流
二:相电流采样
相电流采样一般为单电阻采样或者双电阻采样,根据基尔霍夫定律Ia+Ib+Ic=0,重构出相电流
1:单电阻采样:
2:通常配置为pwm的比较器触发ADC采样相电流,以单电阻方案来说,采样电流需要在特定的时间点采样,并且需要根据所在的扇区进行电流重构
扇区1:
在扇区1采样到的电流就为C相电流和A相电流。
那为什么要用比较器触发电流采样呢,在上图中将比较器触发ADC采样相电流的时刻为后半周期pwm3h高电平结束时刻和pwm2H后半周期高电平结束时刻,这时比较器设置为 pwm3h,pwm2H的周期时间,与这两个pwm的计数器比较。但是需要根据不同的扇区来切换比较器跟哪个pwm的计数器作比较。
也就是说一个周期采2次电流,采样时刻还要跟着变换,然后采到的电流还会根据不同扇区变(有点复杂啊?)
当然mos导通关断的时刻会有震荡,所以需要要有点采样延时来避开震荡
3:观测区域和不可观测区域
在单电阻方案中,在低调或者换扇区的时候会出不可观测区,比如
双电阻:
双电阻的采样方案就没有那么复杂,采样时刻直接在V000时刻,而且两个电阻,一采就是两相,可以直接重构。
双电阻采样他的非观测区也是由两部分组成:扇区过渡区、高压调制区;落在非观测区的电压矢量它的基本矢量V000的作用时间过短,导致无法采集到准确的相电流进行重构。
所以采用双电阻电流重构方法的话,通常会约束电压最大相占空比在95%左右(可根据Tmin进行调整,不一定时95%),保证电流采样有充足的空间。
记录一下笔记,有错误欢迎指出
有些图片引用了这篇文章,也很不错