基于单片机变频恒压供水课程设计报告

上传人:仙*** 文档编号:91721274 上传时间:2022-05-17 格式:DOC 页数:12 大小:62KB
收藏 版权申诉 举报 下载
基于单片机变频恒压供水课程设计报告_第1页
第1页 / 共12页
基于单片机变频恒压供水课程设计报告_第2页
第2页 / 共12页
基于单片机变频恒压供水课程设计报告_第3页
第3页 / 共12页
资源描述:

《基于单片机变频恒压供水课程设计报告》由会员分享,可在线阅读,更多相关《基于单片机变频恒压供水课程设计报告(12页珍藏版)》请在装配图网上搜索。

1、-目录课题简介3关键词3课题描述3实验任务3实验设备3设备工作原理简介4西门子MM440变频器工作原理4变频器参数复位5压力变送器工作原理5PID工作原理6课题实施方案7硬件设计7电路原理图7软件设计8结果分析13个人总结14参考文献15课题简介传统控制水位的方法是人为频繁的进展观察并以此为依据进展补水或放水的,而这些工作相当费时费力。如果运用自动控制的思想来处理这个问题那么会方便很多。本实验课题便是针对这个问题进展设计。实验拟设计一套PID水塔液位控制系统,采用51单片机为主控制器,对其进展编程后,通过控制变频器,使得变频器支配的电机能够根据频率而得到相应的运转,从而使水位到达并保持预期的要

2、求;变频器为执行器。水塔水位信号的来源是由位于水塔下方的压力传感器感知水面高度,并将水面高度转换为相应的电流信号反响回控制回路,而后根据测定人为的建立它们之间的函数关系,进展信号的校对从而实现水塔水位信号的输入。整个系统能够很好的跟踪给定液位,有较好的快速性和稳定性,能够满足一般化生产过程中对液位控制的要求。关键词:液位控制系统单片机PID课题描述一、 实验任务会使用单片机C语言,能用它进展编程;在单片机中完成PID算法的编程实现;构建一个闭环系统完成对PID实验装置的水位高度的稳定调节;完成系统框图的设计及各组成的功能描述;完成西门子MM440变频器的参数化设置;完成在增加输出扰动后控制系统

3、快速调节;二、 实验设备IA7000实验台一台51单片机试验箱西门子MM440变频器三相水泵:AB-12,380V,40W,流量12升/分,扬程3米压力变送器:DC24,420mA装有实验软件的计算机一台PC-PPI通讯电缆一根导线假设干三、 设备工作原理简介1、西门子MM440变频器工作原理MM440变频器具有多个继电器输出、多个模拟量输出。原理图如下MM440的接线原理图MM440的每个端子都有一个对应的参数用来设定该端子的功能如下表表1 MM440 六个数字开关量输入端子功能数字输入端子编号参数编号出厂设置DIN15P07011DIN26P070212DIN37P07039DIN48P0

4、70415DIN516P070515DIN617P070615功能说明=1 接通正转/断开停车= 2接通反转/断开停车=3 断开按惯性自由停车=9 故障复位=10 正向点动=11 反向点动=12 反转与正转命令配合使用=13 电动电位计升速=14 电动电位计降速=15 固定频率直接选择=16 固定频率选择 + ON 命令=17固定频率编码选择 + ON 命令2、变频器参数复位:参数复位是将变频器的参数恢复到出厂时的参数默认值。在变频器初次调试,或者参数设置混乱时,需要执行该操作,以便于将变频器的参数值恢复到一个确定的默认状态。MM440包含六个数字开关量输入端子,每个端子都有一个对应的参数用来

5、设定该端子的功能。恢复变频器缺省值,按下P健,变频器开场复位到工厂缺省值。表2.由BOP 操作时的工厂缺省设置值参数号出厂值设置值 说明P0010030 工厂的设定值P09700 1参数复位3、 压力变送器工作原理压力变送器的主要作用把压力信号传到电子设备,进而在计算机显示压力。其原理大致是:将水压这种压力的力学信号转变成电流4-20mA这样的电子信号。压力和电压或电流大小成线性关系,一般是正比关系。所以,变送器输出的电压或电流随压力增大而增大,由此得出一个压力和电压或电流的关系式。压力变送器的被测介质的两种压力通入高、低两压力室,低压室压力采用大气压或真空,作用在元即敏感元件的两侧隔离膜片上

6、,通过隔离片和元件的填充液传送到测量膜片两侧。压力变送器是由测量膜片与两侧绝缘片上的电极各组成一个电容器。当两侧压力不一致时,致使测量膜片产生位移,其位移量和压力差成正比,故两侧电容量就不等。主要优点1)压力变送器具有工作可靠、性能稳定等特点;2) 高准确度,高稳定性;3) 4-20mA DC二线制信号传送,抗干扰能力强,传输距离远;4) 铝合金压铸外壳,三端隔离,静电喷塑保护层,巩固耐用;5) 专用V/I集成电路,外围器件少,可靠性高,维护简单/体积小、重量轻,安装方便。4、 PID工作原理PID是比例(P)、积分(I)、微分(D)控制算法。但并不是必须同时具备这三种算法,也可以是PD,PI

7、,甚至只有P算法控制。我以前对于闭环控制的一个最朴素的想法就只有P控制,将当前结果反响回来,再与目标相减,为正的话,就减速,为负的话就加速。现在知道这只是最简单的闭环控制算法。比例(P)、积分(I)、微分(D)控制算法各有作用:比例:反响系统的根本当前偏差e(t),系数大,可以加快调节,减小误差,但过大的比例使系统稳定性下降,甚至造成系统不稳定;积分:反响系统的累计偏差,使系统消除稳态误差,提高无差度,因为有误差,积分调节就进展,直至无误差;微分:反映系统偏差信号的变化率e(t)-e(t-1),具有预见性,能预见偏差变化的趋势,产生超前的控制作用,在偏差还没有形成之前,已被微分调节作用消除,因

8、此可以改善系统的动态性能。但是微分对噪声干扰有放大作用,加强微分对系统抗干扰不利。积分和微分都不能单独起作用,必须与比例控制配合。增量式PID:是指数字控制器的输出只是控制量的增量u(k)。采用增量式算法时,计算机输出的控制量u(k)对应的是本次执行机构位置的增量,而不是对应执行机构的实际位置。增量型PID算式:PID = Uk + KP*E(k)-E(k-1)+KI*E(k)+KD*E(k)-2E(k-1)+E(k-2);增量式算法优点:(1) 算式中不需要累加。控制增量u(k)确实定仅与最近3次的采样值有关,容易通过加权处理获得比拟好的控制效果;(2) 计算机每次只输出控制增量,即对应执行

9、机构位置的变化量,故机器发生故障时影响围小、不会严重影响生产过程;(3) 手动自动切换时冲击小。当控制从手动向自动切换时,可以作到无扰动切换。课题实施方案1、硬件设计在本方案中,由51单片机试验箱、变频器MM440、压力变送器组成。1)、51单片机试验箱完成对模拟量输入输出EM235模块数字输入信号的读取,并且负责PID输入输出的计算,并将结果化为数字量放入模拟量输入输出EM235模块。2)、变频器MM440主要是用来完成对水泵的控制,当频率为0HZ时水泵不抽水,液位维持不变;当频率为50HZ时,水泵最大功率输出,提高液位。3)、压力变送器主要任务是将水缸中的水的压力信号转换成4-20mA的电

10、流信号并且输入模拟量输入输出EM235模块从而到达监视系统水位的目的。4)、模拟量输入输出EM235模块负责将模拟量转化为数字量以方便单片机读取,并且将PLC-200的输出数字量转化成模拟量以便控制变频器MM440。电路原理图2. 软件设计PID算法局部:/*PID = Uk + KP*E(k)-E(k-1)+KI*E(k)+KD*E(k)-2E(k-1)+E(k-2);(增量型PID算式)函数入口: RK(设定值),CK(实际值),KP,KI,KD函数出口: U(K)*/ /pid.c/*PID = PID-UK_REAL + PID-KP*E(k)-E(k-1)+PID-KI*E(k)+P

11、ID-KD*E(k)-2E(k-1)+E(k-2);(增量型PID算式)函数入口: PID-RK(设定值),PID-CK(实际值),PID-KP,PID-KI,PID-KD函数出口: U(K)*/#includedefines.h#includepid.h#define MAXOUT 0xff/#define MAXGAP 100 void pid_exe(pid_str*PID)/指针指向PID构造体 PID-EK2=PID-EK1; /Double上差量-上次差量 PID-EK1=PID-EK0; /上次差量-当前差量 PID-EK0=PID-RK-PID-CK; /当前差量=水位设定值-

12、水位实际值if(PID-EK0EK0=-10)PID-EK0=0; PID-UK_REAL=PID-UK_REAL+PID-KP*(PID-EK0-PID-EK1)/微分一次后积分即原数 +(float)PID-KI*PID-EK0/直接积分 +(float)PID-KD*(PID-EK0-2*PID-EK1+PID-EK2);/二阶微分后积分即一阶微分 if(PID-UK_REALPID-BITMOV)=MAXOUT)/AD输出量上限值 PID-UK=MAXOUT; /AD输出量=上限值 else if(PID-UK_REALPID-BITMOVUK=0; else PID-UK=PID-U

13、K_REALPID-BITMOV; /实际输出量 PID头文件:主函数局部:/* * 普中科技-* 实 验 名 : AD显示试验* 实验说明 : 使用LCD1602显示AD读取到的各个数值* 连接方式 : 见连接图* 注 意 : */#include#includei2c.h#includelcd.h#includepid.h/-定义PCF8591的读写地址-/#define WRITEADDR 0x90 /写地址#define READADDR 0x91 /读地址pid_strswkz;void Delay(unsigned int i)while(i-);void set_pid_para

14、(void)swkz.KP=3;swkz.KI=0.5;swkz.KD=0;swkz.RK=450;swkz.EK2=0; swkz.EK1=0; swkz.EK0=0;swkz.BITMOV=1;swkz.UK_REAL=0;/* 函 数 名 : Pcf8591SendByte* 函数功能 : 写入一个控制命令* 输 入 : channel转换通道* 输 出 : 无*/void Pcf8591SendByte(unsigned char channel)I2C_Start();I2C_SendByte(WRITEADDR, 1); /发送写器件地址I2C_SendByte(0x40|chan

15、nel, 0); /发送控制存放器I2C_Stop();/* 函 数 名 : Pcf8591ReadByte* 函数功能 : 读取一个转换值* 输 入 : 无* 输 出 : dat*/unsigned char Pcf8591ReadByte()unsigned char dat;I2C_Start();I2C_SendByte(READADDR, 1);/发送读器件地址dat=I2C_ReadByte(); /读取数据I2C_Stop(); /完毕总线 return dat;/* 函 数 名 : Pcf8591DaConversion* 函数功能 : PCF8591的输出端输出模拟量* 输

16、入 : value转换的数值* 输 出 : 无*/void Pcf8591DaConversion(unsigned char value)I2C_Start();I2C_SendByte(WRITEADDR, 1);/发送写器件地址I2C_SendByte(0x40, 1); /开启DA写到控制存放器I2C_SendByte(value, 0); /发送转换数值I2C_Stop();void Dis_Play(unsigned int data1)LcdWriteData(0+data1/1000); /发送显示数据LcdWriteData(0+data1%1000/100);LcdWrit

17、eData(0+data1%100/10);LcdWriteData(0+data1%10);/* 函 数 名 : main* 函数功能 : 主函数* 输 入 : 无* 输 出 : 无*/void main()unsigned int AD_Read=0;/AD_Read-信号输入量 LcdInit(); /1602液晶初始化set_pid_para(); /给PID赋初值while(1)AD_Read=Pcf8591ReadByte()*2; /ADC读取外部输入电压 先空读一次swkz.CK=AD_Read;/把读入的AD值付给PID.CKwrite_str(1,0,AD:);Dis_Pl

18、ay(AD_Read);/显示当前读入AD电压值 0-510-水位的高度 Pcf8591SendByte(3); /发送电位器转换命令AD_Read=Pcf8591ReadByte()*2; /再度读一次,读出当前数据AD_Read-信号输入量 0-510-水位的高度 /-PID DA输出-/pid_exe(&swkz);/PID计算出AD输出量 write_str(0,0,OUTPUT:);Dis_Play(swkz.UK);Pcf8591DaConversion(swkz.UK);/AD输出量给控制/Delay(100000);/延时时间 改变控制周期!3、结果分析模拟量电压0-5V对应数

19、字量0-510(设定的数字量最大值MAXOUT=0xff=255,实际值PID-UK_REAL右移一位PID-BITMOV,即除以2以后与255比拟,所以实际值变化围为510),水位变化围为0-100cm,PID中有:swkz.KP=3;swkz.KI=0.8;swkz.KD=0.7;结果显示,设定值比实际值大致多70如,给定值为400,实际输出值为330,对应水位是52cm,最终按要求将水位控制在60cm给定值为450和40cm给定值为328。个人总结本次课程设计任务是用单片机实现PID算法控制液位,由12人共同完成。我和其他四位同学主要负责PID算法局部,一开场都不会做,就在网上查资料,中

20、间也走了弯路,幸而在教师指点下及时改正,最终从三篇较好的程序中选择了一篇程序相对较精简且容易理解的作为参考,在此根底上深入理解并加以修改,从而变成一个能用而且好用的PID算法程序。程序很早就写好了,然后就与负责其他两局部的同学交流一起做其他局部,争取尽快完成任务,在各局部都有了雏形,整个系统可以顺利运行后,我们组的同学就开场调PID算法程序。由于暑假期间参加了西门子杯工业自动化挑战赛,对过程控制有局部了解,所以PID算法中的参数给定主要是我在负责。经过屡次实验,终于使得水位控制相对准确,但是由于水平有限,PID参数局部调地并不完美,导致水位震荡较大,任然有很大的改良空间。通过这次12人共同完成一个课程设计,我体会到了明确分工,积极合作的重要性,也更明白了包容和谦让的力量,同时对之前所学的知识进展了一次应用,更有助于理解。这次课程设计也让我认识到了自己的缺乏,对于一个系统来说任何细节都很重要,需要从各个方面考虑才行。最后,十分感谭教师的指导以及其他11位同学对我的帮助。参考文献 单片机 百度百科词条 计算机控制技术 施保华 电子技术根底 康华光. z.

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!