已阅读5页,还剩28页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
重庆科技学院课程设计报告 院(系):电气与信息工程学院 班 级: 学生姓名: 学 号: 设计地点(单位) 设计题目: 基于ac6611和变频器的电机调速系统设计 完成日期: 2012 年 1 月 2 日 指导教师评语: 成绩(五级记分制): 教师签名: 基于ac6611和变频器的电机调速系统设计重庆科技学院课程设计任务书设计题目:基于ac6611和变频器的电机调速系统设计学生姓名课程名称计算机测控系统专业班级地 点i502起止时间11.12.1911.12.30设计内容及要求1. 接线图设计:使用ac6611和mm420变频器控制电机转速的所有接线图;包括接线操作、m420单独控制电机转速的试验和基本应用等。2. 程序设计(1)界面设计:主界面设计、设定转速曲线、实际转速实时趋势曲线等的设计。(2)数据采集与处理程序设计:ac6611数据采集程序、d/a输出程序,标度换算、数字滤波程序设计等。(3)电机速度的可编程曲线控制:开环控制电机的转速按预先设定的曲线变化;通过闭环控制(pid调节)将电机的转速控制到任意设定转速(选作)。3. 单回路pid参数的整定和分析(选作)。要求:根据自己的学号与模16之余确定自己的a/d通道(采集电机的实际转速),据此设计相应的接线图;编写、调试和运行控制程序;整定pid参数满足相应的控制要求(选作);撰写设计报告。设计参数1. 变频器:mm420;电机:具体参数见名牌2. 数据采集误差: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变频器使用手册李世平.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.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综合调试与结果分析176结论17参考文献19i基于ac6611和变频器的电机调速系统设计摘要本次课程设计是基于ac6611板卡与变频器对电机的转速进行开环和闭环的控制,其中开环控制电机的转速按预先设定的曲线变化,闭环控制将电机的转速控制到任意设定转速。硬件方面主要包括mm420变频器、dq20-1三相鼠笼电动机、测速发电机、ac6611板卡、ac157端子板;软件方面主要用c+ builder 6.0软件完成,其中包括界面设计、数据采集与处理程序设计、电机速度的可编程曲线控制设计等。最后对闭环控制的曲线进行pid参数整定并分析,使过渡过程曲线达到较好的衰减比。关键词:ac6611 变频器 pid控制1硬件介绍本设计硬件系统主要有ac6611板卡、ac157端子板、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; 最大输入耐压电压: +12v / 5.5v;瞬时输入耐压:-25v - +30v;双极性输入范围:5v;单极性输入幅度:5伏、10伏;连接器:db25(孔式)。d/a转换指标通道数:1路;分辨率:12位;精度:0.2%;最大输出电流:5毫安;输出零点误差: 2.5v,低电压 0.5v;最大输出电流 :8ma;输入电流:2v,低电压:10?求和并去除最大最小值求平均值返回定时器定时计数max、min初值为第一次采样值a/d采样 max采集到的数进入采样程序max=采集到的数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/4008,方波的设定速度为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增量型控制算法,增量算法不需要做累加,对控制量的计算影响较小,得出的是控制量的增量,并且易于实现手动到自动的无冲击切换。pid控制算法的公式如下:为了编程方便,将上式整理成如下形式: 其中增量式算法控制原理图如图3.7所示:图3.7增量式算法控制原理图程序的编写如下:e=(sp-pv)*4.89/1473; deltaun=a0*e+a1*e1+a2*e2; un=un1+deltaun; if(un100.0) un=100.0; ac6611_da(hdevice,3860); if(un0) ac6611_da(hdevice,0); un1=un; e2=e1; e1=e;4单回路pid参数的整定和分析pid参数整定方法就是确定调节器的比例带p、积分时间ti和和微分时间td。一般来讲有两种方法,一种是理论计算法,另一种是工程整定法:如经验法、衰减曲线法、临界比例带法和反应曲线法。在设计过程中用到的是第一种,经验法。pid调节的顺序为“先比例,再积分,后微分”。在程序编写过程中,对pid参数赋初值,p=100,i=999.9,d=0,为纯比例调节,运行过程中发现,实际转速曲线与设定转速之间有一定的余差;慢慢减小积分时间,发现实际转速曲线向设定转速靠近,但是过程很缓慢,如下图所示:图3.8加入积分后的过渡过程曲线进一步对pid参数进行调节,减小积分时间,使余差消除越快,增大微分时间,加快系统控制速度,得到的曲线如下图所示:图3.9调整后的过渡过程曲线对pid参数再做进一步的调整,把timer的值加大,得到最终的衰减比较好的过渡过程曲线,如下图所示:图3.10最终结果的过渡过程曲线在对pid参数进行整定过程中,又进一步认识了p、i、d各参数对过渡过程曲线的影响,比例控制系统控制及时迅速,但是有余差;积分控制系统可消除余差,但是由于积分输出信号随时间逐渐增强,所以控制速度缓慢;微分控制系统可以超前控制,但是对静态偏差毫无控制能力,当偏差存在但不变化时,微分输出为0。当比例带p过大或积分时间i过长时均使输出系统迟缓,但是前者表现为曲线飘动大,后者表现为逐渐接近给定值。因此这三者一般都配合使用,构成pid控制系统,在控制作用中,比例作用是基础控制,微分作用是用于加快系统控制速度,积分作用是用于消除静差。5系统调试5.1软件系统调试1. 在编写开环的控制曲线当中,当由恒定值切换到正弦波时,程序运行出错,经反复检查发现,当由恒定值切换到正弦波时,此时周期为0,在正弦波的算法中出现了错误。可以先选幅值和周期,在选择不同的曲线控制方式,也可以给幅值和周期赋不为0的初值。2. 在开环控制方式为方波时,编写好程序后运行,发现运行过程中只出现了半个周期的高电平,检查发现将“=”误写为“=”,改正后,控制曲线即为方波,在锯齿波的编写中同样要注意。3. 在开环控制方式为正弦波、方波、锯齿波时发现,每次到设定值由0开始增加后,实时转速会出现一个脉冲,在多次实验中发现,当设定值由0开始增加后,相当于给变频器一个高压启动信号,此时应将正弦波、方波、锯齿波的设定值向上抬一点,对应的d/a输出的数字量也应向上抬一点。4. 当由开环切换到闭环时,程序运行出错,于是想到分母不应为0,于是把pid算法的系数中的p改为一恒定值,但是运行后还是出错,最后在程序中给pid各参数赋初值,运行后没有出现错误。5.2硬件系统调试1.mm420用单相220v电压供电,因此只需接l/l1、n/l2,不需接l3,否则变频器的保险丝会被烧断。2.单独由控制曲线控制电机转速不需采集其转速时,电机测速显示正常,当电机测速与ac157端子板的a/d输入端、gnd相连时,发现读书出错,此时应在连线与gnd之间接电阻,大概为410k,接好后,发现读数基本一致。5.3综合调试与结果分析在硬件和软件基本无误后,进行综合调试,发现实际转速曲线与控制转速曲线之间还有较大的误差与滞后,发现在标度变换时按理想值进行计算,转速01500r/min,a/d输入05v,数字量02048,但是实际测试时发现转速为01473r/min,a/d输入04.89v,数字量02004,修改后发现设定值与实际值逼近效果很好,在timer设为100时在趋势图上能看到实时转速曲线有很明显的梯度,将timer值设为500,采样点数增多,发现梯度明显降低,效果很好。调节好各量程转换和timer的值后,在开环控制为恒定值的方式中,采样误差0.5%,但是在其他曲线方式控制时,由于有时间的延时,误差会有点大;在闭环控制方式下,稳态误差:1%,动态误差:5%,基本达到了设计参数的要求,但是还有一些不足,如在不同控制方式或控制曲线切换时,画布并没有更新,视觉效果不是很好。6结论通过两周的计算机控制系统的课程设计,完成了基于ac6611和变频器的电机调速系统设计,本系统可以对电机进行开环或闭环的控制,开环控制使电机按预先设定的曲线变化,闭环控制通过pid调节将电机的转速控制到任意设定值。本系统在设计当中主要包括了硬件和软件的设计,在硬件设计当中,让我们更加深刻的了解了ac6611多功能过程通道卡、ac157端子板的d/a与a/d、变频器的使用方法和一些基本操作等等,在软件设计当中,利用c+builder软件编写界面程序、数据采集与处理程序、可编程曲线控制程序,对控件有了更深的认识并能够灵活利用,设计中的重点是数据采集与处理程序,有a/d输入、d/a输出、标度变换、数字滤波,同时对pid算法有了全面的理解,对pid参数也进行了整定和分析。在实际软件和硬件的操作当中,还是碰到了很多困难,但是经过自己查阅指导资料和同学老师的帮助,最后还是顺利的完成了本次设计。通过电机调速系统设计,使我对计算机控制系统有了一个更加深刻的认识,同时也了解了计算机控制系统的基本组成,知道了计算机控制系统控制一个系统的方法与途径。参考文献1胡文金等计算机测控系统重庆:重庆大学出版社,200362西门子mm420变频器使用手册3李世平pc计算机测控技术及应用西安:西安电子科技大学出版社,20034程展鹏.borland c+builder 6应用开发技术解析北京:清华大学出版社,2003程序清单:/-#include#include #pragma hdrstop#include unit1.h/-#pragma package(smart_init)#pragma resource *.dfmtform1 *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;/求结果的三个误差/-_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_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=getprocaddress(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_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); /设置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 = 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-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); /稳态误差显示,取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(a10)edit1-text=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(a10)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*1472/4095; ac6611_da(hdevice, ac6611_voltagetoda(a/2+a/2*sin(t*5*3.1415/t),0)+50); break; case 2: /方波 if(a10)edit1-text=10; if(t/10)20)edit2-text=20; a=edit1-text.toint(); t=10*(edit2-text.toint(); if(tt) t=0; if(t10)edit1-text=10; if(t/10)20)edit2-text=20; a=edit1-text.toint(); t=10*edit2-text.toint(); if(tt) t=0; sp=147.3*a*t/t; ac6611_da(hdevice, ac6611_voltagetoda(a*t/t,0); break; else if(radiogroup2-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(a10)edit1-text=10; sp=a*147.3; p=edit5-text.todouble(); /pid修改 i=edit6-text.todouble(); d=edit7-text.todouble(); a0=(100.0/p)*(1+ts/i+d/ts); a1=-(100.0/p)*(1+2*d/ts); a2=(100.0/p)*d/ts; e=(sp-pv)*4.89/1473; /采集 输入0-4.7v对应0-1450r/min deltaun=a0*e+a1*e1+a2*e2; un=un1+deltaun; if(un100.0) un=100.0; ac6611_da(hdevice,3860); if(un0) ac6611_da(hdevice,0); un1=un; e2=e1; e1=e; ac6611_da(
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 环保企业技术专家合同聘用合同
- 保健品研发招投标合作协议书
- 超市策划专员劳动合同
- 教育用地二手买卖合同范本
- 农村房屋建筑施工维修合同
- 旅游景点抹灰施工协议
- 实验室建设与改造合同
- 建筑通风劳务分包合同模板
- 道路交通安全设施改造工程合同
- 广告设计培训班租赁合同
- 女性私密的课件
- 动车组转向架检修与维护-轮对的检修
- Unit9第1课时(SectionA1a-2c)(教学课件)八年级英语上册(人教版)
- 5G技术应用与发展
- 收货确认单模版
- 处理班级突发事件方法处理班级纠纷案例分析
- 《时代广场的蟋蟀》阅读试题(含答案)三套
- 屋面防水报价单
- 实验训练3数据增删改操作
- 《给数学教学添一道“味”:基于绘本的小学低段数学教学内容创生研》读书笔记模板
- 部编版五年级语文下册 祖父的园子 教学课件(第1课时)
评论
0/150
提交评论