U(t)U(t) 是一个旋转的空间矢量,幅值不变,为相电压的峰值,且以角频率w=2πfw=2πf按逆时针方向旋转,其在三相坐标轴上的投影就是对应的三相正弦量。
FOC算法的优点有:
1、当负载变化时,速度响应快而且精确;
2、电机的瞬时效率高;
3、能实现位置控制;
FOC和PID调节的方式参考了
https://bbs.elecfans.com/jishu_546001_1_1.html
主要为先调试内环之后调试外环;
1、首先应该调试ADC和编码器,看是否可以得到正确的采样电流和编码器数值;
2、调试FOC算法中的SVPWM环节,认为的给定UαUα 和UβUβ 两个值,看电机是否运行,确保SVPWM没问题
3、 人为给定id,iqid,iq 参考值,通过实时采样电流,调节电流环的PID,调节的目标是启动响应速度足够快,平衡运行波动足够小,通过DAC输出实时的采样电流来进行观测调试(这里我直接在算法中让idid 为0,所以只给定iqiq 的值)。
4、人为给定速度,调试速度环PID,输出iqiq ,调节的目标是根据在足够宽的速度范围内平稳启动和运行。可以采用专家PID算法;
5、位置环调节,输出为速度,调节目标,从一个位置快速的到达另一个位置来回跑,停止静差足够小,速度增减足够快,即瞬时速度大且需要合理的根据位置路径的长度规划一个速度曲线。
注意:如果要达到较高的速度精度,可能需要针对不同的速度值设置不同的速度PID参数,且需要进一步实时的调节观测器、PLL及速度PID参数。
其他的一些知识总结:
FOC与DTC控制区别
(参考知乎一位大神的):
来源:
https://www.zhihu.com/question/265079828/answer/291686684
FOC(电机矢量控制)要求严格的转子磁场定向,对于BLDC电机而言转子磁场方向始终与转子位置一致,因此其控制输入需要准确的转子绝对位置信号
DTC(直接转矩控制)实际上与基于定子磁场定向,而定子磁场则是依据电压积分估算获得,在这个过程中跟转子位置没有关系,其控制过程中用到的量也都是静止坐标系下的量,因此DTC控制相比于FOC控制要简单很多,完全不需要求解三角函数、坐标变换,如果需要用DTC进行速度闭环则需要测量电机的速度,但是依然不需要准确的绝对位置。
总结下来,从硬件的角度DTC相比于FOC可以省略一个位置传感器!当然,现在有很多改进的DTC算法需要用到电机的绝对位置。
但是在电机控制中,无论是DTC控制还是FOC控制,最后倒要基于PID调节实现稳定控制。
市场上电调分类
1、FOC电调:矢量控制,效率高,转矩脉动小,电机噪音小,减速制动快
2、普通电调:六步换向控制,方波驱动
STM32有BLDC开发套件
BLDC电机控制算法:
PID控制,专家PID控制,模糊PID控制,神经PID控制,基于遗传算法整定的PID控制,鲁棒控制,滑膜控制等;
电机方面的知识:
1、根据《无刷电机控制系统》中所讲述:目前国内外对无刷直流电机的定义一般有两种:一种定义认为只有梯形波/方波无刷直流电机才可以称为无刷直流电机,而正弦波无刷电机则被称为永磁同步电机(Permanent Magnet Synchronous Motor,PMSM);另一种定义认为梯形波/方波无刷电机和正弦波无刷电机都是直流无刷电机。
2、直流电机的调速是用直流电压来控制,电压越高,转的越快,不过
单片机并不能输出可调的直流电压,于是只好变通采用PWM的方式来控制电机的输入电压。PWM占空比越高,等效电压就越高,当然单片机给出的PWM波形只是控制信号,而且最高电压只有5V,其能量并不足以驱动无刷直流电机,所以必须要再接一个功率管来驱动电机,功率管可以是MOSFET(场效应管),也可以是IGBT(绝缘栅双极晶体管)。
3、一般而言,电机的绕组数量都和永磁极的数量是不一致的(比如用9绕组6极,而不是6绕组6极),这是为了防止定子的磁极与转子的磁钢相互吸引对其,产生类似于步进电机的效果,此种情况下转矩会产生很大的波动。
4、外转子无刷直流电机比内转子电机要慢,但是力矩更大,例如四旋翼等可以不通过减速器直接驱动螺旋桨旋转。
5、无刷直流电机KV值定义为:转速/V,意思是输入电压每增加1V,BLDC电机空转转速增加的转速值。同系列同外形尺寸的无刷电机,根据绕线匝数的多少,会表现出不同的KV特性。绕线匝数多的,KV低,最高输出电流小,扭力大;绕线匝数少的,KV高,最高输出电流大,扭力小;
自己的一些经验:
1、计算角度信息一定要用电角度,而不能直接计算
2、电机的最高转速与电流和编码器采样频率也有一定关系;
本文转自网络,作者:
Jason Charles Bourne