(3)
y2=px+qx>x1
式3中的分界点x1,即对应着式2中的i1,而这个分界点的确定是非常复杂的,为了简化过程,采用数学分析的方法来确定。
转矩与电流的测量关系与拟合的关系曲线对比如图5:
图5转矩与电流的关系拟合曲线
转矩与电流的关系曲线由两部分(二次曲线和一次曲线)构成,分别对这两部分运用最小二乘法拟和曲线。
为了寻找x1点,设点xn,在x≤xn范围内拟合的曲线为y1=ax2+bx+c,在x>xn范围内拟合的曲线为y2=px+q。
最佳的分界点xn即为使得R(n)最小的点。
利用matlab仿真可以得到,当n=11时,具有最小的R(n),此时电流值x(11)=7.4A,所以在计算转矩时,当电流值小于7.4A时,采用二次曲线计算,当大于7.4A时,采用线性关系计算。
计算公式为(式4):
y1=0.1913x2+0.3926x-1.6043x<7.4
y2=3.2393x-12.47x>7.4(4)
4.2.2开关磁阻电机软特性调速系统控制策略[3]
本系统采用的控制策略如下:
⑴起动方式:
由于单相起动不如单双相起动可靠,并且在起动过程中为了确定转子绝对位置,若给不恰当的两相通电,可能使电机产生抖动,所以本系统采用单双相混合起动、单三拍(A-B-C)运行方式。
在图2-4中可以看到给定转速后面加了一个给定积分器,给定积分器是将给定阶跃信号变成随时间按照一定斜率线性变化的输出信号,使电动机能够平稳缓慢地起动,避免产生冲击。
⑵控制方式:
电压斩波控制从低速到高速运转不存在控制方式转换问题,既能用于高速运行,又适合于低速运行。
所以本文选择定角度电压斩波方式,开通角0°,关断角15°。
从减小电流峰值及脉动,提高系统效率出发,采用斩单管的电压斩波方式。
为防止电流峰值过大损害IPM模块,在电机起动前,电流斩波幅值固定为限流值,使电流斩波电路作为IPM的保护电路。
⑶调节器设计:
由于SRD精确的动态模型难以建立,而PID调节器的优点在于即使在受控对象的模型未知的情况下,其比例,积分,微分常数亦可通过系统的实际运行现场整定出来,因此在此系统中选择为PI调节器,通过实验确定法确定其参数。
软特性调速系统实现框图如下图6:
图6软特性调速系统实现框图
系统转速分为外部给定和内部软特性给定,在起动前由外部给定(通过键盘)设置参数,包括软、硬特性的选择,软特性参数。
若设定为软特性运行,起动后转速给定切换到软特性给定上。
软特性的给定转速根据采集的实时电流值间接计算得到。
给定转速经过给定积分环节后与由转子位置传感器获得的反馈速度相比较,误差经数字PI调节,转换成PWM脉冲的控制参数。
控制器根据位置信号以及电流比较的输出信号(允许PWM输出或禁止PWM输出)输出对应的PWM脉冲,经功率变换器,实现对SR电动机的控制。
5开关磁阻电机软特性的软件设计
5.1软件设计概述
本系统的软件设计采用C及汇编语言混合编程,实行模块化设计,增加了程序的可读性和移植性。
对于本系统而言,控制系统软件主要完成以下任务:
⑴起动:
使电机起动无死区,起动转矩足够大,并尽量减小振动。
⑵控制过程:
电流斩波控制时,控制器输出电流斩波幅值,通过SPI口输入到D/A转换器,硬件电路完成斩波过程。
电压斩波控制实现转速的调节。
控制器经过对各种信号进行处理后,采用闭环控制,输出为定频调宽的PWM方波。
转速环的设计采用PI调节器。
⑶软特性的实现:
首先选择软特性的运行方式,软特性曲线通过键盘人为给定。
根据设定的曲线参数,根据负载的变化实时调节转速,转速调节要求稳态误差小,响应速度快,抗扰能力强。
⑷正反转切换:
切换命令由键盘发出,实现起动时的正反转设定,以及电机运行过程中正反转间的切换,要求切换平滑,抖动小。
⑸保护措施:
能够接收、判断外部的故障信号和保护信号并且采取相应的措施。
本程序主要利用DSP56F803的相位检测模块、PWM模块、定时器模块,这里重点介绍一下各个模块在SR电机控制中的应用。
1)定时器
DSP56F803有一个专用的定时器D和一个可选用的定时器A,定时器A和相位检测模块复用IO引脚。
每个定时器有4个计数器模块,每个计数器有两个基本功能:
①记录内部或者外部事件数;②记录每个外部事件之间所经历的内部时钟周期数,也就是得到外部事件的时间间隔。
本程序中,定时器D的计数器1、3分别设置为10ms、15ms中断,在中断处理程序中设置标志作为主程序运行状态的转换。
定时器A与相位检测模块复用,设置定时器A为上升沿捕捉(正转),以总线时钟为基准,记录两个上升沿之间的时间,从而计算电机转速,在捕捉中断中完成电机换相。
2)PWM模块
在SR电机控制系统中,PWM信号被用来控制开关管的开关时间,为电机绕组提供所需要的能量,获得所需的转速和转矩。
本系统中,采用全数字调节器,其输出决定PWM信号的占空比。
设置PWM模块在PWM信号新的周期开始时产生一次中断(重载中断),在该中断中,可以把需要改变的参数比如占空比写入,那么下一个周期的波形就会由新的参数决定。
而DSP56F803的PWM模块还有一个很有用的功能,那就是软件控制输出[10]。
软件控制输出的意思是用软件向特定的寄存器写入值来控制PWM管脚上的输出。
在6个PWM通道都设置成为独立通道模式下,如果用软件设定OUTCTLVx=1,x=0~5,那么输出控制寄存器PWMOUT相应的x位就控制PWM管脚的输出。
软件控制时并不停止PWM发生器和电流状态检测电路的工作,它们继续运行,但是不再控制PWM输出引脚。
这样在SR电机换相的时候就不需要靠外部逻辑电路来判断换相,只需软件控制功能就可以进行换相。
所以在每个重载中断中,可以写入软件控制字和占空比的值,这样就可以使SR电机进行正确的换相和转速控制。
3)相位检测器
在本系统中相位检测器用来检测转子位置信号,相位检测器有4个输入引脚,分别是PHASEA、PHASEB、INDEX和HOME,这4个引脚同时复用为定时器A的四个计数器A0、A1、A2和A3。
选择相位检测器的工作模式为模式1,那么这4个引脚上的信号经过内部的干扰信号滤波器后,分别作为定时器A和相位检测器的输入,读取相位检测器的输入监控寄存器IMR可以得到SR电机的位置信号。
DSP56F803的相位检测器使得SR电机控制器的硬件设计可以省略位置信号输入滤波电路,同时为灵活的换相策略提供了方便。
5.2主程序设计
图7为主程序流程图。
主程序主要完成的工作为:
系统初始化、系统状态检测、调用起动及转速调节程序等。
主程序首先完成系统的初始化,然后进入状态检测程序。
状态检测程序是一个包含两个状态的死循环,一个状态是TimeOut1状态,另一个是TimeOut2状态。
TimeOut1状态是当标志量TimeOut1为1时的状态,其完成的功能见图4-1左边的部分,主要是完成开机、停机命令检测、给定转速计算、对给定转速积分、调起动程序。
TimeOut2状态是当标志量TimeOut2为1时的状态,主要完成转速显示、转速调节功能。
这两个状态均由定时器产生,在本程序中使用定时器D的定时器模块TD1和TD3,TD1产生10ms中断,该中断程序里置TimeOut1为1,TD3产生15ms中断,该中断程序里置TimeOut2为1。
主程序不断的循环,当有中断发生时,执行中断程序。
图7主程序流程图
5.3软特性的实现
软特性的机械特性曲线由键盘给定。
程序运行过程中每0.5s检测一次负载状况,转速的给定实现区间化,即在负载上下波动不超过2N.m的范围内转速给定不变。
在负载连续三次超出上一次区间范围后,转速才开始进行调节。
这样就防止了负载短时波动造成的转速波动。
考虑到转速的调节时间,从转速开始调节后的2s内不再进行软特性调节。
图8所示为转速的给定方法示例图。
设给定为n0=600r/min,k=50。
当负载小于10N.m时,系统始终以n0运行。
当负载大于20N.m时,转速固定在300r/min。
在区间[10,20]之间,负载波动小于2N.m时认为负载不变。
即如图3-2所示,在负载区间[10,12)内统一取负载为11N.m,并根据11N.m的负载计算转速。
依此类推,平均转矩与转速的对应关系如图8所示。
图中的转矩区间[10,20],是根据做实验时的电机带载能力确定的,当电机的运行条件发生变化时,其带载能力也变化,因此转矩区间也将变化,但每隔2N.m计算一次转速不变。
图9所示为软特性调节程序流程图。
T_1,n_1分别为转矩和转速的前一时刻的值,T_1(0),m(0)分别为初始化时的值。
图8平均转矩与转速对应关系图
5.4PI调节器的设计[6]
按偏差的比例、积分和微分进行控制的调节器(简称PID调节器)是连续系统中技术成熟、应用最为广泛的一种调节器,它的结构简单,参数易于调整,在长期的使用中积累了丰富的经验。
特别对于开关磁阻电机这类难以建立准确数学模型的控制对象,运用控制理论分析综合要耗费很大的代价,却难以达到预期的效果。
连续系统PID调节器算式为:
(5)
式中:
e(t)—调节器输入函数,即给定量与输出量的偏差;
u(t)—调节器输出函数;
Kp—比例系数;
TI—积分时间常数;
TD—微分时间常数。
取T为采样周期,k为采样序号,k=0,1,2…i,…k,因采样周期相对于信号变化周期是很小的,这样可以用矩形法算其面积,用向后差分代替微分。
于是(式5)可写成:
(6)
图9软特性调节程序流程图
其增量算式为:
(7)
式中:
KI—积分时间比例系数
;
;
KD—微分比例系数
;
;
在实际编程中采用了积分分离的PID算法。
即当被控量与设定值的偏差较大时,取消积分作用,以免积分饱和作用使系统的稳定性减弱,超调量加大;当被控量接近设定值时,才加入积分作用,以消除静差,提高控制精度。
程序流程图如图10所示。
PI参数由实验法来确定。
图10PI控制算法流程图
5.5子程序设计
⑴起动及运行子程序
起动程序主要是使电机能够正常起动。
首先根据电机的不同转向,设置定时器A的捕捉中断模式,使得换相成功进行,然后根据得到的位置信息对相应相通电,按照给定方向正确起动电机。
载入恰当的占空比是为了避免起动占空比过大造成过大电流。
进入起动程序前进行起动过程标志检测,当起动成功后不进入该程序。
起动过程分为四个阶段:
起动开始,载入参数,允许速度控制,起动结束。
起动开始阶段是在接收到起动指令后进入的阶段叫做起动开始阶段;调用起动程序后,根据位置判断起动相,然后给出占空比的过程叫做载入参数阶段;当捕捉到两个脉冲时允许速度控制,叫做允许速度控制阶段;主程序进入状态2时,如果检查到允许速度控制,则开始进行速度调节,此时起动结束。
这四个过程是按照如下叙述进行的:
主程序里面进行起动开始判断,在起动程序中载入占空比同时置载入参数标志,运行程序中捕捉到2个边沿脉冲时置允许速度控制标志。
图11起动程序框图
电机运行的时候,主要完成的任务是换相和转速调节。
转速调节是在TimeOut2状态里进行,调节完成后输出PWM信号的占空比。
SR电机的换相及转速计算均在定时器A的捕捉中断处理程序中完成。
定时器TA0、TA1、TA2分别捕捉A、B、C相位置,各定时器的捕捉中断处理程序流程均一样,图12所示为TA0中断处理程序框图,该框图只表示了正转换相及转速计算,反转只是定时器的边沿捕捉模式相反。
⑵测速子程序
在电机控制应用现场,经常会遇到尖脉冲干扰。
这种干扰一般只影响个别采样点数,受干扰的数据与其他采样点的数据相比有明显的差异,而且是随机的偶然发生几次。
如果采用算数平均值法滤波,则幅值较大的干扰将“平均”到计算结果上去,故算术平均值法不能消除尖脉冲随机干扰的影响。
防脉冲干扰平均值法,既能防止脉冲随机干扰的影响又能使周期性干扰得到平滑处理。
具体的算法是对连续采到的N个数据用排序程序按从小到大的顺序重新排列,然后去掉最大值和最小值,取剩余的数据进行算术平均,所得结果为本次滤波输出。
在本程序中采用防脉冲干扰平均值法测速,取N值为4。
图12TA0捕捉中断处理程序框图
⑶电流斩波子程序
在电压斩波控制时,电流斩波作为保护用,在初始化中调用该函数,给出斩波电路的上下限值。
在电流斩波控制时,速度调节器的输出代表电流斩波幅值,上下限值为该幅值分别加上和减去一个恰当的数。
由于调节器输出值的范围是0~1,所以要把该值与电流最大值相乘,作为真正的电流斩波幅值经SPI口写到D/A转换器中。
⑷PWM重载中断程序
重载中断通俗的讲就是在每个PWM发生器产生一个周期PWM波形后,都产生一个中断,在该中断处理程序中可以修改PWM模块的参数以达到对电机换相和转速调节的目的。
可以修改的参数为预分频因子、PWM计数周期和PWM占空比。
本软件在PWM中断重载程序里完成三个任务:
根据运行程序中的换相函数改写PWM模块的软件控制字;获取主程序中状态TimeOut2中的调节器输出值,更新PWM占空比;触发A/D转换,使对电流的采集与PWM同步。
5.6可视化控制软件PCmaster[9]
PCMaster是集成在DSP56F80x开发环境中的一套十分有特色的可视化调试工具,用简单的RS232串行通讯线连接PC机和DSP目标板,把程序的elf格式文件导入PCMaster中,建立通信,就可以通过PCMaster可视化的图形界面来监测和控制DSP中程序的运行。
与大多数运行于Windows环境下的应用软件一样,PCMaster的用户界面为典型的多应用窗口+菜单形式。
三个应用窗口分别为工程管理窗口(Project)、主显示窗口(DetailView)与变量观察窗口(VariableWatch)。
为了适应测控系统的应用需要,PCMaster引入了工程项目管理。
工程是一个树形结构,它包含了一个计算机测控系统的各个应用层面(项目):
⑴控制页面(ControlPage)。
⑵控制算法描述页面(AlgorithmBlockDescription)。
⑶当前项目帮助(CurrentItemHelp)。
⑷示波器(Oscilloscope)。
⑸记录器(Recorder)。
当用户在工程管理窗口中选定了相应的项目后,在主显示窗口中就会出现对应的界面。
用户利用PCMaster可以进行以下的操作:
①以希望的格式观察目标板内部有关变量的变化。
②对目标板内部的变量进行修改,从而对目标板的状态进行控制。
③可以发送控制目标板运行的控制命令。
④以波形显示方式对变量的变化过程进行监测(示波器)。
⑤对快速变化的事件进行记录并以图形方式显示(记录器)。
⑥可以加入HTML网页显示帮助、目标板系统功能的描述等内容。
还可以利用有关的工具创建具有控制功能的网页。
⑦可以建立针对应用系统的树形工程结构,并赋予每个应用单元相应的功能描述、