发帖数

54

原创数

54

关注者

19

阅读数

22447

点赞数

5

赵云

  • 归一化在电机控制中究竟有什么用?

    哈喽,大家好,今天我们来了解一下归一化在电机控制中的作用,那么首先我们需要先了解一下归一化的概念,这样才能更好的了解电机控制中为什么会经常用到归一化。

    归一化就是将一个数据变换到(0,1)或者(-1,1)之间的小数,这样的话把数据范围都统一了,在一些算法处理中会更加方便,容易理解。

    下面,我们举两个例子,这样可以更好的理解归一化,假设某个数据的变化范围是[0,1023],那么我们知道这个数据范围的最小值(xmin)是0,最大值(xmax)是1023,若我们得到的一个数据为x,那么归一化的方式就可以表示为:

    1.png 

    如果x=1023,那么此时对1023归一化之后的结果为:

    2.png 

    如果x=500,那么此时对500归一化之后的结果为:

    3.png 

    接着我们再来看如果某个数据的变化范围是[-1023,1023],那么对于大于0的部分的归一化方式跟上面一致,归一化公式还是如下:

    4.png 

    对于小于0的部分[-1023,0],归一化方式就可以表示为:

     5.png 

    假设得到的数据x是-1023,那么可以得到此数据对应的归一化值为:

    6.png 

    假设得到的数据x是-500,那么可以得到此数据对应的归一化值为:

    7.png 

    通过以上实例分析,我们知道了归一化的实际实现方式,当我们有其它数据需要归一化时,就可以很容易的得到对应的归一化值。

    在电机控制中,我们会对电角度进行归一化,我们都知道电角度的变化范围是0至360度,或者-180至180度,那么,同样我们也有两种归一化方式,对于用0-360度范围表示的电角度来说,归一化方式如下:

    8.png 

    如果输入的角度是360度,那么得到的归一化值为1,如果输入的角度是180度,那么归一化值就是0.5,其它角度可以根据上面的角度归一化公式进行计算,这样对于0至360度范围的值就可以变化到0至1范围内了。

    对于-180至180度范围表示的电角度来说,归一化的方式如下:


    9.png

    如果输入的电角度是180度,那么得到的归一化值为1,如果输入的电角度是-60度,那么得到的归一化值为-0.333333333,这样对于-180至180度范围的值就可以变化到-1至1范围内了。

    归一化弄清楚之后,通过归一化,可以得到0至1或者-1至1之间的小数了,但是在电机控制中,大多数的单片机都没有浮点运算单元,而电机控制的算法中会用到大量的乘法运算,如果对于没有浮点运算单元的单片机来说,直接使用进行小数乘法或者小数除法,那么计算一个小数乘法或者计算一个小数乘法需要花费的时间是很长的。

    假设我们整个电机控制算法全部执行完毕需要的时间是30us,那么如果一个小数乘法或者除法运算就花费了几微秒或者几十微秒,整个电机控制算法的就可能无法在30us以内完成了,那么对于一款没有浮点运算单元的单片机来说,又想实现小数乘法或者小数除法应该怎么做呢?

    其实大部分的单片机有整数乘法,如果我们把小数乘法转化为整数形式乘法,那么也是可以实现小数乘法运算的,而且整数乘法运算的速度是比较快的,大部分的单片机都是单指令周期就可以实现,那么怎么实现把小数乘法转换为小数乘法呢?

    接下来我们就要引入定点小数格式了,先给大家介绍一下定点小数格式的表示方法。

    定义为:约定单片机中所有数据的小数点位置是固定不变的。数据的最高位表示符号位,小数点是隐含在符号位之后的。这种格式通常被称为1.15Q15格式,1.15中的1表示数据整数部分的位数,而15表示小数部分的位数。

    下面用一个图示给大家说明下这个定点小数的数据格式啊。

    10.png 

    大家看这幅图啊。Q15格式的话,就是对于一个16位数来说,把最高位作为符号位,然后小数点是隐含在符号位后面的,剩余的15位作为数据位。

    我们不妨根据上面这个数据格式来举例说明一下小数跟定点小数格式的转换方式,假设有一个数为0.5,那么对应的定点小数格式表示就是:

    11.png 

    对应的16位数据格式的16进制表示为0x4000,十进制表示为16384。也就是说,对于-1至1范围的小数来说,16384表示0.5。

    我们再假设有一个数据为-0.3,那么通过定点小数格式表示为:

    12.png 

    计算的方式为:

    微信图片_20211013110810.png 

    上图对应的16位数据格式的16进制表示为0xD99A,十进制表示为-9830。也就是说,对于-1至1范围的小数来说,-9830表示-0.3。

    以上是-1至1之间小数(有符号小数)的定点小数格式表示方式,那么在电机控制中有时还会用到无符号小数(0至1之间的小数),这个时候其实就是将Q15格式表示中的符号位去掉,所有的位都表示数据位,具体表示方式如下图所示:

     13.png

    我们不妨也对这种表示方式举个具体的例子来说明一下,假设小数为0.5,那么对应定点小数格式就表示为:

     14.png

    上图对应的16位数据格式的16进制表示为0x8000,十进制表示为32768。也就是说,对于0至1范围的小数来说,32768表示0.5。

    假设得到的小数为0.7,那么对应定点小数格式就表示为:

    15.png 

    计算的方式为:

    18.png 

    上图对应的16位数据格式的16进制表示为0xB333,十进制表示为45875。也就是说,对于0至1范围的小数来说,45875表示0.7。

    那么通过以上分析,我们知道了如何将一个小数表示为定点小数(整数)格式,经过这样的表示后,在我们程序编写中,就很好实现一个小数乘法了,最后给大家总结一下将小数转换为整数表示及将整数表示的小数转换为实际的小数对应的公式:

    ① 有符号小数负数部分转换为整数形式表示公式:

    16位有符号数定点小数值 = 对应的小数 * 32768

    ② 无符号小数转换为整数形式表示公式:

    16符号数定点小数值 = 对应的小数 * 65536

    ③ 有符号整数形式定点小数转换为实际小数表示公式:

    实际小数值 = 16位有符号数定点小数值 / 32768

    ④ 无符号整数形式定点小数转换为实际小数表示公式:

    实际小数值 = 16位有符号数定点小数值 / 65536

    好了,那么本次文章就给大家分享到这里了,如果大家后期想关注更多的电机驱动方面的知识,可以持续关注我们张飞实战电子,谢谢大家!


    收藏 1 回复 0 浏览 207
  • 编码器的分类及增量式光电编码器的工作原理

    一、编码器介绍

    编码器是一种传感器,主要是用来检测机械运动的速度、位置、角度、距离或计数,它是一种集光、机、电为一体的数字化检测装置,它具有分辨率高、精度高、结构简单、体积小、使用可靠、易于维护、性价比高等优点。

    近些年来,它发展为一种成熟的多规格、高性能的系列工业化产品,在数控机床、机器人、雷达、光电经纬仪、地面指挥仪、高精度闭环调速系统、伺服系统等诸多领域中得到了广泛的引用。

    那么,光电编码器可以定义为:一种通过光电转换,将输至轴上的机械、几何位移量转换成脉冲或数字量的传感器,它主要用于速度或位置(角度)的检测。比较典型的光电编码器由码盘(Disk)、检测光栅(Mask)、光电转换电路(包括光源、光敏器件、信号转换电路)、机械部件等组成。

     

    二、编码器的分类

    对于编码器的分类,可以用下图一的结构来表示:

    1.png 

    图一:编码器的分类

    上图一所示的分类只是其中一种分类方法。另外,按照编码器运动部件的运动方式来分,可以分为旋转式和直线式两种。根据检测原理,编码器可以分为光学式、磁式、感应式和电容式。旋转式光电编码器容易做成全封闭型式,易于实现小型化,传感长度较长,具有较长的环境适用能力,因而在实际工业生产中得到广泛的应用。

     

    三、编码器中常用的术语

    1、输出脉冲数/转

    旋转编码器转一圈所输出的脉冲数,对于光学式旋转编码器,通常与旋转编码器内部光栅的槽数相同(也可在电路上使输出脉冲数增加到槽数的2倍,4倍)。

    2、分辨率

    分辨率表示旋转编码器的主轴旋转一周,读出位置数据的最大等分数。绝对值型不以脉冲形式输出,而已代码形式表示当前主轴位置(角度)。与增量型不同,相当于增量型的“输出脉冲/转”。

    3、光栅

    光学式旋转编码器,其光栅有金属和玻璃两种。如果式金属制成的,会开有通光孔槽;如果是玻璃制成的,是在玻璃表面涂了一层遮光膜,在此上面设有透明线条(槽)。在槽数少的场合,可以在金属圆盘上用冲床加工或腐蚀法开槽。在耐冲击型编码器上使用了金属的光栅。玻璃制的与金属制的光栅相比不耐冲击,因此在使用上请注意,不要将冲击直接施加于编码器上。

    4、最大响应频率

    是在1秒内能响应的最大脉冲数(例:最大响应频率为2KHz,即1秒内可响应2000个脉冲),公式如下:

    最大响应转速(RPM)/ 60 *(脉冲数/转)=输出频率Hz

    5、最大响应转速

    是指可响应的最高转速,在此转速下发生的脉冲都可响应,公式如下:

    最大响应频率(Hz)/ (脉冲数/转) * 60 = 轴的转速RPM

    6、输出电压

    是指输出脉冲的电压。输出电压会因输出电流的变换而有所变化。

    7、格雷码

    格雷码是高级数据,因为是单元距离和循环码,所以很安全。每步只有一位变化。数据处理时,格雷码必须转换成二进制码。

    8、转速

    改速度指示编码器的机械载荷限制。如果超出该限制,将对轴承使用寿命产生负面影响,另外信号也可能中断。

     

    四、增量式编码器的工作原理

    1、基本构造及特点

    增量式光电编码器的特点是没产生一个输出脉冲信号就对应于一个增量位移,但是不能通过输出脉冲区别出在哪个位置上的增量。它能够产生与位移增量等值的脉冲信号,其作用是提供一种对连续位移量离散化或增量化以及位移变化(速度)的传感方法,它相对于某个基准点的相对位置增量,不能够直接检测出轴的绝对位置信息。一般来说,增量式光电编码器输出A、B两相互差90读电角度的脉冲信号(也即是两组正交输出信号),从而可以方便地判断出旋转方向。同时还有用作参考零位的Z相标志(指示)脉冲信号,码盘每旋转一周,只发出一个标志信号。标志脉冲通常用来指示机械位置或对积累量清零。

    增量式光电编码器主要由光源、光栅板(码盘)、固定光栅(检测光栅)、光敏管(光电检测器件)和转换电路组成,如下图二所示:

    2.png 

    图二:增量式光电编码器的组成

    在光栅板上刻有节距相等的辐射状透光缝隙,相邻两个透光缝隙之间代表一个增量周期;检测光栅上刻有A、B两组与光栅板相对应的透光缝隙,用以通过或阻挡光源和光电检测器件之间的光线。它们的节距和码盘上的节距相等。并且两组透光缝隙错开1/4节距,使得光电检测器件输出的信号在相位上相差90度电角度。当码盘随着被测轴转动时,检测光栅不动,光线透过码盘和检测光栅上透过缝隙照射到光电检测器件上,光电检测器件就输出两组相位相差90度电角度的近似于正弦波的电信号,电信号经过转换电路的信号处理,可以得到被测轴的转角或速度信息。增量式光电编码器输出信号波形如下图三所示:

    3.png 

    图三:增量式光电编码器的输出信号波形

    2、作用原理

    A、B两点对应两个光敏接受管,A、B两点间距为S2,角度码盘的光栅间距分别为S0和S1。当角度码盘以某个速度匀速转动时,那么可知输出波形图中的S0:S1:S2比值相同,同理角度码盘以其它的速度匀速转动时,输出波形中的S0:S1:S2比值与实际图的S0:S1:S2比值仍然相同。增量式光电编码器内部工作原理示意图如下图四表示:

    4.png 

    图四:增量式光电编码器内部工作原理

    如果角度码盘做变速运动,把它看成多个运动周期的组合,那么每个运动周期输出波形图中的S0:S1:S2比值与实际图的S0:S1:S2比值仍然相同。通过输出波形我们可知每个运动周期的时序图如下图五表示:

    5.png 

    图五:时序图

    我们把当前的A、B输出值保存起来,与下一个A、B输出值做比较,就可以轻易的知道角度码盘的运动方向,如果光栅S0等于S1时,也就是S0和S1弧度夹角相同,且S2等于S0的1/2,那么就可得到此次角度码盘运动位移角度为S0弧度夹角的1/2,除以所消耗的时间,就可以得到此次角度码盘运动位移角速度。

    以上就是增量式光电编码器的工作原理。那么本篇文章就给大家介绍这么多,后面有机会再给大家介绍绝对式编码器的组成及其工作原理。

    收藏 0 回复 0 浏览 209
  • 无刷直流电机基础知识总结

    今天给大家分享下电机控制中需要了解的一些基础知识,供大家参考学习。

    一、三个基本定则

    1.左手定则

    左手定则是用来判断一个通电导体在磁场中受力方向的。具体受力方向如何判断,如下:

    1)伸开左手,使大拇指和其余四指垂直;

    2)手心面向N极,四指顺着电流的方向,那么大拇指所指方向就是导体受力方向。

    力的大小计算公式为:F =    BILsinθ,其中B 为磁感应强度(单位 T),I 为电流大小(单位 A),L 为导体有效长度(单位 m),F 为力

    的大小(单位 N),θ 为: B I 的夹角。左手定则示意图如下图一所示:



    1.png 

    图一:左手定则受力方向判断示意图

    2.右手定则

    由于通电导体的运动会切割磁感线,此时就会产生感应电动势,那么感应电动势的方向就可以用右手定则进行判定。右手定则具体内容如下所示:

    右手平展,使大拇指与其余四指垂直,并且都跟手掌在一个平面内。把右手放入磁场中,让磁感线从掌心进入(当磁感线为直线时,相当于手心面向N极),大拇指指向导线运动方向,则四指所指方向为导线中感应电流(感应电动势)的方向。

    感应电动势的大小可以通过公式E = vBLsinθ进行计算,其中v 为导体的运动速度(单位 m/s),B 为磁感应强度(单位 T),L 为导体长度(单位

    m),θ B L的夹角。右手定则判定方向示意图如下图二所示:



    2.png


     

    图二:右手定则感应电动势方向判断示意图

    3.右手螺旋定则

    通电螺线管中流过电流时,会产生磁场,产生的磁场方向可以通过右手螺旋定则来进行判定。具体法则为:右手握住通电螺线管使四指弯曲




    与电流方向一致,大拇指所指的那一端就是通电螺旋管的 N 极。





    右手螺旋定则判定示意图如下图三所示:




    3.png 


    图三:右手螺旋定则判定磁场方向示意图


    我们都知道,如果我们将一个小磁针放入磁场中,那么小磁针N方向的转动方向是往静止磁场的N方向转动,也就是说,当把小磁针放入磁场中时,静止后,小磁针的N方向跟磁场的N方向是一致的。

    静止时刻的方向示意图如下图四所示:


    4.png 

    图四:小磁针静止时的指向



    二、电机基本概念

    1.电机

    电机(英文:Electric machinery,俗称马达)是指依据电磁感应定律实现电能转换传递的一种电磁装置。下图所示为直流无刷电机。

    5.png 

    图五:直流无刷电机



    2.转子



    电机工作时转动的部分称为转子。下图六所示为转子为永磁体的外转子电机转子结构。





    6.png 


    图六:转子示意图





    3.定子和绕组

    电机工作时不转动的部分称为定子如下图七所示为外转子无刷电机的定子示意图,定子结构上绕制了线圈。绕组就是定子上的线圈,通电后就会形成一定的磁场,从而推动转子旋转


    7.png 



    图七:定子示意图





    4.内转子电机





    转子在定子内部,示意图如下图八所示:



    8.png







     

    图八:内转子电机示意图





    5.外转子电机






    转子在定子外部的电机称为外转子电机,如下图九为外转子电机示意图:






    9.png 




    图九:外转子电机示意图



    6.极数与极对数

    极数是N极,S级的总数,一般都是指永磁体的磁极数,下图十所示的电机有6极。极对数是 一个南极(S极) ,一个北极(N极) ,算一对磁极极对数=级数÷2,下图十所示的电机有3对极。

    10.png 

    图十:极数及极对数介绍示意图


    7.机械角度与电角度

    机械角度就是数学中的“空间几何角度”,恒等于360度。电角度指磁场每转过一对磁极,导体的电动势变化一个周期,定义一个周期为360°电角度。

    电角度=机械角度*极对数

    若电机有K对极,那么整个定子内圆有K*360°电角度,右图电机有4对极,因此一圈是360°机械角度,1440°电角度

    11.png 

    图十一:机械角度与电角度介绍示意图

    8. KV值

    KV值是指输入电压每增加 1 伏特,无刷电机空转转速增加值,转速=KV*电压。比如KV=1000,那么当输入电压10V时,空转转速就是10000rpm  (rpm=转/分钟)。同系列同外形尺寸的无刷电机,根据绕线匝数的多少,会表现出不同的 KV 特性。绕线匝数多的,KV 值低,最高输出电流小,扭力大;绕线匝数少的,KV 值高,最高输出电流大,扭力小。

    12.png 

    图十二:KV值示意图

    9. 霍尔传感器

    霍尔传感器感应磁场方向,并输出高低电平(”1”和”0”),根据霍尔传感器的输出值,就能确定转子的位置。下图十三表示霍尔安装及霍尔波形示意图:

    13.png 

    图十三:霍尔安装及霍尔波形示意图

    10. 死点

    转子在死点位置,电机无启动力矩,一般是转子磁场与定子磁场方向平行,如下图十四所示表示死点示意图:

    14.png 

    图十四:死点位置示意图

    今天的内容就给大家分享到这里,下次有机会再继续给大家分享更多关于电机相关的基础知识,谢谢大家!


    收藏 1 回复 0 浏览 186
  • 无刷直流电机控制简介

    一、概述

    从简单的钻机到复杂的工业机器人,许多机器设备都使用无刷直流电机将电能转换为旋转运动。无刷直流电机也称为BLDC电机,相比有刷直流电机具备诸多优势。BLDC电机更高效,所需的维护更少,因而已在许多应用中取代了有刷电机。

    1.png 

    图一:电磁场和永磁体磁场示意图

    两类电机的运行原理相似,均由永磁体和电磁体的磁极吸引和排斥产生旋转运动。但这些电机的控制方式却大不相同。BLDC需要复杂的控制器才能将单个直流电源转换为三相电压,而有刷电机可以通过调节直流电压来控制。

    2.png 

    图二:有刷电机和直流无刷电机对比

    二、直流电机的类型

    1传统有刷直流电机

    下图所示,在有刷直流电机中,直流电流通过转子的线圈绕组,使电磁体产生极性。这些转子的磁极与固定永磁体(称为定子)的磁极相互作用,从而使转子旋转。

    转子每转动半圈之后,需要切换线圈绕组中的电流极性,以对调转子磁极, 使电机保持旋转状态。

    这种电流极性的切换被称为换相。

    换相通过机械方式实现:转子旋转的每个半圈中,电触头(称为电刷)与转子上的换相器连成一个回路。

    这种物理接触会导致电刷随着时间推移而磨损,从而导致电机无法工作。

    3.png 

    图三:有刷电机工作原理示意图

     

    2、无刷直流电机

    BLDC电机采用电子换相来代替机械换相,克服了有刷电机的上述缺陷。为了更好地理解这一点,有必要进一步了解BLDC电机结构。BLDC 电机与有刷电机构造相反,其永磁体安装在转子中,而线圈绕组则成为定子。

    4.png 

    图四:无刷直流电机工作原理示意图

    电机的磁体布局不尽相同,定子可能具有不同数量的绕组,而转子可能具有多个极对,如下所示。

    5.png 

    图五:无刷直流电机极对数示意图

    3、仿真 BLDC 电机以观察反电动势曲线

    BLDC 电机和 PMSM的结构类似,其永磁体均置于转子,并被定义为同步电机。在同步电机中,转子与定子磁场同步,即转子的旋转速度与定子磁场相同。

    它们的主要区别在于其反电动势(反 EMF)的形状。电机在旋转时充当发电机。也就是说,定子中产生感应电压,与电机的驱动电压反向。反电动势是电机的重要特征,因为其形状决定了对电机进行最优控制所需的算法。

    BLDC电机的设计使其反电动势呈梯形,因此一般采用梯形换相控制。BLDC 梯形反电动势 采用梯形换相控制

    6.png 

    图六:无刷直流电机反电动势波形示意图

    PMSM 的反电动势呈正弦波形,因此采用磁场定向控制。PMSM 正弦反电动势采用磁场定向控制

    7.png 

    图七:PMSM反电动势波形示意图

     

    在电机控制领域,PMSM BLDC 这两个术语有时会被混用,这可能导致对其反电动势曲线的混淆。本文 BLDC 电机严格限定为具有梯形反电动势的电机。

    8.png

    图八:BLDC电机仿真查看反电动势波形

    图中使用Simulink仿真的是带开路端子的单极对BLDC,即线圈中没有电流通过。如果施加扭矩带动转子,电机将充当发电机。您可以测量 A 相电压随时间变化的情况,从而观察电机的反电动势形状。电压波形显示 BLDC电机的反电动势呈梯形,其中部分区域电压持平。

    4六步换相

    为了更好地理解施加外部电压时 BLDC 电机的行为,我们将使用前面介绍的配置,其中转子由单极对组成,而定子由夹角为 120 度的三个线圈组成。让电流通过线圈,给线圈(此处称为 A 相、B 相和 C 相)通电。转子的北极用红色表示,南极用蓝色表示。

    一开始,线圈没有通电,转子处于静止状态。在A相与C相之间施加电压(如下图所示),即会沿虚线产生复合磁场。这使转子开始旋转,从而与定子磁场对齐。

    9.png 

    图九:定子磁场产生示意图(虚线)

    线圈对共有六种通电方法,如下所示。每次换相后,定子磁场相应旋转,从而带动转子,使之旋转至图示位置。在下中,转子角度是相对于水平轴而言的,转子共有六种对齐方式,两两相差 60 度。

     

    10.png 

    图十:线圈通电示意图

    也就是说,如果每 60 度以正确的相位执行一次换相,电机将连续旋转,如下图所示。此类控制被称为六步换相或梯形控制。

    11.png 

    图十一:六步换相(梯形控制)

    此类电机可以包含更多极对,但这就要求更为频繁地换相。为了在合适的时机以正确的相位执行电机换相,控制器需要时刻掌握转子的确切位置,对此通常使用霍尔传感器进行测量。

     

    12.png 

    图十二:不同极对数的电机换相角度示意图

    5、电机和扭矩产生

    下图中箭头表示相对磁力,箭头粗细表示场强。相同磁极相互排斥,从而使转子逆时针旋转。同时,相反磁极相互吸引,从而在同一方向增加扭矩。

    转子完成60度旋转后,发生下一次换相。

    13.png 

    图十三:磁场作用示意图

     

    将先前讨论的定子磁场叠加到上图中,可以很明显地看出,在这种换相方式中,转子从不对齐定子磁场(图中的黄色虚线),而是一直在追赶定子磁场。

    14.png 

    图十四:定子磁场和转子磁场示意图

    BLDC电机中采用这种方式换相有两个原因。首先,如果允许转子和定子磁场完全对齐,此时产生的扭矩为零,这不利于旋转。其次,磁场夹角为90度时可产生最大扭矩。因此,目标是使该夹角接近90度。

    15.png 

    图十五:转子磁场和定子磁场夹角示意图

    但在BLDC电机中,采用六步换相无法让夹角始终保持90度,夹角将在60度和120度之间波动,如下图所示。 这是因为梯形控制的性质相对简单。磁场定向控制等更先进的方法可实现定子与转子磁场间90度夹角,以此产生更大的扭矩,该方法常用于之前提到的 PMSM 控制。


    收藏 1 回复 0 浏览 212
  • 电机控制中MCU的选择应该如何考虑?

    大家好,今天我们来聊一聊电机控制中的MCU选型如何考虑?不同应用对器件的要求有很大的区别。目前市场上的控制器/驱动器解决方案各有千秋,包括了针对特定简单应用的标准控制器/驱动器、以及采用外部缓冲栅极驱动器和功率级的MCU、DSP和FPGA。

    1.png 

    图一:产品中的MCU示意图

    MCU是目前市场主流的电机控制方案,适用于高、中、低端电机控制。通过内部集成的电机控制模块,可简化客户对于电机控制的开发;而相对于DSP较强的控制功能,能更好地实现电机的伺服控制和保护功能。此外在32位处理器,通过提高运算处理速度,也可以很好地实现空间矢量、磁场定位和PD闭环调节的复杂控制。

    2.png 

    图二:伺服控制系统示意图

    对于小型BLDC冷却风扇等简单的低功耗电机控制应用来说,专用标准电机控制IC可以实现低成本。但对要求苛刻的应用来说,就更适合使用DSP、MCU和FPGA,因为可以增加其他系统管理功能,例如监测电机参数和状态,以及与主机系统的通信等。

     目前,8位MCU主要用于低成本,低性能场合,16位、32位DSP/MCU则用于中/高性能场合。其中DSC的性价比是比较高的。

     关于电机控制方案,DSP、MCU和FPGA各有其优特点。DSP因为数据处理能力强、运算速度快,适用于高端复杂的电机系统控制,如实现交流感应电机的空间矢量控制算法、无传感器的空间定位等,但它依赖于软件算法的成熟度和稳定性,对开发者的要求比较高。此外因为内核电压及接口电平主要是3.3V或者1.8V,对电机驱动器需要相关电平的驱动电路支持。

    单片机带DSP的功能一般运用于比较高端的,速度要求比较快的应用。Microchip的16位单片机带有DSP功能,支持定点小数格式数学运算,可以很方便的实现小数乘法。 FPGA有自己的特点,它很灵活,但入门门槛高,单价高。一般用于量不大的领域。

    通过上面的介绍,大家应该对MCU、DSP、FPGA各自的特点以及适合的应用场合都有了一些了解了,那么今天主要想跟大家分享在我们电机控制项目中对MCU的选取需要考虑那么东西?

    那么我们拿到一个项目,客户会给我们一个项目需求,这个项目需求中会包括整个项目要实现的功能,以及完成这个功能要达到的技术指标,那么选型MCU就需要根据功能及其技术指标来考虑。

    对于一个电机控制系统来说,其实有一些MCU的外设模块是必须用到的,例如IO模块、ADC模块、PWM模块、通讯模块、定时器模块、输入捕捉模块。

    3.png 

    图三:MCU外设模块示意图

    IO模块用于一个简单的输入输出功能的实现,可以用于按键及LED灯的控制。

    ADC模块用于模拟量的采集,可以用于旋钮调速、电压采集、电流采集、温度采集等等,在有的电机控制算法中,对模拟量的采集要求并不是很高,所以ADC模块的速率要求就比较低,但是在FOC算法控制中,需要对相电流进行采集,整个算法都是围绕着电流进行的,所以对ADC模块的速率就会有要求了,需要高速ADC,这样才能获取准确的采样位置的电流结果,算法的计算精度就会更加准确。

    PWM模块用于输出PWM波驱动逆变桥,从而驱动电机,对PWM模块的要求是要分辨率足够高,如果要驱动三相电机的话,那么就需要至少产生三路PWM信号,如果要做正弦波控制的话,还需要PWM模块能够产生互补PWM信号及死区设定。一般的电机控制系统中,都会对系统进行保护,所以最好PWM模块提供故障输入功能,用于在发生故障时能够及时关断PWM输出,达到保护系统的目的。

    通讯模块用于单片机跟外部进行信息传输,比如串口通讯模块,可以支持上位机跟单片机之间的通讯,像串口程序升级、串口调参等等。在有的系统中,485、CAN通讯也会被使用,其目的还是用于单片机跟外界进行数据传输。不同的通讯方式适用场合也不同,有的需要高速数据传输,因此SPI、USB等通讯方式就需要被使用,而有的只是作为一个指令控制,不需要很高的通讯速率,一般普通的串口通讯就可以实现。

    定时器模块用于一些定时任务,如需要一段时间执行什么任务,就可以用定时器模块来控制时间,有的单片机定时器模块跟PWM模块是集成在一起的,所以也有PWM波生成的功能,比如STM32单片机就是这样的。

    输入捕捉模块用于捕捉外部的数字信号,比如需要测量电机的速度,可以利用输入捕捉模块对霍尔信号进行捕捉,也或者对一个PWM信号进行捕捉,可以得到PWM信号的周期和占空比,这个PWM信号作为电机系统的调速信号使用。

    4.png 

    图四:无传感器电机控制MCU资源使用情况示意图

    所以,这些模块的选用需要根据项目功能选取,只有项目需求明确了,才能很好的选择需要使用的外设模块。因此,外设模块是MCU选型的一个重要参考。

    MCU选型的时候,还需要考虑CPU的主频,如果主频低了,那么指令执行的时间相对于主频高的单片机就会更长,就无法满足算法的执行时间需求,即使能够实现算法,可能电机执行的效率等方面都不是最佳的状态,因此CPU主频的选取也需要根据项目要求及功能权衡。

    最后,价格是大多数项目中MCU选型需要考虑的因素,有的项目,整个项目成本需求就几十块钱,那么如果选用很高档的单片机,势必造成产品价格的偏高,最终导致项目不赚钱甚至亏本,所以,在满足项目需求的功能前提下,单片机的价格越低越好,这样才能做出性价比高的产品,为公司节省更多的成本,赚更多的钱。

    本篇文章就给大家分享这么多,更多电机驱动相关的内容,欢迎大家持续关注张飞实战电子,我们会继续分享更多的内容,谢谢大家!


    收藏 0 回复 0 浏览 177
×
赵云