基于单片机的鱼缸控制器设计 毕业设计_第1页
基于单片机的鱼缸控制器设计 毕业设计_第2页
基于单片机的鱼缸控制器设计 毕业设计_第3页
基于单片机的鱼缸控制器设计 毕业设计_第4页
基于单片机的鱼缸控制器设计 毕业设计_第5页
已阅读5页,还剩43页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、洛阳理工学院毕业设计(论文)基于单片机的鱼缸控制器设计摘 要本文是基于单片机的鱼缸控制器的设计,目前市场上有各种各样的观赏类的鱼缸,进入了不同的应用场合,如家庭、宾馆和商场等等,但现有的鱼缸一般需要人为的操作,比如水温的检测、水循环、鱼儿喂食和液位控制等,给人们带来了很大的不便。本论文就是基于这一现状,分析和研究目前大多数的鱼缸的控制设备和现状,提出了一种新型的基于单片机控制的自动化鱼缸控制器,该控制器是以单片机为核心,再结合传感器技术,可以实现多种功能,包括温度控制、水位检测、氧含量控制、灯光照明等,真正做到了自动化控制。整个控制系统分为两部分,一是以单片机at89c52为核心,主要是实现对

2、各种控制参数的设置、显示、处理和存储等。二是输入输出部分,主要是采集系统所要求的各种参数和检测信号,并将核心芯片传输的信号进行执行,设计出硬件电路和软件电路,综合实现鱼缸控制的集中管理。通过对所设计的系统进行较长时间的运行和测试,结果表明所设计的系统可以实现要求,并且其具有系统运行稳定可靠、操作简单、设计灵活、成本低廉和结构简单等特点,可以广泛的应用于家庭类的观赏性鱼缸。关键字:单片机,自动化,鱼缸,控制系统 ithe designer of mcu-based tankabstractthis article is based design automation aquarium, ther

3、e are a variety of ornamental fish tank on the market today, into the different applications, such as home, hotel and shopping and so on, but the existing tanks generally require human operation , such as water temperature detection, water cycle, fish feeding and level control, to bring a lot of inc

4、onvenience. this paper is based on this situation, analysis and research equipment and the current status of control of most of the fish tank, we propose a new tank based automation microprocessor controlled, the system is core, combined with sensor technology, set multiple technologies and control

5、functions in one, including thermostat, automatic feeding, automatic water change, automatic lighting, the perfect automated control. the whole control system is divided into two parts, one is the at89c52 as the core, it is to achieve a variety of control parameters setting, display, processing, and

6、 storage. second, the input and output section, mainly a variety of parameters and detect signal acquisition system requires, and will be executed, hardware design schematics signal transmission core chip and software design, integrated centralized management control tank.based on the design of the

7、system for a long time to run and test results show that the proposed system can achieve requirements and having the system is stable and reliable, simple operation, design flexibility, low cost and simple structure, etc., can be widely used in the family class of ornamental fish tank.key words: mcu

8、,automation,fish tank,control systemii目录前言1第1章 概述21.1 研究的意义21.1.1 自动化鱼缸21.1.2 自动化鱼缸应用情况及意义21.2 现状31.2.1 功能分类31.2.2 单片机的应用31.2.3 控制系统及特点41.3 论文的主要工作41.3.1 设计任务51.3.2 设计方案5第2章 控制方案62.1 自动化鱼缸的控制原理分析62.1.1 应用方向62.1.2 控制原理62.1.3 控制要求72.2 控制参数与性能指标72.2.1 温度72.2.2 水位82.2.3 光和氧气82.3 设备造型82.3.1 i/o点分析82.3.2

9、单片机的选型92.3.3 电源的选择92.3.4 继电器的选择102.4 总体方案10第3章 系统硬件设计133.1 硬件的总体结构133.2 主从机的电路设计143.3 各个模块的硬件设计153.3.1 时钟电路模块的设计163.3.2 键盘与显示模块的设计163.3.3 温度控制模块的设计163.3.4 数据存储电路的设计18第4章 系统软件设计194.1 设计内容及方法194.1.1 设计内容194.1.2 设计方法194.2 主程序的设计214.3 中断服务子程序的设计224.4 时间显示和温度读取程序的设计234.4.1 显示时间的设计234.4.2 温度读取的设计23第5章 系统的

10、抗干扰设计245.1 硬件电路的抗干扰245.1.1 单片机控制系统出错的原因245.1.2 电路的抗干扰设计245.2 软件电路的抗干扰255.2.1 数据采集软件的抗干扰255.2.2 输出通道的抗干扰255.2.3 程序执行过程的抗干扰26结论28谢 辞29参考文献30附录31外文资料翻译41iv洛阳理工学院毕业设计(论文)前言本次课题主要是完成基于单片机的鱼缸控制器的设计,针对于目前市场上的鱼缸情况,其在很大程度上都需要人为的操作,而本次论文的主要工作及目的,便是通过将单片机与传感器技术相结合,将人们从操作上解放出来,实现鱼缸的自动化控制,使得其控制更加稳定、灵活和方便。该设计要求控制

11、器能实现鱼缸的自动调温、自动换水以及自动除垢等功能。随着国民经济的发展,人们的生活水平有了很大的提高,相应的对生活质量有了明显的要求,而休闲水族产业的出现在很大程度上提高了人们对自然和享受的追求,目前水族业的蓬勃发展也恰恰说明了这一点,但目前市场上的鱼缸还有所欠缺,其正处在初步发展的阶段,不能达到大众的需求。本次论文针对于这一现状,提出了将单片机与鱼缸相结合的想法,并应用传感器技术,实现硬件和软件的统一,使其共同协调工作,实现传统鱼缸所不能实现的自动控制。解决人们因为时间原因不能及时养护鱼缸的困难,使得系统可以在设定参数后能够自行的运作,减少人为的操作。本次设计是先针对于目前鱼缸市场的现状,提

12、出新型的控制方案,确定设计的主要目的和要实现的要求,明确设计对象中的各个控制参数,并阐述所应用的技术的原理。在设计过程中,主要将工作分为两部分,一是硬件的选用和设计,主要是针对于设计所需要的各种设备和性能的要求,选择并设计出可靠和稳定的硬件电路;二是软件的设计,此过程主要是程序的设计和编写,在设计好硬件电路的前提下,将编写好的程序写入芯片中,有主控制系统下达命令并使得硬件部分快速准确的执行。此外,由于在硬件和软件设计的过程中会出现各种问题,并且最终的执行结果可能会出现偏差,这些主要是由于在系统工作过程中会出现信号的干扰,导致系统误动作,所以要有一定的抗干扰设计,保证系统在发出信号、接收信号以及

13、执行动作的时候不会出错,能够准确的实现系统所要求的功能。第1章 概述1.1 研究的意义1.1.1 自动化鱼缸自动化鱼缸利用先进的技术,真正做到了节能、环保和方便实用,是养鱼者最好最方便的选择。它改变了原有的很多手工上的操作,比如自己换水、氧气含量的控制、水质不好等问题,而应用自动化鱼缸可以很好的解决这些问题,为鱼儿提供了一个良好的环境,并且大大地提高了养鱼爱好者的乐趣。再也不用人为的进行换水,当外出时也不用担心鱼儿无人照料,并且系统设计的安全措施也能有效的降低异常情况的发生等等。真正做到了自动化的控制,在时间上解放了人类,为养鱼爱好者节省了很多时间,省去了很多不必要的麻烦。全自动鱼缸有各式各样

14、的款式和不同的型号,可根据不同场合选用最合适最实用的鱼缸。自动化鱼缸节能环保,方便控制,解决了一系列的问题,如换水难、水中矿物质缺乏以及耗时照料等。系统控制会自动进行定时,然后根据鱼缸中水量的情况进行加水和排水的,保证鱼缸中水量的适度。并且能自动清除鱼的粪便和水中的杂质,免除了使用清洗过滤棉给鱼儿带来的伤害和对水质的污染。这样一来,不仅使得鱼缸的使用变得更加方便,而且美化了环境,使得养鱼成为赏心悦目的事,人们不用在其上花费太多的时间和劳力,在很大程度上将人们解放出来,真正实现了休闲的自动化控制。1.1.2 自动化鱼缸应用情况及意义随着我国经济的发展,人民的生活水平得到了很大的改善,人们的生活品

15、位相应的也越来越高,与之相关的休闲、养生类等行业有了日渐蓬勃的发展之势。工作和生活在城市里的人或多或少都承受着各方面压力,心里都渴望着回归大自然的宁静与和谐。这样一来,一个生机盎然、苍翠欲滴的鱼草水族箱便有了很大的作用,它不但能美化居室的环境,使得人们近距离的接触到大自然,更能使人得到绿色和充满活力的能量,每天欣赏大自然绿色美景的同时,在心理上得到很大的满足和平静。在这种需求下,水族行业便得到了其发展的优势。鱼缸又被大家称水族箱,它起源于英国,到现在已经有了超过150年的历史。在鱼缸市场发展早期的时候,水族箱的作用多用于展览,主要是在酒店和展览会等大众化的场所的观赏。但如今随着生活水平的提高,

16、而且科技的加入使得水族业得到了快速和良好的发展。水族箱更是逐渐成为了普通家庭的室内装饰。现如今,以水草和金鱼为主的鱼缸被称作“水中微缩的鱼草园林”,是人们在休闲上的普遍选择,但人们由于工作繁忙或者不是专业养护,导致没有很好的结果,最后的结局大多是水草的枯萎和鱼儿的死亡。针对这一现状,市场上也陆续出现了各种自动化控制的鱼缸,可以完成水温控制、保证氧含量、自动排水以及自动照明等。通过对目前大多数水族箱控制设备应用现状的分析和研究,提出了一种集多中功能于一体的自动化鱼缸控制器,该控制系统是以单片机为控制中心,将其与传感器技术相结合,最终可以集多种功能于一体,实现自动调温、自动喂食、自动照明、自动换水

17、和自动除垢等功能。1.2 现状1.2.1 功能分类不同场合的自动化鱼缸要具有不同的功能及特点,总体说来,要具有以下基本的要求:温度控制、光照充足、水位控制、自动喂食、水质监测等,同时还具有节能环保的特点。但是在应用到不同场合时,便需要其有相应的功能,如矿厂、公司、水族馆、观赏池、展览会、酒店、家庭等。工矿场合要有良好的除噪效果,系统反应要更加灵敏,并且要具有净化空气的效果;养殖户一类必须要方便管理和处理突发状况;其它水族馆和观赏池等等一定要在满足基本条件下做到美观、赏心悦目,最好带有音乐及灯光效果。1.2.2 单片机的应用单片机又被大家称为单片微控制器,它不仅仅只是完成某一个逻辑功能,它一个芯

18、片本身便实现了大部分的集成功能。有人形象的称单片机就是一台微型的计算机。它拥有体积小、质量轻和价格低廉等特点,大大的方便了大家的学习、应用和开发。同时,通过学习单片机,我们可以更好的了解计算机的原理与结构。单片机内部和电脑有一些功能相似的模块,比如同样有cpu、内存、并行总线以及和硬盘作用相同的存储器件,但不同的是,单片机的这些器件的性能相对与电脑来说要弱很多,不过价钱同时也低很多,一般不会超过10元,所以可以用它来做一些控制电器的工作。它是一种控制计算机,并且其工作是在线式实时的,所谓的在线式就是现场控制,这就要求其有较强的抗干扰能力和比较低的成本,这也是它和离线式计算机的最大区别。 单片机

19、主要是靠程序来控制硬件实现各种功能的,而且要求其要具有可修改性。其通过不同的程序来实现相应的不同的功能,尤其是针对于一些特殊功能,往往要耗费大量的人力和时间,有些甚至难以实现。一个相对来说比较简单的功能要是用美国50年代开发的74系列或者60年代的cd4000系列可以实现的话,那么它的电路一定是很大的pcb板!但如果要应用美国70年代成功投放市场的新型单片机,便会有很大的差别!因为你通过单片机编写的程序就可以实现其可靠性、高智能以及高效率。1.2.3 控制系统及特点控制系统以单片机at89c52为控制核心,结合传感器技术,集多种控制功能于一体,包括温度控制、灯光照明、水位监测、氧含量控制等。整

20、个系统分为四大部分:第一部分是以单片机at89c52为核心的温度控制部分;第二部分是以单片机和扬声器speaker为主的功能模块;第三部分是以led为主的灯光模块;第四部分是自动/手动换水,自动/手动喂食等功能。该控制系统具有运行稳定可靠、操作简单方便等优点。同时该系统具有结构简单、设计灵活以及成本低廉等特点,并且易于规模化的生产,可广泛用于家庭和宾馆等。1.3 论文的主要工作 1.3.1 设计任务本文主要针对自动化鱼缸的设计,在单片机的基础上,结合传感器技术,设计出自动化控制的集成电路,集多种功能于一体,实现鱼缸的自动化控制。本次设计主要由输入输出和控制部分组成,输入输出部分主要完成系统各种

21、参数的监测、设定以及调试等;控制部分主要完成复位、数据的存储、显示时钟和温度、按键以及各种输入输出的指示等。1.3.2 设计方案(1)总体设计首先对该系统原理进行分析,明白最终运行的结果要求和指示,结合设备造型,查阅资料,确定采用合适的控制系统,提交总体的设计方案。(2)硬件设计分别设计数据采集电路,控制电路,通讯电路等,并使其集成显示、运行,应用cad软件画出电气控制原理图。(3)软件设计主要是对程序的编写,各个子程序模块要做到系统的结合,并应用到单片机的集成显示。(4)通信联调第2章 控制方案2.1 自动化鱼缸的控制原理分析2.1.1 应用方向对于不同的场合,其鱼缸要求也不尽相同。本次设计

22、的自动化鱼缸主要是应用于家庭观赏类鱼缸,在功能和美观上相比于大型高档类鱼缸稍有欠缺,但在应用和操作方面会尽量达到市场要求,在很大长度上减少了人为操作。设计系统可以检测鱼缸中含氧量、温度、水垢等,并做出相应的反应,还有水位探测功能,应用碳棒及时的探测水位并补充水量。另外应用的自动化系统可以时时的显示鱼缸的所有数据,并且带有报警系统,真正的做到了方便快捷。2.1.2 控制原理本次论文设计是基于单片机的自动化控制,将单片机应用到鱼缸系统中,使其达到自动化控制,更为快捷方便的控制。在单片机的基础上扩展一些接口,用来进行数模转换、数字显示、键盘写入和输出控制等,并加入相关的应用软件,组成完整的单片机系统

23、。针对于单片机的性能高、灵活性强的特点,将其应用到鱼缸的控制中,结合传感器和感应器技术等实现其自动化的控制。在实现其自动化控制中,共分为以下几个控制方向:温度、水位、含氧量等,并且还要带有紧急情况的报警系统,以防突发情况的发生。其中各种参数的设定和调试可根据天气和周围环境的变化做出相应的改变,最终的目的是为鱼儿提供一个良好的生活环境。本次系统的结构采用分块的模式,主要由控制部分和输入输出部分协调完成系统功能。其中,控制部分主要完成复位、数据的存储、显示温度和时钟、按键以及各种输入和输出等;而输入输出部分主要完成系统的各种控制参数的设定以及与主系统的通信等。结合上述要点,在实现安全和自动化控制的

24、前提下,争取实现系统方便、灵活、安全的统一。2.1.3 控制要求针对鱼缸的自动化控制,本次设计的系统要做到以下要求:1) 实时监测鱼缸内的环境参数:由于鱼缸内的各种鱼儿和水草等需要一个相对稳定并且良好的生活环境,因此要保证鱼缸内各种参数的稳定,其中包括含氧量、温度、光照、水位等。要尽可能的将各种参数控制或者调整到合适的范围,以保证鱼儿的良好成长。2) 能够实时的显示温度、系统参数的设定以及当前工作状态和系统时间。3) 有报警系统,即当鱼缸内的环境参数超过设定值时,系统能够及时的发出报警信号并做出反应动作,以保证环境参数的稳定。4) 为了适应不同的需求,系统要能在自动和手动的模式下自由切换。2.

25、2 控制参数与性能指标本次设计的控制对象是鱼缸,控制的目的是使其能自动调节,为鱼类提供合适的生活环境。设计的过程中要注意水温、水位、氧含量等参数。要求该系统能自动检测并显示鱼缸内的温度和氧含量等,并做出及时的补充,利用碳棒检测水位的高低,并应用单片机控制水泵进行供水,协调工作达到一个功能完善的自动控制系统。2.2.1 温度鱼类是冷血动物,也就是说它们需要从周边环境吸取热量以供给自身新陈代谢。鱼类在水中不断用鳃过滤水,进行呼吸,这就导致了它们新陈代谢产生的热量会很快消散在水中,体温也和周围水温相似。鱼类大多数喜欢生活在温度为25.528.8摄氏度的水中。温度或热量是影响鱼类新陈代谢的重要因素,如

26、果温度过高,鱼类体内的酶将停止工作;如果温度过低,鱼类体内的酶的结构将会被破坏。此外,如果水温过低,热带鱼将很可能会丧失其意识,鱼类体内的寄生虫和细菌会伺机侵害鱼类的健康。随着水温的升高,氧气的溶解度会降低,而鱼类恰恰是需要氧气来进行生存,这样便可能会导致鱼类因缺氧而死去,所以一定要给鱼类一个合适的水温。综上所述,可根据系统设定的温度范围来控制加热器的启动和停止,以提供一个合适的水温。2.2.2 水位水位检测主要是控制鱼缸内的水量,通过水泵将水箱中的水抽到鱼缸中,并应用碳棒时时检测水位,当检测到水位达到要求时,立即通过单片机控制水泵停止加水。2.2.3 光和氧气鱼缸中不仅仅只有鱼类,同时还有共

27、同生活的植物。而光是植物健康生长的必要因素,在适宜的光照条件下更加有利于植物的生长,同时利于鱼儿的生活。绿色植物是唯一能产生氧气的植物,植物良好的生长可以及时补充鱼缸内的氧气。在自动化系统的配合下可以更加方便的控制鱼缸内的含氧量,为鱼儿创造了一个良好的环境。2.3 设备造型2.3.1 i/o点分析本次设计的自动化鱼缸是基于单片机的自动化应用,参考于其中的控制参数,利用传感器等技术来实现自动化控制,需要加入一个作为输入的3*4的键盘,以此来设置温度和含氧量的参数。其中设置的温度标准和氧气含量等均可以通过键盘来手动输入,随时的根据周围环境的变化来调控参数标准,为鱼儿提供更好的生活环境。而通过传感器

28、作为输出的实时温度和含氧量一并作为输出点来考虑,只需在传感器与单片机的基础上桥接一个led显示模块,就可以方便的显示所需要控制的参数,以此来改变或者重新设置。其中水位的控制是通过碳棒来实现,因此并不需要作为输出点。2.3.2 单片机的选型单片机共可以分为1位、4位、8位、16位、32位机等。其中1位机和4位机成本低、结构简单,但指令不丰富,而且编程复杂,主要运用于简单的控制;相对来说16位机和32位机虽然性能优越、集成密度高,但在价格上比较高,因此得不到广泛的应用;而8位单片机体积较小、指令多而广、价格低廉,而且产品的应用几乎占据了大部分的单片机市场,将会成为系统控制的主流机型。atmel、n

29、xp、stc和sst等公司生产的高性能8位89c52/s51单片机有很多优势,比如其有丰富的系统资源,特别是其内部增加的存储器flash rom,它可以高速的改写,大大的方便了单片机的开发及应用。因为89c52=80c31+373+2732,而且其价格低廉,因此,在市场上有相当大的应用性。经过综合考虑,本次论文选用at89c52型的单片机作为自动化鱼缸的主控制芯片,at89c52是一种低功耗、低电压、高性能的8位单片机。它采用了cmos工艺,并具有高密度非易失性,而且其输出引脚和指令系统都有较强的稳定性。片内的flash rom在系统内允许改编程序。具有功能强、灵活性高且价格合理等特点。它有4

30、0个引脚,32个外部双向输入输出的端口,同时内含2个外中断口,2个全双工串行通信口,3个16位可编程定时计数器,2个读写口,既可以按照常规的方法进行编程,也可以在线编程。另外,它将通用的微处理器和flash存储器巧妙的结合到一起,尤其是可反复擦写的flash存储器的应用,有效的降低了开发成本。所选用的at89c52单片机内部片内资源丰富,有8k字节的闪烁存储器,而本次系统设计主要用单片机c语言编写,这样编译后生成的代码不仅较为简短,而且效率较高,这样有了多余的程序存储空间避免了再外部扩展,有效的简化了系统电路和降低了系统成本。2.3.3 电源的选择基于是家庭的自动化鱼缸,考虑到方便的操作问题,

31、直接选用220伏的常用电源,不仅可以方便鱼缸的接线问题,还可以省去中间升降压的麻烦。而对于单片机的电源选择则要针对于所选用的单片机的类型,结合其各种参数,并考虑到中间所加的各种应用模块。由于本次设计选用的是89c52单片机,所以直接选用5伏的直流电源,作为单片机的电源供给。2.3.4 继电器的选择继电器是一种当输入量的变化达到规定要求时,在电气输出电路中使被控量发生预定的阶跃变化的一种电器。其原理是通过改变输入到线圈上的电压来改变电磁场,进而控制电路的开和关。按照工作原理和结构特征,继电器共分为以下几类:电磁继电器、固态继电器、时间继电器、舌簧继电器、温度继电器等。继电器的选择有以下注意事项:

32、使用环境、输入信号、输入参量、负载情况等。针对于鱼缸的水中环境和使用现状,以及鱼缸的电压、电流、输入输出等情况,选用最常用的光电隔离器来作为安全保护装置,其具有体积小、使用寿命长、工作温度范围宽、抗干扰性能强无触点且输入与输出在电气上完全隔离等特点。综上所述,本次系统选用型号为srs-05vdc-sl的继电器,它的触点负载为中功率,触电形式为常开型。2.4 总体方案本次设计主要是以单片机89c52为核心,在此基础上应用其它的模块,如温度显示模块、自动供水模块、自动报警模块和按键输入模块等。应用传感器技术和感应系统将其系统完美的结合到一起,能人性化的调试和随时随境的改变参数的设定,实现现代化鱼缸

33、的自动控制。以下是总体硬件结构方案图: 系统硬件结构框图其中主控制部分包括:中心控制模块:主要是以单片机为控制核心,其功能是用来将a/d转换器送来的数字信号进行处理,从而向各种设备发出各种控制信号。时钟控制电路模块:同步控制系统的相对时钟和绝对时钟,定时检测各种环境参数和各项控制器的开或关。人机交互按键控制模块:主要是用来实现按键的写入功能以及设置后相应的led的显示,以便达到良好的人机交互功能。1)通过led数码管实时显示参数值;2)通过键盘写入各种参数;3)发生异常时能通过led管和蜂鸣器报警。数据存储/复位模块:能够存储各种参数,实时监测并存储系统的工作过程,当遇到异常情况时能够复位重启

34、。数码显示模块:能够实时的显示系统的工作状态和时间、当前温度以及控制过程中的参数变化。其中输入输出控制部分包括:各种信号的输入模块:能够将鱼缸中检测到的各种信号准确输入,如温度的监测、水位高低的监测以及含氧量的监测等。这个模块主要是由传感器、放大器、多路开关以及a/d转换器等组成,完成数据的采集。其中传感器的作用是感应鱼缸内各种环境参数的的变化,然后将其转化为电信号;放大器的作用是将系统接收到的一些微小的信号放大,以便于接收系统可以很快的接收并利于下面的执行;多路开关的作用是将接收到的电信号传给a/d转换器,这样便可以让单片机接收到可以识别的数字信号。各种子系统的输出控制模块:主要由各种输出控

35、制的设备组成。根据系统检测到的各种参数信号,控制相应的子系统进行工作,各个子系统既不互相干扰又能协调工作,同时可以显示各种输出。作为核心的单片机将设定值和采集值进行比较,发出控制信号并传输给相应的设备,实现对不合适参数的调节。第3章 系统硬件设计本章内容是介绍自动化鱼缸控制的硬件结构和设计,主要包括以下设计:主从机电路模块、时钟电路模块、键盘控制与显示模块、温度控制模块、数据存储电路模块等。下文中详细的阐述了各电路设计中芯片的选型要求,并根据其内部组成、性能参数和功能特点等设计出了具体的硬件电路。在综合各个电路的元件性能的前提下,保证所设计的各个电路之间可以协调工作,在主系统的控制和调试下可以

36、达到方便快捷的效果,实现硬件部分的高效执行性和系统的自动化控制。3.1 硬件的总体结构硬件设计和软件设计是本次论文的两个重要方面,本章主要写该系统硬件电路的设计。在设计过程中,主要遵循以下几点原则:(1)硬件电路的设计和软件电路的设计是相辅相成的,软件电路功能的实现要靠硬件电路来执行,而硬件电路的实现要靠软件电路来下命令。但是用软件实现硬件的功能还要占用cpu的时间,所用的时间要更长一点。但在另一方面,用软件电路实现功能的话,不仅可以使得硬件电路大大简化,这样一来降低了成本,同时避免异常情况的发生,可以提高硬件电路的可靠性。所以在本次系统的设计过程中,在满足可行性和系统要求的前提下,尽可能的用

37、软件来实现硬件功能。(2)保证可靠性和抗干扰性。根据可靠性的设计理论,在设计系统时所用的芯片越少,那么系统出现故障的机会越少,同时电路板上的地址数据总线受到的干扰就越少,所以单片机控制系统的设计是在满足功能要求和可靠的情况下,尽可能的使用少量的芯片和线路,大幅度改善组件数、电路板空间、抗干扰性、功耗以及系统成本。(3)确保灵活的功能升级和系统扩展。由于一开始并不能完全考虑到系统的各个方面,在后续的设计中需要不断的完善系统和补充功能,同时在设计的过程中应考虑到在以后的应用,也就是说应该在系统设计不需要做很大变动的情况下,尽可能的修改少量的软件和硬件,甚至在不修改的情况下就能实现系统的要求。其中,

38、功能扩展对系统的影响也很大。按照系统的要求和以上几点硬件设计原则,本次系统设计以单片机at89c52为核心,再结合传感器技术,由温度控制、数码显示、信号的输入和输出等单元电路组成。下面就主要的电路设计做详细的介绍。3.2 主从机的电路设计为了实现鱼缸的自动化控制,并达到方便快捷的目的,在设计过程中尽可能的将各个控制部分的放置最大效率化与资源化,即将系统的主控制部分和输入输出控制部分的功能板分别放在鱼缸的不同位置,这样可以进一步提高系统控制的稳定性。而设计的主控制其作为主机,设计的输入输出控制器作为从机,并将其分别应用到所设计的电路中,即主控制电路和输入输出控制电路。在主控制电路中用at89c5

39、2作为主控制芯片,它主要是实现控制中心、时钟控制电路模块、数据存储/复位模块、数码显示模块以及人机按键控制模块的相互协调运行,保证系统的完善;而输入输出控制电路主要工作是能够准确、及时的输出鱼缸中检测到的各种环境参数和各路控制信号。综合上述情况,在两个电路能够正常工作的前提下,再将两者结合到一起,实现系统的自动化控制。在这三部分电路的设计中,要细节考虑其之间的工作模式和特点,综合其不同的性能和工作状态,减少不必要的消耗和损失,并能够在此基础上更加的方便灵活,实现最终系统所要求的自动化控制。以下是作为主从机电路的电路结构图:上述系统的硬件结构图由两部分组成,即主控制部分和输入输出控制部分,并在这

40、两者之间可以进行通信,用来实现两部分的信息传递。其中主控制部分主要由以下电路组成:时钟电路,主要功能是实时的显示系统的日期统时间,选用单片机主芯片来实现,更加方便简捷的显示时间;数据存储/复位电路,用来存储系统所检测到的各种环境参数和信息,并能够在发生异常的情况下及时动作复位,防止发生不必要的损失,;指示灯的接口电路,主要是实时显示系统的各种参数以及调试过程的信号的数字化,有8路输出指示灯与住cpu的p2.0p2.7连接组成;与led显示芯片和键盘的接口电路,完成键盘输入和显示的连接。输入输出部分主要由输出指示、温度检测、水位高低检测以及其他参数的检测组成,其中温度检测选用芯片ds18b20的

41、dq端与p0.4连接组成电路,而水位高低的检测则用碳棒来实现。3.3 各个模块的硬件设计3.3.1 时钟电路模块的设计 本次硬件设计中时钟电路模块所选用的核心芯片at89c52,用来完成系统中实时时钟的显示和设置。 其中,实时的时钟/日历电路用来提供详细的时间和日期,人性化的的选择12或者24小时格式,并且每个月的天数可以自动调整,减少了手动的麻烦。该时钟电路主要完成三个功能,即时间的显示、相对时钟以及时间的处理。其中相对时钟主要是控制鱼缸的各种操作,实现温度控制和氧气含量的时间调整。时间的处理主要是设置闹钟、事件的提醒以及作为备忘录使用。3.3.2 键盘与显示模块的设计该模块的设计是直接选用

42、键盘输入通过单片机at89c52来进行写入,并采用led来进行显示结果与过程,该模块灵敏度高,性能可靠,而且耗费价格低廉,能够准确的达到系统的要求,实现输入和显示的综合统一。此模块的核心是要设计的键盘与显示的电路,主要实现复位、led显示以及键盘输入的功能,这些功能分别由复位电路、8位的led显示电路、键盘的输入控制电路实现,可以更好的实现各个参数的设定、控制和调试。3.3.3 温度控制模块的设计在设计温度控制模块过程中,选用dallas公司生产的芯片ds18b20作为核心芯片,它是一种一线式数字温度传感器,主要由以下四部分组成:温度传感器、配置寄存器、64位rom以及非挥发的温度报警触发器。

43、其温度的测量范围是-55+125摄氏度,有3个引脚t0-92,是小体积的的封装形式,其温度的测量精确程度可以达到0.0625摄氏度,并且有9-12位的a/d转换精度,还可以将测量到的温度扩展为16位数字量,并通过串行的方式输出。其工作电源有两种方式,一是可以在远端直接引入,二是可以通过寄生电源产生。以下是ds18b20的内部结构图:其中,vdd是外接的供电电源,gnd是接地,dq是数字信号的输入/输出端。将单片机的p04口与芯片ds18b20的引脚2相连,可组成温度检测电路。它用外部5 伏的电源供电,并连接4.7k欧姆的上拉电阻,这样可以保证在有效的时钟周期内提供足够的电流。电路图如下所示:3

44、.3.4 数据存储电路的设计在此电路设计时采用atmel/爱特梅尔公司生产的芯片at24c02n-su27 d作为存储器使用,其导电类型为双极型,工作温度为-4085摄氏度,价格低廉,但性能较高,灵敏度强。此芯片在该电路中主要实现对系统设定的参数和工作过程中数据变化的存储,将其与单片机相连组成完善的电路,可以写入和存储单片机的程序与指令。16 第4章 系统软件设计4.1 设计内容及方法4.1.1 设计内容软件设计是本次论文的中自动化鱼缸控制的主要内容和重点,主要是根据设计系统的功能要求,在已选好的系统硬件的基础上进行系统的软件设计。为了达到系统功能的明确和完善,操作简便以及可靠性强的特点,一般

45、采用结构化的程序设计方法。该程序设计方法共分为以下三个方面:从上到下的设计、模块化编程和结构化编程。此外,还需要加强软件的抗干扰性,实现其程序的可靠性。单片机系统的程序设计是采用c语言来进行开发的, 整个单片机系统的程序共分为三模块,即主程序模块、温度检测模块和温度显示模块。每个模块都有一定的功能和作用,其中一些还包括有一些子程序,它们既相互独立有相互联系,低级模块可以被高级模块调用,共同实现协调统一。4.1.2 设计方法由于本次设计是基于自动化鱼缸的设计,并采用了模块化的设计共同实现控制。模块化设计就是把软件按照系统要求和要实现的各种功能将其划分为几个较简单的和相对独立但又相关的模块。其中,

46、在实现模块化的设计过程中,一定要注意分解、信息隐藏和模块的独立性等方面。分解是我们在日常生活中遇到复杂问题时常用的解决方法,对问题求解的大量实验表明,将一个复杂的问题分解为几个较小较简单的问题,能够明显的降低解决问题的难度和复杂度。而针对于此次软件系统的设计,各个组成模块是相互联系的,要避免将系统划分为很多模块,这样一来各个模块相互之间的联系也就越少,可以减少出错的连锁反应。并且可以使得模块的接口工作量大大减少,但每个软件都有一个最小的成本划分区,只要在这个范围内将系统划分为合适的模块数,就可以使工作量和设计难度保持最小。信息隐藏是指将对不需要了解某些数据与过程的模块隐藏起来。因为在设计程序和

47、系统时,会需要一些在特定情况下才会用到的信息,而这些信息的出现可能会影响到模块间的信息交换,所以,最好的办法就是将其隐藏起来。当发生特定情况才允许这些信息交流。这一思想的目的是为了提高模块的独立性,它避免了在用不到隐藏信息时将其扩展到其它模块的风险,这样一来,各个模块的功能比较单一,不容易发生与其它模块共享信息的情况。应用这一思想,使得系统易于测试、联调和维护。模块独立性是将系统分为几个模块时要遵守的必要准则,要使得模块划分的合理,就必须坚持模块的独立性。独立性主要是指模块本身的结构和块间的联系。前者指模块内部的组成部分,其相互协调工作,实现功能;后者指多个模块之间的相互联系,它们既相互独立又

48、相互联系。只有保证模块的独立性很高,才能使得块内组成部分的联系越强,同时摸块间的联系越弱,避免异常情况的传染。在开发软件的同时,还要注意软件开发中文档的建立。因为我们在开发软件的过程中,会使用大量的信息,同时还会产生很多信息,这时最好建立一个软件文档,可以提高软件过程中的能见度,记录下开发的过程。软件文档的编制,使得开发人员对各个阶段的工作都进行全面的思考,以便减少返工的机会,还可以在开发早期发现错误的地方,可以很快解决这些问题,避免后续的麻烦,并且便于系统软件的升级、使用和维护。本次系统是以上述的软件设计思想为指导,采用kei1 c51集成环境开发软件部分。kei1 c51是美国kei1 s

49、oftware公司出品的51系列兼容单片机,它是由c语言软件开发系统,与汇编相比,c语言的功能更加完善,有很强的可维护性,结构的可靠性更高,并且易于读写。kei1 c51软件提供全windows界面,在编程时可以调用丰富的库函数,并且可以进行集成开发和调试。同时,经编译后生成的汇编代码更加紧凑,并且容易理解,使得kei1 c51生成目标代码的效率大大提高。本次论文所设计的系统的软件部分主要包括:主程序、初始化子程序、中断服务程序、温度检测程序、温度显示程序、工作状态控制程序。4.2 主程序的设计系统的软件主程序主要是检测鱼缸内的各种环境参数,实现环境参数的设定和改变。在设计过程中仿照硬件电路的

50、设计办法,将系统要实现的功能合理的划分为几个小系统,通过编写其对应的子程序,使得几个子程序可以相互联系,从而实现系统所要求的温度、含氧量、水位等设计。应用此模块化的设计不仅可以使设计的思路更加清晰,而且更加方便了程序的编写和调试。以下是系统主程序的工作流程图:4.3 中断服务子程序的设计对于主程序中的各种信息和数据的处理主要由两种途径,一是通过在显示间隙中完成,二是通过中断服务子程序来完成。t0的中断服务子程序主要完成定时数据的传送、按键处理和按键的消抖等。而计数器t1是用来产生波特率,不会中断。以下是定时器的中断服务子程序流程图:本次系统利用定时器/计数器,它是在工作方式1下,进行20ms的

51、定时,接着通过所设计的t0中断服务子程序来实现时和分的计时。该程序是提供了一个时间基准,同时给采样数据提供基本的计时信息。由于该系统晶振的设置为110.592m,同时定时器t0设置为20ms,所以装入的th0和tl0的初值分别为b8h和00h。以下是当进行20ms的计数初值时的计算:(1)机器周期tf=12*(1/11.0592)us(2)定时器的计数值t0/tp=20000*(11.0592/12)=18432(3)装入定时器的初值为x=216-t*f/12=65536-18432=47104(4)将x表示为二进制形式为:x=1011100000000000b,而且定时器的工作方式选择为1,

52、所以(th0)=b8h,(tl0)=00h。在此中断服务程序中,只要循环5此就可以完成100ms的定时控制。4.4 时间显示和温度读取程序的设计4.4.1 显示时间的设计本次系统为了方便控制和应用简捷,针对于时间的显示用主芯片at89c52来实现,通过汇编语言完成程序的编写,经芯片读取并由led显示。详细程序见附录。4.4.2 温度读取的设计在利用芯片ds18b20读取温度时,首先要取得到芯片ds18b20检测到的温度值,该温度值是以bc码的形式来显示,然后再以十进制的形式输出,而且输出的温度值会是实际检测到的温度值的十倍,并且会含有一位不显示的小数。详细程序见附录。第5章 系统的抗干扰设计针

53、对于工业现场的应用中,有很多的干扰问题,它们是以一种或者多种的方式存在并作用于单片机的控制系统,其对于控制能系统产生比较大的影响,使得系统所要实现的功能不能达到要求,最后还可能会导致严重的后果,所以必须要加入一些必要的抗干扰设计,尤其是对于自动化鱼缸中鱼类和水草植物的生活环境的监控,要求其必须要具备良好的抗干扰能力,才能实现最终的理想的控制。就单片机的控制系统来说,其抗干扰的设计主要是针对于硬件和软件两部分。硬件的抗干扰主要是应用一些物理的器件来较少或者消除干扰,能很大程度上将大部分的干扰消除,其优点是效率较高,可以给系统创造一个良好工作环境,但同时会造成成本的增加和硬件体积的增大。而软件的抗

54、干扰主要是加入一些控制算法来达到目的,它是通过编写或者改变程序来实现,在一定程度上会占用cpu,这样一来会影响到系统的工作效率和稳定性。所以,一般选择将硬件的抗干扰和软件的抗干扰相互结合,使其协调工作,达到最终抗干扰能力强并且硬件少的效果。5.1 硬件电路的抗干扰 5.1.1 单片机控制系统出错的原因一般来说,造成单片机控制系统受到干扰的原因来自两个方面,一是电路的设计,二是生产本身的制造问题。总的来说,主要由以下几个外在原因:元件本身的质量较低;单片机本身的抗干扰能力较低;工作环境的影响较大;期间的功率不足;没有屏蔽保护的功能等。5.1.2 电路的抗干扰设计针对于实际电路的抗干扰,主要有以下

55、三个注意方面:(1)接地。该设计主要是实现保护接地,即连接大地,可以有效的提高系统的抗干扰能力。(2)滤波。顾名思义指的是将采集到的各种信号加以分类,通过其不同的频率特性控制其方向。一般用的滤波器有高通滤波器、低通滤波器和带通滤波器。比如将低通滤波器连接到交流电源上,便可以让系统所需要的交流电得以通过,阻止其它的高频干扰信号进入并将其导入大地。(3)制作电路板时的布线和工艺。将电路板合理的划分区域,使其不会再布线上产生干扰;时钟要尽可能的远离i/o线,尽量与之垂直;电源线和接地线要较粗,过孔尽可能的少等等。5.2 软件电路的抗干扰 软件电路所产生的干扰主要是由于干扰信号侵入了系统的输入通道,并

56、且与所需的信号相叠加,造成信号的弱化甚至错误的动作,最终导致系统无法正常工作。而针对于软件电路上的抗干扰设计不仅能够在可靠性上使得系统有很大的提升,而且使得硬件的成本有效的降低,使得系统具有自我诊断并恢复的能力。在实际的操作中,软件电路的抗干扰设计主要由以下几个方面:减少或者消除输入信号的噪音、改正输入过程中的干扰或者错误的信号和将运行混乱的程序重新进入正轨等。5.2.1 数据采集软件的抗干扰在单片机控制系统中,往往在数据采集的过程中会发生误差,其主要原因是由于干扰信号进入了输入通道中,使得信号发生了较大的偏差,以至于会造成控制的异常。针对于以上情况,在此抗干扰的设计中,主要是采用滤波算法,避

57、免了硬件设备的添加,而且其可靠性和灵活性很高。本次采用常用的程序判断滤波法,可以有效的减少程序编写后运行出现的干扰。5.2.2 输出通道的抗干扰输出通道中所产生的干扰是由于在外围器件工作时时常产生的电磁脉冲,该电磁脉冲会影响输出信号的状态。比如,由于系统产生的静电干扰会使得单片机控制系统输出的低电平转变为高电平,造成错误的控制。对于此类干扰,可通过重复的写控制命令的方式来解决。上文中提到该类干扰一般是静态的脉冲干扰,比如当单片机输出一个正确的信号时,由于干扰信号的原因会使得接收设备得到一个错误的信号,这样一来会造成设备的错误动作,为了避免这种情况,有效的方法便是让单片机多次重复的输出一个正确的信号,并要保证其输

温馨提示

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

评论

0/150

提交评论