计算机控制技术实验报告组.docx
《计算机控制技术实验报告组.docx》由会员分享,可在线阅读,更多相关《计算机控制技术实验报告组.docx(22页珍藏版)》请在冰豆网上搜索。
计算机控制技术实验报告组
实验一A/D与D/A转换
一、实验目的
1.通过实验了解实验系统的结构与使用方法;
2.通过实验了解模拟量通道中模数转换与数模转换的实现方法。
二、实验设备
1.THBCC-1型信号与系统•控制理论及计算机控制技术实验平台
2.THBXD数据采集卡一块(含37芯通信线、16芯排线和USB电缆线各1根)
3.PC机1台(含软件“THBCC-1”)
三、实验内容
1.输入一定值的电压,测取模数转换的特性,并分析之;
2.在上位机输入一十进制代码,完成通道的数模转换实验。
四、实验原理
1.数据采集卡
本实验台采用了THBXD数据采集卡。
它是一种基于USB总线的数据采集卡,卡上装有14Bit分辨率的A/D转换器和12Bit分辨率的D/A转换器,其转换器的输入量程均为±10V、输出量程均为±5V。
该采集卡为用户提供4路模拟量输入通道和2路模拟量输出通道。
其主要特点有:
1)支持USB1.1协议,真正实现即插即用
2)400KHz14位A/D转换器,通过率为350K,12位D/A转换器,建立时间10μs
3)4通道模拟量输入和2通道模拟量输出
4)8k深度的FIFO保证数据的完整性
5)8路开关量输入,8路开关量输出
2.AD/DA转换原理
数据采集卡采用“THBXD”USB卡,该卡在进行A/D转换实验时,输入电压与二进制的对应关系为:
-10~10V对应为0~16383(A/D转换为14位)。
其中0V为8192。
其主要数据格式如下表所示(采用双极性模拟输入):
输入
AD原始码(二进制)
AD原始码(十六进制)
求补后的码(十进制)
正满度
01111111111111
1FFF
16383
正满度-1LSB
01111111111110
1FFE
16382
中间值(零点)
00000000000000
0000
8192
负满度+1LSB
10000000000001
2001
1
负满度
10000000000000
2000
0
而DA转换时的数据转换关系为:
-5~5V对应为0~4095(D/A转换为12位),其数据格式(双极性电压输出时)为:
输入
D/A数据编码
正满度
111111111111
正满度-1LSB
111111111110
中间值(零点)
100000000000
负满度+1LSB
000000000001
负满度
000000000000
五、实验步骤
1.启动实验台的“电源总开关”,打开±5、±15V电源。
将“阶跃信号发生器”单元输出端连接到“数据采集接口单元“的“AD1”通道,同时将采集接口单元的“DA1”输出端连接到接口单元的“AD2”输入端;
2、将“阶跃信号发生器”的输入电压调节为1V;
3.启动计算机,在桌面双击图标“THBCC-1”软件,在打开的软件界面上点击“开始采集”按钮;
4.点击软件“系统”菜单下的“AD/DA实验”,在AD/DA实验界面上点击“开始”按钮,观测采集卡上AD转换器的转换结果,在输入电压为1V(可以使用面板上的直流数字电压表进行测量)时应为00001100011101(共14位,其中后几位将处于实时刷新状态)。
调节阶跃信号的大小,然后继续观察AD转换器的转换结果,并与理论值(详见实验原理)进行比较;
5.根据DA转换器的转换规律(详见本实验附录),在DA部分的编辑框中输入一个十进制数据(如2457,其范围为0~4095),然后虚拟示波器上观测DA转换值的大小;
6实验结束后,关闭脚本编辑器窗口,退出实验软件。
六、实验结果
1、A/D转换结果
AD
二进制
十进制
DA
十进制
二进制
00001011110100
8948
2457
100110011001
00001100001101
8973
3419
110101011011
00001011110011
8947
2184
100010001000
00001010111010
8890
4032
111111000000
00001011100110
8934
3958
111101110110
(1)00001011110100
2、D/A转换结果、
(2)3958
实验二数字PID调节器算法的研究
一、实验目的
1.学习并熟悉常规的数字PID控制算法的原理;
2.学习并熟悉积分分离PID控制算法的原理;
3.掌握具有数字PID调节器控制系统的实验和调节器参数的整定方法。
二、实验设备
1.THBCC-1型信号与系统•控制理论及计算机控制技术实验平台
2.THBXD数据采集卡一块(含37芯通信线、16芯排线和USB电缆线各1根)
3.PC机1台(含软件“THBCC-1”)
三、实验内容
1.利用本实验平台,设计并构成一个用于混合仿真实验的计算机闭环实时控制系统;
2.采用常规的PI和PID调节器,构成计算机闭环系统,并对调节器的参数进行整定,使之具有满意的动态性能;
3.对系统采用积分分离PID控制,并整定调节器的参数。
四、实验原理
在工业过程控制中,应用最广泛的控制器是PID控制器,它是按偏差的比例(P)、积分(I)、微分(D)组合而成的控制规律。
而数字PID控制器则是由模拟PID控制规律直接变换所得。
在PID控制规律中,引入积分的目的是为了消除静差,提高控制精度,但系统中引入了积分,往往使之产生过大的超调量,这对某些生产过程是不允许的。
因此在工业生产中常用改进的PID算法,如积分分离PID算法,其思想是当被控量与设定值偏差较大时取消积分控制;当控制量接近给定值时才将积分作用投入,以消除静差,提高控制精度。
这样,既保持了积分的作用,又减小了超调量。
五、实验步骤
1、实验接线
1.1按图4-1和图4-2连接一个二阶被控对象闭环控制系统的电路;
图4-1数-模混合控制系统的方框图
图4-2被控二阶对象的模拟电路图
被控对象的传递函数为:
1.2该电路的输出与数据采集卡的输入端AD1相连,电路的输入与数据采集卡的输出端DA1相连;
1.3待检查电路接线无误后,打开实验平台的电源总开关,并将锁零单元的锁零按钮处于“解锁”状态。
2、脚本程序运行
2.1启动计算机,在桌面双击图标“THBCC-1”,运行实验软件;
2.2顺序点击虚拟示波器界面上的“
”按钮和工具栏上的“
”按钮(脚本编程器);
2.3在脚本编辑器窗口的文件菜单下点击“打开”按钮,并在“计算机控制算法VBS\计算机控制技术基础算法\数字PID调器算法”文件夹下选中“位置式PID”脚本程序并打开,阅读、理解该程序,然后点击脚本编辑器窗口的调试菜单下“步长设置”,将脚本算法的运行步长设为100ms;
2.4点击脚本编辑器窗口的调试菜单下“启动”;用虚拟示波器观察图4-2输出端的响应曲线;
2.5点击脚本编辑器的调试菜单下“停止”,利用扩充响应曲线法(参考本实验附录4)整定PID控制器的P、I、D及系统采样时间Ts等参数,然后再运行。
在整定过程中注意观察参数的变化对系统动态性能的影响;
2.6参考步骤2.4、2.4和2.5,用同样的方法分别运行增量式PID和积分分离PID脚本程序,并整定PID控制器的P、I、D及系统采样时间Ts等参数,然后观察参数的变化对系统动态性能的影响。
另外在积分分离PID程序运行过程中,注意不同的分离阈值tem对系统动态性能的影响;
2.7实验结束后,关闭脚本编辑器窗口,退出实验软件。
6、实验结果
(a)位置式PID控制响应曲线
(b)增量式PID控制响应曲线
(c)积分分离PID控制响应曲线
积分分离PID控制算法与常规PID控制算法相对比,通过实验结果可知:
积分分离PID控制算法的控制效果要比常规PID控制算法控制效果控制效果要好。
7、位置式PID控制算法的脚本程序
dimpv,sv,ei,K,Ti,Td,q0,q1,q2,mx,pvx,op‘变量定义
subInitialize(arg)‘初始化函数
WriteData0,1
mx=0
pvx=0
endsub
subTakeOneStep(arg)‘算法运行函数
pv=ReadData
(1)‘采集卡AD1通道的测量值
sv=2‘给定值
K=0.8‘比例系数P
Ti=5‘积分时间常数I
Td=0‘微分时间常数D
Ts=0.1‘采集周期
ei=sv-pv‘控制偏差
q0=K*ei‘比例项
ifTi=0then
mx=0
q1=0
else
mx=K*Ts*ei/Ti‘当前积分项
endif
q2=K*Td*(pvx-pv)/Ts‘'微分项
q1=q1+mx
ifq1>4.9then‘积分限幅,以防积分饱和
q1=4.9
endif
ifq1<-4.9then
q1=-4.9
endif
pvx=pv‘pvx为测量值的前项
op=q0+q1+q2‘PID控制器的输出
ifop<=-4.9then‘输出值限幅
op=-4.9
endif
ifop>=4.9then
op=4.9
endif
WriteDataop,1‘输出值给DA1通道
endsub
subFinalize(arg)‘退出函数
WriteData0,1
endsub
实验三最少拍控制算法研究
一、实验目的
1.学习并熟悉最少拍控制器的设计和算法;
2.研究最少拍控制系统输出采样点间纹波的形成;
3.熟悉最少拍无纹波控制系统控制器的设计和实现方法。
二、实验设备
1.THBCC-1型信号与系统•控制理论及计算机控制技术实验平台
2.THBXD数据采集卡一块(含37芯通信线、16芯排线和USB电缆线各1根)
3.PC机1台(含软件“THBCC-1”)
三、实验内容
1.设计并实现具有一个积分环节的二阶系统的最少拍控制。
2.设计并实现具有一个积分环节的二阶系统的最少拍无纹波控制,并通过混合仿真实验,观察该闭环控制系统输出采样点间纹波的消除。
四、实验原理
在离散控制系统中,通常把一个采样周期称作一拍。
最少拍系统,也称为最小调整时间系统或最快响应系统。
它是指系统对应于典型的输入具有最快的响应速度,被控量能经过最少采样周期达到设定值,且稳态误差为定值。
显然,这样对系统的闭环脉冲传递函数
提出了较为苛刻的要求,即其极点应位于Z平面的坐标原点处。
1.最少拍控制算法
计算机控制系统的方框图为:
图7-1最少拍计算机控制原理方框图
根据上述方框图可知,有限拍系统的闭环脉冲传递函数为:
(1)
(2)
由
(1)、
(2)解得:
随动系统的调节时间也就是系统误差
达到零或为一恒值所需的时间,由Z变换定义可知:
有限拍系统就是要求系统在典型的输入信号作用下,当
时,
恒为零或恒为一常量。
N为尽可能小的正整数,为了实现这个目标,对不同的输入信号,必须选择不同的
传递函数,由理论分析得:
2.等速输入下最小拍控制器的设计
对于一二阶受控对象加零阶保持器后对象的传递函数为:
选择采样周期T,将上述传递函数离散后得
(3)
因为输入是单位斜坡信号,所以选择:
(4)
其中
,
由此可得等速输入下最少拍算法的控制量为
u(k)=(1-B)u(k-1)+Bu(k-2)+
(5)
按等速输入下最少拍无差系统设计的控制器,在等速输入可使闭环系统的输出在第二拍(即两个采样周期)跟上,此后在采样点上达到无差。
但对于其它典型输入的适应性较差。
4.等速输入下最小拍无纹波控制器的设计
按最少拍无差系统设计,最多只能达到采样点上无偏差,而不能保证相邻两采样点间无纹波。
最少拍无纹波设计,不仅要做到采样点上无偏差,而且要做到采样点间无纹波。
根据式(3)以及等速输入下最少拍无纹波的条件,可以求得:
两式联立求解得
,
,
所以有
由此可得等速输入下最少拍无纹波的算法:
五、实验步骤
1、实验接线
1.1根据图7-1连接一个积分环节和一个惯性环节组成的二阶被控对象的模拟电路;
图7-1二阶被控对象的模拟电路图
实验系统被控对象的传递函数为:
其中:
R1=200K,R2=100K,R3=100K,C1=10uF,C2=10uF
计算机控制系统的方框图为:
图7-2最少拍计算机控制原理方框图
1.2用导线将该电路的输出端与数据采集卡的输入端“AD1”相连,电路的输入端与数据采集卡的输出端“DA1”相连,数据采集卡的输出端“DA2”与输入端“AD2”相连;
1.3待检查电路接线无误后,打开实验平台的电源总开关,并将锁零单元的锁零按钮处于“解锁”状态。
2、脚本程序运行
2.1启动计算机,在桌面双击图标“THBCC-1”,运行实验软件;
2.2点击虚拟示波器界面上的“
”按钮对二阶被控对象的电路进行测试,分别测取惯性环节的放大系数、时间常数以及积分环节的积分时间常数;
2.3打开工具栏上的“
”按钮(脚本编程器);在脚本编辑器窗口的文件菜单下点击“打开”按钮,并在“计算机控制算法VBS\计算机控制技术基础算法”文件夹下选中“最少拍算法(有纹波)”脚本程序并打开,阅读、理解该程序,然后点击脚本编辑器窗口的调试菜单下“步长设置”,将脚本算法的运行步长设为200ms;
2.4点击脚本编辑器窗口的调试菜单下“启动”;用虚拟示波器观察图7-1输出端与采集卡的输出端“DA2”的实验波形;
2.5点击脚本编辑器的调试菜单下“停止”,同时在窗口上点击“打开”按钮,在“计算机控制算法VBS\计算机控制技术基础算法”文件夹下选中“最少拍算法(无纹波)”脚本程序并打开,阅读、理解该程序,然后在“脚本编辑器”窗口上点击“启动”按钮,用示波器观察图7-1输出端与采集卡的输出端“DA2”的实验波形;
2.6实验结束后,关闭脚本编辑器窗口,退出实验软件。
6、实验结果
1.二阶被控对象的电路图。
见图7-1二阶被控对象的模拟电路图
2.根据最少拍有纹波控制的算法编写脚本程序。
dimsv,pv,op,opx,opxx,ei,eix,eixx,Ts,A,B,k,Ti,x‘变量定义
subInitialize(arg)‘初始化函数
WriteData0,1
WriteData0,2
opx=0
opxx=0
eix=0
eixx=0
endsub
subTakeOneStep(arg)‘算法运行函数
pv=ReadData
(1)‘采集卡AD1、2通道的测量值
sv=sv+0.03‘斜坡信号的产生
Ts=0.2‘采集周期
ifsv>=4.8then
sv=4.8‘斜坡输出的最大值
endif
ei=sv-pv‘控制偏差
Ti=1
k=0.5
C=exp(-Ts/Ti)
A=Ts+Ti*C-Ti
B=(Ti-Ti*C-Ts*C)/A
op=(1-B)*opx+B*opxx+2*ei/(k*A)-(1+2*C)*eix/(k*A)+C*eixx/(k*A)‘控制输出值
eixx=eix
eix=ei
opxx=opx
opx=op
ifop<=-4.9then‘输出值限幅
op=-4.9
endif
ifop>=4.9then
op=4.9
endif
WriteDataop,1‘输出值给DA1通道
WriteDatasv,2‘斜坡信号给DA2通道
endsub
subFinalize(arg)‘退出函数
WriteData0,1
WriteData0,2
endsub
3.最少拍有纹波、无纹波控制时系统输出响应曲线。
(a)最少拍有纹波控制响应曲线
(b)最少拍无纹波控制响应曲线
实验四单闭环直流调速系统
一、实验目的
1.掌握用PID控制规律的直流调速系统的调试方法;
2.了解PWM调制、直流电机驱动电路的工作原理。
二、实验设备
1.THBCC-1型信号与系统•控制理论及计算机控制技术实验平台
2.THBXD数据采集卡一块(含37芯通信线、16芯排线和USB电缆线各1根)
3.PC机1台(含软件“THBCC-1”)
三、实验原理
直流电机在应用中有多种控制方式,在直流电机的调速控制系统中,主要采用电枢电压控制电机的转速与方向。
功率放大器是电机调速系统中的重要部件,它的性能及价格对系统都有重要的影响。
过去的功率放大器是采用磁放大器、交磁放大机或可控硅(晶闸管)。
现在基本上采用晶体管功率放大器。
PWM功率放大器与线性功率放大器相比,有功耗低、效率高,有利于克服直流电机的静摩擦等优点。
PWM调制与晶体管功率放大器的工作原理:
1.PWM的工作原理
图13-1PWM的控制电路
上图所示为SG3525为核心的控制电路,SG3525是美国SiliconGeneral公司生产的专用
PWM控制集成芯片,其内部电路结构及各引脚如图13-2所示,它采用恒频脉宽调制控制方案,其内部包含有精密基准源、锯齿波振荡器、误差放大器、比较器、分频器和保护电路等。
调节Ur的大小,在A、B两端可输出两个幅度相等、频率相等、相位相互错开180度、占空比可调的矩形波(即PWM信号)。
它适用于各开关电源、斩波器的控制。
2.功放电路
直流电机PWM输出的信号一般比较小,不能直接去驱动直流电机,它必须经过功放后再接到直流电机的两端。
该实验装置中采用直流15V的直流电压功放电路驱动。
3.反馈接口
在直流电机控制系统中,在直流电机的轴上贴有一块小磁钢,电机转动带动磁钢转动。
磁钢的下面中有一个霍尔元件,当磁钢转到时霍尔元件感应输出。
4.直流电机控制系统如图13-3所示,由霍耳传感器将电机的速度转换成电信号,经数据采集卡变换成数字量后送到计算机与给定值比较,所得的差值按照一定的规律(通常为PID)运算,然后经数据采集卡输出控制量,供执行器来控制电机的转速和方向。
图13-2SG3525内部结构
图13-3直流电机控制系统
四、实验步骤
1、实验接线
1.1用导线将直流电机单元24V的“+”输入端接到直流稳压电源24V的“+”端;
1.2用导线将直流电机单元0~5V的“+”输入端接到数据采集卡的“DA1”的输出端,同时将UO的“+”(霍耳输出)输出端接到数据采集卡的“AD1”处;
1.3打开实验平台的电源总开关。
2、脚本程序运行
2.1启动计算机,在桌面双击图标“THBCC-1”,运行实验软件。
2.2顺序点击虚拟示波器界面上的“
”按钮和工具栏上的“
”按钮(脚本编程器);
2.3在脚本编辑器窗口的文件菜单下点击“打开”按钮,并在“计算机控制技术应用算法”文件夹下选中“直流电机”脚本程序并打开,阅读、理解该程序,然后点击脚本编辑器窗口的调试菜单下“步长设置”,将脚本算法的运行步长设为50ms;
2.3点击脚本编辑器窗口的调试菜单下“启动”;观察直流电机的运行情况。
2.4当直流电机的转速稳定在设定值后,再点击“脚本编辑器”窗口上“停止”按钮,重新配置P、I、D的参数或改变算法的运行步长,并再次运行算法程序,观察直流电机的运行情况;
2.5实验结束后,关闭脚本编辑器窗口,退出实验软件。
五、实验结果
1.画出直流电机控制系统的方框图。
如图13-3所示
2.分析P、I、D控制参数对直流电机运行的影响。
(a)直流电机测量曲线
分析:
P:
比例环节I:
积分环节D:
微分环节
控制系统由于引入了比例—积分—微分控制器后,由于引入了一个位于坐标原点的极点,可以使系统无差度曾加1,同时,由于引入了两个负实数零点,与PI控制器比较,除了保持系统稳定性能的优点外,在提高系统动态性能方面具有更大的优越性。
六、参考程序
dimpv,sv,ei,K,Ti,Td,q0,q1,q2,mx,pvx,op
subInitialize(arg)'初始化函数
WriteData0,1
mx=0
pvx=0
endsub
subTakeOneStep(arg)'算法运行函数
pv=GetFS'电机的控制的转速,该转速在20~35左右
TTTRACE"转速=%f",pv
sv=35
K=2
Ti=2
Td=0
Ts=0.05'采集周期50ms
ei=(sv-pv)/20
TTRACE"ei=%f",ei
q0=K*ei'比例项
ifTi=0then
mx=0
q1=0
else
mx=K*Ts*ei/Ti'当前积分项
endif
q2=K*Td*(pvx-pv)/Ts'微分项
q1=q1+mx
ifq1>3.5then
q1=3.5
endif
ifq1<-3.5then'当前积分限幅,以防积分饱和
q1=-3.5
endif
pvx=pv
op=q0+q1+q2'当前输出值
ifop<=1then'输出值限幅
op=1
endif
ifop>=3.5then
op=3.5
endif
WriteDataop,1
TTRACE"op=%f",op
endsub
subFinalize(arg)'退出函数
WriteData0,1
endsub