毕业设计论文基于单片机的水闸通用控制系统的研究.docx
- 文档编号:23867676
- 上传时间:2023-05-21
- 格式:DOCX
- 页数:21
- 大小:406.92KB
毕业设计论文基于单片机的水闸通用控制系统的研究.docx
《毕业设计论文基于单片机的水闸通用控制系统的研究.docx》由会员分享,可在线阅读,更多相关《毕业设计论文基于单片机的水闸通用控制系统的研究.docx(21页珍藏版)》请在冰豆网上搜索。
毕业设计论文基于单片机的水闸通用控制系统的研究
毕业论文
(2010届)
基于单片机的水闸通用控制系统的研究
学生姓名
学号
分院
专业
指导教师
完成日期
基于单片机的水闸通用控制系统的研究
摘要随着信息化在水利行业的大力推广,作为水利信息化的重要组成部分的水闸自动控制系统正日益完善。
但是不管是旧水闸的除险加固改造,还是新建水闸控制系统的开发,都自成体系,各自开发,浪费大量的人力、物力和科研时间,而且不利于对以往工作的
改进。
目前,国内还没有已投入应用的能解决上述问题的产品,因此研究水闸通用控制系统具有很大的现实意义和应用价值。
本文提出了将水闸控制的软、硬件系统进行模块化设计,逐步实现标准化的思想。
在其硬件和软件都能满足不同启闭方式、不同孔数、不同控制需求的前提下,在工厂就对这些软硬件模块进行充分的测试和联合调试,保证所有可能的控制流程都能正确执行。
对于一个具体的水闸,其自控系统的硬件只是从这些模块中进行选型,而软件只需对模块化软件的孔数、控制功能等进行具体控制。
文中以不定孔数的卷扬启闭式水闸为例,描述其自动控制的模块化方法。
首先讨论了常规水闸控制系统的各项功能的一般要求,从功能通用的角度研究水闸控制系统;随后从系统硬件通用性的实现和软件通用性的实现两个方面详细地论述系统通用性的实现。
关键词:
水闸控制系统通用性单片机
引言
水闸是具有挡水利泄水功能的低水头水T建筑物,人多建在河道、渠道及水库、湖泊岸边。
关闭闸门,可以拦洪、挡潮、抬高水位,以满足上游取水或通航的需要:
开启闸门,可以泄洪、排涝、冲沙、以水或根据下游用水需要调节流量。
水闸按其担负的任务不同可分为:
①节制闸:
用以调节上游水位,控制下泄流量建于河道上的节制闸也称拦河闸。
②进水闸:
又称渠前闸,位于江河、湖泊、水库岸边,用以控制引水流量。
③分洪闸:
建于河道的一侧,用以将超过下游河道安全泄量的洪水泄入湖泊、洼地等分洪区,及时削减洪峰。
④排水闸:
建于排水渠术端的江河沿岸堤防上,既可防止河水倒灌,又可排除洪涝渍水。
⑤挡潮闸:
建于河口地段,涨潮时关闸,防止海水倒灌,退潮时开闸泄水,具有双向挡水的特点。
⑥冲沙闸:
用于排除进水闸或节制闸前淤积的泥沙,常建在进水闸一侧的河道上与节制闸并排布置,或建于引水渠内的进水闸旁。
鉴于水闸的重要性,实际生活生产中开闸、关闸等对水闸的一系列操作,都必须得到有关部门的审批。
以浙江省水闸控制运行为例,水闸的调度权限按照分级管理的原则,一般由水闸管理单位的上级主管部门根据当前水情、雨情、工情和用水需求,按照调度原则进行调度,部分水闸按照有关市、县制定的运行办法执行。
在紧急情况下,
省防汛防旱指挥部可直接对有关水闸进行调度。
水闸管理单位按上级土管部门的调度指令,在规定时闸内对闸门进行启闭控制。
因此无论是水闸控制系统改良、还是建设新的水闸控制系统,现场测试工作总是困难重重,理论上没问题、或者经过实验室检测可靠的系统一旦安装到现场仍然还会出现很多问题,控制效果不尽如人意。
已经投入运行的控制系统再进行完善难度就更大了,我国的水闸都是采用这种“针对所要控制的水闸的功能要求,开发控制系统一实验室调试一安装到现场一投入运行一发现问题一解决问题”的开发模式,众多水闸控制实例证明这种模式开发的控制系统的_可靠性难以保证,且后续完善工作也有一定难度。
导致这一结果的原因主要是,对于不同的水闸需要进行不同的软、硬件设计,这不仅付出了重复的脑力劳动,而且不利丁对以往工作的改进。
另一方面,采用上述的项日实施方法,自动控制系统软硬件在工厂和现场的调试和测试无法做到全面而有效,从根本上导致了水闸控制系统存在可靠性风险考虑到虽然不同水闸的结构不同、规模不同、甚至控制方式也不同,但他们所要达到的控制要求、所要控制的参数却有普遍的相通性,开发一套在一定规模内可以通用的水闸自动控制系统必将大大提高系统的可靠性和研制效率,减少工程投资,避免工程实践中重复性劳动,缩短开发周期,具有积极的实际应用价值。
第一章水闸控制系统总体设计方案
1.1水闸通用控制系统的系统框图
1-1水闸通用控制系统的系统框图
图1.1为基于89C51单片微型计算机的水闸通用控制系统框图,该系统由三部分组成上下游水位输入部分、计算机处理部分及水闸闸门控制部分。
89C51从ADC0808读取上下游液位,根据液位差控制闸门的开关,并且显示液位差以及各个闸门开关情况。
1.2水闸控制系统计算机处理
水闸闸门可以根据具体情况灵活的选择闸门控制模式。
下述是13种常用控制模式,
可分为何时开闸、何时关闸两大类。
何时开闸的控制条件:
1通过设置上下游水位之差在某一数值范围内来控制何时自动开闸
2通过设置开闸时刻来控制何时自动开闸
3群控方式下即时开闸
图1-2计算机处理部分框图
图1.2为水闸通用控制系统的核心部分——计算机处理部分,它将由ADC0808读取得上下游水位进行计算,求出上下游水位差,根据水位差所在区间,则发出相应的命令开启闸门或关闭闸门,而水位差及各闸门开关情况就通过数码管显示。
通过键盘则可以手动控制某一个闸门的开或关。
1.3水闸控制系统的闸门控制
2
水闸闸门的启闭模式包括三种:
卷扬式,液压式、螺杆式。
对于
卷扬式和螺杆式启闭机电机需通过电气线路控制其正转、停止、反转;对于液压启闭机的工作电机需控制其启动和停止。
由于实践中大部分水闸是采用卷扬启闭方式,所以下文以卷扬式肩闭机水闸为例进行闸述。
通过对启闭机电机的正转、反转、停止控制来实现对闸门的上升、下降、停止控制。
1
通过控制继电器的开关,电动机启动、停止或反转,以此来控制闸门的开或关。
第二章水闸控制系统的硬件设计
2.1水闸控制系统的硬件设计
2
单片机求出上游液位,液位在相应的范围内,开启相应的闸门,键盘控制,则用上下键选择闸门,控制其开或关。
2
固态继电器SSR(SOLIDSTATERELAYS)是-一种{典型的弱电控制强电的新型无触点开关器件,它在数控和自控设备等方面应用非常广泛,在相当程度上可取代传统的“线圈一簧片触点式”继电器(简称“MER”)。
SSR只有两个输入端(A和B)及两个输出端(C和D),足一种四端器什。
工作时只要在A、B端加控制信号,就可以控制C、D两端之间的“通”和“断”,实现“开关”的功能。
固态继电器的特点主要体现为:
①工作可靠性高、寿命长
SSR由全固态电子元件组成,它没有任何可动的机械部件,工作中也没有任何机械动作;其开关的“通”、“断”功能由电路三极管或双向晶刚管控制实现,无机械触点。
因而工作更加可靠。
②灵敏度高、控制功率小、电磁兼容性好SSR的输入电压范围较宽、驱动功率低(一般只需十几毫瓦就能正常工作),'可与大多数逻辑集成电路兼容,而不需加装缓冲器或驱动器。
③转换速度快SSR用固态器件控制电路通断,所以转换速度一可达几毫秒。
SSR没有输入线圈,没有触点燃弧和回跳,因而电磁干扰较小。
⑤无动作噪声、耐振耐机械冲击、对安装位置无无限制,能适应环境恶劣的T作场合。
SSR很容易用绝缘防水材料灌封做成全密封形式,而且具有良好的防测防霉防腐性能,在防爆和防止臭氧污染方面的性能也极佳。
这些特点使SSR可在军事(如飞行器、火炮、舰船、车载武器系统)、化工、井下采煤和各种工业民用电控设备的应用中大显身手,具有超越传统继电器的技术优势。
⑥SSR还能承受在数值上可达额定电流十倍左右的浪涌电流。
2
图2-1闸门控制电路图
图2-1是主电路中选择0通道,所以ADC0808中IN0连接KYC09。
判断水库的液位。
通过MAX7219显示出来头三个数码管显示液位高度,第五个数码管显示闸门的状态。
键盘控制闸门开和关,P1.3的键盘控制闸门是自动检测还是手动切换。
图2-2闸门主电路图
图2-2是计算机控制三相交流电机正反转的接口及驱动电路,图中采用了4个与非门,用2个信号通道分刖控制电动机的起动、停止和正转、反转。
当改变电动机转动方向时,给出指令信号的顺序应是“停止-反转一起动”或“停止一正转一起动”。
图中Fl、F2、F3为熔断器。
当电机允许时,可以在Rl-R4位置接入限流电阻,以防止
当两线间的任意2只继电器均误接通时,限制产生的半周线间短路电流不超过继电器所能承受的浪涌电流,从而避免烧毁继电器等事故,确保安全生产;但副作用是正常工作时电阻上将产生压降和功耗。
第三章水闸控制系统软件设计
3.1系统流程图
3
图3-1主程序流程图
图3-2键盘流程图
图3-3读取液位流程图
3.2源程序
3
main()
{
uchari,k;
TMOD=0x01;
TH0=(65536-50000*110592/120000)/256;
TL0=(5536-50000*110592/120000)%256;
ET0=1;
EA=1;
TR0=1;
init_max7219();
P2=0xaa;
while
(1){
key();
i=adc0809();
display(i);
if(d1==0&&d2==0&&d3==0&&d4==0)
{
shuc();
}
elseif(P0&0xff!
=0xff)
{for(k=100;k>0;k--);
if(P0&0xff!
=0xff)
{P2=0xaa;}
}}}
3
adc0809()
{
uchari;
qidong=0;
for(i=0;i<100;i++)
;
qidong=1;
for(i=0;i<200;i++)
;
i=P3;
returni;
}
3.2.3显示程序
max7219(unsignedcharaddress,unsignedchardat)
{
unsignedchari;
LOAD=0;
for(i=0;i<8;i++)
{
CLK=0;
DIN=(0x80&address);
address=address<<1;
CLK=1;
}
LOAD=0;
for(i=0;i<8;i++)
{
CLK=0;
DIN=(dat&0x80);
dat=dat<<1;
CLK=1;
}
LOAD=1;
}
voidinit_max7219(void)
{
max7219(0x09,0xff);
max7219(0x0a,0x0c);
max7219(0x0b,0x04);
max7219(0x0c,0x01);
}
display(uchari)
{
intl;
floattmp,ss;
tmp=0xff/5;
ss=i/tmp;
f=ss*20/5;
l=ss*20/5*10;
max7219(0x01,l/100);
max7219(0x02,l%100/10+0x80);
max7219(0x03,l%10);
switch(o)
{
case0:
max7219(5,d1);break;
case1:
max7219(5,d2);break;
case2:
max7219(5,d3);break;
case3:
max7219(5,d4);break;
default:
break;
}}
3.2.4运算程序
shuc()
{
if(d!
=1)
{
if(f<=10)
{
P2=0xaa;
}
if(f>=19)
{
P2=0xff;
}
if(f>16&&f<19)
{
P2=0xbf;
}
if(f<=16&&f>13)
{
P2=0xaf;
}
if(f>10&&f<=13)
{
P2=0xab;
}
}
}
3
voidtime()interrupt1
{
TH0=(65536-50000*110592/120000)/256;
TL0=(5536-50000*110592/120000)%256;
TR0=0;
if(count==39)
{
count=0;
o++;
if(o==4)
{
o=0;
}}
elsecount++;
TR0=1}}
3.2.6键盘程序
key()
{
uchark;
if(P0&0xff!
=0xff)
for(k=100;k>0;k--);
{
if(P0_0==0)
{
P2_1=1;
P2_0=1;
d1=1;
}
if(P0_1==0)
{
P2_2=1;
P2_3=1;
d2=2;
}
if(P0_2==0)
{
P2_4=1;
P2_5=1;
d3=3;
}
if(P0_3==0)
{
P2_6=1;
P2_7=1;
d4=4;
}
if(P0_4==0)
{
d1=0;
P2_0=0;
d=1;
}
if(P0_5==0)
{
P2_2=0;
d2=0;
d=1;}
if(P0_6==0)
{
d=1;
P2_4=0;
d3=0;
}
if(P0_7==0)
{
d=1;
P2_6=0;
d4=0;
}
}if(P1_3==0)
{
d=0;
}
}
第四章系统调试
4.1硬件调试
根据设计的原理电路做好实验样机,便进入硬件调试阶段。
调试工作的主要任务是排除样机故障,其中包括设计错误和工艺性故障。
①脱机检查:
用万能表或逻辑测试笔逐步按照逻辑图检查机中各器件的电源及各引脚的连接是否正确,检查数据总线、地址总线和控制总线是否有短路等故障。
有时为保护芯片,先对各管座的电位(或电源)进行检查,确定其无误后再插入芯片检查。
②仿真调试:
暂时排除日标板的CPU和EPROM,将样机接上仿真机的40芯仿真插头进行调试,调试各部分接口电路是否满足设计要求。
这部分工作是一种经验性很强的工作,一般来说,设计制作的样机不可能一次性完好,总是需要调试的。
通常的方法是,先编调试软件,逐一检查调试硬件电路系统设计的准确性。
其次是调试M0NITOR程序,只有MONITOER程序正常工作才可以进行下面的应用软件调试。
硬件电路的调试调试过程如下:
①检查CPU的时钟电路。
通过测试ALE信号,如没有ALE信号,则判断是晶体或CPU故障,这称之为“心脏”检查。
②检查ABUS/DBUS的分时复用功能的地址锁存是否正常。
③检查I/0地址分配器。
一般是由部分译码或全译码电路构成,如是部分译码设计,则排除地址重叠故障。
④对扩展的RAM、ROM进行榆查调试。
一般先后写入55H、AAH,再读出比较,以此判断是否正常。
因为这样RAM、ROM的各位均写入过‘0’‘l’代码。
⑤用户级I/O设备调试。
如面板、.显示、打印、报警等等。
4.2软件调试
交叉汇编:
用PC机对AT89C51系列单片机程序进行交叉汇编时,可借助PC机的行编辑利屏幕编辑功能,将源程序按规定的格式输入到PC机,生成MCS-51HEX目标代码和LIST文件。
调试完成以后,即口J_通过EPROM写入器,将目标代码写入EPROM中,并将其插至机器的相应插座上,系统便可投入运行。
致谢
本论文是在***老师的悉心教诲指导下完成的,在整个毕业设计期间,得到了郑老师的认真指导和帮助,郑老师的严谨学风和渊博学识使本人受益匪浅,在此表示诚挚的敬意和由衷的感谢。
同时要感谢分院领导和老师给我们提供了良好的环境和热心指导。
在软件编程中,还得到某某某等同学的积极帮助,在此一并表示感谢。
本文针对以往不管是旧水闸的控制系统改造,还是新建水闸控制系统的开发,都各成体系,独立开发,需要人量的人力、物力利科研时问的实际现象,考虑到虽然不同水闸的形状不同、规模不同、控制方式也不同,但他们所要达到的控制要求、所要控制的参数却有一定的相通性,进行深一步的研究。
提出将水闸控制的软、硬件系统进行模块化设计,逐步实现标准化。
在其硬件和软件都能满足不同启闭方式、不同孔数、不同控制需求的前提下,在实验室就对这些软、硬件模块进行充分的测试和联合调试,保证所有可能的控制流程都能正确执行。
对丁一个具体的水闸,其自控系统的硬件只是从这些模块中进行选型,而软件就只需对模块化软件的孔数、控制功能等进行具体设器。
主要取得以下成果:
1.总结出常规水闸系统的各项功能的一般要求。
2.从系统硬件通用性的实现和软件通用性的实现两个方而详细的论述水闸控制系统通用性的实现,包括闸门启闭机电器控制单元通用性研究、闸门水位传感器及其选型,对水闸通用控制系统提出了设计实施原则,并进行了功能分析。
开发出一套水闸孔数在16孔内可以通用的水闸通用控制系统。
3.突现在实验室对软、硬件模块进行充分的测试和联合调试。
感谢在百忙中评阅论文和参加答辩的各位领导和老师,由于首次作CAPP系统的开发,错误、漏洞一定不少,望各位老师不吝赐教。
最后感谢母校给与本人深造的机会。
参考文献
[1]王晖,张武。
水闸泵站计算机自动控制系统设计,航空计算技术,2006
[2]蒋元广。
水闸自动化监控系统的设计与研究[D].河海大学,2002
[3]林敏,计算机控制技术及编程应用,北京:
国防工业出版社,2005
[4]陈光人。
计算机监控系统[M].武汉:
武汉水利电力人民出版社,2000
[9]钟秋海。
现代控制理论与应用,北京:
机械工业出版社,1997
[10]刘植桢.计算机控制.北京:
清华大学出版社,1981
[11]陈粤初.单片机及应用系统设计与实践.北京:
北京航空航天大学出版社,1992
[12]何立民,单片机应用系统设计,北京:
北京航空航天大学出版社,1998
[13]童诗白.模拟电子技术基础(第2版)[M].北京:
高等教育出版社,1991
[14]周旭.电子设备防干扰技术[M].北京:
同防工业出版社,2005,1
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 毕业设计 论文 基于 单片机 水闸 通用 控制系统 研究