- 前几天大致学习了freertos实时操作系统的一些相关知识,了解了任务调度、信号量、互斥量、消息队列、消息邮箱、内存管理的一些概念。
- 学习了嵌入式中的一些C语言的概念,关键字、数据类型、内存管理、预处理机制等一些相关概念,加深了对于嵌入式C语言的理解。
- 之后找时间具体总结一下Freertos和C语言相关的语法。
接下来准备把精力集中在电机控制上,具体研究电机控制的相关算法。
先把之前学过的电机控制的相关理论总结一下。
一、永磁同步电机和直流无刷电机、
ref:link
1、电机属性
现代电机与控制技术以电流驱动模式的不同将永磁无刷直流电动机分为两大类:1)方波驱动电机,也即无刷直流电机(BLDC);2)正弦波驱动电机:也即永磁同步电机(PMSM)。
2、相同点
- 它们的电动机都是永磁电动机,转子由永磁体组成基本结构,定子安放有多相交流绕组;
- 都是由永久磁铁转子和定子的交流电流相互作用产生电机的转矩;
- 在绕组中的定子电流必须与转子位置反馈同步;
- 转子位置反馈信号可以来自转子位置传感器,或者像在一些无传感器控制方式那样通过检侧电机相绕组的反电动势等方法得到。
3、不同点
- 反电势不同, PMSM具有正弦波反电势,而BLDC具有梯形波反电势;
- 定子绕组分布不同, PMSM采用短距分布绕组,有时也采用分数槽或正弦绕组,以进一步减小纹波转矩;而BLDC采用整距集中绕组。
- 运行电流不同,为产生恒定电磁转矩,PMSM为正弦波定子电流; BLDC为矩形波电流。
- 永磁体形状不同, PMSM永磁体形状呈抛物线形,在气隙中产生的磁密尽量呈正弦波分布;BLDC永磁体形状呈瓦片形,在气隙中产生的磁密呈梯形波分布。
- 运行方式不同, PMSM采用三相同时工作,每相电流相差120°电角度,要求有位置传感器。BLDC采用绕组两两导通,每相导通120°电角度,每60°电角度换相,只需要换相点位置检测。正是这些不同之处,使得在对PMSM和BLDCM的控制方法、控制策略和控制电路上有很大差别。
二、BLDC电机控制
将360度分成六个扇区,通过霍尔传感器采集电机位置信息,然后两两接通三相绕组,进行六步换相。
三、有感FOC电机控制
1、坐标变换
- clark变换:三相旋转坐标转换为两相旋转坐标
- park变换:两相旋转坐标转换为两相静止坐标
- 反park变换:两相静止坐标转换为两相旋转坐标
这里先不放具体公式推导的内容了,只做整体性的介绍,详细推导参考下面的文章;
坐标变换及SVPWM换相详细:link
控制流程:
- 测量电机运行时三相定子电流,可得到Ia、Ib、Ic。将三相电流通过 Clark 变换至两相电流Iα和Iβ;
- Iα和Iβ通过Park变换得到旋转坐标系下的电流Id和Iq 。在电机达到稳定状态时,Id和Iq 是常量。此时所使用的转子位置为上一次迭代计算出来的角度值;
- Id的参考值决定了电机转子磁通量,Iq 的参考值决定了电机的转矩输出大小,二者各自的实际值与参考值进行比较得到的误差,作为电流环 PI 控制器的输入。通过PI控制计算输出得到Vd和Vq, 即要施加到电机绕组上的电压矢量;
- Vd和Vq 经过 Park 逆变换到两相静止坐标系上。该计算将产生下一个正交电压值 Vα、 Vβ。再采用 SVPWM 算法判定其合成的电压矢量位于哪个扇区,计算出三相各桥臂开关管的导通时间。最后经过三相逆变器驱动模块输出电机所需的三相电压。
2、SVPWM算法
SVPWM是空间矢量脉宽调制(Space Vector Pulse Width Modulation)的简称,通常由三相逆变器的六个功率开关管组成,经过特定的时序和换相所所产生的脉冲宽度调制波,最终输出的波形可能会十分接近理想的正弦波形。具体如下图所示;左侧为复平面,即空间矢量,右侧为时域的正弦波形;