一种基于数字和模拟混合仿真电机驱动系统及方法

文档序号:25535301发布日期:2021-06-18 20:28阅读:113来源:国知局
一种基于数字和模拟混合仿真电机驱动系统及方法
本发明属于电机控制
技术领域
,具体涉及一种基于数字和模拟混合仿真电机驱动系统及方法。
背景技术
:电机参数调试与检测是高等院校学生实验与相关行业从业人员的重要需求。然而在实际操作中,现有的电机测试平台成本高、不够灵活,且存在一定危险。用实际电机进行试验或验证控制算法时,往往因算法缺陷或操作失误导致电机受损或引发更严重的事故。这导致一些学生和人员因为实验条件不足而不能进行实际的操作实践。技术实现要素:为了解决现有技术中的问题,本发明提供了一种基于数字和模拟混合仿真电机驱动系统及方法,克服了实际电机进行实验的成本过高和有一定危险性的缺点。为了实现以上目的,本发明提供了一种基于数字和模拟混合仿真电机驱动系统,包括电机驱动单元和电机模拟单元,所述电机驱动单元包括第一单片机,以及设置于所述第一单片机的svpwm控制模块、pi控制器、第一坐标变换模组、正交编码器、adc模块和同步脉冲发生模块;所述电机模拟单元包括第二单片机,以及设置于所述第二单片机的pwm捕获模块、igbt逆变桥、第二坐标变换模组、pmsm模块、ekf模块、双脉冲输出模块和dac模块,所述igbt逆变桥连接母线电压;所述svpwm控制模块和所述同步脉冲发生模块的输出与所述pwm捕获模块连接,所述pwm捕获模块的输出与所述igbt逆变桥连接,所述igbt逆变桥的输出与所述第二坐标变换模组连接,所述第二坐标变换模组的输出与所述pmsm模块和所述ekf模块连接,且所述pmsm模块的输出与所述ekf模块连接,所述ekf模块的输出与所述双脉冲输出模块连接,所述双脉冲输出模块的输出与所述正交编码器连接,所述正交编码器的输出与所述pi控制器连接,所述pi控制器与所述第一坐标变换模组连接,所述第一坐标变换模组的输出与所述svpwm控制模块连接,以形成速度闭环;所述pmsm模块的输出还与所述第二坐标变换模组连接,所述第二坐标变换模组的输出与所述dac模块连接,所述dac模块的输出与所述adc模块连接,所述adc模块的输出与所述第一坐标变换模组连接,所述第一坐标变换模组的输出与所述pi控制器连接,以形成电流闭环。进一步地,所述pi控制器包括速度pi控制模块和双闭环pi控制模块,所述正交编码器的输出与所述速度pi控制模块连接,所述速度pi控制模块的输出与所述双闭环pi控制模块连接,所述双闭环pi控制模块与所述第一坐标变换模组连接。进一步地,所述第一坐标变换模组包括第一3/2变换模块和反park变换模块,所述adc模块的输出与所述第一3/2变换模块连接,所述第一3/2变换模块的输出与所述双闭环pi控制模块连接,所述双闭环pi控制模块的输出与所述反park变换模块连接,所述反park变换模块的输出与所述svpwm控制模块连接。进一步地,所述第二坐标变换模组包括第二3/2变换模块和2/3变换模块,所述igbt逆变桥的输出与所述第二3/2变换模块连接,所述第二3/2变换模块的输出分别与所述pmsm模块和所述ekf模块连接,所述pmsm模块的输出与所述2/3变换模块连接,所述2/3变换模块与所述dac模块连接。进一步地,所述电机模拟单元根据模拟的目标电机类型、目标电机参数和负载参数建立数学模型,包括:公式(1)和公式(2)为pmsm电机d-q坐标系下的定子电压方程;公式(3)和公式(4)为定子磁链方程,将公式(3)和公式(4)带入公式(1)和(2)得到:其中,ud和uq分别是定子电压的d-q轴分量;id和iq分别是定子电流的d-q轴分量;r是定子的电阻;和为定子磁链的d-q轴分量;ωe是电角速度;ld和lq分别是d-q轴电感分量;代表永磁体磁链;根据公式(5)和(6)得出电压等效电路;此时电磁转矩方程为:公式(7)中,te是电机电磁转矩;pn是电机转子极对数。进一步地,所述svpwm控制模块基于svpwm算法实现三相pwm脉冲信号,svpwm算法基于平均值等效原理,在一个开关周期内通过对基本电压矢量加以组合,使其平均值与给定电压矢量相等,并定义调制比为um是相电压;udc是三相矢量合成电压。进一步地,所述svpwm算法包括参考电压矢量的扇区判断,各个扇区非零矢量和零矢量作用时间的计算,以及各个扇区矢量切换点的确定,最后使用设定的频率的三角载波信号与各个扇区矢量切换点进行比较,从而产生所需的pwm脉冲信号。进一步地,所述ekf模块计算电角速度ωe,包括以下步骤:1)预估:2)增益矩阵计算:k(k+1)=p(k+1/k)*ht*[h*p(k+1/k)*ht+r(k)]-1;3)状态更新:其中,p是状态x的协方差矩阵;k为卡尔曼增益矩阵;h为测量矩阵;q为系统噪声方差阵;r为测量噪声方差阵;初始状态x(t0)的协方差阵初始值为p0,ts=tk+1-tk为系统的采样周期;k+1/k代表的是依据tk时刻的状态对tk+1时刻状态的预估;k+1表示的是tk+1时刻的最佳估计;pmsm模块输出的uabc和iabc经过坐标变换转化为d-q轴的ud、uq、id和iq,再经过ekf模块得到电角速度ωe和电角度θ。进一步地,所述第一单片机和第二单片机为stm32f407。本发明还提供了一种基于数字和模拟混合仿真电机驱动方法,采用上述的一种基于数字和模拟混合仿真电机驱动系统,包括:1)将电机驱动单元和电机模拟单元的电源端口分别与直流电源相连接;2)在电机模拟单元设置模拟目标电机类型、模拟目标电机参数和模拟负载参数;3)启动电机驱动单元,通过svpwm控制模块输出三相六脉冲pwm信号,通过同步脉冲发生模块输出同步脉冲信号,并输出至电机模拟单元;4)电机模拟单元捕获脉冲信号,并对捕获的脉冲信号依次进行信号转换、滤波、编码和线性控制,完成速度闭环和电流闭环的过程。与现有技术相比,本发明系统的各种电机本体参数和负载参数均为数字量,igbt逆变桥和pmsm模块写为c程序,igbt逆变桥输出到pmsm模块的三相电压为c程序中定义的变量,可以直接通过仿真软件或示波器观测数值,而不需要实际的电压电流表,转速表等仪表测量,便于测试电机驱动器的各种不同的控制参数和电机的输出参数。因此,采用本发明的仿真电机驱动系统代替实际电机进行各种实验,可以用pc连接单片机灵活改变电机参数和负载转矩,节约时间和成本。本发明系统得到的测试数据与实际电机模型得到的数据误差较小,可以在实验中替代实际电机。单片机价格远低于实际电机,本发明可以大大降低电机测试的成本,提高安全性。本发明的仿真电机驱动方法,svpwm控制模块通过svpwm算法产生三相六脉冲pwm信号,控制igbt逆变桥臂的开通与关断,从而将直流母线电压逆变为uabc三相电压用于驱动电机模拟单元,其中,电机输出的id、iq和ωe分别经ekf模块滤波,pi控制器构成闭环,从而控制svpwm控制模块输出pwm的占空比,使电机启动后快速稳定地运行在设定值。附图说明图1是本发明的仿真电机驱动系统的原理框图;图2是本发明的仿真电机驱动系统的simulink仿真示意图;图3是三相pmsm的电压等效电路图;图4是电压空间矢量图;图5是电压空间矢量合成示意图;图6是扇区与参考电压矢量之间的关系图;图7是实际电机运行得到的理论a相电流图;图8是本发明的仿真电机驱动系统仿真模拟得到的a相电流图;图9是实际电机运行得到理论的转速图;图10是本发明的仿真电机驱动系统仿真模拟得到的转速图。具体实施方式下面结合说明书附图和具体的实施例对本发明作进一步地解释说明,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。本发明实施例提供了一种基于数字和模拟混合仿真电机驱动系统,参见图1,包括电机驱动单元(a机)和电机模拟单元(b机),电机驱动单元和电机模拟单元的电源接口与直流电源相连接,电机驱动模块包括第一单片机,以及设置于第一单片机的svpwm控制模块、pi(线性控制)控制器、第一坐标变换模组(3/2变换和反park变换)、正交编码器、adc(模数转换器)模块和同步脉冲发生模块。电机模拟模块包括第二单片机,以及设置于第二单片机的pwm捕获模块、母线电压、igbt逆变桥、第二坐标变换模组(3/2变换和2/3变换)、pmsm模块、ekf(扩展卡尔曼滤波器)模块、双脉冲输出模块和dac(数模转换器)模块。本实施例采用pc的keil5软件编程,设置负载转矩参数、编写pmsm程序、igbt逆变桥程序、坐标变换程序和ekf程序,将程序下载到一片stm32f407作为b机。用pc的keil5软件编程,编写pi控制器程序、坐标变换程序和svpwm程序,将程序下载到一片stm32f407作为a机。本实施例中,a机的svpwm控制模块和同步脉冲发生模块的输出与b机的pwm捕获模块连接,pwm捕获模块的输出与igbt逆变桥连接,igbt逆变桥的输出与第二坐标变换模组连接,第二坐标变换模组的输出与pmsm模块和ekf模块连接,且pmsm模块的输出与ekf模块连接,ekf模块的输出与双脉冲输出模块连接,双脉冲输出模块的输出与正交编码器连接,正交编码器的输出与pi控制器连接,pi控制器与第一坐标变换模组连接,第一坐标变换模组的输出与svpwm控制模块连接,以形成速度闭环;pmsm模块的输出还与第二坐标变换模组连接,第二坐标变换模组的输出与dac模块连接,dac模块的输出与adc模块连接,adc模块的输出与第一坐标变换模组连接,第一坐标变换模组的输出与pi控制器连接,以形成电流闭环。具体地,pi控制器包括速度pi控制模块和双闭环pi控制模块,正交编码器的输出与速度pi控制模块连接,速度pi控制模块的输出与双闭环pi控制模块连接,双闭环pi控制模块与第一坐标变换模组连接。第一坐标变换模组包括第一3/2变换模块和反park变换模块,adc模块的输出与第一3/2变换模块连接,第一3/2变换模块的输出与双闭环pi控制模块连接,双闭环pi控制模块的输出与反park变换模块连接,反park变换模块的输出与svpwm控制模块连接。第二坐标变换模组包括第二3/2变换模块和2/3变换模块,igbt逆变桥的输出与第二3/2变换模块连接,第二3/2变换模块的输出分别与pmsm模块和ekf模块连接,pmsm模块的输出与2/3变换模块连接,2/3变换模块与dac模块连接。在b机中,根据模拟的的目标电机类型、目标电机参数和负载参数ud、uq、id、iq等建立数学模型,具体过程包括:(1)和(2)两式为pmsm电机d-q坐标系下定子电压方程。(3)和(4)两式为定子磁链方程,将(3)、(4)带入(1)、(2)可得:其中:ud,uq分别是定子电压的d-q轴分量;id,iq分别是定子电流的d-q轴分量;r是定子的电阻;为定子磁链的d-q轴分量;ωe是电角速度;ld,lq分别是d-q轴电感分量;代表永磁体磁链。根据式(5)、(6)可以得出如图3所示的电压等效电路。此时电磁转矩方程为:式(7)中,te是电机电磁转矩;pn是电机转子极对数。在a机中,需要利用svpwm算法实现三相pwm波,其具体过程包括:svpwm算法的理论基础是平均值等效原理,即在一个开关周期ts内通过对基本压矢量加以组合,使其平均值与给定电压矢量相等。如图4所示,在某个时刻,电压空间矢量uout旋转到某个区域中,可由组成该区域的两个相邻的非零矢量和零矢量在时间上的不同组合得到。以扇ⅰ为例,矢量合成示意图如图5所示。根据平衡等效原则可以得到下式:tsuout=t4u4+t6u6+t0(8)t4+t6+t0=ts(9)其中:t4、t6、t0分别为u4、u6和零矢量u0的作用时间;ts为开关周期;uout为电压空间矢量。要合成所需电压空间矢量,需要计算作用时间t4、t6和t0,由图5可以得到:其中:θ为合成矢量与主矢量的夹角。将式(10)及和|uout|=um代入式(11)中可得:式(12)中,um是相电压;udc是三相矢量合成电压;定义svpwm的调制比为在svpwm调制中,要使得合成矢量在线性区域内调制,则要满足,即由此可知,在svpwm调制中,调制深度最大值可以达到1.1547,而spwm调制最高所能达到的调制比为1,即svpwm的调制比比spwm的调制比高出0.1547,这使其流母线电压利用率更高,也是svpwm控制算法的一个主要优点。判断电压空间矢量uout所在扇区的目的是确定本开关周期所使用的基本电压空间矢量。如图6所示,用uα和uβ表示参考电压矢量uout在α和β轴上的分量,定义uref1、uref2和uref3三个变量,令:再定义3个变量a、b和c,通过分析可以得出:若uref1>0,则a=1,否则a=0;若uref2>0,则b=1,否则b=0;若uref3>0,则c=1,否则c=0。令n=4c+2b+a,则可以得到与扇区的关系,如表1,通过表1可得出uout所在的扇区。表1n与扇区的对应关系n315462扇区ⅰⅱⅲⅳⅴⅵ另外,关于扇区的划分同样可以采用图4所示的方法。考电压矢量uout的角度确定时,便可根据图4所示的关系进行扇区划分。非零矢量和零矢量作用时间的计算,由图5可以得出:进一步计算式(14)可以变为:定义基本时间变量x、y、z:通过计算可以得到在每个扇区的基本矢量动作时间。可以得到矢量动作时间表:表2各扇区作用时间t0、t4、t6如果t4+t6>ts,则需要进行过调制处理,令:区矢量切换点的确定:首先定义则三相电压开关时间切换点tcm1、tcm2、tcm3与各扇区的关系如表3所示:表3各扇区开关切换时间tcm1、tcm2、tcm3n123456tcm1tbtatatctctbtcm2tatctbtbtatctcm3tctbtctatbtc需要说明的是,在上述方法中:在b机中,需要使用ekf模块算出电角速度ωe,具体过程包括:已知永磁同步电机在d-q坐标轴下的电压方程为:选取状态变量x=[id,iq,ω,θ]t,系统的输入和输出变量为:则可建立电机的非线性数学模型如下:其中,x(t)是系统状态变量;u(t)是系统输入;δ(t)是系统噪声;μ(t)是系统的测量误差。δ(t)的协方差是q(t),μ(t)的协方差是r(t)。δ(t)和μ(t)均为零均值高斯白噪声,它们的期望值为0。定义这些噪声的协方差矩阵为r:其中:式中,id、iq分别为电机d轴和q轴电流;ud、uq分别为电机d轴和q轴电压;ωr为转子机械角速度,r为电机定子电阻;ld、lq为电机定子d轴和q轴电感;λ为永磁体漏磁通。对f[x(t)]和h[x(t)]进行线性化可得:f[x(t)]的雅可比矩阵为:h[x(t)]的雅可比矩阵为:则扩展卡尔曼滤波(ekf)分为以下几步实现:步骤1)预估:步骤2)增益矩阵的计算:k(k+1)=p(k+1/k)*ht*[h*p(k+1/k)*ht+r(k)]-1(28)步骤3)状态更新:以上算法中,p是状态x的协方差矩阵;k为卡尔曼增益矩阵;h为测量矩阵;q为系统噪声方差阵;r为测量噪声方差阵。初始状态x(t0)的协方差阵初始值为p0,ts=tk+1-tk为系统的采样周期;k+1/k代表的是依据tk时刻的状态对tk+1时刻状态的预估;k+1表示的是tk+1时刻的最佳估计。pmsm输出的uabc、iabc经过坐标变换转化为d-q轴的ud、uq、id、iq,这些量再进入ekf模块得到电机角速度ωe和电角度θ。利用本发明系统仿真模拟测量a相电流,结果如图8所示,作为对比,实际电机理论a相电流,结果如图7所示,结果表明,本发明仿真的数据基本与理论数据一致,能够较为准确的模拟实际电机的三相电流。利用本发明系统仿真模拟测量转速,结果如图10所示,作为对比,实际电机理论转速,结果如图9所示,该结果表明,本发明仿真的数据基本与理论数据一致,能够较为准确的模拟实际电机的转速。本发明系统由单片机a机、单片机b机和中间连接的模拟量信号构成;a机仿真电机控制算法,b机实现数字式电机模型的仿真,中间连接的信号为svpwm、电机电流、电机转速信号,可以通过示波器观测。系统采用a机仿真实现电机的foc控制过程,采用b机实现数字式igbt、pmsm电机模块的仿真,可灵活改变电机参数和负载转矩,代替实际电机进行各种实验,得到的测试数据与实际数据误差较小,可以在实验中替代实际电机,也适合于电机控制的初学者,便于验证电机的foc控制算法和程序,提高仿真和调试效率。单片机价格远低于实际电机,可以大大降低电机测试的成本,提高安全性。本发明实施例还提供了一种基于数字和模拟混合仿真电机驱动方法,采用上述的系统,包括:1)将电机驱动单元和电机模拟单元的电源端口分别与直流电源相连接;2)在电机模拟单元设置模拟目标电机类型、模拟目标电机参数和模拟负载参数;3)启动电机驱动单元,通过svpwm控制模块输出三相六脉冲pwm信号,通过同步脉冲发生模块输出同步脉冲信号,并输出至电机模拟单元;4)电机模拟单元捕获脉冲信号,并对捕获的脉冲信号依次进行信号转换、滤波、编码和线性控制,完成速度闭环和电流闭环的过程。具体包括:将电机模拟单元和电机驱动单元的电源端口分别与直流电源相连接,将电机驱动单元的svpwm(空间矢量脉宽调制方法)控制模块的三相输出端口与电机模拟单元的pwm捕获模块的端口连接,将同步脉冲发生模块的输出端口与pwm捕获模块的端口连接;将电机模拟单元的dac模块的输出端口与电机驱动单元的adc模块的输入端口连接,将双脉冲输出模块的输出端口与正交编码器的输入端口连接。其matlab仿真示意图如图2所示。在电机模拟单元(b机)设置模拟目标电机类型、模拟目标电机参数、模拟负载参数。将电机驱动单元的svpwm控制模块产生的三相六脉冲pwm和同步脉冲发生模块产生的同步脉冲信号输入电机模拟单元的pwm捕获模块,pwm捕获模块将pwm信号输入igbt逆变桥控制母线电压的逆变,igbt逆变桥输出三相uabc,uabc经过第二3/2变换模块输出两路ud和uq。第一路ud和uq进入pmsm模块,pmsm模块输出两路id和iq,第一路id和iq和第二路ud和uq输入ekf模块,ekf模块输出ωe进入双脉冲输出模块,双脉冲输出模块输出双脉冲进入正交编码器输入端,正交编码器输出转速n进入速度pi控制模块,速度pi控制模块输出的控制信号进入双闭环pi控制模块,双闭环pi控制模块输出ud和uq进入反park变换模块,反park变换模块输出uabc进入svpwm控制模块,完成速度闭环。b机的pmsm模块输出的第二路id和iq经2/3变换输出iabc进入dac模块,dac模块输出模拟量的iabc经a机的adc模块接收,adc模块接收模拟量iabc转换为数字量iabc,数字量iabc进入第一3/2变换模块输出id和iq,id和iq进入双闭环pi控制模块,完成电流闭环。将本发明方法应用于计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现所述基于数字和模拟混合仿真电机驱动方法的步骤。处理器可能是中央处理单元(centralprocessingunit,cpu),还可以是其他通用处理器、数字信号处理器(digitalsignalprocessor,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现成可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。综上所述,本发明中svpwm控制模块采用svpwm算法的实现方式主要包括参考电压矢量的扇区判断,各个扇区非零矢量和零矢量作用时间的计算以及各个扇区矢量切换点的确定,最后使用一定频率的三角载波信号与各个扇区矢量切换点进行比较,从而可以产生变换器所需的pwm脉冲信号。本发明系统将电机及其负载看作一个整体,因此可以考虑将电机及其负载通过stm32f407芯片模拟实现。将该芯片称为电机模拟装置,该装置相较于实际的电机及负载,电机模拟装置的各种电机本体参数和负载参数均为数字量,便于测试电机驱动器的各种不同的控制参数和电机的输出参数。因此,用该模拟电机驱动系统代替实际电机进行各种实验,可以灵活改变电机参数和负载转矩,节约时间和成本。最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的范围。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1