计算机测控系统课程设计基于AC6611和变频器的电机调速系统设计_第1页
计算机测控系统课程设计基于AC6611和变频器的电机调速系统设计_第2页
计算机测控系统课程设计基于AC6611和变频器的电机调速系统设计_第3页
计算机测控系统课程设计基于AC6611和变频器的电机调速系统设计_第4页
计算机测控系统课程设计基于AC6611和变频器的电机调速系统设计_第5页
已阅读5页,还剩28页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、重庆科技学院课程设计报告 院(系):电气与信息工程学院 班 级: 学生姓名: 学 号: 设计地点(单位) 设计题目: 基于ac6611和变频器的电机调速系统设计 完成日期: 2012 年 1 月 2 日 指导教师评语: 成绩(五级记分制): 教师签名: 重庆科技学院课程设计任务书设计题目:基于ac6611和变频器的电机调速系统设计学生姓名课程名称计算机测控系统专业班级地 点i502起止时间11.12.1911.12.30设计内容及要求1. 接线图设计:使用ac6611和mm420变频器控制电机转速的所有接线图;包括接线操作、m420单独控制电机转速的试验和基本应用等。2. 程序设计(1)界面设

2、计:主界面设计、设定转速曲线、实际转速实时趋势曲线等的设计。(2)数据采集与处理程序设计:ac6611数据采集程序、d/a输出程序,标度换算、数字滤波程序设计等。(3)电机速度的可编程曲线控制:开环控制电机的转速按预先设定的曲线变化;通过闭环控制(pid调节)将电机的转速控制到任意设定转速(选作)。3. 单回路pid参数的整定和分析(选作)。要求:根据自己的学号与模16之余确定自己的a/d通道(采集电机的实际转速),据此设计相应的接线图;编写、调试和运行控制程序;整定pid参数满足相应的控制要求(选作);撰写设计报告。设计参数1. 变频器:mm420;电机:具体参数见名牌2. 数据采集误差:&

3、lt;0.5%3. 稳态误差:<1%(选)4. 动态误差:<5%(选)进度要求第1天:选题、讲解任务、ac6611基本应用、cb编程培训;第2天:ac661、mm420变频器和电机的接线图设计、ac6611基本编程、变频器基本应用;第3天:界面程序设计;第4天:数据采集和滤波等程序设计;第5和6天: 电机转速设定曲线及d/a输出程序设计、pid控制程序设计(选);第7-8天:调试和修改程序;第9天:电机调速实验、pid参数整定(选)、分析;第10天:撰写设计报告和检查设计结果参考资料胡文金等.计算机测控系统.重庆:重庆大学出版社,2003.6西门子.mm420变频器使用手册李世平.

4、pc计算机测控技术及应用.西安:西安电子科技大学出版社,2003.9其它说明.本表应在每次实施前一周由负责教师填写二份,院系审批后交院系办备案,一份由负责教师留用。.若填写内容较多可另纸附后。3.一题多名学生共用的,在设计内容、参数、要求等方面应有所区别。教研室主任: 指导教师:杨波、王雪2011 年 12月 16 日目录摘要ii1硬件介绍11.1ac6611多功能过程通道卡11.1.1ac6611主要功能11.1.2ac6611主要指标11.1.3ac6611驱动程序的安装21.1.4ac6611与端子板的连接21.1.5ac6611的测试31.2ac157端子板31.3mm420变频器31

5、.3.1mm420基本操作板的介绍41.3.2mm420基本操作板的说明42硬件系统设计52.1电机调速系统接线图62.2ac157的接线62.3变频器的接线62.4电动机的接线72.5电机测速的接线72.6mm420变频器单独控制电机转速73软件程序设计73.1界面设计83.2数据采集与处理设计93.2.1ac6611数据采集程序93.2.2d/a输出程序93.2.3标度变换93.2.4数字滤波程序设计93.3电机速度的可编程曲线控制113.3.1开环控制113.3.2闭环控制134单回路pid参数的整定和分析145系统调试165.1软件系统调试165.2硬件系统调试175.3综合调试与结果

6、分析176结论17参考文献19摘要本次课程设计是基于ac6611板卡与变频器对电机的转速进行开环和闭环的控制,其中开环控制电机的转速按预先设定的曲线变化,闭环控制将电机的转速控制到任意设定转速。硬件方面主要包括mm420变频器、dq20-1三相鼠笼电动机、测速发电机、ac6611板卡、ac157端子板;软件方面主要用c+ builder 6.0软件完成,其中包括界面设计、数据采集与处理程序设计、电机速度的可编程曲线控制设计等。最后对闭环控制的曲线进行pid参数整定并分析,使过渡过程曲线达到较好的衰减比。关键词:ac6611 变频器 pid控制1硬件介绍本设计硬件系统主要有ac6611板卡、ac

7、157端子板、mm420变频器、dq20-1三相鼠笼电动机、测速发电机。1.1ac6611多功能过程通道卡1.1.1ac6611主要功能ac6611是一款廉价通用a/d、d/a板、i/o卡。在工作过程中,ad工作在查询方式,采用pci总线支持即插即用、无需地址跳线。ac6611具有16路单端模拟输入、32路开关量(16路输入及16路输出)、一路12位d/a。ac6611采用大规模可编程门阵列设计。1.1.2ac6611主要指标a/d转换指标a/d转换器:120khz 12位a/d ads7816;保持器:a/d芯片内置采样保持器;工作方式:软件查询;通道数:16路单端输入; 输入阻抗:1m;

8、最大输入耐压电压:< +12v / 5.5v;瞬时输入耐压:-25v - +30v;双极性输入范围:5v;单极性输入幅度:5伏、10伏;连接器:db25(孔式)。d/a转换指标通道数:1路;分辨率:12位;精度:0.2%;最大输出电流:5毫安;输出零点误差:<±10mv;输出范围:10伏、­±10伏,使用跳线器进行选择;输出建立时间小于:50微秒;连接器:db25(孔)。开关量输入/输出指标输入通道数:16路(2个8位);输出通道数:16路(2个8位);电平:ttl电平(兼容3伏逻辑);连接器:40脚扁平电缆插座;开关量输出复位后输出:低电平“0”;输

9、出高电压 > 2.5v,低电压 < 0.5v;最大输出电流 :8ma;输入电流:<0.1ma;输入高电压门限:>2v,低电压:<0.8v;输入耐压:高电平:8v,低电平:-0.4v。其他指标符合pci v2.1标准;供电:+5v、+12v、-12v;ac6611占用64个i/o选通空间(自动分配);工作温度:0-70;尺寸:12(w)x9(h) (cm)。1.1.3ac6611驱动程序的安装ac6611多功能过程通道卡支持windows 98、windows 2000、windows xp等多种系统软件,现以windows xp的安装为例,其具体步骤是:1.关闭计

10、算机的电源;2.将ac6611板卡插入pci槽中;3.打开计算机电源,启动windows 2000/xp;4.windows 2000/xp将会显示找到新硬件,可按找到新硬件向导进行下一步;5.选择搜索适用与我的设备的驱动程序(推荐),下一步;6.选择驱动所在目录,进行安装(ac6611driver);7.按找到新硬件向导的提示进行下一步;8.windows 2000/xp将显示完成添加/删除硬件向导,单击完成即可完成安装过程;安装完成应注意的是,在设备管理器中出现一个其他设备(其他设备是问号不表示设备有问题,只是表示系统不知道ac6611板卡是何种类型设备)。驱动安装完毕后,ac6611.s

11、ys和ac6611.dll文件就自动被复制到系统中去了,就可以进行其他测试、开发工作了。1.1.4ac6611与端子板的连接ac6611多功能过程通道卡必须通过端子板才能连接外部的输入/输出模拟量信号和开关量信号,其配套的模拟量输入/输出端子板为ac157,开关量输入/输出端子板为ac142。ac6611与端子板连接如图1.1所示。ac157ac142ac145p1p2图1.1ac6611与端子板的连接关系1.1.5ac6611的测试用导线将ac157端子板的通道ch0ch15中任意一通道与d/a输出通道p23直接相连,将ac142端子板中di0di15任意一端与do0do15任意一端相连,使

12、用ac6611测试程序,在a/d、d/a功能测试中选择输入、输出范围,点击“启动ad”,通过改变输出电压值观察采样数值的变化来检验a/d、d/a功能是否正确,在i/o功能测试中通过改变do的状态观察与接线相对应的di的状态来检验i/o功能是否正确。ac6611测试的界面如图1.2所示:图1.2ac6611测试界面1.2ac157端子板本实验主要应用了a/d输入与d/a输出功能,因此用到了ac157端子板,ac6611多功能过程通道卡通过db25连接器和ac157连接。ac157的接线端子与ac6611的p1连接器的信号是一一对应的。ac157板卡中的模拟量输入通道共有16个,为ch0ch15通

13、道,分别对应ac6611板卡中p1连接器的ai0ai15通道(各通道均为单端输入,参考端均为gnd)。p11p13对应p1连接器的引脚1113(未用),p23p25对应p1连接器的引脚2325,其中的p23为d/a输出通道(参考端为gnd),其它两个引脚未用。1.3mm420变频器mm420是用于控制三相交流电动机速度的变频器系列。本系列有多种型号,从单相电源电压,额定功率120w 到三相电源电压,额定功率11kw 可供用户选用。本变频器由微处理器控制,并采用具有现代先进技术水平的绝缘栅双极型晶体管(igbt)作为功率输出器件。因此,它们具有很高的运行可靠性和功能的多样性。其脉冲宽度调制的开关

14、频率是可选的,因而降低了电动机运行的噪声。全面而完善的保护功能为变频器和电动机提供了良好的保护。mm420 具有缺省的工厂设置参数,它是给数量众多的简单的电动机控制系统供电的理想变频驱动装置。由于mm420 具有全面而完善的控制功能,在设置相关参数以后,它也可用于更高级的电动机控制系统。mm420既可用于单片机驱动系统,也可集成到“自动化系统”中。1.3.1mm420基本操作板的介绍变频器基本操作面板(bop)如图1.3所示:图1.3变频器控制面板其中为启动按钮,为停止按钮,为反转按钮,为点动按钮,为增加数值按钮,为减少数值按钮。1.3.2mm420基本操作板的说明在基于ac6611和变频器的

15、电机调速系统设计中,主要用到了基本操作板进行参数的修改。现将bop进行调试简要说明如下:1、前提条件:机械和电气安装已经完成 2、用基本操作板(bop)进行调试利用基本操作面板(bop)可以改变变频器的各个参数,为了利用bop设定参数,必须首先拆下sdp,并装上bop。bop具有7段显示的五位数字,可以显示参数的序号和数值,报警和故障信息,以及设定值和实际值。参数的信息不能用bop存储。(1)在缺省设置时,用bop控制电动机的功能是被禁止的。如果要用bop进行控制,参数p0700应设置为1,参数p1000也应设置为1。(2)变频器加上电源时,也可以把bop装到变频器上,或从变频器上将bop拆卸

16、下来。(3)如果bop已经设置为i/o控制(p0700=1)在拆卸bop时变频器驱动装置将自动停车。3、变频器常规操作(1)变频器没有主电源开关,因此,当电源电压接通时变频器就已带电。在按下运行(run)键或者在数字输入端5出现“on”信号(正向旋转)之前,变频器的输出一直被封锁,处于等待状态。(2)装有bop并且已选定要显示输出频率(p0005=21),那么,在变频器减速停车时,相应的设定值大约每一秒钟显示一次。(3)变频器出厂时已按相同额定功率的西门子四极标准电动机的常规应用对象进行编程。如果用户采用的是其它型号的电动机,就必须输入电动机铭牌上的规格数据。(4)除非p0010=1,否则是不

17、能修改电动机参数的。(5)为了使电动机开始运行,必须将p0010返回“0”值。(6)用bop 进行的基本操作先决条件: p0010=0(为了正确地进行运行命令的初始化)。 p0700 =1(使能bop 操作板上的起动/停止按钮)。 p1000 =1(使能电动电位计的设定值)。2硬件系统设计本次设计中变频器采用单相220v电压供电,输出三相电压接三相鼠笼电动机,电动机采用星型接法。ac6611板卡的d/a输出(电压输出范围0v-10v)为变频器提供控制电压,以改变变频器的输出频率使电机的转速改变,同时通过ac6611板卡的a/d采集测速发电机的转速输出电压(电压输出范围0v-5v),送回到控制系

18、统,达到控制电机转速的目的,同时设定转速曲线与实时转速曲线均在电脑上显示出来。系统方框图如图2.1所示:ac6611ac157变频器电动机图2.1电机调速系统框图2.1电机调速系统接线图ac6611和变频器组成的电机调速系统接线图如图2.2所示:图2.2电机调速系统接线图2.2ac157的接线ac157是ac6611与外部模拟输入/输出联系的端子板,本设计中用到了d/a输出口p23、a/d输入通道ch15(由学号2008440991模16确定)、gnd。d/a输出口p23与变频器3口(模拟输入端口“ain+”)相连,为变频器提供控制电压,以改变变频器的输出频率使电机的转速改变;a/d输入通道c

19、h15与电机测速的“+”相连,采集电机转速;设计中输入输出的gnd分开连接,一个与变频器的4口(模拟输入端口“ain-”)相连,另一个与电机测速的“-”相连,同时在导线与地连接之间加了4-10k的电阻和电容,从而减小干扰。2.3变频器的接线变频器的电源端子为l/l1、n/l2、l3,连接电动机的端子u、v、w。设计中变频器采用单相220v电压供电,用到了l/l1、n/l2两个端子,与实验台的电源相连接,端子u、v、w接电动机的a、b、c。输入来自ac157的控制电压来控制频率,也可以手动控制变频器的频率,从而控制电动机的转速。此外还须将变频器的2(0v)和4(ain-)相连,使模拟输入端“ai

20、n-”的电压为0;5(din1)与8(+24v)相连,相当于给数字输入端din1一个高压启动信号。2.4电动机的接线电动机的转速随着变频器频率的变化而变化,因此电动机的a、b、c需连接变频器的u、v、w,此外它本身的6个端口要相互连接起来,形成星形接法。2.5电机测速的接线关于电机测速,主要是对电机转速进行显示,并将电机的实际转速送回到ac6611(ac157的ch15)。设计中将电机测速的“+”与ch15相连,“-”与gnd相连。2.6mm420变频器单独控制电机转速接好线后,为验证变频器是否正常工作,可以用变频器单独控制电机转速。变频器控制电机转速的实质是要改变变频器的频率,此时应设定p0

21、700和p1000为1,设计中变频器受控于ac6611的d/a输出,应设定p0700和p1000为1。其具体操作步骤为:按 访问参数,出现;按 键,直到显示出 p0700;按 键,进入参数访问级,出现;按 或 键,达到所要求的数值,为1;按键,确认并存储参数的数值;以相同的操作方法使p1000的数值改为1;按 或 键,直到出现,按 进行访问;按 键,增加变频器的频率,观察电动机的转速是否跟随其变化。3软件程序设计本设计中的程序设计主要包括界面设计、数据采集与处理设计、电机速度的可编程曲线控制。总体流程图如下图3.1所示:ny结束定时器定时计数选择控制方式开环控制闭环控制选择幅值和周期的值输出相

22、应设定曲线与实时曲线开始选择设定值方式开环四种选择闭环只有恒定值yn图3.1软件系统流程图3.1界面设计界面设计中包括主界面设计、设定转速曲线、实际转速实时趋势曲线等的设计。主界面中主要用了实时趋势图,image为480*300,用来画设定转速曲线与实际转速曲线,横坐标表示时间,纵坐标表示转速。此外在界面中还可以对控制方式进行选择,开环或闭环;对幅值、周期进行设定;对开环控制的曲线进行选择,恒定值、正弦波、方波或锯齿波;显示设定转速与实时转速;对闭环控制的曲线进行pid参数的整定与修改。3.2数据采集与处理设计数据采集与处理设计中包括ac6611数据采集程序、d/a输出程序,标度换算、数字滤波

23、程序设计等。3.2.1ac6611数据采集程序ac6611多功能过程通道卡数据采集主要是对电机转速转换出来的电压进行采集,因此可以利用a/d采集通道ch15对相关数据进行采集。然后经过标度变换,把采集到了电压信号转换为电机转速的值。a/d采集程序为:ac6611_ad(hdevice, 15, &ad_data); 3.2.2d/a输出程序ac6611多功能过程通道卡通过d/a输出,给变频器提供控制电压,使电机按开环或闭环控制进行转动,其中开环时电机按设定曲线进行转动,闭环时还需将实际值与设定值进行比较,通过pid算法使电机转速达到设定的转速。以开环控制时设定曲线为恒定值为例,d/a输

24、出程序为:ac6611_da(hdevice, ac6611_voltagetoda(a,0);其中a为d/a输出幅值,为010v。3.2.3标度变换本设计在算法中用的最多的就是标度变换,转速为01473r/min,a/d输入电压值为04.89v,采集的数字量为02004,d/a输出电压值为010v,image横坐标有480点,纵坐标有300点。a/d采集数字量转换为转速为:pv=num*1473/2004,其中num为a/d采集的数字量;闭环控制时采集到转速设定值与实际值只差转换为电压为:e=(sp-pv)*4.89/1473;开环控制时d/a输出电压转换为转速为:sp=a*147.3 ;闭

25、环控制时d/a输出开度转换为数字量为:(unsigned short int)(un*4006.0/100.0),其中100表示为最大开度等等。3.2.4数字滤波程序设计在本次设计中,用的是去极值求平均值滤波法,就是连续取n个采样值,找到最大值与最小值,然后进行算术平均运算,n值较大时,信号平滑度较高,但灵敏度较低,n值较小时,信号平滑度较低,但灵敏度较高。在实际程序编写时取n=10,程序流程图如图3.2所示:nyny采集次数>10?求和并去除最大最小值求平均值返回定时器定时计数max、min初值为第一次采样值a/d采样 max<采集到的数min>采集到的数进入采样程序max

26、=采集到的数min=采集到的数采集到的数存入数组保存yn图3.2数字滤波程序流程图3.3电机速度的可编程曲线控制开环控制是将电机的转速按预先设定的曲线变化,闭环控制是通过pid调节将电机的转速控制到任意设定转速。3.3.1开环控制开环控制主要是确定设定转速,通过变频器控制电机转速,再通过a/d采集电机实际转速,观察实际转速是否按设定值变化。其中设定曲线有恒定值、正弦波、方波、锯齿波四种方式,开环控制时幅值和周期也可调,幅值为010v,周期为020s。其中恒定值的设定速度为sp=a*147.3,正弦波的设定速度为 sp=73.5*(a+a*sin(t*5*3.1415/t)+50*1473/40

27、08,方波的设定速度为sp=a*147.3与sp=50*1473/4008,锯齿波的设定速度为sp=147.3*a*t/t+50*1473/4008;从中可以看出sp的最小值都不为0,这样可以避免转速由0上升到某一值时实际转速曲线出现一个大的脉冲。设计中由开环控制的结果如下图所示:图3.3控制曲线为恒定值图3.4控制曲线为正弦波图3.5控制曲线为方波图3.6控制曲线为方波3.3.2闭环控制闭环控制也为pid控制,是通过计算设定值与实际值之间的差值,通过pid算法,逐渐减小两者之间的差值,最终使实际值与设定值相等或在一定范围之内。本次设计采用数字pid增量型控制算法,增量算法不需要做累加,对控制

28、量的计算影响较小,得出的是控制量的增量,并且易于实现手动到自动的无冲击切换。pid控制算法的公式如下:为了编程方便,将上式整理成如下形式: 其中增量式算法控制原理图如图3.7所示:图3.7增量式算法控制原理图程序的编写如下:e=(sp-pv)*4.89/1473; deltaun=a0*e+a1*e1+a2*e2; un=un1+deltaun; if(un>100.0) un=100.0; ac6611_da(hdevice,3860); if(un<0) ac6611_da(hdevice,0); un1=un; e2=e1; e1=e;4单回路pid参数的整定和分析pid参数

29、整定方法就是确定调节器的比例带p、积分时间ti和和微分时间td。一般来讲有两种方法,一种是理论计算法,另一种是工程整定法:如经验法、衰减曲线法、临界比例带法和反应曲线法。在设计过程中用到的是第一种,经验法。pid调节的顺序为“先比例,再积分,后微分”。在程序编写过程中,对pid参数赋初值,p=100,i=999.9,d=0,为纯比例调节,运行过程中发现,实际转速曲线与设定转速之间有一定的余差;慢慢减小积分时间,发现实际转速曲线向设定转速靠近,但是过程很缓慢,如下图所示:图3.8加入积分后的过渡过程曲线进一步对pid参数进行调节,减小积分时间,使余差消除越快,增大微分时间,加快系统控制速度,得到

30、的曲线如下图所示:图3.9调整后的过渡过程曲线对pid参数再做进一步的调整,把timer的值加大,得到最终的衰减比较好的过渡过程曲线,如下图所示:图3.10最终结果的过渡过程曲线在对pid参数进行整定过程中,又进一步认识了p、i、d各参数对过渡过程曲线的影响,比例控制系统控制及时迅速,但是有余差;积分控制系统可消除余差,但是由于积分输出信号随时间逐渐增强,所以控制速度缓慢;微分控制系统可以超前控制,但是对静态偏差毫无控制能力,当偏差存在但不变化时,微分输出为0。当比例带p过大或积分时间i过长时均使输出系统迟缓,但是前者表现为曲线飘动大,后者表现为逐渐接近给定值。因此这三者一般都配合使用,构成p

31、id控制系统,在控制作用中,比例作用是基础控制,微分作用是用于加快系统控制速度,积分作用是用于消除静差。5系统调试5.1软件系统调试1. 在编写开环的控制曲线当中,当由恒定值切换到正弦波时,程序运行出错,经反复检查发现,当由恒定值切换到正弦波时,此时周期为0,在正弦波的算法中出现了错误。可以先选幅值和周期,在选择不同的曲线控制方式,也可以给幅值和周期赋不为0的初值。2. 在开环控制方式为方波时,编写好程序后运行,发现运行过程中只出现了半个周期的高电平,检查发现将“=”误写为“=”,改正后,控制曲线即为方波,在锯齿波的编写中同样要注意。3. 在开环控制方式为正弦波、方波、锯齿波时发现,每次到设定

32、值由0开始增加后,实时转速会出现一个脉冲,在多次实验中发现,当设定值由0开始增加后,相当于给变频器一个高压启动信号,此时应将正弦波、方波、锯齿波的设定值向上抬一点,对应的d/a输出的数字量也应向上抬一点。4. 当由开环切换到闭环时,程序运行出错,于是想到分母不应为0,于是把pid算法的系数中的p改为一恒定值,但是运行后还是出错,最后在程序中给pid各参数赋初值,运行后没有出现错误。5.2硬件系统调试1.mm420用单相220v电压供电,因此只需接l/l1、n/l2,不需接l3,否则变频器的保险丝会被烧断。2.单独由控制曲线控制电机转速不需采集其转速时,电机测速显示正常,当电机测速与ac157端

33、子板的a/d输入端、gnd相连时,发现读书出错,此时应在连线与gnd之间接电阻,大概为410k,接好后,发现读数基本一致。5.3综合调试与结果分析在硬件和软件基本无误后,进行综合调试,发现实际转速曲线与控制转速曲线之间还有较大的误差与滞后,发现在标度变换时按理想值进行计算,转速01500r/min,a/d输入05v,数字量02048,但是实际测试时发现转速为01473r/min,a/d输入04.89v,数字量02004,修改后发现设定值与实际值逼近效果很好,在timer设为100时在趋势图上能看到实时转速曲线有很明显的梯度,将timer值设为500,采样点数增多,发现梯度明显降低,效果很好。调

34、节好各量程转换和timer的值后,在开环控制为恒定值的方式中,采样误差<0.5%,但是在其他曲线方式控制时,由于有时间的延时,误差会有点大;在闭环控制方式下,稳态误差:<1%,动态误差:<5%,基本达到了设计参数的要求,但是还有一些不足,如在不同控制方式或控制曲线切换时,画布并没有更新,视觉效果不是很好。6结论通过两周的计算机控制系统的课程设计,完成了基于ac6611和变频器的电机调速系统设计,本系统可以对电机进行开环或闭环的控制,开环控制使电机按预先设定的曲线变化,闭环控制通过pid调节将电机的转速控制到任意设定值。本系统在设计当中主要包括了硬件和软件的设计,在硬件设计当中

35、,让我们更加深刻的了解了ac6611多功能过程通道卡、ac157端子板的d/a与a/d、变频器的使用方法和一些基本操作等等,在软件设计当中,利用c+builder软件编写界面程序、数据采集与处理程序、可编程曲线控制程序,对控件有了更深的认识并能够灵活利用,设计中的重点是数据采集与处理程序,有a/d输入、d/a输出、标度变换、数字滤波,同时对pid算法有了全面的理解,对pid参数也进行了整定和分析。在实际软件和硬件的操作当中,还是碰到了很多困难,但是经过自己查阅指导资料和同学老师的帮助,最后还是顺利的完成了本次设计。通过电机调速系统设计,使我对计算机控制系统有了一个更加深刻的认识,同时也了解了计

36、算机控制系统的基本组成,知道了计算机控制系统控制一个系统的方法与途径。参考文献1胡文金等计算机测控系统重庆:重庆大学出版社,200362西门子mm420变频器使用手册3李世平pc计算机测控技术及应用西安:西安电子科技大学出版社,20034程展鹏.borland c+builder 6应用开发技术解析北京:清华大学出版社,2003程序清单:/-#include<math.h>#include <vcl.h>#pragma hdrstop#include "unit1.h"/-#pragma package(smart_init)#pragma reso

37、urce "*.dfm"tform1 *form1;int t; /计数int sptrend480,pvtrend480;/曲线上的点float a=5.0,t=10.0;/曲线参数 a为0-10,t显示为0-20float sp=0.0,pv=0.0; /设定转速 实时转速float e=0.0,e1=0.0,e2=0.0;double p=30.0,i=1.0,d=10.0;float ts=2;float un=0.0,deltaun=0.0,un1=0.0;float a0,a1,a2;float e1=0.0,e2=0.0,e3=0.0;/求结果的三个误差/-_

38、fastcall tform1:tform1(tcomponent* owner) : tform(owner)/-void _fastcall tform1:formcreate(tobject *sender) timer1->enabled=false; /启动时无控制 timer2->enabled=false; hdll=loadlibrary("ac6611.dll"); if(hdll!=null)/label29->caption = "ac6611.dll load ok!" (farproc &)ac6611

39、_createdevice=getprocaddress(hdll,"ac6611_createdevice"); /创建驱动句柄 (farproc &)ac6611_closedevice=getprocaddress(hdll,"ac6611_closedevice"); /关闭驱动句柄 (farproc &)ac6611_di=getprocaddress(hdll,"ac6611_di"); /数字量输入,port=0-1两个通道,8位数据由didata返回 (farproc &)ac6611_do=g

40、etprocaddress(hdll,"ac6611_do"); /数字量输出,port=0-1两个通道,8位数据由dodata输出 (farproc &)ac6611_dibit=getprocaddress(hdll,"ac6611_dibit"); /数字量输入,port=0-1两个通道,指定位输入 (farproc &)ac6611_dobit=getprocaddress(hdll,"ac6611_dobit"); /数字量输出,port=0-1两个通道,指定位输出 (farproc &)ac6611

41、_da=getprocaddress(hdll,"ac6611_da"); /da输出,0-4095 (farproc &)ac6611_voltagetoda=getprocaddress(hdll,"ac6611_voltagetoda"); (farproc &)ac6611_ad=getprocaddress(hdll,"ac6611_ad"); /通用ad采样 (farproc &)ac6611_ad_chn=getprocaddress(hdll,"ac6611_ad_chn")

42、; /设置ad通道0-15 (farproc &)ac6611_ads=getprocaddress(hdll,"ac6611_ads"); /直接ad采样,为单通道ad采样设计 (farproc &)ac6611_adtovoltage=getprocaddress(hdll,"ac6611_adtovoltage"); hdevice=ac6611_createdevice(0, &errorof6611); /创建驱动,选择第0块卡 if(hdevice != -1) /label30->caption = "

43、;ac6611 card is exist!" else /label30->caption = "ac6611 card is not exist!" edit1->text=floattostrf(a,0,4,4);/幅值初值,取4位有效数 edit2->text=floattostrf(t,0,4,4);/周期初值,取4位有效数 edit3->text=floattostrf(sp,0,4,4); /设定初值 取4位有效数 edit4->text=floattostrf(pv,0,4,4); /实时初值 取4位有效数 edit5

44、->text=floattostrf(p,0,4,4); /p值显示,取4位有效数 edit6->text=floattostrf(i,0,4,4); /i值显示,取4位有效数 edit7->text=floattostrf(d,0,4,4); /d值显示,取4位有效数 /edit8->text=floattostrf(e1,0,4,4); /数据采集误差显示,取4位有效数 /edit9->text=floattostrf(e2,0,4,4); /动态误差显示,取4位有效数 /edit10->text=floattostrf(e3,0,4,4); /稳态误差

45、显示,取4位有效数/-void _fastcall tform1:timer2timer(tobject *sender) t+; if(radiogroup2->itemindex=0) /选择开环控制 edit2->enabled=true; /周期可改 edit5->enabled=false; /pid参数不可调 edit6->enabled=false; edit7->enabled=false; switch(radiogroup1->itemindex) /设定转速曲线类型 case 0: /恒定值 if(a>10)edit1->t

46、ext=10; a=edit1->text.toint(); sp=a*147.3; /0-10v 对应0-1450r/min ac6611_da(hdevice, ac6611_voltagetoda(a,0); /da输出(0-10v) break; case 1: /正弦波 if(a>10)edit1->text=10; if(t/25)>20)edit2->text=20; a=edit1->text.toint(); t=25*(edit2->text.toint(); sp=73.5*(a+a*sin(t*5*3.1415/t)+50*14

47、72/4095; ac6611_da(hdevice, ac6611_voltagetoda(a/2+a/2*sin(t*5*3.1415/t),0)+50); break; case 2: /方波 if(a>10)edit1->text=10; if(t/10)>20)edit2->text=20; a=edit1->text.toint(); t=10*(edit2->text.toint(); if(t>t) t=0; if(t<(t/2) sp=a*147.3; ac6611_da(hdevice, ac6611_voltagetoda(

48、a,0); else sp=50*1473/4095; /数字量50对应的速度 ac6611_da(hdevice,50); break; case 3: /锯齿波 if(a>10)edit1->text=10; if(t/10)>20)edit2->text=20; a=edit1->text.toint(); t=10*edit2->text.toint(); if(t>t) t=0; sp=147.3*a*t/t; ac6611_da(hdevice, ac6611_voltagetoda(a*t/t,0); break; else if(rad

49、iogroup2->itemindex=1) /闭环控制 radiogroup1->enabled=false; /控制曲线方式不可选 为恒定值 radiogroup1->itemindex=false; edit2->enabled=false; /周期不可改 edit5->enabled=true; /pid参数可调 edit6->enabled=true; edit7->enabled=true; a=edit1->text.toint(); if(a>10)edit1->text=10; sp=a*147.3; p=edit5->text.todouble(); /pid修改 i=edit6->text.todoub

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论