1、FOC电机控制技术介绍FOC电机控制技术背景电机控制技术背景1FOC电机控制坐标变换简介电机控制坐标变换简介2FOC无位置传感器运行简介无位置传感器运行简介3使用使用dsPIC实现实现FOC4FOC电机控制技术背景电机控制技术背景1FOC电机控制技术介绍FOCFOC电机控制技术背景电机控制技术背景 六步换向法控制永磁同步电机六步换向法控制永磁同步电机具有结构、控制相对简单等特点,具有结构、控制相对简单等特点,但缺点是转矩脉动比较大,效率较但缺点是转矩脉动比较大,效率较低,磁场定向控制(低,磁场定向控制(Field Oriented Control,FOC)给电机)给电机控制提出了一个新概念,可
2、以有效控制提出了一个新概念,可以有效减小转矩脉动、显著提高系统效率。减小转矩脉动、显著提高系统效率。FOCFOC电机控制技术背景电机控制技术背景在六步换向法中,定子磁场扭矩只有六个方向在六步换向法中,定子磁场扭矩只有六个方向FOCFOC电机控制技术背景电机控制技术背景转子在转子在60范围内受力方向始终不变,造成定子磁场形成的扭力与转子力臂轴的夹角范围内受力方向始终不变,造成定子磁场形成的扭力与转子力臂轴的夹角不能维持在不能维持在90度,而且转矩力度也没有精确控制,这样的控制方法不利于提高电机效度,而且转矩力度也没有精确控制,这样的控制方法不利于提高电机效率及动态响应。率及动态响应。FOCFOC
3、电机控制技术背景电机控制技术背景FOC的概念就是,让定子磁场形成的扭力始终与转子力臂轴相垂直,也就是说,站的概念就是,让定子磁场形成的扭力始终与转子力臂轴相垂直,也就是说,站在转子的角度,有个力量在力臂垂直的角度始终朝一个方向推动它。在转子的角度,有个力量在力臂垂直的角度始终朝一个方向推动它。FOCFOC电机控制技术背景电机控制技术背景Q:1.FOC(Field Oriented Control,磁场定,磁场定向控制)向控制)与与 SVPWM(空间矢量脉宽调制,(空间矢量脉宽调制,Space Vector Pulse Width Modulation)的相同点与不同点是什么?的相同点与不同点是
4、什么?2.FOC 怎样保证驱动力与转子力臂轴垂直?怎样保证驱动力与转子力臂轴垂直?该测量什么信号作为参考?该测量什么信号作为参考?FOCFOC电机控制技术背景电机控制技术背景FOC(Field Oriented Control,磁场定向控制)磁场定向控制)与与 SVPWM(空(空间矢量脉宽调制,间矢量脉宽调制,Space Vector Pulse Width Modulation)的相同点与不同点)的相同点与不同点FOCFOC电机控制技术背景电机控制技术背景相同点:相同点:在负载、电压、电流等条件稳在负载、电压、电流等条件稳定的情况下,两者输出均为三定的情况下,两者输出均为三相正弦波电压,相电
5、流也同样相正弦波电压,相电流也同样是正弦波。是正弦波。FOCFOC电机控制技术背景电机控制技术背景不同点:不同点:FOC 以磁场定向为控制依据,通过以磁场定向为控制依据,通过PID运算,使运算,使磁场作用力方向始终跟踪转子位置,三相输出电磁场作用力方向始终跟踪转子位置,三相输出电压的相位、角度在负载突变情况下不一定和转子压的相位、角度在负载突变情况下不一定和转子位置同步;而位置同步;而SVPWM只是根据转子位置设定三只是根据转子位置设定三相正弦波的输出电压,电压的相位、角度始终与相正弦波的输出电压,电压的相位、角度始终与转子同步。转子同步。PS:三相电机的正弦波,是指电机相线间的波:三相电机的
6、正弦波,是指电机相线间的波形,而不是相线对地的波形。形,而不是相线对地的波形。FOCFOC电机控制技术背景电机控制技术背景FOC 怎样保证磁场驱怎样保证磁场驱动力与转子力臂轴的动力与转子力臂轴的相对?该测量什么信相对?该测量什么信号作为参考?号作为参考?FOCFOC电机控制技术背景电机控制技术背景该测量什么信号作为参考?该测量什么信号作为参考?在定子设计的正常工作范围内(定子在定子设计的正常工作范围内(定子工作在非饱和区间的类线性范围),工作在非饱和区间的类线性范围),定子电流在定子铁心上产生的磁感应定子电流在定子铁心上产生的磁感应强度与定子电流成正比,所以测量定强度与定子电流成正比,所以测量
7、定子电流即可按比例得到磁感应强度的子电流即可按比例得到磁感应强度的大小等等信息。大小等等信息。FOCFOC电机控制技术背景电机控制技术背景使用两个数学变换:使用两个数学变换:Clarke 变变换和换和 Park 变换,根据变换,根据A、B两两相电流计算出相对转子的相电流计算出相对转子的q、d轴的作用电流,也即相当于得轴的作用电流,也即相当于得到相对于转子力臂垂直方向和到相对于转子力臂垂直方向和轴向的作用力。轴向的作用力。FOC电机控制技术介绍FOC电机控制坐标变换简介电机控制坐标变换简介2FOCFOC电机控制坐标变换简介电机控制坐标变换简介2.1 CLARKE 变换FOCFOC电机控制坐标变换
8、简介电机控制坐标变换简介Clarke 变换变换就是将三相就是将三相磁场力矢量磁场力矢量转换成转换成X、Y轴上的分量。轴上的分量。也即将三轴也即将三轴系统变换成系统变换成两轴系统。两轴系统。FOCFOC电机控制坐标变换简介电机控制坐标变换简介为了计算方为了计算方便,我们以便,我们以A相电流正相电流正方向为方向为X轴轴正方向,其正方向,其余两相分别余两相分别与与A相相差相相差120FOCFOC电机控制坐标变换简介电机控制坐标变换简介去掉电机模去掉电机模型,三相电型,三相电流方向大小流方向大小如图,注意如图,注意电机任意时电机任意时刻,三相线刻,三相线圈电流的矢圈电流的矢量和等于零。量和等于零。FO
9、CFOC电机控制坐标变换简介电机控制坐标变换简介将三相电流矢量将三相电流矢量投影在投影在X轴和轴和Y轴轴上求得上求得X方向和方向和Y轴方向上的合成轴方向上的合成矢量之后,就完矢量之后,就完成了成了 Clarke 变变换,也即两轴系换,也即两轴系统。我们得到两统。我们得到两个分量:个分量:和和分量。分量。FOCFOC电机控制坐标变换简介电机控制坐标变换简介2.2 PARK 变换FOCFOC电机控制坐标变换简介电机控制坐标变换简介PARK 变换就变换就是将相对于定是将相对于定子的坐标系统子的坐标系统转换成相对于转换成相对于转子的坐标系转子的坐标系统,这是根据统,这是根据当时转子的实当时转子的实际位
10、置转换的。际位置转换的。FOCFOC电机控制坐标变换简介电机控制坐标变换简介根据转子实际根据转子实际位置建立坐标,位置建立坐标,以转子力臂方以转子力臂方向为向为Y轴,垂轴,垂直方向为直方向为X轴,轴,A/B/C三个分三个分量使用完毕不量使用完毕不再需要。再需要。FOCFOC电机控制坐标变换简介电机控制坐标变换简介将坐标轴转至容将坐标轴转至容易观察的位置,易观察的位置,alpha及及beta在在两轴上的投影就两轴上的投影就是是q分量及分量及d分分量,量,q分量是推分量是推动转子运转的力动转子运转的力量,而量,而d分量对分量对转子产生励磁效转子产生励磁效应。应。qdFOC电机控制技术介绍FOC无位
11、置传感器运行简介无位置传感器运行简介3FOCFOC无位置传感器运行简介无位置传感器运行简介由于电机反电动势与转子位置一一对由于电机反电动势与转子位置一一对应,这给电机的无传感器运行带来可应,这给电机的无传感器运行带来可能,但由于每个相线在整个正弦周期能,但由于每个相线在整个正弦周期始终处于通电状态,我们无法像方波始终处于通电状态,我们无法像方波驱动电机那样直接通过测量反电势来驱动电机那样直接通过测量反电势来判断电机的位置,所以要通过建立电判断电机的位置,所以要通过建立电机模型,通过检测电流的变化来推断机模型,通过检测电流的变化来推断电机的反电动势。电机的反电动势。FOCFOC无位置传感器运行简
12、介无位置传感器运行简介电机的数学模型构成:电机的数学模型构成:输入电压输入电压 Vs;电机及引线内阻;电机及引线内阻 R;电机绕组电感;电机绕组电感L;电机反电动势;电机反电动势 es等组成,由等组成,由Vs输入电压在后面负载上产生电流。输入电压在后面负载上产生电流。FOCFOC无位置传感器运行简介无位置传感器运行简介参数说明:参数说明:R/L应是电机应是电机A/B两相间所测参数的两相间所测参数的1/2,电感使用,电感使用LCR测试仪测试仪 1K档测试为档测试为准,电阻以准,电阻以0.5-1A电流下的压降计算值为准。而图中的电流下的压降计算值为准。而图中的Vs,可以简化为,可以简化为V,V分量
13、的分量的运算,也就是运算,也就是 Clarke 变换之后的运算,得到的电机反电动势变换之后的运算,得到的电机反电动势 es,es可直接用来可直接用来做做arctg 求角度。求角度。FOCFOC无位置传感器运行简介无位置传感器运行简介三相拓扑:三相拓扑:按照此拓扑图,在程序中按照此拓扑图,在程序中A相为相为PWM1所控制,所控制,B相为相为PWM2所控制,所测电流也与之所控制,所测电流也与之对应。对应。FOC电机控制技术介绍使用使用dsPIC实现实现FOC4使用使用dsPICdsPIC实现实现FOCFOC3.1 单片机实现FOC 所需要的条件单片机实现FOC 所需要的条件1.位置传感器分辨率至少
14、高于位置传感器分辨率至少高于1度(电角度);度(电角度);2.需要至少同时采样需要至少同时采样 A、B两相电流,同时还要兼顾其他两相电流,同时还要兼顾其他诸如电源电压、调速电压、温度等模拟量,诸如电源电压、调速电压、温度等模拟量,AD精度精度10BIT以上;以上;3.由于由于 Clarke 变换、变换、Park 变换以及后面的逆运算、变换以及后面的逆运算、PID运运算均需要大量乘法运算,所以单指令周期乘法器是必须的;算均需要大量乘法运算,所以单指令周期乘法器是必须的;4.所有以上运算均需在一个所有以上运算均需在一个PWM周期内完成。周期内完成。5.具备马达驱动所需具备马达驱动所需3组互补型组互
15、补型PWM,并且要有较高的,并且要有较高的PWM分辨率;分辨率;6.若干外部中断、定时器等外设。若干外部中断、定时器等外设。使用使用dsPICdsPIC实现实现FOCFOC3.2 dsPIC33EP系列简介dsPIC33EP系列简介70MIPs 最高指令执行速度最高指令执行速度10位位1.1 Msps 或或12 位位500 Ksps 转换:转换:2路和路和4 路同时采样(路同时采样(10 位位ADC)6通道通道16 位电机控制位电机控制PWM+2通道通道16 位电机控制位电机控制PWM乘法器,单指令周期的乘、加指令,乘法器,单指令周期的乘、加指令,16*16=32bit(DSP内核)内核)18
16、指令周期除法器指令周期除法器70MIPs时消耗电流仅时消耗电流仅60mA(FJ系列系列40MIPs时时90mA)多种外设供选择。多种外设供选择。dsPIC 中中 Q15数制简介数制简介一种小于等于一种小于等于1的小数数据表示为二进制补码数的小数数据表示为二进制补码数的表示方法,其中最高位定义为符号位,小数点隐的表示方法,其中最高位定义为符号位,小数点隐含于符号位之后。这种格式通常被称为含于符号位之后。这种格式通常被称为1.15(或(或Q15)格式,其中)格式,其中1 是用来表示数据的整数部分的是用来表示数据的整数部分的位数,而位数,而15 是用来表示小数部分的位数。采用这是用来表示小数部分的位
17、数。采用这种隐含小数点的种隐含小数点的16 位二进制补码表示的小数范围位二进制补码表示的小数范围为为-1.0(0 x8000)至)至 0.999969482(0 x7FFF),),包括包括0.0。dsPIC33EP系列简介例如:例如:十六进制数十六进制数 0X80FE,转换成小数就是,转换成小数就是 0X80FE=-32514/32768 -0.992248535;十六进制数十六进制数 0X00FE,转换成小数就是,转换成小数就是 0X00FE=254/32767 0.0077517014069;小数小数-0.66,转换成,转换成Q15 型十六进制数型十六进制数 -0.66=-0.66*327
18、68 0X AB86;小数小数-0.66,转换成,转换成Q15 型十六进制数型十六进制数 0.66=0.66*32767 0X547A;dsPIC33EP系列简介dsPIC 中中 AD通道使用注意事项:通道使用注意事项:dsPIC 都有四个采样保持通道,它们可以同时采样都有四个采样保持通道,它们可以同时采样并保持四个模拟电压,但四个采样通道在并保持四个模拟电压,但四个采样通道在AD引脚引脚分配上有一定局限性,只有分配上有一定局限性,只有CH0采样通道能任意采采样通道能任意采样所有样所有AD引脚电压,其他引脚电压,其他CH1,CH2,CH3的正的正输入只能组合采样输入只能组合采样 AN0,1,2
19、,或者,或者 AN3,4,5,或者或者AN6,7,8等等,组合顺序是定死的,这些需等等,组合顺序是定死的,这些需要在硬件线路中加以注意。要在硬件线路中加以注意。dsPIC33EP系列简介dsPIC33EP系列简介使用使用dsPICdsPIC实现实现FOCFOC3.3 基于dsPIC33EP的无位置传感器 FOC DEMO程序简介使用使用dsPICdsPIC实现实现FOCFOC使用使用dsPICdsPIC实现实现FOCFOC/Calculate qIa,qIb MeasCompCurr();/A,B两相电流检测及误差校正两相电流检测及误差校正 /Calculate commutation ang
20、le using estimator CalculateParkAngle();/无位置传感器无位置传感器 转子角度反推转子角度反推 /Calculate qId,qIq from qSin,qCos,qIa,qIb ClarkePark();/Clarke运算和运算和Park运算,运算,/Calculate control values DoControl();/控制部分,包括开环、闭环时控制部分,包括开环、闭环时 根据根据Iq 和和Id 所做的所做的 PI运算,得到输出的运算,得到输出的Vs /Calculate qSin,qCos from qAngle SinCos();/根据角度计算
21、根据角度计算 Sin值和值和Cos值值 /Calculate qValpha,qVbeta from qSin,qCos,qVd,qVq InvPark();/Park 反变换反变换 /Calculate Vr1,Vr2,Vr3 from qValpha,qVbeta CalcRefVec();/根据根据Valpha、Vbeta计算计算 A/B/C三相的电压值,其中包三相的电压值,其中包含了反含了反 Clarke 运算运算 /Calculate and set PWM duty cycles from Vr1,Vr2,Vr3 CalcSVGen();/根据根据 A/B/C三相的电压值转换成对应的三相的电压值转换成对应的 PWM 占空比占空比以上程序段在以上程序段在PMSM.C的的AD 中断函数或者中断函数或者 AD的的DMA中断函数中执行。中断函数中执行。使用使用dsPICdsPIC实现实现FOCFOC3.4 使用dsPIC33EP的无位置传感器 FOC DEMO程序参数设置可供参考文件可供参考文件AN1078 dsPIC实现无传感器磁场定向控制实现无传感器磁场定向控制http:/ 调整指南调整指南http:/