电机控制基础知识

电机控制基础知识 1.电机转动的力矩来自哪里1.1通电导体在磁场中受到力的作用电流产生的磁场与原有磁场相互作用产生了力的作用。导体内的自由电荷随导体一起切割磁感线运动运动方向不与磁场平行因此受到洛伦兹力的作用使导体在磁场中发生运动。洛伦兹力的公式为FQvB1.2通电导体在磁场中受到力的大小如何计算安培力大小的公式表述1如图甲所示当B与I垂直时FBIL.2如图乙所示当B与I成θ角时FBILsinθ.3当B与I平行时F0.2.如何根据洛伦兹力转动电机2.1直流有刷电机转动原理图示设计优化只采用一个电枢会使电机运行不规则还有可能在换向器缝隙中间的位置卡住。为了使电机更平稳快速地运转增加电枢数量和转子铁芯以及换向器数量为了提高电机转矩我们需要增强磁性已知缠绕的电线越多电磁铁磁性越强由此我们可以增强电枢的电线数量实际直流电机的样子直流电机的缺点是碳刷会磨损形成的碳尘粒可能会造成短路。此外直流电机噪音也比较大2.2无刷电机无刷电机基本模型相对于直流有刷电机而言驱动方式由物理换相变为电子换相如何知道转子位置在哪里呢六步换相的一些缺点六步换相产生的转矩波动较大可能导致噪音和振动BLDC和PMSM区别从研究历程上看从研制方波无刷电机基础上发展到正弦波无刷电机新一代的永磁同步电动机(PMSM)首先从结构上来说两者BLDC和PMSM的基本结构是一样的都是由永磁体作为转子和绕组作为定子组成的永磁电机。很多说法都是说集中绕组的是BLDC分布绕组的是PMSM但我并没有查阅到这个结论的准确出处。而且在多数的永磁电机设计书籍中PMSM是可以使用分布绕组和集中绕组这两种绕组形式的。通过转子的结构是表贴式(SMPM)还是内置式(IPM)来判断其实这两种都是永磁同步电机常用的转子结构。是区分这两种电机最直观的办法——通过分辨两种电机的反电动势波形和控制器的波形BLDC的反电动势并不完全是梯形波也很少能设计成完美的梯形波更多的是因为电机中的电感的存在使得BLDC的反电动势更接近正弦波。所以BLDC的控制器除了可以使用方波驱动也可以使用正弦波驱动。在通常情况下我认为有对转矩波动进行特殊优化的电机是PMSM(指的是工业用电机例如伺服电机即使使用的是集中绕组)而在说BLDC时指的是高功率密度的永磁电机(例如航模电机)总之在绝大多数情况下BLDC和PMSM没有真正意义上的区别至于为什么会有这种说法我认为是最初的时候PMSM是被设计为使用正弦波驱动而BLDC是由方波驱动(六步换向)为了优化效率和转矩波动电机的反电动势波形应该和电机驱动器的驱动波形相匹配。也正是因为这个设计让人有PMSM就是贵BLDC就是便宜的感觉3.如何让无刷电机转的更平滑呢3.1反电动势波形的启发按照前面的无刷电机基本模型假设我们拿到这样一个电机手动匀速转动它的转子然后用示波器观察它的三相输出电压也就是反电动势产生的电压会看到什么波形呢发电机反过来就是电动机啦所以假如反过来我们在三相无刷电机的三相线圈上输入上述三相正弦电压那么就可以驱动无刷电机平稳高效地旋转了。而这也是FOC驱动无刷电机的基本手段即通过计算所需电压矢量使用SVPWM技术产生调试信号驱动三相逆变电路合成出等效的三相正弦电压驱动电机。3.2如何开关MOS管形成三相正弦电压如果要平稳地驱动三相电机转动我们就需要生成三个相位相差120度的正弦波但是我们最终的控制对象是MOS管的开通和关断只有电压最大值和0值两个状态啊怎么去生成连续变化的正弦波呢3.2.1从三相正弦波出发SPWMSPWM就是这么干的如下图以此确定PWM的占空比变化规律这样合成的PWM波经过低通滤波器之后其实就等效为了一个正弦波因为要对于非线性的信号进行准确控制就要使用复杂的高阶控制器这对于建模成本、处理器算力、控制实时性等都是不利的。简单地说就是咱们控制器的反馈输入变量不是三个电流采样值嘛你要我稳稳地跟踪三个正弦波太麻烦啦能不能简单点跟踪一条直线常量啊3.2.2从空间电压矢量出发SVPWM3.2.2.1理解空间电压矢量如何理解空间电压矢量呢我们需要先回到三个相位相差120度的正弦波为什么输入三个相位相差120度的正弦波电机就能转起来呢其实啊我们把三相电压看作矢量会发现这三个电压矢量在空间中会合成了一个旋转的电压矢量这个电压矢量作用于三相绕组就有了空间磁场形成了一个空间旋转的磁铁带动着电机转子转动需要回答一下为什么可以把三相电压可以看作矢量三相电压实际在电机中就是有方向和大小的把三相电压可以看作矢量这与物理意义是相符的数学上的便利性来吧一起看下效果吧三相正弦电压空间矢量3.2.2.2将三相正弦波线性化又有小朋友要问了这明明是一个二维平面内的坐标系为啥要用3个坐标轴来表示呢这三个基向量是非正交的学过线性代数的同学可能会想到我们可以做一个很简单的基变换将其正交化为一个直角坐标系我们把新的直角坐标系命名为 α−β 坐标系变换公式如下这就是传说中的Clark变换来看看变换后的效果吧这样变换产生的磁场是等效的就是说以三相线圈的绕线方式等效于以α−β 坐标的绕线方式 对应施加对应的电压波形产生的磁场是等效的如果只是为了减小一个控制变量那这个变换/反变换操作显然有点多此一举。有趣的是我们还可以接着变换虽然 α−β 坐标系下少了一维变量但是新的变量还是非线性的正弦有没有办法把它们线性化呢我们明明已经直观的看到一个固定幅值的电压在空间中旋转我们引入一个同步旋转的坐标轴 d−q 坐标轴空间中的旋转电压矢量在d−q 坐标轴中两个分量就是两个线性的值d−q 坐标与α−β 坐标系是什么关系呢变换公式又是什么呢将 α−β 坐标系旋转 θ 度就是 d−q 坐标系其中 θ 是转子当前的角度以转子α轴重合时θ定义为0度这个 d−q 坐标系和转子同步旋转的或者换一种说法以d轴方向与转子内磁场方向重合称为直轴q轴方向与转子内磁场方向垂直称为交轴。以转子来建立坐标轴以转子的视角来看电压。这就是Park变换来看看变换后的效果吧3.2.2.3波线性化和建坐标轴的意义将非线性的电压变为线性的电压。三相电流也是这样处理的相互耦合的三相磁链解耦为容易控制的交轴 Iq 和直轴 Id 。从合成空间电压矢量目的来看Ud−Uq 坐标系中我们给定一个UqxUd0这代表着什么呢这代表着我们给出了一个与转子方向垂直的电压矢量垂直转子的磁场此时转子受到的转矩最大此说法未考虑反电动势谐波什么的影响。。Uq越大合成的空间矢量越大。从控制的角度来看我们要控制更高维度的例如力矩 转速 位移时不需要考虑我们要如何控制mos管如何控制空间矢量。我们只需要控制UqUd的大小然后由固定的转换方法去开关mos管固定的转换方法就包括我们正要讲的svpwmUqUd作用于电机去收敛力矩 转速 位移。3.2.2.4SVPWM算法SVPWMSpace Vector Pulse Width Modulation空间矢量脉宽调制SVPWM算法实际上计算的是上图所示逆变器的六个开关何时导通何时切断。SVPWM算法的输入是什么给定的UqUd如何让控制去控制mossvpwm算法的输入Uα Uβ 来自于UqUd的RevPARK变换SVPWM算法的输出是什么mos管的开关顺序3.2.2.4.1要解释清除SVPWM算法从输出端更好说起SVPWM算法实际上就是计算三相逆变器的六个开关何时导通何时切断。定义一个开关函数Sx(xa,b,c)Sa1代表A相上桥臂导通Sa0则代表下桥臂导通。同一个半桥不可能同时导通上下桥臂否则造成短路。故一共有8种组合例如对U4进行分析100根据串联分压可以计算得到最终计算8个电压矢量可以得到下表U4100合成的空间电压矢量在一个扇区内相邻电压矢量以及零矢量按照伏秒平衡的原则来合成该扇区的任意电压矢量只要合理的配置相邻两个基矢量和零矢量在一个周期中的占比就可以合成等效的任意空间电压矢量。假设在扇区一那么可以有如下推导我们可以看到输入是Uα Uβ 来自于UqUd的RevPARK变换已知如何T4 T6 T0 T7大小如何开关mos管效果最好呢合理插入两个零矢量并对零矢量在时间上平均分配使得产生的PWM对称有效降低PWM的谐波分量。4.FOC4.1什么是FOCFOC(Field Oriented Control)直译即为磁场定向控制又称为磁场矢量控制(VC, Vector Control)。FOC特点通过精确地控制磁场大小与方向使得电机的运动转矩平稳、噪声小、效率不高且具有高速的动态响应。那我们的上述章节讲的是什么如何去控制生成电压矢量。那讲了半天还不是没讲FOC那FOC是什么对所有电机的所有控制而言我们的控制入口只有一个就是只能控制Ud Uq通过Ud Uq作用于三相绕组产生电流电流才能产生磁场。不断变化的Ud Uq作用于三相绕组产生垂直于转子的磁场这样转矩才能最大效率也最高。4.2FOC框图foc控制可以分为如下循环步骤对电机三相电流进行采样得到ia、ibic将ia、ib、ic经过clarke变换得到iα、iβ将iα、iβ经过park变换得到iq、id计算iq、id和其设定值iq_Ref、id_Ref的误差将上述误差输入到两个PID只用到PI控制器得到输出的控制电压Vq、Vd将Vq、Vd进行反park变换得到Vα、Vβ将Vα、Vβ合成电压空间矢量输入SVPWM模块进行调制输出该时刻三个半桥的开关状态。4.3解释一下Id IqId Iq是以转子建立的坐标系我们从转子的视角来看Id Iq是电流也就是当前电机中的磁场其中 Iq 是我们需要的代表了转子旋转的力矩而 Id 是我们不需要的我们希望尽可能把它控制为0通过控制Ud Uq控制mos开关达到我们想要的Iq同时尽可能把Id控制为0FOC就是在做这样的一件事4.4SVPWM代码上的实现4.4.1方式一通过空间矢量合成计算例如扇区1中计算出T4 T6 T0 T7A项1的时间除以Ts就是A项mos管打开的时间4.4.2方式二Vα、Vβ处不用SVPWM而是直接ReClarke变换这样计算出来的Ua Ub Uc就是SPWM再叠加三角波注入的SPWM接近于SVPWM的控制效果