第一篇:计算机控制实验报告(推荐)
计算机控制实验报告
班级:
姓名:
学号:
实验二 最少拍控制系统
1.实验结果
图2-1 单位阶跃输入下最少拍有纹波控制系统仿真结构模型
图2-2 单位阶跃输入下最少拍有纹波控制器输出
图2-3单位阶跃输入下最少拍有纹波系统输出
图2-4 单位阶跃输入下最少拍无纹波控制系统仿真结构模型
图2-5单位阶跃输入下最少拍无纹波控制器输出
图2-6 单位阶跃输入下最少拍无纹波系统输出 2.思考与分析
(1)最少拍受什么限制而使调整节拍增加?
答:设计出来的最少拍控制系统,在有限拍后进入稳态,只保证了在最少的几个采样周期后系统的响应在采样点时是稳态误差为零,而不能保证在任意两个采样点之间的稳态误差为零,即最少拍控制系统在采样时间精确的跟踪输入信号。所以最少拍受输入函数阶数的限制而使调整节拍增加,即输入函数的阶数越高,调解时间越长。
(2)无纹波系统对控制器有何要求? 答:最少拍无波纹对控制器有如下约束条件:
1.被控对象G(S)有足够的积分环节。若输入为速度输入函数,被控对象G(s)的稳态输出也应为速度函数,因此就要求G(s)中至少有一个积分环节。若输入为加速度输入函数,则被控对象G(s)的稳态输出也应为加速度函数,要求G(s)中至少有两个积分环节。所以最少拍无纹波控制能够实现的条件是被控对象G(S)有足够的积分环节。2.(z)必须包含G(z)中的圆外圆内全部零点N(z)。
(3)分析不同输入信号对最小拍控制系统的影响。
答:在单位阶跃函数作用下,输出响应经过一个采样周期T,输出与输入完全跟踪,即调整时间为一拍。同理在单位速度作用下经过两个采样周期T,输出与输入完全跟踪,即调整时间为二拍。在单位加速度作用下经过三个采样周期T,输出与输入完全跟踪,即调整时间为三拍。即输入函数的阶数越高,调整时间越长。
实验三 纯滞后控制实验
1.实验结果
图3-1纯滞后控制系统仿真结构模型
图3-2 纯滞后系统控制器输出
图3-3 纯滞后控制系统输出
2.思考与分析
(1)纯滞后控制系统对阶跃信号有无超调?为什么?
答:纯滞后控制系统对阶跃信号有超调。因为被控对象中的纯滞后部分作用在时间坐标上推移了一个时间
仅将控制,被控对象具有纯滞后特性,时间常数很大,而被控对象的滞后时间会使系统的稳定性降低,动态性能变坏,即会引起超调和持续的振荡,因而纯滞后控制系统对阶跃信号也有一定的超调。(2)纯滞后控制与PID控制有什么本质区别?
答:1.纯滞后控制:由于对象存在较大的纯滞后,采用单回路PID控制效果不佳。但常规单回路PID控制对一般对象控制效果较为理想,是生产过程中常用的一种控制方法。2.PID控制:比例控制能迅速反应误差,从而减小稳态误差。但是,比例控制不能消除稳态误差。比例放大系数的加大,会引起系统的不稳定。积分控制,只要系统有误差存在,积分控制器就不断地积累,输出控制量,以消除误差。但是积分作用太强会使系统超调加大,甚至使系统出现振荡。微分控制可以减小超调量,克服振荡,使系统的稳定性提高,同时加快系统的动态响应速度,减小调整时间,从而改善系统的动态性能。应用PID控制,必须适当地调整比例放大系数KP,积分时间TI和微分时间TD,使整个控制系统得到良好的性能。纯滞后控制部分的达林算法是基于离散系统的设计方法,按照期望的传递性能设计控制器达到改善性能的目的,PID控制算法是基于连续系统的设计方法。
第二篇:计算机控制实验报告
中国石油大学计算机控制实验报告 实验日期:2011.11.30 成 绩:
班级:自动化08-4 姓名:陈方光 学号:08071402
实验一 基于NI6008的数据采集
1.实验目的:
理解基本计算机控制系统的组成,学会使用MATLAB和NI6008进行数据采集。2.实验设备:
计算机控制实验箱、NI6008数据通讯卡、Matlab软件、计算机 3. 实验内容:
(1)使用计算机控制实验箱搭建二阶被控对象,并测试对象特性(2)在Matlab中设计数字PID控制器,对上述对象进行控制 4.实验步骤:
(1)选择合适的电阻电容,参考如下电路结构图,在计算机控制实验箱上搭建二阶被控对象,使得其被控对象传递函数为
建议数值:R1=200kΩ,R2=200kΩ,C1=1μF,R4=300kΩ, R5=500kΩ,C2=1μF.(2)测试NI6008数据通讯卡,确保数据输入输出通道正常。(3)使用MATLAB和OPC通讯技术进行数据采集:(4)编写程序,实现数据的定时采集和显示。5.实验结果
1)测试NI6008数据通讯卡
首先将NI6008数据采集卡的AI负端与GND端短接,然后通过usb数据线连接计算机,打开opc端口调试工具,添加NI数据采集卡,添加自己所需的输入、输出端口,通过向输入端强制写入1,观察AO端口显示数据,能较精确的跟踪输入数据,该数据采集完好。
2)使用matlab和opc进行数据采集及其显示
在Matlab中读写数据:
da = opcda(‘localhost’, ‘NI USB-6008.Server’);% 定义服务器 connect(da);
%连接服务器 grp = addgroup(da);
%添加OPC 组 itmRead = additem(grp,‘Dev1/AI0’);
%在组中添加数据项 itmWrite = additem(grp,'Dev1/AO0');
%在组中添加数据项
r=read(itmRead);
y(1)=r.Value;
%读取数据项的值 Write(itmWrite,1);
%向数据项中写值 disconnect(da);
%断开服务器 关于定时器的问题
t = timer(‘TimerFcn’,@myread, ‘Period’, 0.2,‘ExecutionMode’,‘fixedRate’);%定义定时器 start(t)%打开定时器 out = timerfind;%寻找定时器
stop(out);%停止定时器
delete(out);%删除定时器
将读取的数据存储并动态显示于图中: function myread(obj,event)
global tt k y da grp itmRead Ts itmWrite r=read(itmRead);k=k+1;tt(k)=(k-1)*Ts;y(k)=r.Value;hold on plot(tt,y)if k>70/Ts Write(itmWrite,0);num=[1.484];den=[46.4067,15.994,1];[y,t]=step(tf(num,den),1:0.2:70);plot(t,y)out = timerfind;stop(out);
delete(out);disconnect(da);end
表1:数据采集表
采集数采集数采集数时间 据 时间 据 时间 据 时间 0.00 0.00 4.00 1.67 8.00 1.67 12.00 0.20 0.02 4.20 1.67 8.20 1.66 12.20 0.40 0.74 4.40 1.67 8.40 1.68 12.40 0.60 1.30 4.60 1.67 8.60 1.67 12.60 0.80 1.52 4.80 1.67 8.80 1.67 12.80 1.00 1.62 5.00 1.66 9.00 1.67 13.00 1.20 1.64 5.20 1.67 9.20 1.68 13.20 1.40 1.66 5.40 1.66 9.40 1.67 13.40 1.60 1.67 5.60 1.67 9.60 1.66 13.60 1.80 1.66 5.80 1.65 9.80 1.67 13.80 2.00 1.67 6.00 1.64 10.00 1.67 14.00 2.20 1.66 6.20 1.66 10.20 1.68 14.20 2.40 1.68 6.40 1.66 10.40 1.68 14.40 2.60 1.67 6.60 1.66 10.60 1.66 14.60 2.80 1.67 6.80 1.66 10.80 1.67 14.80 3.00 1.66 7.00 1.67 11.00 1.67 15.00 3.20 1.67 7.20
1.67
11.20 1.67
15.20 采集数
据 时间 1.68 16.00 1.66 16.20 1.66 16.40 1.68 16.60 1.66 16.80 1.67 17.00 1.67 17.20 1.66 17.40 1.66 17.60 1.66 17.80 1.66 18.00 1.66 18.20 1.67 18.40 1.67 18.60 1.67 18.80 1.67 19.00 1.68
19.20 采集数
据 1.67 1.66 1.67 1.67 1.66 1.67 1.66 1.66 1.67 1.67 1.67 1.64 1.67 1.67 1.67 1.67 1.65 3.40 3.60 3.80 4.00 1.67 1.67 1.67 1.67 7.40 7.60 7.80 8.00 1.67 1.66 1.67 1.67 11.40 1.68 11.60 1.66 11.80 1.68 12.00 1.68 15.40 1.65 15.60 1.66 15.80 1.66 16.00 1.67 19.40 1.67 19.60 1.67 19.80 1.67 20.00 1.67 Matlab绘图如下:
图表 1 开环数据读取显示曲线
6.实验总结:
通过本次实验我理解基本计算机控制系统的组成,学会使用MATLAB和NI6008进行数据采集,以及实验电路的搭建,如何设计PID算式使二阶对象完成相应的功能,并且测试了对象的特性。复习了以前学习的东西,能做到活学活用,搭建实际模型来完成模拟实验。中国石油大学计算机控制实验报告 实验日期:2011.11.30 成 绩:
班级:自动化08-4 姓名:陈方光 学号:08071402
实验二 数字PID算法的实现
1.实验目的:
熟悉PID控制器,实现PID算法,深入了解PID参数对系统控制效果的影响 2.实验设备:计算机控制实验箱、NI6008数据通讯卡、Matlab软件、计算机 3.实验内容:
(1)在实验一基础上编制PID数字控制器,实现闭环控制。
Te(k)2e(k1)e(k2)uu(k)u(k1)kpe(k)e(k1)e(k)T()dTiT (2)进行PID参数的整定分析:
a)取消积分和微分作用,分析比例系数数对系统控制性能的影响 b)保持比例系数不变,分析积分作用对系统控制性能的影响
c)保持比例系数和积分时间不变,分析微分作用对控制系统性能的影响 d)运用所学的PID参数整定方法,确定一组控制性能良好的PID参数 4.实验要求
(1)实验过程中要记录实验曲线,标注控制系统输出的性能指标(2)总结PID参数对控制系统性能的影响
(3)分析理论结果与实验结果的差异,如有误差分析原因。5.实验结果 a)纯比例控制
分析:
对比分析上图可知:Kp越大,比例作用越强,比例动作越快,上升时间和延迟时间越短,调节时间峰值时间也相应减少,且稳态误差减小,但超调量增大,系统易发生振荡,甚至发散。
由于是纯比例作用,故系统稳定后存在余差,被控变量不可能回到原来的值上(在本系统中不可能稳定到1),且由于仿真电路干扰的存在,响应曲线存在较大的毛刺。
b)比例不变,变积分控制
分析:
从表中可知,在Kp相同,Ti不同的情况下, Ti越大,积分作用越强,系统的上升时间,延迟时间,调节时间和峰值时间均越大,系统的响应越慢,动态性能越差,但是系统的超调量却越小,甚至小到不存在,系统地稳定性能提高。加入积分环节后,对比表中数据可知,积分环节可以使系统的上升时间,调节时间,延迟时间,峰值时间变长,系统的动态性能变差,而超调量减小,稳态性能得到提高。
c)比例、积分不变,变微分控制
分析:
从表中数据可知,第一,由于微分作用的存在,响应曲线的起始阶段呈现尖锐的波峰,之后曲线也呈衰减振荡;第二,保持Kp、Ti不变,增大Td,系统的上升时间上升,微分控制不直接影响稳态误差,但它增加了系统的阻尼,因为容许采用比较大的增益K值,这将有助于系统稳态精度的改善。
PID具有PD和PI双重作用,能够较全面地提高系统的控制性能,是一种应用比较广泛的控制器。PID控制器除了提高系统型别之外,还提供了两个负实零点,从而较PI控制器在提高系统的动态性能方面有更大的优越性。因此,在工业控制设计中,PID控制器得到了非常广泛的应用。一般来说,PID控制器参数中,I部分应发生在系统频率特性的低频段,以提高系统的稳态性能;D部分发生在系统频率特性的中频段,以改善系统的动态性能。
6.实验总结
通过这次实验,我熟悉了PID控制器,实现了PID算法,深入了解了PID参数对系统控制效果的影响,宏观的了解了参数影响的效果,可以对于实际出现的各种图形进行分析,确定是那一个或者哪几个参数问题,便于实际应用,进一步熟悉了MATLAB软件的使用。
第三篇:数据采集计算机控制实验报告(共)
课程名称:
电气装备计算机控制技术
指导老师:
成绩:
实验名称:
数据采集计算机控制
实验类型:
同组学生姓名:
一、实验目的和要求(必填)
二、实验内容和原理(必填)
三、主要仪器设备(必填)
四、操作方法和实验步骤 五、实验数据记录和处理
六、实验结果与分析(必填)
七、讨论、心得
一、实验目的和要求 1.初步了解数据采集卡在电气装备中的应用 2.了解计算机在数据采集和处理方面的应用 3.采用 C++ Builder 对数据采集卡 PCI1202 进行编程,控制实验数据的采集数据预处理以及系统的测量模式 4.理解数据采集系统的硬件原理 5.掌握简单的数据采集软件编写方法 二、实验内容和原理 1.实验内容(1)
通过上位机控制三相异步电机的运行及停车(2)
使用数据采集系统进行各路数据采集对数据采集的结果进行记录好分析 2.实验原理 实验原理图如图所示:
电流传感器2电流传感器1电流传感器3电压传感器3电压传感器2电压传感器1三相调压器AVM3~
数据采集主电路实验接线图DB-16P数字输入DI+DI-DB-16R数字输出JNCCOM+-24VDCC220VAC
C— 主电路接触器的接点
J— 中间继电器的接点
NC— 为数字输出的常开接点
COM— 为数字输出的常开常闭公共点JCCC5~24VDC数字输入开关量信号CJ— 主电路接触器的线圈— 中间继电器的线圈注 注: 220V 三相交流电源经过各种接触器连接到三相异步电动机上,为控制电机的运行,必须控制三相交流电源的接入和断开,接触器即可实现此项功能。因为主接触器通入强电,不能直接进行操作,所以我们通过控制上位机产生的信号,继而控制中间继电器,然后由中间继电器控制主接触器。
电路中并联了三个电压传感器,串联了三个电流传感器,但是在实际过程中,由于电机的运转为空转,所以电机的线电流非常小,由电流传感器测出来的数据并不具有代表性,所以实际实验中我们连接了电压传
感器。
传感器测出来的信号经过数据采集实验箱中的调理电路处理后送入 PCI1202 中,经过 A/D 以及 D/A 转换后在上位机运行界面显示,实现基本的数据采集。采集信号的显示模式等均可通过程序进行改变。
三、主要仪器设备 一台 PC 机、交流电源、电动机、传感器板、PCI1202 控制板、继电器板、导线若干 四、操作方法与实验步骤 1.根据实验内容要求以及实验连接电路图所示,利用实验平台各装置设计硬件连接电路 2.运行 C++ Builder 软件,熟悉该软件的使用方法 3.通过软件平台进行编程、调试(可参照示例程序),实现对硬件电路的控制 4.软件调试成功后通过上位机运行系统,并对实验要求的数据进行采集和记录 五、实验数据记录和处理 1.实验例程 //---------------------------------------------------------------------------#include
hdrstop
#include
“Unit2.h” #include
“P1202.h” #include
“P1202u.cpp” //---------------------------------------------------------------------------#pragma
package(smart_init)#pragma
resource “*.dfm” TForm1 *Form1;
Word
TotalBoards;//上面这段程序包含了相关头文件的引用(#include **.h)以及编译预处理(#pragma **)指令,同时定义了Word型变量TotalBoards,用于存储板卡总数
//---------------------------------------------------------------------------__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner){ } //---------------------------------------------------------------------------//form的构造函数,在初始化窗体的时候执行,是最先执行的一个函数
void __fastcall TForm1::FormCreate(TObject *Sender){
Word
RetValue;//定义了一个Word类型的变量RetValue
RetValue = P1202_DriverInit(&TotalBoards);//板卡驱动初始化函数 //向系统要求分配资源,测试是否已经安准成功,并且回传给安装板卡的数量
if(RetValue!= 0)//板卡程序运行成功后返回0,否则报错
{
ShowMessage(“ErrorCode:” + IntToStr(RetValue)
+ “nDriver Initial Error!”);
Button1->Enabled = False;
}
//显示错误代码
eSelect->Text = “0”;//eSelect初始化选择为第一个板卡,第一个板卡定义为0
eTotal->Text
= IntToStr(TotalBoards);//eTotal初始化为板卡数量,此时从整形变量转化为字符型变量
UpDown1->Max
=(Word)(TotalBoards-1);//规定可选择板卡数量最多为板卡总数量减一
UpDown1->Min
= 0;//规定可选择板卡数量最低为0(第一个板卡)
if(TotalBoards < 2)//如果总板卡书小于2,则不能进行选择
{
UpDown1->Enabled = False;
eSelect->Enabled = False;
} } //---------------------------------------------------------------------------//该程序为窗口初始化函数以及P1202的初始化。P1202_DriverInit()这个函数是板卡驱动初始化函数,从来检测办卡的数量,并将值赋给Word变量RetValue,如果RetValue不等于0的时候,就会用ShowMessage函数显示错误信息。其中IntToStr函数的功能是将整形变量转换为字符串显示,同时button1不使能。eSelect用于板卡选择,从0开始一直到最大值减一,0表示第一个板卡。eTotal用于记录一共有多少板卡,值为板卡总数。UpDown1->Max用于记录板卡数量的最大数。UpDown1->Min用于记录板卡数最小值。如果板卡总数小于2,则将eSelect和UpDown1均不使能,不允许选用板卡。
void __fastcall TForm1::Button2Click(TObject *Sender)//描述按钮2(Exit)的关闭功能 {
Close();//关闭窗体 } //---------------------------------------------------------------------------void __fastcall TForm1::Button1Click(TObject *Sender){
Word
Didata;//变量定义
Word
RetValue, DF, DW, AC, Dodata, k;
float DA;
wAdNumber
=(Word)StrToInt(eC0AdNums->Text);
DF
=(Word)StrToInt(eC0DaFreq->Text);
DW
=(Word)StrToInt(eC0DaWave->Text);
AC
=(Word)StrToInt(eC0AdClock->Text);//频率
DA
= StrToFloat(eC0DaAmp->Text);//振幅
XMax->Caption = IntToStr(wAdNumber);//最大量程
RetValue
= P1202_ActiveBoard((Word)StrToInt(eSelect->Text));//调用函数激活板卡,同时将
值返回给RetValue
if(RetValue!= 0)//检验返回值是否错误
{
ShowMessage((AnsiString)“Active Borad Error!”
+ “nErrorCode:” + IntToStr(RetValue));
return;
}
Dodata
=(Word)StrToInt(“0x” + eC0DO->Text);//把变量转换为16进制word类型,并且赋给Dodata
RetValue
= P1202_Do(Dodata);//传送一个16位的值到Digital Output
if(RetValue!= 0)
{
ShowMessage((AnsiString)“Digital Output Error!”
+ “nErrorCode:” + IntToStr(RetValue));
return;
}
RetValue = P1202_Di(&Didata);//从Digital Output里面读取16位数
if(RetValue!= 0)
{
ShowMessage((AnsiString)“Digital Input Error!” + “nErrorCode:” + IntToStr(RetValue));
return;
}
eC0DI->Text = IntToHex(Didata,4);
RetValue = P1202_M_FUN_1(DF, DW, DA, AC, wAdNumber, 0, fAdBuf,-10, 10);//连续平滑的A/D、D/A转换
if(RetValue!= 0)
{
ShowMessage((AnsiString)“M_Fun_1 Error!”
+ “nErrorCode:” + IntToStr(RetValue));
return;
}
DrawWaveF(-5, 5, fAdBuf, 0, wAdNumber, C0Image);//连续的监视数据
lbC0Log->Items->Clear();
for(k=0;k<=wAdNumber-1;k++)//根据采集的数据画波形
lbC0Log->Items->Add(FloatToStr(fAdBuf[k]));} //说明:这个程序用于说明点击按钮Button1的时候动作——监视、采集数据,并且根据采集到的数据画波形。
//---------------------------------------------------------------------------void __fastcall TForm1::FormClose(TObject *Sender, TCloseAction &Action){
P1202_DriverClose;//关闭板卡
} //说明:这个程序用于关闭板卡 //---------------------------------------------------------------------------
三相电压采集例程 //---------------------------------------------------------------------------#include
#include “Unit2.h” #include “P1202.h” #include “P1202u.cpp” //---------------------------------------------------------------------------#pragma package(smart_init)#pragma resource “*.dfm” TForm1 *Form1;
Word
TotalBoards;//该程序段包含相关头文件的说明与编译预处理指令,同时定义Word变量TotalBoards,用于技术把卡总数 //---------------------------------------------------------------------------__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner){ } //---------------------------------------------------------------------------
void __fastcall TForm1::FormCreate(TObject *Sender){
Word RetValue;
RetValue = P1202_DriverInit(&TotalBoards);
if(RetValue!= 0)
{
ShowMessage(“ErrorCode:” + IntToStr(RetValue)
+ “nDriver Initial Error!”);
Button1->Enabled = False;
}
eSelect->Text = “0”;
eTotal->Text
= IntToStr(TotalBoards);
UpDown1->Max
=(Word)(TotalBoards-1);
UpDown1->Min
= 0;
if(TotalBoards < 2)
{
UpDown1->Enabled = False;
eSelect->Enabled = False;
} } //改程序为窗口初始胡函数以及P1202的驱动初始化,具体注释参考上一个程序 //---------------------------------------------------------------------------
void __fastcall TForm1::Button2Click(TObject *Sender){
Close();} //该程序用于说明Button2功能,即关闭窗体 //---------------------------------------------------------------------------void __fastcall TForm1::Button1Click(TObject *Sender){
Word
RetValue, DF, DW, AC, k;
float
DA;
wAdNumber
=(Word)StrToInt(eC0AdNums->Text);
DF
=(Word)StrToInt(eC0DaFreq->Text);
DW
=(Word)StrToInt(eC0DaWave->Text);
AC
=(Word)StrToInt(eC0AdClock->Text);
DA
= StrToFloat(eC0DaAmp->Text);
for(k=0;k<=31;k++)
{
wChannel[k]
= 0;
wConfigCode[k] = 0;
}
wChannel[0]
= 1;
wChannel[1]
= 1;wChannel[2]
= 1;//设定输出到analog output Channel1、Channel2、Channel3
XMax->Caption
= IntToStr(wAdNumber);
XMax2->Caption = XMax->Caption;
XMax3->Caption = XMax->Caption;
RetValue
= P1202_ActiveBoard((Word)StrToInt(eSelect->Text));//激活板卡,并把返回值送给RetValue
if(RetValue!= 0)
{
ShowMessage((AnsiString)“Active Borad Error!” + “nErrorCode:” + IntToStr(RetValue));
return;
}
RetValue = P1202_M_FUN_3(DF, DW, DA, AC, wAdNumber, wChannel, wConfigCode, fAdBuf,-10, 10);//连续平滑的A/D、D/A转换
if(RetValue!=0)
{
ShowMessage((AnsiString)“M_Fun_1 Error!” + “ErrorCode:” + IntToStr(RetValue));
//return;
}
DrawWaveF(-5, 5, fAdBuf, 0, wAdNumber, C0Image0);
DrawWaveF(-5, 5, fAdBuf, wAdNumber, wAdNumber, C0Image1);
DrawWaveF(-5, 5, fAdBuf, wAdNumber * 2, wAdNumber, C0Image2);//连续的监视数据
lbC0Log->Items->Clear();
for(k=0;k<=wAdNumber-1;k++)//根据采集的数据画波形
lbC0Log->Items->Add((AnsiString)“Ch0: ” + FloatToStr(fAdBuf[k]).SubString(1,5)
+ “
Ch1: ” + FloatToStr(fAdBuf[wAdNumber + k]).SubString(1,5)
+ “
Ch2: ” + FloatToStr(fAdBuf[wAdNumber * 2 + k]).SubString(1,5));} //说明:该程序功能用于说明Button1的功能以及实现,动态监视并采集数据,根据采集到的数据绘制波形。
//---------------------------------------------------------------------------void __fastcall TForm1::FormClose(TObject *Sender, TCloseAction &Action){
P1202_DriverClose;} //说明:该程序用于P1202的驱动关闭动作
六、注意事项 1.连线检查无误后方可上电,接线尽量用短线; 2.因为异步电机高压直接启动容易过流报警,所以可将交流输入电压调至160V左右; 3.主接触器线圈工作时需要220V交流电源(三相输出电压U、V、W为可调电压,其下方三个输出电压U’、V’、W’为不可调电压,其任意两相之间线电压均为380V,每一相对地相电压为220V,因此可选择其中一相作为主接触器电源,切不可用两相之间的线电压!)
4.数字隔离端子板配有多个继电器,这些继电器的通断由数码管显示,上位机输入的数字量可以由数码管以对应的二进制格式表示,因此应该弄清实验中使用的端子板继电器对应哪些数字为通,哪些数字为断。
5.实验中未出现过流过压报警时,电机的通断电通过上位机软件实现。
七、实验结果与分析
单相传感器
三相传感器 八、思考与分析 1.三相异步电动机的启动与调速方式有哪几种? 答:启动方式有直接启动(电机直接接额定电压启动)与降压启动(分为定子串电抗降压启动、星形三角形启动、软启动器启动以及自耦变压器启动等);调速方式有变极调速、变频调速与改变电动机转差率调速。
2.A/D 和 D/A 转换的性能指标主要有哪些? 答:主要性能直白哦有位数、量化误差、分辨率、精度、建立时间、转换时间、转换速率、环境指标等 3.电流传感器和电压传感器分别有哪几种接线方式? 电流传感器是串联,电压传感器是并联 4.简述霍尔传感器的基本原理?
答:当主回路有一个电流通过时,在导线上产生的磁场被聚磁环狙击兵感应到霍尔奇奸商,所产生的信号输出用于驱动相应的功率管,并使其导通从而后的一个补仓电流 Is,这一个电流再通过多匝绕组,产生磁场,该磁场与被测电流产生的磁场正好相反,因而补偿了原来的磁场,使霍尔器件的输出逐渐减小。当与Ip 与匝数相乘所产生的磁场磁场相等时,Is 不再增加,这是霍尔器件起到指示零磁通的作用,此时而已通过 Is 来平衡。被测电流的任何变化都会破坏这一平衡。一旦磁场失去平衡,霍尔器件有信号输出。经过功率放大后,立即就有相应的电流通过磁激绕组进行补偿,副边电流 Is 精确反映原边电流。
5.电气装备计算机控制系统主要分为哪几类? 数据采集系统、监督控制系统、直接数字控制系统、分散型控制系统 九、讨论、心得 1.本次实验的实验内容是通过计算机控制来实现对电机运行与停止的控制。本次实验用到的相关器件包括 PC 机、PCI1202 板、电压传感器、中间继电器等器件。
2.本次实验用到的传感器有电压传感器和电流传感器,由于电机运行为空载运行,电流较小,用电流传感器的意义不大,所以这次实验就只用了电压传感器 3.实验器材上有两个交流电压源的插口,上面一排为可调电源,本次实验只需调至 150-170V 左右就可以让电机运行起来,而在控制中间继电器里面的交流电源为 220V 交流电源,需要连接下面的插口才能实现。并且注意实验时不要触碰交流电源插口,非常危险。
4.实验连接线路时尽量用短线。因为是强电实验,连接线路过程中一定要断电连接,用的线路不能是裸露导体的导线,必须是将导体放在绝缘体之内的导线。
5.实验硬件电路中,对于控制电动机的启动并不是一步完成的,因为电动机工作在 380V 线电压的高压电路中,而控制计算机实际工作的电压远小于这个值,两者不能直接连接,应该逐级降压,DB-16P 与数字量开关信号相连,连接在 5-24VDC 的低压电路中,DB-16R 把输出的信号与继电器相连,工作在 24VDC电压下,最终继电器吸合后使电动机线路上的继电器工作,电机才得以转动。
6.异步电机的连接方法为三角-星型启动,可以有效降低启动电压。虽然如此,实验开始时仍然要逐级升压启动,才可以使电机运行平缓。
7.三相传感器的结果中可以看到三相频率基本一致,相位差大约差 120°,符合预期结果。
8.通过本次实验,初步了解数据采集卡在电气装备中的应用;了解计算机在数据采集和处理方面的应用;理解硬件的原理,为之后的实验打下了基础,对 C++ Builder 软件有了一定了解,为编程打下基础。
第四篇:大学_计算机控制技术实验报告河南工业大学4
实验四 单闭环直流调速系统
班级:自动F1203班 姓名:蔡申申 学号:201223910625
一、实验目的
1.掌握用PID控制规律的直流调速系统的调试方法; 2.了解PWM调制、直流电机驱动电路的工作原理。
二、实验设备
1.THBCC-1型 信号与系统控制理论及计算机控制技术实验平台 2.THBXD数据采集卡一块(含37芯通信线、16芯排线和USB电缆线各1根)3.PC机1台(含软件“THBCC-1”)
三、实验原理
直流电机在应用中有多种控制方式,在直流电机的调速控制系统中,主要采用电枢电压控制电机的转速与方向。
功率放大器是电机调速系统中的重要部件,它的性能及价格对系统都有重要的影响。过去的功率放大器是采用磁放大器、交磁放大机或可控硅(晶闸管)。现在基本上采用晶体管功率放大器。PWM功率放大器与线性功率放大器相比,有功耗低、效率高,有利于克服直流电机的静摩擦等优点。
PWM调制与晶体管功率放大器的工作原理: 1.PWM的工作原理
图13-1 PWM的控制电路
上图所示为SG3525为核心的控制电路,SG3525是美国Silicon General公司生产的专用。PWM控制集成芯片,其内部电路结构及各引脚如图13-2所示,它采用恒频脉宽调制控制方案,其内部包含有精密基准源、锯齿波振荡器、误差放大器、比较器、分频器和保护电路等。调节Ur的大小,在A、B两端可输出两个幅度相等、频率相等、相位相互错开180度、占空比可调的矩形波(即PWM信号)。它适用于各开关电源、斩波器的控制。
2.功放电路
直流电机PWM输出的信号一般比较小,不能直接去驱动直流电机,它必须经过功放后再接到直流电机的两端。该实验装置中采用直流15V的直流电压功放电路驱动。
3.反馈接口
在直流电机控制系统中,在直流电机的轴上贴有一块小磁钢,电机转动带动磁钢转动。磁钢的下面中有一个霍尔元件,当磁钢转到时霍尔元件感应输出。
4.直流电机控制系统如图所示,由霍耳传感器将电机的速度转换成电信号,经数据采集卡变换成数字量后送到计算机与给定值比较,所得的差值按照一定的规律(通常为PID)运算,然后经数据采集卡输出控制量,供执行器来控制电机的转速和方向。
四、实验步骤
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.4点击脚本编辑器窗口的调试菜单下“启动”;观察直流电机的运行情况。2.5 当直流电机的转速稳定在设定值后,再点击“脚本编辑器”窗口上 “停止”按钮,重新配置P、I、D的参数或改变算法的运行步长,并再次运行算法程序,观察直流电机的运行情况;
2.6 实验结束后,关闭脚本编辑器窗口,退出实验软件。
”按钮和工具栏上的 “
”
五、实验结果
1.P、I、D控制参数对直流电机运行的影响。
×数字调节器模数转换器保持执行器对象D/A采样保持多路开关测量环节
当重新配置P、I、D的参数时的实验结果(如将K改为2.5时)
六、实验体会
通过对单闭环直流调速系统实验的学习,学会了用PID控制规律的直流调速系统的调试方法和了解PWM调制、直流电机驱动电路的工作原理。利用软件“THBCC-1”的编辑器窗口的调试实验了电机的调速。
第五篇:计算机控制技术
《计算机控制技术》课程综述
09热工一班姚跃辉200910610118
计算机控制是自动控制理论与计算机技术相结合而产生的一门新兴学科,计算机控制技术是随着计算机技术的发展而发展起来的。自动控制技术在许多工业领域获得了广泛的应用,但是由于生产工艺日益复杂,控制品质的要求越来越高,简单的控制理论有时无法解决复杂的控制问题。计算机的应用促进了控制理论发展,先进的控制理论和计算机技术相结合推动计算机控制技术不断前进。近年来,随着计算机技术、自动控制技术、检测与传感器技术、网络与通信技术、微电子技术、CRT显示技术、现场总线智能仪表、软件技术以及自控理论的高速发展,计算机控制的技术水平大大提高,计算机控制系统的应用突飞猛进。利用计算机控制技术,人们可以对现场的各种设备进行远程监控,完成常规控制技术无法完成的任务,微型计算机控制已经被广泛地应用于军事、农业、工业、航空航天以及日常生活的各个领域。可以说,21世纪是计算机和控制技术获得重大发展的时代,大到载人航天飞船的研制成功,小到日用的家用电器,甚至计算机控制的家庭主妇机器人,到处可见计算机控制系统的应用。计算机控制技术的发展日新月异,作为现代从事工业控制和智能仪表研究、开发及使用的技术人员,必须不断学习,加快知识更新的速度,才能适应社会的需要,才能在工业控制领域里继续邀游。计算机控制系统是应用计算机参与控制并借助一些辅助部件与被控对象相联系,以获得一定控制目的而构成的系统。这里的计算机通常指数字计算机,可以有各种规模,如从微型到大型的通用或专用计算机。辅助部件主要指输入输出接口、检测装置和执行装置等。与被控对象的联系和部件间的联系,可以是有线方式,如通过电缆的模拟信号或数字信号进行联系;也可以是无线方式,如用红外线、微波、无线电波、光波等进行联系。被控对象的范围很广,包括各行各业的生产过程、机械装置、交通工具、机器人、实验装置、仪器仪表、家庭生活设施、家用电器和儿童玩具等。控制目的可以是使被控对象的状态或运动过程达到某种要求,也可以是达到某种最优化目标。
计算机控制系统就是利用计算机(通常称为工业控制计算机)来实现工业过程自动控制的系统。在计算机控制系统中,由于工业控制机的输入和输出时数字信号,而现场采集到得信号或送到执行机构的信号大多是模拟信号,因此与常规的按偏差控制的闭环负反馈系统相比,计算机控制系统需要有莫属转换器和数模转换器这两个环节。
计算机把通过测量元件、变送单元和模数转换器送来的数字信号,直接反馈到输入端与设定值进行比较,然后根据要求按偏差进行运算,所得到数字量输出信号经过数模转换器送到执行机构,对被控对象进行控制,使被控变量稳定在设
定值上。这种系统称为闭环控制系统。
计算机控制系统由工业控制机和生产过程两大部分组成。工业控制机硬件指计算机本身及外围设备。硬件包括计算机、过程输入输出接口、人机接口、外部存储器等。软件系统是能完成各种功能计算机程序的总和,通常包括系统软件跟应用软件。
(1)数据采集系统
在这种应用中,计算机只承担数据的采集跟处理工作,而不直接参与控制。它对生产过程各种工艺变量进行巡回检测、处理、记录及变量的超限报警,同时对这些变量进行累计分析和实时分析,得出各种趋势分析,为操作人员提供参考。
(2)直接数字控制系统
计算机根据控制规律进行运算,然后将结果经过过程输出通道,作用到被控对象,从而使被控变量符合要求的性能指标。与模拟系统不同之处在于,在模拟系统中,信号的传送不需要数字化;而数字系统必须先进行模数转换,输出控制信号也必须进行数模转换,然后才能驱动执行机构。因为计算机有较强的计算能力,所以控制算法的改变很方便。
微型计算机控制技术是一门跨学科以及应用性、技术性、综合性都很强的专业技术课程,要求具备较强的自动控制理论、微型计算机原理、模拟电子技术、数字电子技术等专业基础知识。通过学习,要求掌握计算机控制系统的控制原理和分析设计方法,具备基本的设计技能,能够设计出简单的计算机控制系统。学习该课程对我们工科专业的学生是十分重要而有用的。
09热工(1)班姚跃辉