单回路电机转速控制系统的设计和调试1.docx
《单回路电机转速控制系统的设计和调试1.docx》由会员分享,可在线阅读,更多相关《单回路电机转速控制系统的设计和调试1.docx(36页珍藏版)》请在冰豆网上搜索。
单回路电机转速控制系统的设计和调试1
重庆科技学院
学生实习(实训)总结报告
院(系):
_电子信息工程学院专业班级:
_自普本2007-01
学生姓名:
__赵春林_____学号:
__2007520012_
实习(实训)地点:
__校内I502_________________
报告题目:
_单回路电机转速控制系统的设计和调试___
报告日期:
2010年07月16日
指导教师评语:
_______________________________________
_____________________________________________________________________________________________________________________________________________________________________________________________________________
成绩(五级记分制):
_____________
指导教师(签字):
_____________________
目录
1实习内容及其要求………………………………………………………………04
2AC6611多功能过程通道卡……………………………………………………04
2.1功能特点与技术指标………………………………………………………04
2.2应用方法和步骤……………………………………………………………06
3方案设计…………………………………………………………………………07
3.1MM420变频器的使用方法和步骤…………………………………………07
3.2电机调速系统的实现方案…………………………………………………08
3.3AC6611和变频器组成的电机调速系统接线图设计……………………10
3.4控制程序的方案设计和模块划分…………………………………………10
4数据采集与输出程序设计………………………………………………………10
4.1AC6611数据采集与转速换算程序………………………………………10
4.2数字滤波算法及程序设计…………………………………………………11
4.3控制量与D/A代码换算及输出程序……………………………………13
5控制算法程序设计………………………………………………………………13
5.1转速设定曲线的程序实现…………………………………………………13
5.2完全微分PID算法…………………………………………………………15
5.3PID算法程序设计…………………………………………………………16
6控制程序的调试…………………………………………………………………17
6.1主要调试内容………………………………………………………………17
6.2调试方法……………………………………………………………………17
6.3调试步骤和结果……………………………………………………………19
7PID参数的整定…………………………………………………………………19
7.1整定方法……………………………………………………………………20
7.2整定结果及分析……………………………………………………………21
8技术小结…………………………………………………………………………23
参考文献…………………………………………………………………………24
附录:
控制程序清单……………………………………………………………25
1实习内容及其要求
本次计算机控制系统综合实训为期两周,是专业课程《计算机控制技术基础》的重要实践环节。
在本次实训过程中,主要对单回路电机转速控制系统和单回路温度控制系统进行设计和调试,实习的内容及其要求如下:
实习内容:
通过温度或转速的设定值和反馈值,计算其偏差,并使用PID控制算法输出控制信号,整定PID参数,使被控的温度或转速达到设定值。
具体实训内容包括AC6611过程卡的接线和测试、数据采集程序设计、PID算法程序设计、控制输出程序设计、人机界面程序设计、PID参数整定、实训报告。
实习目的:
通过实训,让学生了解计算机控制系统的基本组成,提出计算机控制系统的设计思路,初步学会计算机控制系统软硬件设计及调试的方法,具备技术实现能力;基本上能够处理实践过程中出现的问题并提出解决办法,进一步提高学生的计算机应用水平。
实习要求:
完成一个温度或转速单回路控制系统的设计和调试过程。
2AC6611多功能过程通道卡
AC6611多功能过程通道卡是北京双诺测控技术有限公司的一款廉价通用的A/D、D/A板和I/O卡,AD工作在查询方式,采用PCI总线支持即插即用、无需地址跳线。
AC6611具有16路单端模拟输入、1路12位D/A和32路开关量(16路输入及16路输出)。
2.1功能特点与技术指标
AC6611多功能过程通道卡虽然价格低廉,但是其功能庞大,是一款通用的A/D、D/A板和I/O卡。
AC6611多功能过程通道卡采用大规模可编程门阵列设计,在工作过程中,其AD工作在查询方式,采用PCI总线控制技术,支持即插即用,并且无需地址跳线。
同时,AC6611多功能过程通道卡具有16路单端模拟输入、32路开关量(16路输入及16路输出)和1路12位D/A。
AC6611多功能过程通道卡是一款通用的A/D、D/A板和I/O卡。
现分别说明其技术指标如下:
1、A/D转换指标:
(1)A/D转换器:
120KHZ12位A/DADS7816;保持器:
A/D芯片内置采样保持器;
(2)工作方式:
软件查询;
(3)通道数:
16路单端输入;
(4)输入阻抗:
1MΩ;
(5)最大输入耐压电压:
<+12V/-5.5V;
(6)瞬时输入耐压:
-25V-+30V;
(7)双极性输入范围:
5V;
(8)单极性输入幅度:
5伏、10伏;
(9)连接器:
DB25(孔式)。
2、D/A转换指标:
(1)通道数:
1路;
(2)分辨率:
12位;
(3)精度:
0.2%;
(4)最大输出电流:
5毫安;
(5)输出零点误差:
<±10mV;
(6)输出范围:
10伏、±10伏,使用跳线器进行选择;
(7)输出建立时间小于:
50微秒;
(8)连接器:
DB25(孔)。
3、开关量输入/输出指标:
(1)输入通道数:
16路(2个8位);
(2)输出通道数:
16路(2个8位);
(3)电平:
TTL电平(兼容3伏逻辑);
(4)连接器:
40脚扁平电缆插座;
(5)开关量输出复位后输出:
低电平“0”;
(6)输出高电压>2.5V,低电压<0.5V;
(7)最大输出电流:
8mA;
(8)输入电流:
<0.1mA;
(9)输入高电压门限:
>2V,低电压:
<0.8V;
(10)输入耐压:
高电平:
8V,低电平:
-0.4V。
4、其他指标:
(1)符合PCIV2.1标准;
(2)供电:
+5V、+12V、-12V;
(3)AC6611占用64个I/O选通空间(自动分配);
(4)工作温度:
0-70℃;
(5)尺寸:
12(W)X9(H)(cm)。
2.2应用方法和步骤
AC6611多功能过程通道卡支持Windows98、Windows2000、WindowsXP等多种系统软件,现以WindowsXP的安装为例,说明其应用方法和步骤如下:
1、关闭计算机的电源;
2、将AC6611板卡插入PCI槽中;
3、打开计算机电源,启动WindowsXP;
4、WindowsXP将会显示找到新硬件,可按找到新硬件向导进行下一步;
5、选择搜索适用与设备的驱动程序(推荐),下一步;
6、选择驱动所在目录,进行安装(\ac6611\driver\);
7、按找到新硬件向导的提示进行下一步;
8、WindowsXP将显示完成添加/删除硬件向导,单击完成即可完成安装过程。
值得注意的是,安装完毕AC6611多功能过程通道卡后,将在设备管理器中出现一个其他设备,其他设备是问号不表示设备有问题,只是表示系统不知道AC6611板卡是何种类型设备。
驱动安装完毕后,ac6611.sys和ac6611.dll文件就自动被复制到系统中去了,就可以进行其他测试、开发工作了。
AC6611多功能过程通道卡必须通过端子板才能连接外部的输入/输出模拟量信号和开关量信号,其配套的模拟量输入/输出端子板为AC157。
AC6611多功能过程通道卡通过DB25连接器和AC157连接,其连接接关系如图2.1所示。
图2.1AC6611多功能过程通道卡与端子板的连接关系图
AC157的接线段子和其上的P1连接器以及AC6611的P1连接器的信号是一一对应的。
AC157板卡中的模拟量输入通道共有16个,为CH0~CH15通道,分别对应AC6611板卡中P1连接器的AI0~AI15通道(各通道均为单端输入,参考端均为GND)。
P11~P13对应P1连接器的引脚11~13(未用),P23~P25对应P1连接器的引脚23~25,其中的P23为D/A输出通道(参考端为GND),其它两个引脚未用。
利用导线将通道数CH0与P23直接相连。
使用AC6611测试程序“AC6611(静态).EXE”,可以检验AC6611卡件的功能是否正确。
3方案设计
3.1MM420变频器的使用方法和步骤
IMICROMASTER420变频器在标准供货方式时装有状态显示板SDP,对于很多用户来说,利用SDP和制造厂的缺省设置值,就可以使变频器成功地投入运行。
如果工厂的缺省设置值不适合您的设备情况,可以利用基本操作板(BOP)或高级操作板(AOP)修改参数,使之匹配起来。
BOP和AOP是作为可选件供货的。
也可以用PCIBN工具“DriveMonitor”或“STARTER”来调整工厂的设置值。
在单回路电机转速控制系统设计和调试过程中,主要用到了基本操作板进行参数的修改。
现将BOP进行调试简要说明如下:
1、前提条件:
机械和电气安装已经完成
2、用基本操作板(BOP)进行调试
利用基本操作面板(BOP)可以改变变频器的各个参数,为了利用BOP设定参数,必须首先拆下SDP,并装上BOP。
BOP具有7段显示的五位数字,可以显示参数的序号和数值,报警和故障信息,以及设定值和实际值。
参数的信息不能用BOP存储。
(1)在缺省设置时,用BOP控制电动机的功能是被禁止的。
如果要用BOP进行控制,参数P0700应设置为1,参数P1000也应设置为1。
(2)变频器加上电源时,也可以把BOP装到变频器上,或从变频器上将BOP拆卸下来。
(3)如果BOP已经设置为I/O控制(P0700=1)在拆卸BOP时变频器驱动装置将自动停车。
3、变频器常规操作
(1)变频器没有主电源开关,因此,当电源电压接通时变频器就已带电。
在按下运行(RUN)键或者在数字输入端5出现“ON”信号(正向旋转)之前,变频器的输出一直被封锁,处于等待状态。
(2)装有BOP并且已选定要显示输出频率(P0005=21),那么,在变频器减速停车时,相应的设定值大约每一秒钟显示一次。
(3)变频器出厂时已按相同额定功率的西门子四极标准电动机的常规应用对象进行编程。
如果用户采用的是其它型号的电动机,就必须输入电动机铭牌上的规格数据。
(4)除非P0010=1,否则是不能修改电动机参数的。
(5)为了使电动机开始运行,必须将P0010返回“0”值。
(6)用BOP进行的基本操作先决条件:
P0010=0(为了正确地进行运行命令的初始化)。
P0700=1(使能BOP操作板上的起动/停止按钮)。
P1000=1(使能电动电位计的设定值)。
3.2电机调速系统的实现方案
本次设计的单回路电机转速控制系统是由硬件和软件相结合而实现的。
硬件方面主要包括西门子420通用型变频器、DQ20-1三相鼠笼电动机、测速发电机、AC6611板卡、AC157端子板。
而软件方面主要使用C++Builder6.0软件。
变频器采用单相220V电压供电,输出三相电压接三相鼠笼电动机,而电动机采用星型接法。
通过AC6611板卡的D/A输出(电压输出范围0V-10V)为变频器提供控制电压,以改变变频器的输出频率使电机的转速改变,同时通过AC6611板卡的A/D采集测速发电机的转速输出电压(电压输出范围0V-5V),反馈给控制系统,从而达到控制电机转速的目的。
单回路电机转速控制系统框图如图3.1所示。
图3.1单回路电机转速控制系统框图
BorlandC++Bilder6.0是Interprise(Borland)公司推出的基于C++语言的快速应用程序开发(RapidApplicationDevelopment,RAD)工具,它是最先进的开发应用程序的组件思想和面向对象的高效语言C++融合的产物。
C++Bilder充分利用了已经发展成熟的Delphi的可视化组件库(VisualComponentLibrary,VCL),吸收了BorlandC++6.0这个优秀编译器的诸多优点。
C++Builder结合了先进的基于组件的程序设计技术,成熟的可视化组件库和优秀编译器,调试器。
发展到6.0版本,C++Builder已经成为一个非常成熟的可视化应用程序开发工具,功能强大而且效率高。
利用C++Builder6.0软件,编辑的人机界面如图3.2所示。
图3.2人机界面
在本次设计的单回路电机转速控制系统中,输入给定转速后,利用软件编程将给定转速转变成数字量通过AC6611板卡的D/A通道送出去转变成电压值成为变频器的控制电压,使得变频器控制电机旋转从而得到相应转速;同时通过AC6611板卡的A/D电压采集通道采集测速发电机的转速电压值,并与设定值相比较,若有偏差存在则通过PID算法输出不断消除偏差,最终使电机达到所需要的稳定状态。
程序的核心内容是利用完全微分PID算法,其形式如:
U(k)=U(k-1)+△Uk
△Uk=q0*Ek+q1*E(k-1)+q2*E(k-2)
q0=(100.0/P)*(1+Ts/I+D/Ts)
q1=-(100.0/P)*(1+2*D/Ts)
q2=(100.0/P)*D/Ts
其中,P为比例带,I为积分时间,D为微分时间,Ts为采样周期,在本次设计的单回路电机转速控制系统中,采样周期设置为1秒。
3.3AC6611和变频器组成的电机调速系统接线图设计
在本次设计的单回路电机转速控制系统中,AC6611多功能过程通道卡与变频器和电机通过AC157相连。
组成的单回路电机转速控制系统的接线图如图3.3所示。
图3.3单回路电机转速控制系统接线图
3.4控制程序的方案设计和模块划分
结合本次设计的单回路电机转速控制系统的实际,选择完全微分PID设计方案。
同时可将模块划分为PID控制算法模块、数据修改和显示模块、趋势图显示和棒图显示模块。
4数据采集与输出程序设计
4.1AC6611数据采集与转速换算程序
AC6611多功能过程通道卡数据采集主要是对电机转速转换出来的电压进行采集,因此可以利用AD6611多功能过程通道卡的第8通道——A/D采集通道对相关数据进行采集。
然后通过转速换算,把采集到的电压信号转化为测量转速。
由于实验室所使用的电机的转速范围为:
0.0r/min-1470.0r/min,而测速发电机的电压输出范围为:
0.0V-5.0V,因此,可利用下式进行转换:
PV=ad_data*(1470.0-0.0)/2048.0
其中,ad_data为A/D采集的电压值。
于是,可用程序实现如下:
unsignedlongad_data;
unsignedlongda;
for(inti=0;i<10;i++)
{
AC6611_AD(hDevice,12,&ad_data);//选择12通道
PVT[i]=LS+ad_data*(HS-LS)/2048.0;//转速换算
sum+=PVT[i];
}
PV=sum/10;//算术平均值滤波
sum=0;
其中,PV是测量转速,HS为量程上限,LS为量程下限。
4.2数字滤波算法及程序设计
一般微机应用系统的模拟输入信号中,均含有种种噪声和干扰,它们来自被测信号源本身、传感器、外界干扰等。
为了进行准确测量和控制,必须消除被测信号中的噪声和干扰。
噪声有两大类:
一类为周期性的;另一类为不规则的。
后者为随机信号,它不是周期信号。
对于随机干扰,可以用数字滤波方法予以消弱或滤除。
所谓数字滤波,就是通过一定的计算或判断程序减少干扰在有用信号中的比重,实质上它是一种程序滤波。
数字滤波克服了模拟滤波器的不足,它与模拟滤波器相比,有以下几个优点:
(1)数字滤波是用程序实现的,不需要增加硬件设备,所以可靠性高,稳定性好。
(2)数字滤波可以对频率很低的信号实现滤波,克服了模拟滤波器的缺陷。
(3)数字滤波器可以根据信号的不同,采用不同的滤波方法或滤波参数,具有灵活、方便、功能强的特点。
由于数字滤波器具有以上优点,所以数字滤波在微机应用系统中得到了广泛的应用。
常用的数字滤波方法有算术平均值法、中位置滤波法、限幅滤波法和惯性滤波法。
在单回路电机转速控制系统设计和调试过程中,由于存在干扰信号使得测量转速输出波形出现震荡。
采用数字滤波前输出波形图如图4.1所示。
图4.1采用数字滤波前输出波形图
为消弱干扰信号,结合各种数字滤波方法的使用场合,选择了算术平均值法滤波。
算术平均值法滤波适用于对一般的具有随机干扰信号的滤波。
可对A/D采集的10次数据求取算术平均值,再赋值给相关的变量,可用程序实现如下:
floatPVT[10],sum;
for(inti=0;i<10;i++)
{
AC6611_AD(hDevice,12,&ad_data);//选择12通道
PVT[i]=LS+ad_data*(HS-LS)/2048.0;
sum+=PVT[i];
}
PV=sum/10;//算术平均值滤波
通过使用数字滤波,大大的消弱了干扰信号。
采用数字滤波后输出波形图如图4.2所示。
图4.2采用数字滤波后输出波形图
4.3控制量与D/A代码换算及输出程序
通过运行程序,设定相关参数,AC6611多功能过程通道卡就通过A/D通道采集当前转速值,即测量转速。
并把测量转速值与给定转速值进行比较,通过PID算法不断输出控制量以纠正偏差量使实际值与设定值相等。
可用程序实现如下:
unsignedlongad_data;
unsignedlongda;
En=SP-PV;
DeltaUn=q0*En+q1*En1+q2*En2;
Un=Un1+DeltaUn;
if(Un>100.0)
{
Un=100.0;
}
if(Un<0)
{
Un=0;
}
Un1=Un;
En2=En1;
En1=En;
da=(unsignedshortint)(Un*4095.0/100.0);
AC6611_DA(hDevice,da);
5控制算法程序设计
5.1转速设定曲线的程序实现
Image1是趋势图绘制的基本程序代码,首先载入趋势图片,趋势图片的大小为480×300,再设置起点坐标,图片的(0,0)点在最左上角,左下角的坐标为(0,300)所以纵坐红色绘制的的是设定值,蓝色绘制的当前值。
Image2是棒图设置,棒图的大小为100×300,坐标识别同Image1。
载入棒图图片,设置画笔宽度为5。
首先设置设定值SP的起点坐标(30,294),画笔的颜色为红色,由于画图只是改变纵坐标,因此比例变换坐标变为(30,294-SP*288/(HS-LS))。
再设置实际值PV的起始点坐标(50,294),画笔的颜色为蓝色,由于画图只是改变纵坐标,因此比例变换坐标为(50,294-PV*288/(HS-LS))。
最后设置转速的开度MV的起始点坐标(70,294),画笔的颜色为绿色,由于画图只是改变纵坐标,因此比例变换坐标为(70,294-MV*288/100)。
可用程序实现如下:
//绘制趋势曲线图
for(inti=0;i<479;i++)//给定趋势曲线由480个点组成
{
sptrend[i]=sptrend[i+1];//刷新给定转速值实时数据
sptrend[479]=300*SP/(HS-LS);//最新给定转速值数据
pvtrend[i]=pvtrend[i+1];//刷新测量转速值实时数据
pvtrend[479]=300*PV/(HS-LS);//最新测量转速值数据
mvtrend[i]=mvtrend[i+1];//刷新转速开度值实时数据
mvtrend[479]=300*MV/1470.0;//最新转速开度值数据
}
Image1->Picture->LoadFromFile("qushi.bmp");//重调趋势背景,清除当前趋势曲线
Image1->Canvas->Pen->Width=1;//趋势曲线宽度为1
//绘制给定转速值趋势曲线
Image1->Canvas->Pen->Color=clRed;//给定转速值趋势曲线为红色
Image1->Canvas->MoveTo(0,300);//给定转速值趋势曲线起点
for(inti=0;i<480;i++)//给定转速值趋势曲线由480个点组成
{
Image1->Canvas->LineTo(i,300-sptrend[i]);//两点之间连一直线
}
//绘制测量转速值趋势曲线
Image1->Canvas->Pen->Color=clBlue;//测量转速值趋势曲线为蓝色
Image1->Canvas->MoveTo(0,300);//测量转速值趋势曲线起点
for(inti=0;i<480;i++)//测量转速值趋势曲线由480个点组成
{
Image1->Canvas->LineTo(i,300-pvtrend[i]);//两点之间连一直线
}
//绘制转速开度值趋势曲线
Image1->Canvas->Pen->Color=clGreen;//转速开度值趋势曲线为绿色
Image1->Canvas->MoveTo(0,300);//转速开度值趋势曲线起点
for(inti=0;i<480;i++)//转速开度值趋势曲线由480个点组成
{
Image1->Canvas->LineTo(i,300-mvtrend[i]);//两点之间连一直线
}
//绘制棒图
Image2->Picture->LoadFromFile("bangtu.bmp");//重调背景,清楚当前棒图
Image2->Canvas->Pen->Width=5;//棒条宽度为5
//绘制给定转速值棒图
Image2->Canvas->Pen->Color=clRed;//给定转速值棒条为红色
Image2->Canvas->MoveTo(30,294);//给定转速值棒条起点
Image2->Canvas->LineTo(30,294-SP*288/(HS-LS));//给定转速值比例变换
//