当前位置:文档之家› 单片机水塔水位控制系统

单片机水塔水位控制系统

单片机水塔水位控制系统目录目录 (1)一、课程设计性质和目的 (2)1、性质 (2)2、目的 (2)二、课程设计的内容及要求 (3)1、内容 (3)2、要求 (3)三、课程设计的进度及安排 (4)四、设计所需设备及材料 (6)1、所需材料及零件 (6)2、所需设备 (7)五、设计思路及原理分析 (8)1、设计思路 (8)2、原理分析 (8)六、流程图及程序编写 (9)1、流程图 (9)2、程序编写 (10)七、调试运行 (11)八、结果及分析 (13)1、结果 (13)2、分析 (13)九、心得体会 (14)十、参考文献 (15)十一、致谢 (16)十二、附录 (17)1、protel原理图 (17)2、proteus仿真图 (18)3、仿真程序 (19)4、补充任务一 (20)5、补充任务二 (22)6、补充任务三 (23)7、实物图 (27)一、课程设计性质和目的1、性质这次课程设计《水塔水位控制》是继这学期我们学习的《单片机应用技术》课程与实验结束后的一门综合性实践课,让学生初步尝试把理论与实践结合,培养了学生的实践能力。

《水塔水位控制》设计需要紧密结合所学的知识,在参阅相关资料中,可以加深、巩固所学知识,同时也拓宽了知识面,有一定的深度和广度,能充分发挥学生的能动性和想象力。

2、目的本次课程设计的目的主要是在学完《单片机应用技术》之后进行一次实操的机会,让我们在进行焊接的过程中增加实践能力,在编译、仿真以及调试中感受这门课的一些重点基础,同时,也让我们能通过这次实践中了解到一些这门课中能够应用于我们现实当中的知识。

让我们能对这门课有更加深入的了解和应用。

1、内容本设计为一个实际应用系统的水塔水位控制部分。

在此水塔水位控制系统中,检测信号来自插入水中的3个铜片,以感知水位变化情况。

工作正常情况下,应保持水位在某一范围内,当水位变化发生故障的时候,及时关断电机,发出光报警信号。

完成单片机硬件的设计,包括:CPU、存储器(外扩ROM、RAM)、输入/输出接口(外扩并行I/O口)以及总线连接部分(电路原理图见附录);详情:①水塔水位下降至下限水位时,启动水泵上水。

②水塔水位上升至上限水位时,关闭水泵。

③水塔水位在上、下限水位之间时,水泵保持原状态。

④供水系统出现故障时,自动报警,蜂鸣器不断在响的同时(选做),发光二极管亮进行报警。

2、要求( 1)在水塔无水或水位低于下限水位时,B、C为断开,B、C两点电位为零(低电平“0” ),需要水泵供水,单片机输出信号,控制电机工作供水。

(2)水位上升到B点,B接通,B点电位变为高电平“1”,C开关仍断开,C 点仍为低电平,应维持现状水泵继续供水。

(3)当水位上升到C点时,C接通。

这时B、C均接通,B、C两点都为高电平,表示水塔水位已满,需水泵停止供水,单片机输出信号,控制电机断电停止供水。

(4)由于供水使水塔水位开始下降,水位在降到B点之前,B点电位为高、C 点电位为低,应维持供水状态不变。

(5)当水位降到下限B点以下,B、C两点电平都为低时,单片机输出控制,回到(1)状态,使电机启动水泵供水。

(7)给出系统硬件电路原理图(用protel和其它电路图软件画出);(8)给出系统程序流程图、程序清单(加注释);(9)以论文格式给出设计报告。

表3.1 课程进度及安排续上表:四、设计所需设备及材料1、所需材料及零件表4.1 零件及材料列表原理图2、所需设备电脑一台(可进行画图,写程序和编译以及仿真等)其他辅助设备若干。

五、设计思路及原理分析1、设计思路由复位电路、时钟电路、水位检试电路、报警电路四个电路来控制单片机进而使单片机控制电机的转动与否,从而组成水塔水位控制系统。

2、原理分析图中虚线表示允许水位变化的上下限。

在正常情况下,保持水位在虚线范围内。

在图中A铜片处于下限水位,C铜片处于上限水位,B铜片在上下限水位之间。

水塔由电动机带动水泵供水,单片机控制电动机转动就可以达到上限时,由于水的导电作用,B、C棒接通+5V。

因此,b、c两端均为1状态,这时应停止电机和水泵的工作,不在给水塔供水。

当水位降到下限时,B、C铜片都不能与A铜片导电,因此b、c两端为0状态。

这时应启动电机,带动水泵工作,给水塔供水。

当水位处在上下限之间时,B铜片与A铜片导通。

而C铜片不能和A铜片导通,因此b端状态为1,c端为0状态。

这时,无论是电机已带动水泵给水塔加水,水位在不断上升;或者是电机没有工作,用水使水位不断下降。

都应保持原有的工作状态。

如下为水塔水位控制原理图:图5.1六、流程图及程序编写1、流程图图6.1:流程图2、程序编写主要程序编写即解释:if(gao==0&&di==0) //电机动{dianji=1;a=dianji;//将电机状态赋给a,led=0;}else if(gao==0&&di==1)//保持原状态{dianji=a;//电机保持前一个状态}else if (gao==1&&di==1)//水满,电机停{dianji=0;a=dianji;led=0;}else if (gao==1&&di==0)//出现错误,报警灯亮,电机停{dianji=0;led=1;}}七、调试运行调试阶段让班上的很多人急得直挠头,让无数人脑里一片空白啊!在我所知道的最常见问题就是电机不动和电机一直动不受程序控制,而我出现的问题就是电机不动,电机一直转不停不受水位控制的原因有:1、问题:接铜片的电阻太大,使得电流太小,铜片无法感应到高低电频的变化,使得无法进行控制电机的转动与否。

还有一个情况是在水在导电性查解决:将两个5.1K的电阻给短路了。

和在水里加盐,增加电解质,加强导电能力。

2、问题:程序出现问题,使得单片机无法实行水位控制的功能或者是电路焊接错误,使得某些零件被短路或者直接断路,使得该控制系统出现故障。

解决:用跟自己设计的电路相同的人的程序进行控制尝试一下可否进行控制,同时检查是否是自己程序问题,若是,只进行修改后再进行尝试。

若是电路焊接错误或者是零件出现问题,则需要自己仔细检查,通过万能表进行逐一检查,看看是那个电路出现错误,若是自己没那种技术则需要请大神了,电机不转的原因:1、问题:哪条电线出现问题,或者连接线未插好,使得接触不良。

解决:将各各连接线检查并插紧2、问题:焊接时没焊好,有虚焊现象,使得电路间接触不良,或者零件的损坏,使得电路不接通,而今天调试的问题出现最多的是光耦的损坏,今天班上级别每个人都因为光耦的问题而无法运行。

解决:通过万能表检查电路是否完好,零件是否有损坏现象。

由于这批光耦很多出现问题,于是老师那里一些去年的光耦过来,所以当出现问题是可以尝试一下换一下光耦,或直接将光耦给短接了。

3、问题:程序问题,或者芯片问题,使得开发板不起控制作用。

解决:检查程序是否出现错误或换一下其他人的开发板。

而我出现的问题是电机一直不动,于是在一些同学的帮助下将可能出现的错误全部检查了一遍,有检查程序到检查电路和零件焊接情况,可是在花费了一个多钟的检查调试却依然检查不出不转的原因,于是在我急的直挠头的情况下,将自己的芯片弄到同学的开发板上去调试,本不报多大希望的我却在这次决定中惊讶的调试成功,于是我在此用其他已完成的同学的电路弄到自己的开发板上进行调试,可是发现本来完成了的作品却依然不转,于是最终的结论是,我的开发板有问题,虽然依然可以写程序,却不知是哪个引脚出现错误,使得我的调试不成功。

于是在本次调试中,可以说,我是幸运的,也是不幸的,幸运的是我最终调试成功。

不幸的是我居然在自己认为最不可能错误的地方出现了错误。

当然,我还是幸运的,比较我已调试完成,有些同学依然为完成。

八、结果及分析1、结果2、分析在焊接过程和调试过程中,出现的错误比较少,除了在调试时,由于开发板的问题而导致出现电机不动的情况下,就只是由于光耦不行而出现的错误了。

九、心得体会通过两周的单片机水塔水位控制设计让我对所学单片机知识做了很好的复习,在解决实际问题时的束手无策使我感到自己所学知识的有限!查阅相关书籍和参考文献是本次设计完成不可缺少的一步,对于水塔水位控制使我在对89C52单片机的结构和用途有了进一步的认识和了解。

当然,本次课程设计所实现的功能只是对单片机一个很简单的应用而已,设计到单片机的内容并不多,在未进行课程设计时,总是感觉这次课程设计太过容易,因为程序是比较简单的,电路也根本不是很复杂,但是,在进行课程设计之后我才知道,原来意见如此简单的事居然也能让自己忙的晕头转向,让自己在无数次进行设计时直挠头。

的确,对于我们来说,用proteus和keil程序进行仿真的确很简单,于是,我们理所当然的以为这次课程设计很容易,可是,梦想总是那么美好,现实却是那么残酷,当我们仿真完本以为将最困难的东西都完成了,剩下的还不是小意思?然而,当我们在调试遇见这种与那种的困难时,我们才发现,原来最难的不是理论而是实践,实践中总由无数个问题,要了焊接错误,要么零件不能用或电阻阻值太大而不通电,要么两个零件之间不配套,反正就是拥有无数凤问题让我们自以为容易的事却最终无法达到起所设计的要求,甚至还有一些人电机直接不动,而且还不知是何原因。

经过这两周的课程设计,让我最深刻的感受就是,纸上谈兵只是实践中能完成自己想要的一小步,只有能在实践中解决出现的问题才是我们现实社会中前进的一大步。

因此解决实际问题需要的不仅仅是理论知识,而且要求较强的理论联系实际的能力,完成本设计要求理清水塔水位控制的全过程。

才会对软件实现带来方便。

画出流程图可以帮助检查程序的错误以及对编程进行指导作用。

画出外部接线图也使我对一些绘图软件更加熟悉。

纵观整个设计过程,反映了我所的动手能力还是有限。

不能完全地将理论与实践相结合!十、参考文献【1】主编:王静霞《单片机应用技术》(C语言版/第三版)电子工业出版社2015.7【2】主编:郑艳《C语言程序设计基础》东北大学出版社 2014.7【3】主编:李文杰《C语言程序设计》清华大学出版社2010.9【4】主编:高玉良《电路与模拟电子技术[M]》高等教育出版社 2011.10十一、致谢经过了两周的课程设计,我深深感受团结的力量。

在这两周的课程设计在,我遇到了很多难题,有画图的,有软件使用的,有焊接的,而对于我来说,最困难的是protel的使用了,虽然我们这个软件教过,可是由于时间过去的有点长,所以使得我忘记怎么操作。

不过最终在同学的帮助下终于重新将protel软件给熟悉了。

在画图时也是在已经完成的同学纠错以及指导下才将自己设计的原理图给画出开。

在焊接时,有一次差点将三极管的引脚给焊错了,还好宿友们提醒了一下,才让我终于在没有出现错误的情况下完美的将电路板焊好。

相关主题