ImageVerifierCode 换一换
格式:DOC , 页数:33 ,大小:1.63MB ,
资源ID:2098944      下载积分:12 金币
快捷注册下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/2098944.html】到电脑端继续下载(重复下载【60天内】不扣币)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

开通VIP折扣优惠下载文档

            查看会员权益                  [ 下载后找不到文档?]

填表反馈(24小时):  下载求助     关注领币    退款申请

开具发票请登录PC端进行申请

   平台协调中心        【在线客服】        免费申请共赢上传

权利声明

1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。

注意事项

本文(储水罐液位计算机控制系统设计.doc)为本站上传会员【快乐****生活】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4009-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

储水罐液位计算机控制系统设计.doc

1、 计算机控制技术课程设计 储水罐液位计算机控制系统设计 学生姓名 学 号 学院名称 专业名称 指导教师 2011年 6月 7日 目 录 1.储水罐液位系统设计原理 4 1.1 本设计任务和主要内容 4 1.1.1设计任务 4 1.1.2主要内容 4

2、 2.系统模型建立 5 2.1系统组成 5 2.2系统工作原理 5 2.3系统模型 6 3.硬件选择 9 3.1 液体压力传感器选择 9 3.2水泵选择 9 3.3微控制器的选择 10 3.3.1 80C51电源 10 3.3.2 80C51时钟 10 3.3.3 80C51 控制线 10 3.3.4 80C51 I/O接口 11 3.4 A/D转换器选择 11 4.硬件电路设计 13 4.1 80C51单片机外围电路设计 13 4.1.1 时钟电路 13 4.1.2 复位电路 13 4.2水泵驱动电路设计 13 4.2.1 继电器电路 14 4.2.2

3、双向晶闸管过零调功调速原理 14 4.2.3过零检测电路 15 4.2.4 双向晶闸管触发电路 16 4.3数码管电路 16 5.系统软件设计 17 5.1 软件设计流程图 17 5.2 软件主函数 18 5.3 软件水泵控制程序 18 6.结论 21 参考文献 22 附录 23 附录1 23 附录3 30 附录4 32 精品资料 ______________________________________________________________________________

4、 1.储水罐液位系统设计原理 1.1 本设计任务和主要内容 1.1.1设计任务 本设计主要研究水箱水位自动控制系统。此系统实现了水位报警,水位实时显示。在2min内达到并稳定在1m水位高度,并且偏差在10%。 1.1.2主要内容 被控系统为一储水罐。系统如图1-1所示,储水罐内为清水,下部设有出水管,流量记为Q2。储水罐通过水泵将清水池内的清水补入罐内,流量记为Q1,清水池内的水位可视为固定值2米(即在储水罐补水过程中液位不变化)。已知储水罐的截面积A=1平方米,高度H=2米,要求控制目标液位高度为1米。 当水箱水位

5、低于1m时,启动水泵,从清水池抽水供给给储水罐;当水箱水位高于1m时水泵自动停止;当水箱水位高于1.8m时外部报警灯自动点亮,手动复位控制系统。 图1-1 储水罐系统 精品资料 精品资料 2.系统模型建立 2.1系统组成 储水罐液位系统的原理图如图2-1所示。此系统由清水池,储水罐,直流水泵,微控制器,液体压力传感器,A/D转换器等组成。 清水池在此设计中属于理想状态,即水位高度不变; 直流水泵选用TPH2T6K型号,220V离心式水泵,此水泵工作效率为50/H;

6、 微控制器选用Atmel公司生产的89C51单片机; 液体压力传感器选用PT500-500液体压力传感器; A/D转换器则选用 ADC0808 8位精度转换器。 图2-1 储水罐液位系统的原理图 2.2系统工作原理 此系统由液体压力传感器测出储水罐液位压力,以0~20mA电流形式输入到一个125电阻上,A/D转换器采样电阻两端电压,然后输入微控制器80C51,微控制器80C51经过处理判断水位高度进行相应的处理,并控制数码管显示现在水位高度。系统工作流程图如图2-2。 图2-2

7、储水罐液位系统工作流程图 2.3系统模型 此系统是一个典型的一阶系统。储水罐相当于一个流体容器,由物质守恒可以得到: (2.1) 式中 ——表示流入储水罐的水量; —— 表示储水罐中保留的水量; ——表示流出储水罐的水量。 假设A是储水罐的横截面积,h'为储水罐中水位的高度则(2.1)可写成: (2.2) 出水流量取决于储水罐的流量系数,储水罐的液位高度,储水罐的出水口面积,和重力常数。即: (2.3) 式中 Cd——表示储水罐出口的流量系数; a——表示储水罐的出水口面积; g——表示重力常数(9.8m/s2)。

8、 结合(2.2),(2.3)我们能得到 (2.4) 假设是个常数则出水流量将达到一个稳态值,水位高度也将能达到一个恒定值。 (2.5) 我们假设有个小的扰动值,我们能得到: (2.6) 同时液位高度也将会有小的扰动: (2.7) 将(2.6)、(2.7)带入(2.4)我们可以得到: (2.8) 应用泰勒级数将(2.8)线性化,泰勒级数: (2.9) 取泰勒级数第一级得到: (2.10) 或者 (2.11) 将(2.

9、8)用(2.11)线性化后得到: (2.12) 对(2.12)进行拉普拉斯变换,我们可以得到: (2.13) 带入数据可得: (2.14) 电机的电气方程: (2.15) 电机的机械方程: (2.16) 式中 ——表示电机电势系数; ——表示电枢电阻; ——表示电枢电压; ——表示电枢电流; ——表示电枢电感; ——表示折算到轴上的转动惯量; T——表示电动机电磁转矩;

10、 ——表示负载转矩; 将(2.15)、(2.16)式进行拉式变换可以得到转速和输入电压的传递函数: (2.17) 电机经验公式: 得出该电机的传递函数为: 由上式我们可以得到此液位系统的框图如图2-3 图2-3 储水罐液位系统框图 3.硬件选择 3.1 液体压力传感器选择 本设计中储水罐的高度液位高度最高为2M,根据,可算出在此设计中最大压强为19.6Kpa。可选择压力传感器量程为0—20Kpa,最终选

11、用了PT500-500液体压力传感器,PT500-500采用高精度高稳定性电阻应变计做为变送器的感压芯片,选进的贴片工艺,配套带有零点、满量程补偿,温度补偿的高精度和高稳定性放大集成电路。主要技术要求如表3-1所示。 表3-1 PT500-500液体压力传感器技术参数 技术参数 参数值 被测介质 气体、液体及蒸气 量程 -100KPa-20Kpa~60 Mpa~150 Mpa间任意可选 输出 0~20mA(二线制) 综合精度 ±0.1%FS(量程60MPa以上)、±0.25%FS、±0.5%FS 供电 12~36V DC 绝缘电阻 ≥1000 MΩ/100VDC

12、 负载电阻 最大800Ω 介质温度 -20~85℃、-20~150℃、-20~200℃、-20~300℃(可选) 环境温度 -20~85℃ 相对湿度 0~95% RH 过载能力 150%FS 响应时间 ≤10mS 电气连接 不锈钢防水密封端子、四芯航空接插件、赫丝曼接头等 此液体压力传感器完全可以满足控制的要求,选择此传感器主要因为:供电要求12~36V DC,电压范围广,输出0~20mA标准电信号,方便A/D采集。 3.2水泵选择 此设计中应用了TPH2T6K离心式单相交流水泵,其技术参数如表3-2。此水泵采用单相交流电,易于控制,流量50/H=0.83/

13、min,在两分钟内可以达到要求。 表3-2 TPH2T6K离心式单相交流水泵技术参数 技术参数 参数值 工作电压 220V 工作频率 50HZ 流量 50m3/H 扬程 55m 进出口径 25cm 马达转速 2900RPM 3.3微控制器的选择 此设计采用ATMEL80C51作为控制芯片。它是在MCS-48系列的基础上发展的高性能的8位单片机。所出的系列产品有8051、8031、8751。其代表就是8051。其他系列的单片机都以它为核心,所以本设计采用的核心芯片是8051单片机。CPU是它的核心设备,从功能上看,CPU包括两个部分:运算器和控制器,它执行对输入

14、信号的分析和处理。每片80C51包括:一个8位的微型处理器CPU;128B的片内数据存储器RAM;4KB片内程序存储器ROM;四个8位并行的I/O接口P0-P3,每个接口既可以输入,也可以输出;两个定时器/记数器;五个中断源的中断控制系统;一个全双工UART的串行I/O口;片内振荡器和时钟产生电路,但石英晶体和微调电容需要外接。最高允许振荡频率是12MHZ。以上各个部分通过内部总线相连接。 整个系统电控部分以ATMEL公司的8051为核心芯片,控制信号采集、处理、输出三个过程。这种芯片内置4KROM,因为系统要求控制线较多,如果采用8031外置EPROM程序控制结构,则造成控制线不够,而80

15、51却可以利用P0、P2口作控制总线,大大简化了硬件结构,并可以直接控制LED数据显示,方便现场调试和维护,使整个系统的通用性和智能化得到了很大的提高。 现在介绍下在此设计中用到的引脚,引脚图如图3-1所示。 单片机的40个引脚大致可分为4类:电源、时钟、控制和I/O引脚。 3.3.1 80C51电源 VCC - 芯片电源,接+5V; VSS - 接地端; 3.3.2 80C51时钟 XTAL1、XTAL2 - 晶体振荡电路反相输入端和输出端。 3.3.3 80C51 控制线 l ALE/PROG:地址锁存允许/片内EPROM编程脉冲 ALE功能:用来锁存P0口送出

16、的低8位地址 PROG功能:片内有EPROM的芯片,在EPROM编程期间,此引脚输入编程脉冲。 l PSEN:外ROM读选通信号。 l RST/VPD:复位/备用电源。 RST(Reset)功能:复位信号输入端。 VPD功能:在Vcc掉电情况下,接备用电源。 l EA/Vpp:内外ROM选择/片内EPROM编程电源。 EA功能:内外ROM选择端。 Vpp功能:片内有EPROM的芯片,在EPROM编程期间,施加编程电源Vpp。 3.3.4 80C51 I/O接口 l P0口(39脚~32脚):P0.0~P0.7统称为P0口。当不接外部

17、存储器与不扩展I/O接口时,它可作为准双向8位输入/输出接口。当接有外部程序存储器或扩展I/O口时,P0口为地址/数据分时复用口。它分时提供8位双向数据总线。 l P1口(1脚~8脚):P1.0~P1.7统称为P1口,可作为准双向I/O接口使用。对于MCS—52子系列单片机,P1.0和P1.1还有第2功能:P1.0口用作定时器/计数器2的计数脉冲输入端T2;P1.1用作定时器/计数器2的外部控制端T2EX。对于EPROM编程和进行程序校验时,P0口接收输入的低8位地址。 l P2口(21脚~28脚):P2.0~P2.7统称为P2口,一般可作为准双向I/O接口。当接有外部程序存储器或扩展I/

18、O接口且寻址范围超过256个字节时,P2口用于高8位地址总线送出高8位地址。对于EPROM编程和进行程序校验时,P2口接收输入的8位地址。 l P3口(10脚~17脚):P3.0~P3.7统称为P3口。它为双功能口,可以作为一般的准双向I/O接口,也可以将每1位用于第2功能,而且P3口的每一条引脚均可独立定义为第1功能的输入输出或第2功能。 图3-1 80C51单片机引脚图 图3-2 ADC0808引脚图 3.4 A/D转换器选择 本设计采用ADC0808作为A/D转换器,ADC0808是带有8位A/D转换器、8路多路开关以

19、及微处理机兼容的控制逻辑的CMOS组件。它是逐次逼近式A/D转换器,可以和单片机直接接口。 ADC0808转换器引脚图如图3-2所示 ADC0808转换器引脚介绍: l IN0~IN7:8路模拟量输入端。 l OUT1~OUT8:8位数字量输出端。 l AL::地址锁存允许信号,输入,高电平有效。 l START: A/D转换启动脉冲输入端,输入一个正脉冲(至少100ns宽)使其启动(脉冲上升沿使0808复位,下降沿启动A/D转换)。 l EOC:A/D转换结束信号,当A/D转换结束时,此端输出一个高电平(转换期间一直为低电平)。 l OE:数据输出允许信号,输入,高电

20、平有效。当A/D转换结束时,此端输入一个高电平,才能打开输出三态门,输出数字量。 l CLK:时钟脉冲输入端。要求时钟频率不高于640KHZ。 l VREF(+)和VREF(-):参考电压输入端。 l Vcc:主电源输入端5V。 l GND:接地。 l ADDA、ADDB、ADDC:3位地址输入线,用于选通8路模拟输入中的一路,通道选择表如表3-3所示。 l 注意事项:输出端out8为最低位out1为最高位,与单片机连接是要注意。 表3-3 通道选择 ADDC ADDB ADDA 选择的通道

21、 0 0 0 IN0 0 0 1 IN1 0 1 0 IN2 0 1 1 IN3 1 0 0 IN4 1 0 1 IN5 1 1 0 IN6 1 1 1 IN7 4.硬件电路设计 4.1 80C51单片机外围电路设计 4.1.1 时钟电路 80C51用内部振荡电路,这时需要XTAL1、XTAL2来外接石英晶振和微调电容,如图4-1所示。外接石英晶振为12MHZ,两个电容为30PF为起振电容。

22、 图4-1 80C51外部时钟电路 4.1.2 复位电路 80C51单片机有一个复位引脚RST,高电平有效。在时钟电路工作以后,当外部电路使得RST端出现两个机器周期(24个时钟周期)以上的高电平,系统内部复位。复位方式有两种:上电复位和按钮复位。本设计选用按钮复位,因为遇到特殊情况系统出错,可以及时复位保证系统损失减到最低。复位电路如图4-2所示。 图4-2 80C51按钮复位电路 4.2水泵驱动电路设计 4.2.1 继电器电路 因为本设计中用到的是单相交流水泵用的220V交流

23、电属于强电范围,不能直接与单片机连接所以采用了继电器来充当开关。继电器电路如图4-3所示。 继电器的触发电路应用了光耦隔离,当单片机的P2.2口输出控制低电平时,光耦输入端导通,使得光耦内部三极管导通,经过R4,R3电阻分压后使得Q1基极电压变高,使得Q1导通,从而使得继电器工作。其中D1是为了消耗继电器中线圈中掉电后的剩余电流。 图4-3 继电器开关电路 4.2.2 双向晶闸管过零调功调速原理 本设计中应用双向晶闸管对水泵进行调速控制,根据 (4.1) 式中 P——表示电功率KW; T——表示外部阻力矩N·m; ——表示角速度rad·s-1。 当外部情况不变即T保

24、持不变时,在规定时间内电功率的变化将导致角速度的改变,因此调电功就可达到调速的目的。 可控硅过零控制波形见图4-5。可以看出,过零调功通过的工作电压是完整的正弦波形,过零导通且过零截止。过零调功方式就是通过在给定的时间内改变加在负载上的交流正弦波个数来调节负载功率的一种控制方法。 图4-5 双向晶闸管过零控制信号波形图 4.2.3过零检测电路 过零检测电路的最终目标是实现当50HZ的交流电压通过零点时取出其脉冲。本设计中用两个光耦实现脉冲的检测,如图4-6所示。交流电源经R7后加到两个反并联的二极管上,在交流电源的正、负半周,U2中二极管和U8中二极管轮流导通,从而使 U1中三极管

25、和U8中三极管也轮流导通,在导通期间光耦的5号输出引脚输出低电平,只有在交流电源过零的瞬间,两个二极管均截止,5号引脚输出高电平,因此5号引脚得到周期为10ms的脉冲信号,再将此信号通过7407逻辑门进行整流,从而得到图4-5中过零脉冲。电路总R7的大小选取与索取的光耦触发电流有关,本设计中采用600电阻。 图4-6 过零检测电路图 4.2.4 双向晶闸管触发电路 本设计中应用了光耦对双向晶闸管进行驱动,电路如图4-7所示。此电路的工作原理是:单片机响应用户的参数设置,在 I/O口输出一个高电平,经反向器反向后,送出一个低电平,使光电耦合器导通,同时触发双向可控硅,使工作电路导通工作

26、R5为触发限流电阻,R6为双向晶闸管门极电阻,防止误触发,提高抗干扰能力。在本设计中负载是水泵属于感性交流负载,这样会使得双向可控硅承受的电压值远远超过电源电压,可能击穿并且烧坏晶闸管,所以双向晶闸管两极间并联一个RC阻容吸收电路 ,实现晶闸管的过电压保护。各个电阻和电容值均为光耦推荐电路中值未加改动。 在给定的时间内水泵得到的功率为: (4.2) 式中 P——表示负载得到的功率; n——表示给定时间内双向晶闸管导通的正弦波的个数; N——表示给定时间内正弦波的总个数; U——表示不加双向晶闸管时负载得到的电压有效值; I——表示不加双向晶闸管时负载得到的电流有效值。

27、由(4.2)式可以看出只要N,U,I为定值,只要改变n就可以到达调速的目的。 图4-7 双向晶闸管触发电路 4.3数码管电路 本设计中应用了7SEG-MPX2-CC8段式共阴极双数码管,段码引脚接入80C51的P1口,位选两条线分别接单片机的P2^0,P2^1口。在本设计中采用了数码管的动态显示,利用了人的视觉暂留效应。 5.系统软件设计 5.1 软件设计流程图 本系统程序主要有AD转换模块、数码管显示模块、PI调节模块、报警灯控制模块、电机控制模块组成。工作流程如图5-1所示。 图5-1 主程序工作流程图 5.2 软件主函数 根据流程图设计出软件的主程序如

28、下: void main() { ik=0; e1=0; kp=2; ki=4; initdingshi(); //中断初始化 st=0; while(1) { ad(); //AD初始化 if(getdata>=230) //判断是否水位超过1.8米如果超过 { //打开报警灯否则关闭报警灯 lamp=0; kg=0; } else lam

29、p=1; if(getdata<127) //判断数位是否低于1米如果低于打开继电器, { kg=0; //并设定双向晶闸管导通次数 EX1=1; //外部中断1允许位打开 y=100-(100*uk)/127; } else kg=1; } } 5.3 软件水泵控制程序 水泵控制程序是在外部中断1、定时器0共同配合下进行的,他们实现了在1秒内控制通过双向晶闸管半波个数,从而精确控制水泵转速。外部中断1每10MS触发一次,而定

30、时器0要定时1S后才执行任务,所以时序问题很重要。时序流程图如图5-2所示。具体程序如下: void dingshi() interrupt 1 //定时器0定时50MS中断程序 { TH0=(65536-50000)/256; TL0=(65536-50000)%256; w++; while(w==20) //当到1S时打开外部中断1 { EX1=1; w=0; } } void waibu() interrupt 2 //外部中断1,产生双向晶闸管触发脉冲,打开定时器0 { TR0=1;

31、 ET0=1; chufa=1; delay(8); chufa=0; delay(8); x++; if(x==y)//当过零脉冲到达调节数时关掉外部中断1并 //关闭晶闸管触发脉冲 { chufa=1; x=0; EX1=0; } } 图5-2 中断时序流程图 6.结论 本系统主要介绍了水体的液位检测控制,介绍了8051单片机在液位控制系统中的应用,介绍了它们的引脚和在系统中的电

32、路图,本设计还采用了液体压力传感器来对液位的信号采集,利用数码管来进行信号的输出显示,我设计的硬件系统的结构简化,系统精度高,具有良好的人机交互功能,并设有液位报警灯,有问题立即就能发现,减小损失。通过自动调节控制液位并实现水体的液位报警。液位控制在设定值上正常运行不需要人工干预,操作人员劳动强度小。 采用单片机设计出的工业水位控制器,能够针对水位的不同状态和不同外界条件进行控制,水位运行稳定、控制品质良好、控制效果明显改善;同时大大提高了控制系统的抗干扰能力,保证了工业水体液位方面作业的稳定运行。控制装置具有成本低、抗干扰能力强、控制性能好等优点,且系统硬、软件维护简单方便。 本系统采用

33、双向晶闸管控制水泵,电路简单,实用性强,控制精确。本设计在双向晶闸管驱动电路方面准备用MOC3041过零保护光耦合器,最终由于在PROTUES中仿真一直报错,最终没有找到解决办法,最终用了普通的NPN型光耦合器代替,增加了双向晶闸管的工作负担。 参考文献 [1] John Wiley &Sons,Ltd.Microcontroller Based Applied Digital Control [M].The Atrium, Southern Gate, Chichester,West Sussex PO19 8SQ, England.John Wile

34、y & Sons Ltd.2006. [2] 谢维成,杨加国.单片机原理与应用及C51程序设计 [M].第二版.北京.北京国马印刷厂.2009-7. [3] 樊月珍.江发潮.基于AT89C51的交流电机调速控制系统设计[EB/OL]. 北京林业大学工学院网站. 2008 2011-6. [4] 胡寿松.自动控制原理 [M].第五版.北京.科学出版社.2007 . [5] 余孟尝.数字电子技术基础简明教程 [M].第三版.北京.高等教育出版社.2009. 附录 附录1 系统程序: #include<

35、reg51.h> #include #include #define uchar unsigned char #define uint unsigned int sbit w1=P2^0; //数码管位选1 sbit w2=P2^1; //数码管位选2 sbit st=P3^0; //ADC0808启动信号 sbit eoc=P3^1; //ADC0808转换标志位 sbit dian=P1^7;//数码管点的控制I/O口 sbit kg=P2^2; //继电器控制位 sbit chufa=P2^3; //双向晶闸管触发控制位 s

36、bit lamp=P2^4; //报警灯控制位 uchar kp,ki,uk,pk,ik; //PID系数定义 uint getdata; uint temp; uint qd=127; //1M位置 float e,e1,e2,yk; //PID中间量 int zkb,w=0,t=0,p=0,x=0,y=20; //变量定义 uchar dispbuf[3]={0,0,0}; //数码管缓冲数组 uchar code table[]={ //段码 0x3f,0x06,0x5b,0x4f, 0x6

37、6,0x6d,0x7d,0x07, 0x7f,0x6f,0x77,0x7c, 0x39,0x5e,0x79,0x71}; void delay(uchar i) //1us定时 { while(i--) _nop_(); } void led(); void pi(); void ad (); void initdingshi(); void main() { ik=0; e1=0; kp=0.8; ki=1.5; initdingshi(); //中断初始化 st=0; whil

38、e(1) { ad(); //AD初始化 if(getdata>=230) //判断是否水位超过1.8米如果超过 { //打开报警灯否则关闭报警灯 lamp=0; kg=0; } else lamp=1; if(getdata<127) //判断数位是否低于1米如果低于打开继电器, { kg=0; //并设定双向晶闸管导通次数 EX1=1; //外部中断1允许位 y=100-(100*uk)/127;

39、 if(y>100); y=100; } else { kg=1; } } } void ad () //AD初始化子程序 { if(p==5) //每25MS进行采集一次 { st=1; //开启AD delay(1); //满足触发时间 st=0; while(eoc==0); //等待采集完成 delay(1); getda

40、ta=P0; //采集数据存到变量中 temp=(getdata*4/51);//将数据进行转换 dispbuf[1]=temp/10; dispbuf[0]=temp%10; p=0; //将计时变量清零 pi(); //PI处理 } led(); //数码管显示 } void initdingshi() //中断初始化程序 { TMOD=0x11; //定时器1,定时器0选择16位定时方式 IT1=1; //外部中断1为边沿

41、触发方式 TH0=(65536-50000)/256;//定时器0定时初始化50MS TL0=(65536-50000)%256; TH1=(65536-5000)/256;//定时器1定时初始化5MS TL1=(65536-5000)%256; TR1=1; //启动定时器1 EA=1; //中断打开 ET1=1; //定时器1溢出中断允许位 } void led() //数码管显示子程序 { P1=table[dispbuf[1]];

42、w1=0;w2=1; dian=1; delay(5); w1=1;w2=1; P1=table[dispbuf[0]]; w1=1;w2=0; dian=0; delay(5); w1=1;w2=1; } void pi() //PI调节器程序 { e=qd-getdata; //误差 pk=kp*e; ik=ki*e+e1; uk=pk+ik; e1=ik; } void dingshi() interrupt 1

43、//定时器0定时50MS中断程序 { TH0=(65536-50000)/256; TL0=(65536-50000)%256; w++; while(w==20) //当到1S时打开外部中断1 { EX1=1; w=0; } } void dingshi2() interrupt 3 //定时器1定时5MS中断程序 { TH1=(65536-5000)/256; TL1=(65536-5000)%256; p++; } void waibu() interrupt 2 //外部中断

44、1,产生双向晶闸管触发脉冲,打开定时器0 { TR0=1; ET0=1; chufa=1; delay(8); chufa=0; delay(8); x++; if(x==y) //当过零脉冲到达调节数时关掉外部中断1并关闭晶闸管触发脉冲 { chufa=1; x=0; EX1=0; } } 精品资料 附录2储水罐液位计算机控制系统设计电路图 附录3 Protues仿真结果(用灯泡代替水泵) 图A 当水位高于1.8米报警灯亮水泵不工作 图B 水位低于1.8米报警灯熄灭水泵不工作 图C 水位低于1米水泵工作 图D过零检测电路产生过零脉冲 附录4 将此系统传递函数应用matlab simulink 进行仿真可确定PI调节系数 图E matlab simulink仿真 图F 仿真结果 Welcome To Download !!! 欢迎您的下载,资料仅供参考!

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服