赞
踩
`
一、stm32 FOC从零学习开发(一)FOC概念
二、stm32 FOC从学习开发(二)Clark变换与MATLAB仿真
三、stm32 FOC从学习开发(三)park变换与MATLAB仿真
四、stm32 FOC从学习开发(四)svpwm算法(1)
五、stm32 FOC从学习开发(五)svpwm算法(2)
六、stm32 FOC从学习开发(六)基于均值零序分量注入的载波SVPWM算法
七、stm32 FOC从学习开发(七)svpwm算法MATLAB仿真
八、stm32 FOC从学习开发(八)PID基础MATLAB仿真
九、stm32 FOC从学习开发(九)FOC MATLAB仿真
FOC是Field Oriented Control的缩写,FOC(field-oriented control)为磁场导向控制,又称为矢量控制(vector control),是一种利用变频器(VFD)控制三相电机的技术,利用调整变频器的输出频率、输出电压的大小及角度,来控制电机的输出。由于处理时会将三相输出电流及电压以矢量来表示,因此称为矢量控制。
FOC是目前无刷直流电机(BLDC)和永磁同步电机(PMSM)高效控制的最优方法之一。FOC旨在通过精确地控制磁场大小与方向,使得电机的运动转矩平稳、噪声小、效率高,并且具有高速的动态响应。
关于foc的基础知识网上教程也比较多,包含电机原理,BLDC和PMSM原理,左手定则,右手定则,安培定则等等,拥有基本的高中知识就可以看懂,我也就不在这重复造轮子了,推荐稚晖君在知乎的回答:https://zhuanlan.zhihu.com/p/147659820
从图中来一点一点分析,首先是当给定一个转速进来的时候,先经过转速环PI调节器,再经过电流环PI调节器,给出要运行的d、q值,至于d、q值就是经过park变换后的旋转坐标系矢量,可能刚开始看FOC的同学先接触到的就是Clark变换和park变换,但根据流程来看首先用到的其实是反park变换,得出来alpha和beta,也就是晶旋转坐标系的矢量转换为直角坐标系的矢量,再经过SVPWM算法计算出三相的PWM波形,才能够被逆变器所识别,这里逆变器其实就是相当于一个电流放大器,将生成的PWM波形放大成能够驱动电机的电流,就可以带动电机运转了。
但到这里还没完,这是第一个波形,电机只是接受到电流了,要怎么运转还是要看电流环与速度环的PID 控制,实际这里只用到PI控制就够了。电机将生成的hall信号或者编码器信号反馈给电流环,经过PID控制调节输出的d、q,同时电机将生成的速度反馈给速度环,也经过PID控制输出响应的速度给电流环,就又回到了第一个流程。如此循环往复,点机就转起来了。
1、采集到两相电流
2、经过clarke变换后得到两轴正交电流量,
3、经过旋转变换后得到正交的电流量 Id、Iq,其中Iq与转矩有关,Id与磁通有关。在实际控制中,常将Id置为0。得到的这两个量不是时变的,因此可以单独的对这两个量进行控制,类似直流量控制一样。而不需要知道具体要给电机三相具体的电压为多少。
4、将第3步中得到的Iq与Id量分别送进PI调节器,得到对应的输出Vq和Vd;
5、通过传感器得到电机转过的角度。
6、进行逆park变换,得到二轴电流量。
7、对第6步中的Va,Vb进行逆clarke变换,得到实际需要的三相电压输入给逆变电桥,驱动电机转动。
现在我也是在边学习边进行写作,有什么错误或遗漏的地方敬请各位大佬指出,我也可能有理解不到的地方,后续系列会进行陆续更新。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。