历史上的今天
今天是:2024年09月22日(星期日)
2018年09月22日 | 【STM32电机矢量控制】记录6——FOC运行流程
2018-09-22 来源:eefocus
坐标变换理论:
坐标变换理论可以降低马达方程的复杂性,利用坐标变换把定子及转子变量变换到一个旋转坐标系中,该坐标系的转速为角速度ω。
假设fax, fbx, fcx 为三相瞬时变量,位于相移120度的a,b,c坐标上,fqx, fdx, f0x 为其变换变量,位于正交坐标d,q上:

则,变换方程为:

3个变换方程用于矢量控制:
Clarke: ω=0, θ(0)=0 -> θ=0;
Park: ω=ωr, θ(0)=θr(0) -> θ=θr;
反Park: ω=-ωr , θ(0)= θr(0) ->θ=-θr
所以有:
Clarke将定子电流转变为静止直角参考坐标(称αβ坐标);
然后,Park将电流转变为按随机的速度旋转的坐标为(磁场定向控制,与转子同步);
反向Park变换使反电动势从旋转坐标(q, d)到静止坐标。
变换过程如下图:

Clark变换应用于定子电流:

Park变换应用于定子电流:
Park逆运算变换应用于定子电压:
程序的运行过程:
1、程序先通过 ADC 采样,对 BLDC 电机的 a、b 两相进行电流采样;
2、通过 Clarke() 函数将 a、b 两相电流转换为静止坐标系上的电流 Iα、Iβ ;
3、由 Park() 函数将电流 Iα、Iβ 和经 DAC 转换的旋转角度θ转化为电流 Iq、Id;
4、将电流 Iq、Id 的电流差输入到建立的 PI 控制器里,通过调节适当的 PI 控制系数输出最佳的旋转电压Vd、Vq;
5、用 Circle Limitation 来限制 Vd、Vq 的值以选择恰当的值;
6、用 Rev_Park()函数将旋转电压 Vd、Vq 转换为静止坐标系上的电压Vα、Vβ;
7、通过三电阻式相电流重构法将电压 Vα、Vβ ,重新建立为 BLDC 电机的三相电压 Ux、Uy、Uw 的大小;
8、用 SV_PWM 算法计算矢量及其分分扇区的扇区信息,通过控制 TIM 控制6个 MOSFET 管来控制各相电压方向以达到最后的控制目的。
主要完成任务:
1、梳理了 FOC2.0无霍尔 BLDC 电机程序的运行过程
2、对 Clark、Park、Park 逆运算进行进一步理解
史海拾趣
|
现在我把代码贴一下。代码不知道哪里有问题。现在问题是写不进去。I2CReceiveACK函数中SDA_IN一直为1 ,也就是SDA线P3.1一直为高,所以一直停在那里。 //使用MSP430F2618 完成该功能,P3.2 作为SCL,P3.1 作为SDA EEPROM型号为24LC64 #define SDA ...… 查看全部问答> |
|
我把AD转换和结果显示放进一个while(1)的死循环,结果显示出现第一个数码管很亮,后面的数码管都很暗很暗,而且显示数值永远不变,如果不把AD转换函数和显示函数放进死循环,整个程序只进行一次AD转换一次显示就不会这样了,为什么? 我用的显示是 ...… 查看全部问答> |
|
某地铁利用嵌入式控制十字转门,投入2个代币,转门开启。要求: a:画出该系统的FSMD状态图; b:将该FSMD分为FSM和数据路径; c:利用真值表导出FSM的逻辑,并使用卡诺图简化逻辑; d:给出FSM和数据路径连接图;… 查看全部问答> |
|
我用PIC18F248做CPU想与PC机实现RS232通讯,现在PIC18F248发出去的数据是对的, 但是收不到PC机发过来的数据! 我用了MAX232A做PC机与PIC18F248的接口,现在MAX232A不管是否接收PC机RS232的数据 都只发给PIC18F248一个连续的5V电平,我也用示波器看了 ...… 查看全部问答> |
|
1.编译用模拟器,那请问生成的程序在哪里呢? 2.比如我想调用个XML,可是CE里面没有啊,我怎么把文件传导到CE中呢?连接的话找不到模拟器模拟出来的CE系统啊?… 查看全部问答> |
|
因为某些原因,现在压力比较大,希望哥哥们多多顶贴,多多支持,多多讨论。早日得到解脱!偶喜欢逆变,现在非常发烧,做过不少版本的DC-DC DRIVER,总觉得不够满意,趁工作之余,翻查资料,总结前辈经验,班门弄斧的整了一款DC驱动板,使用入门级电 ...… 查看全部问答> |
|
这个板子跟上次的上半部分很像,都是仿真器,这个确实是个很好的东西,有这个就值了... 看了下介绍和datasheet,这个次的还真不是盖的,性能优异 而且下面有两个无线模块的扩展接口,还有一个跟MSP430F5438的通信接口,这个对今后的学习 ...… 查看全部问答> |




