21
2.30V~3.30V <0.8V >3.3V 反向线性区 正向饱和区 反向饱和区 2.SIMULINK软件消除死区
通过以上测量,我们得到了电机的非线性特性。由于实验中我们将电机当做线性系统控制,因此,我们需要进行消死区。 消死区通过软件的方法消除,即通过输出固定补偿、输出级限幅来保证电机一直工作在限行区域。消除死区的程序图如下:
本次实验中,考虑到确定电机非线性区需要对输入值进行连续调节,因此采用第一种方法给定输入。测量饱和区时,需要对电机转速进行检测,我们利用虚拟示波器观察测速发电机的输出。
(四)电机位置传递函数
本次实验中控制量为电机的位置,在上面我们已经对电机的速度进行了建模,而为位置是速度的积分,因此电机位置的传递函数为G(s)?K,时间常数T的求解方法前面
s(Ts?1)已经进行了介绍,接下来对K的求解方法进行简单介绍。
从电机的传递函数可以看出,系统经过单位反馈后将是一个典型的二阶系统,因此我们可以采用测量系统阶跃响应超调的方式求K。
采用与上面相同的电平匹配模块,得到最终的系统框图如下:
22
利用虚拟示波器,观察电机的输出波形,并通过测量阶跃响应的超调量计算模型的开环增益K。
??ymax?y(?)??%??e?y(?)?1????2KT???1??2?100%
系统的时间常数之前已经测得,因此我们可以根据上面的公式,利用超调量测得系统的
开环增益K。
我们对电机输入了位置的阶跃信号,通过对旋转编码器数据的采集并处理之后,得到电机的位置变化信息,进而得到了其对电机位置信号的阶跃响应曲线如下:
采用十字跟踪我们可以得到,电机在位置阶跃信号的输入下:
?y(?)?0.664 ??ymax?0.707 23
所以,根据超调量的定义我们可以得到:
?%?ymax?y(?)?100%?6.48%
y(?)??1??2则利用理论推导的公式,我们可以得到:
??%?e又因为T?0.05,因此
?100%???0.66
??则
1
2KTK?14?T2?11.48
至此,完成了电机位置模型的完整建立,测得了其速度模型的时间常数T?0.05以及取位置模型的整体增益K?15,得到电机的位置模型为:
G(s)?
15
s(0.05s?1)(五)DA卡的电平匹配
Ui可以通过两种方式给定。一种是通过电位器给定,使用电压表来测量给定的值。另一种是使用Simulink中的Analog Output模块给定。由于数据采集卡的实际输出信号与Simulink中的控制值存在差别,因此需要我们引入电平匹配模块。使用如下方法对DA卡进行电平匹配:
这是针对输出为-5-5V之间的时候,需要进行2倍扩大和电平平移:
Do?2?(A?5)
所以,A?Do/2?5,这样可以保证期望输出和实际输出相等。
24
七、详细设计步骤与仿真
(一)建立状态空间模型
系统开环传递函数为:
G(s)?K
(Ts?1)s假设系统速度状态量为X1,位置状态量为X2,则系统状态及输出量Y满足如下关系:
1?X(s)?U(s)?1Ts?1??X(s)?KX(s)
1?2s??Y(s)?X2(s)
则有一阶线性微分方程:
11??x??x?u11?TT? ??2?Kx1x??? y?x2则
??1??1??0?x??x??T?u????T??? ?K0???0???y??01?x?因此
?1?A??T??K??1?0?,B??T?,C??01? ???0??0? 25
其中,K?15,T?0.05,所以: 则有
?n?K?103?17.3 T??故超调量为:
13??0.577 32KT???1??2?%?e过渡时间为:
?100%?10.87%
4ts?
??n?0.4s
(二)状态观测器设计
由图推导得:
所以
比较: