家庭水族箱控制系统的研究与开发本科生毕业论文

上传人:痛*** 文档编号:44254249 上传时间:2021-12-05 格式:DOC 页数:39 大小:583.52KB
返回 下载 相关 举报
家庭水族箱控制系统的研究与开发本科生毕业论文_第1页
第1页 / 共39页
家庭水族箱控制系统的研究与开发本科生毕业论文_第2页
第2页 / 共39页
家庭水族箱控制系统的研究与开发本科生毕业论文_第3页
第3页 / 共39页
点击查看更多>>
资源描述
本科生毕业论文本科生毕业论文家庭水族箱控制系统的研究与开发Family aquatic animals box control system research and design学生姓名所在专业电子信息工程专业所在班级电子 1073申请学位工学学士指导教师职称副教授答辩时间2011.06.04目 录目目 录录摘摘 要要.IABSTRACT.II家庭水族箱控制系统的研究与开发家庭水族箱控制系统的研究与开发.1第一章第一章 绪论绪论.11.11.1 研究的目的.11.2 国内外研究发展状况、水平.11.3 研究的主要内容、预期目标.2第二章第二章 系统的硬件的研究与开发系统的硬件的研究与开发.22.12.1 主控制芯片电路设计.22.22.2 系统电源模块设计 .52.3 水温探测/水位测量模块.62.3.1 DS18B20 芯片.62.3.2 水温探测电路.82.3.3 浮子液位开关电路.92.4 按键与液晶显示模块.102.5 继电器控制电动机模块.122.5.1 继电器的原理.132.5.2 继电器的选用.132.6 指示灯电路与蜂鸣报警模块.16第三章第三章 系统软件的研究与开发系统软件的研究与开发.173.1 软件设计方法.173.2 主程序模块.173.3 1602 液晶显示处理程序.223.4 延时 DELAY程序模块.253.5 DS18B20 温度采集模块.25第四章第四章 结论结论.28鸣鸣 谢谢.28值此论文完成之际,谨向本人的导师王老师致以最诚挚的敬意和由衷的感谢。从课题的选定、资料的准备、研究直到论文的修改等各个环节都得到了王老师的细心指导。王导师渊博的学识、严谨认真的治学态度、实事求是的工作作风、朴实真诚的为人态度,使本人受益匪浅。.28参考文献参考文献.29附录一附录一 系统设计原理图系统设计原理图.30摘 要摘 要现在越来越多的家庭和公共场所都摆上了各种水族箱。但作为大部分小型的家庭水族箱设备,都需要人为的手工操作,这给饲主带来很大的不便。人们有时会因繁忙的工作,忽视了对观赏鱼的照顾。本论文设计了基于 89 系列单片机的家庭水族箱控制系统。整套系统以 STC89 单片机为核心芯片,结合了传感器探测技术、继电器原理、C 语言编程等技术。设计能够根据箱中的水温、水位等数据,经单片机处理后给出及时的控制指令,从而调节水族箱的环境参数,达到以维持箱中鱼生存环境稳定的目的。整个系统设计分为硬件和系统软件两大部分。硬件部分有 6 个模块, 分别是主控制芯片模块设计、系统电源模块设计、水温探测/水位测量模块、按键与液晶显示模块、继电器控制电动机模块、蜂鸣报警模块。软件部分进行了模块化设计,各个模块之间相互独立。通过调试期间的运行,实践证明本设计的水族箱控制系统有操作简明、运行可靠、硬件设计灵活、成本低廉的特点。关键词:水族箱;单片机;智能化;控制系统;传感器技术ABSTRACTABSTRACTNow more and more families and public places are placed all kinds of aquatic animals box for leisure or decoration. But most small family aquatic animals box equipments, for example water temperature sensor, heating pipes, liquid level switch, all need people manual operation, which give owners bring a lot of trouble. Because of the busy work, sometimes people ignored the fishs care, which will cause damage to them.Through the analysis and research of the above shortcomings, this paper designed family aquatic animals box control system that based on 89 series microcontroller. With STC89 microcontroller as core chip, a complete system has combined sensor detection technology, relays principle, technology such as the C programming language.According to temperature and water level , single chip computer processing data such as after a timely control instructions can give, control water pump, heater equipment, Which adjust the aquatic animals box to maintain environmental parameters for achieveing the purpose of fish survival environment steady.The whole system design is divided into two parts that is hardwareand software .Hardware circuit has six modules. they are main control chip module design, system power supply module design, water temperature detection/water level measurement modules, buttons and LCD module, relay control motor module, buzz alarm module. The software is modular design. The independent modules are divided into four big C language program. They are main program, 1602 LCD processing procedures, delay the calling program, temperature sensor DS18B20 program.Through the operation during commissioning, it shows that this design aquatic animals box control system has operation simple, reliable operation, hardware design flexibility, low cost characteristic.KEYWORDS: Aquatic animals box; SCM; Intelligent; Control system; Sensor technologyxxxx 届本科生毕业论文家庭水族箱控制系统的研究与开发家庭水族箱控制系统的研究与开发电子信息工程,指导教师:第一章 绪论1.11.1 研究的目的随着人们生活水平的不断提高,各中观赏娱乐电器丛出不穷,其中水族箱就开始进驻不少家庭,五颜六色,美轮美奂的观赏鱼让人醉心不已。它不但可以给人带来无比宽松舒适的美感,更能调节居室环境,使人寻回那久违的绿色、鲜活的鱼类,让大自然的美景在自己的身边长存1。但人们不可能每时每刻的调控着水族箱中的合适的温度和氧量,这也就蕴育而生了水族箱控制系统。通过研究她,使她能够自动的调节水族箱里的水温和水里的含氧量,从而营造出适合观赏鱼健康生存的水环境。针对水族箱的控制问题,也陆续出现了各种控制水族箱水温、水位、充氧和排水的设备,如过滤器、加热器、加氧泵等改善水环境的设备。但是由于产品繁多,功能不同意,而且大多是非智能化的,单一的恒温控制、充氧或是排水的系统。如果组成一套完整的结合一体的控制系统,往往需要购置多个设备分别安装,投入的费用较大,也存在一定的资源浪费。这样不仅增加了成本,重复投资,影响美观,而且功能使用不灵活、不方便,整体性能也无法得到提升3。因此,本设计以家庭中水族箱的日常养护为背景,以水族箱中的水位、水温、溶氧量等的控制为研究对象,对日常养护过程中的综合自动化及其应用技术展开研究,这对利用高新技术改造原有的水族箱及传统规模化水产养殖产业的自动化发展具有较大的实际意义和研究价值。1.2 国内外研究发展状况、水平现代的水族箱饲养始于 1851 年的英国万国工业博览会上。原始的水族箱只是有框架的水族箱,很简陋,水族箱的加热也只是底部为金属板的简单加热。现代电力技术使水族箱系统科技不断地发展,现在相关的人工照明、通风、过滤、水温加热等一整套控制系统的发明都成为可以相互协调的一个系统。水族生物应可长期存活,并仿照天然栖息环境。我国水族箱控制系统的发展起步比较晚。二十世纪八、九十年代中国的改革开放,随着人们的生活水平的提高,观赏鱼水族箱开始进入人们的生活中,近年来其快速发展的状况使其成为一股新兴的经济力量受到经济界及业内人士的关注。如今是国际水族产品看中国,许多国外大的采购公司都盯准中国这个市场,把长远的目标放在中国2。而在刚开始的饲养过程中,水族设备市场上的鱼缸控制系统都是功能比较简单的设备。如水族箱温度的控制,人们采用的是加热棒进行加热控制,由于加热棒本身采用双金属片温控以及手工控制加热棒的启停,造成温度控制精度较差,无法进行准确的供热,对于水温的恒温控制造成了难度。再如水族箱的供氧问题,由于水溶解氧的特性决定,xxxx 届本科生毕业论文水中氧气的浓度是有限度的,达到水中氧气一定的程度时,或者鱼缸内鱼量密度不高时,即使是在夏天时节也没有必要一直充氧可以采用间隔充氧和换水,否则再进行充氧都是多余的,也必然浪费大量的电力资源。电路简单,能分担人们不必要的手工的水族箱控制电路系统也随之而生。水族箱中各种参数的控制,也产生了相关的控制设备。如间歇充氧定时器,有自动水温控制器、自动喂食器、灯火自动控制器等这些设备各自独立运行,控制相应的箱内参数,所以造成独立的控制设备配置数量繁多,不但购买独立的设备耗费资金多,而且不利于整个系统的操作。因此多功能组合的水族箱电子控制系统的设计是很有必要的。1.3 研究的主要内容、预期目标本设计拟用 STC 公司生产的 STC89C52 单片机为核心,运用温度传感器技术、水位传感器技术,设计一款多功能的水族箱控制系统本设计的预期目标是研制一套单片机系统,并使这套单片机系统可实现对水族箱进行智能控制和管理,能够完成水温、水位等环境参数的自动测量和智能控制。本研究设计的控制系统主要特点是:(1)采用单片机控制设计,实现水族箱自动测温、自动测水位、自动加热、自动充氧等功能。 (2)人机操作界面采用数码、LED 指示显示;操作简单、方便,极具人性化特点。根据系统要求和要完成的功能特点,本课题研究的主要内容有:(1)硬件设计:由于现在市场上各种芯片种类繁多,而且不断在推陈出新,因此必须按照系统要求,选择既合适又运行可靠的芯片和元器件,从而设计出最合理的硬件电路,并用 PROTEL 电路设计软件画出正确的电路图,然后通过随时对电路图的修改,无误后,在制成印刷电路板。 (2)软件设计:利用模块化的程序设计方法,把系统应用程序按照整体功能划分为若干相对独立的程序模块,绘出程序流程图,各个模块单独进行设计,利用单片机 C 语言编程。第二章第二章 系统的硬件的研究与开发系统的硬件的研究与开发本章详细介绍多功能水族箱控制系统的硬件结构和设计。主要包括主控制芯片模块设计、系统电源模块设计、水温探测/水位测量模块、按键与液晶显示模块、继电器控制电动机模块。详细阐明各电路设计中芯片的选型,芯片的性能参数和功能特点,并设计出具体的硬件电路。本系统整体电路图详见附录一,下面就各部分主要电路作介绍。2.12.1 主控制芯片电路设计单片微型计算机简称单片机,是典型的嵌入式微控制器(Micro-Controller Unit) ,常用英文字母的缩写 MCU 表示单片机,它最早是被用在工业控制领域。单片机由芯片内仅有 CPU 的专用处理xxxx 届本科生毕业论文器发展而来。最早的设计理念是通过将大量外围设备和 CPU 集成在一个芯片中,使计算机系统更小,更容易集成进复杂的而对体积要求严格的控制设备当中。INTEL 的 Z80 是最早按照这种思想设计出的处理器,从此以后,单片机和专用处理器的发展便分道扬镳。6 早期的单片机都是 8 位或 4 位的。其中最成功的是 INTEL 的 8031,因为简单可靠而性能不错获得了很大的好评。此后在 8031 上发展出了 MCS51 系列单片机系统。基于这一系统的单片机系统直到现在还在广泛使用。单片机有着体积小,功耗低,功能强,性能价格比高,易于推广应用等显著特点,在自动化装置,智能化仪器仪表,过程控制和家用电器等许多领域获得了广泛的应用。从国内开发应用单片机的情况来看,自 80 年代初起步以来,以 INTEL 公司的 MCS-48 系列单片机为主导机种,取得了一定的应用成果。80 年代中期以来,随着性能更强,速度更快的 MCS-51系列的加入,单片机得到而来更为迅速的推广和广泛的应用。目前,在我国目前和今后一段时间内,8 位的 MCS-51 单片机仍然是实际应用中的主导品种4。16 位和 32 位单片机性能优越,但是他们的价格比较贵,从而不能广泛的应用。1 位和 4 位单片机结构简单,成本也低廉,但是编程指令集不丰富,程序也复杂。而 8 位的单片机指令丰富,性价比很高,是工业检测控制的主流机型。因此本系统选择由宏晶科技公司生产的 STC89C52 单片机作为系统的主芯片。STC89C52 是一种带 8K 字节闪烁可编程可檫除只读存储器(FPEROM-Flash Programable and Erasable Read Only Memory )的低电压,高性能 COMOS8 的微处理器,俗称单片机。该器件采用ATMEL 搞密度非易失存储器制造技术制造,与工业标准的 MCS-51 指令集和输出管脚相兼容。AT89C52 有 40 个引脚,32 个外部双向输入/输出(I/O)端口,同时内含 2 个外中断口,3 个 16位可编程定时计数器,2 个全双工串行通信口,2 个读写线,AT89C52 可以按照常规方法进行编程,也可以在线编程。其将通用的微处理器和 Flash 存储器结合在一起,特别是可反复擦写的 Flash 存储器可有效地降低开发成本5。单片机总控制电路如图 2.1 所示。xxxx 届本科生毕业论文图 2.1 单片机总控制电路STC89C52 具体介绍如下: 主电源引脚(2 根)VCC(Pin40):电源输入,接5V 电源GND(Pin20):接地线外接晶振引脚(2 根)XTAL1(Pin19):片内振荡电路的输入端XTAL2(Pin20):片内振荡电路的输出端控制引脚(4 根)RST/VPP(Pin9):复位引脚,引脚上出现 2 个机器周期的高电平将使单片机复位。ALE/PROG(Pin30):地址锁存允许信号PSEN(Pin29):外部存储器读选通信号EA/VPP(Pin31):程序存储器的内外部选通,接低电平从外部程序存储器读指令,如果接高电平则从内部程序存储器读指令6。可编程输入/输出引脚(32 根)STC89C52 单片机有 4 组 8 位的可编程 I/O 口,分别位 P0、P1、P2、P3 口,每个口有 8 位(8根引脚) ,共 32 根。PO 口(Pin39Pin32):8 位双向 I/O 口线,名称为 P0.0P0.7。它与液晶显示屏 1602 的数据输入口 DB1DB7 相接。P1 口(Pin1Pin8):8 位准双向 I/O 口线,名称为 P1.0P1.7 。其中 P1.0 与蜂鸣器相连,xxxx 届本科生毕业论文作为报警电路;P1.1 和 P1.2 与按键 1、2 相连,它们作为调节温度下限加减的控制接口;P1.3 与P1.4 与按键 3、4 相接。P2 口(Pin21Pin28):8 位准双向 I/O 口线,名称为 P2.0P2.7。 P2.3 和 P2.4 与水位报警灯相连,作为水位控制指示灯的接口;P2.5 口与 1620 液晶显示器的 RS 端连接;P2.6 与液晶显示屏的 Rw 端相连;P2.7 与液晶显示屏的使能端 En 端相连。P3 口(Pin10Pin17):8 位准双向 I/O 口线,名称为 P3.0P3.7。其中 P3.4 和 P3.5 与水位开关相连,作为水位信号的输入端;P3.6 与加热器的控制继电器相连,控制继电器的开与关;P3.7 与定时充氧电路相连,用于控制充氧电机的开与关。STC89C52 主要功能如表 1 所示。表 1 STC89C52 主要功能兼容 MCS51 指令系统8K 可反复擦写 Flash ROM32 个双向 I/O 口256x8bit 内部 RAM3 个 16 位可编程定时/计数器中断时钟频率 0-24MHz2 个串行中断可编程 UART 串行通道2 个外部中断源软件设置睡眠和唤醒功能2 个读写中断口线低功耗空闲和掉电模式2.22.2 系统电源模块设计系统的供电由 usb 直插电脑 usb 口提供,这能为系统提供稳定的+5V 电压。USB 接口有四个触点,分别是电源+5V、数据、数据+、电源地,USB 设备与计算机通过“数据+”和“数据”通道进行数据传输, “+5V” 、 “电源地”具有为外部设备供电的能力。根据目前通行的 USB1.1 规范,USB 接口可以提供 5V5%的电压为外部设备供电,每个端口最大输出电流为 500mA,因此其输出功率不能超过 2.25W,超过了这个功率的外部设备就需要配备外置电源。本系统的电源、电压、功率的要求都比较低,因此可以 USB 上的电源能满足要求。为了保护单片机的安全,在 usb 输出电压后,加了 J2 保险丝,用 SW-SPDT 开关控制电源的开与关。联通电源后配备了一个 LED 指示灯 d13,指示电源的联通。具体电路图 2.2 所示。xxxx 届本科生毕业论文图 2.2 电源部分原理图2.3 水温探测/水位测量模块水温和水位探测电路是水族箱系统最重要的环境参数获得通道。水温传感器探测电路获得的水温数据与设定温度上限和下限的比较,获得的结果,将直接用来驱动继电器控制加热器的开与关,以保持水族箱的温度稳定,必要时还会报警以提醒饲主。水温传感器选用 DS18B20 芯片。而水位传感器采用浮子液位开关,由浮子液位开关在上、下限设定水位值产生的水位数据传送到单片机后,得出的控制命令会控制水阀门的开与关,保持水族箱的水位平衡。水位传感器将选用2.3.1 DS18B20 芯片美国 Dallas 半导体公司的数字化温度传感器 DS1820 是世界上第一片支持 一线总线接口的温度传感器,现在,新一代的 DS18B20 体积更小、更经济、更灵活。DS18B20 也支持一线总线xxxx 届本科生毕业论文接口,测量温度范围为-55C+125C,在-10+85C 范围内,精度为0.5C。DS1822 的精度较差为2C。现场温度直接以一线总线的数字方式传输,大大提高了系统的抗干扰性。适合于恶劣环境的现场温度测量,如:环境控制、设备或过程控制、测温类消费电子产品等。DS18B20 的主要特性(1)适应电压范围更宽,电压范围:3.05.5V,在寄生电源方式下可由数据线供电。(2)独特的单线接口方式,DS18B20 在与微处理器连接时仅需要一条口线即可实现微处理器与 DS18B20 的双向通讯。(3)DS18B20 支持多点组网功能,多个 DS18B20 可以并联在唯一的三线上,实现组网多点测温。(4)DS18B20 在使用中不需要任何外围元件,全部传感元件及转换电路集成在形如一只三极管的集成电路内。(5)温范围55125,在-10+85时精度为0.5。(6) 可编程的分辨率为 912 位,对应的可分辨温度分别为 0.5、0.25、0.125和0.0625,可实现高精度测温。(7)测量结果直接输出数字温度信号,以一线总线串行传送给 CPU。(8)负压特性:电源极性接反时,芯片不会因发热而烧毁,但不能正常工作10。DS18B20 内部结构主要由四部分组成:64 位光刻 ROM、温度传感器、非挥发的温度报警触发器 TH 和 TL、配置寄存器。DS18B20 的管脚排列如下图 2.3 所示。 图 2.3 管脚图xxxx 届本科生毕业论文图 2.4 内部结构图DS18B20 引脚定义:(1) DQ 为数字信号输入/输出端;(2) GND 为电源地;(3) VDD 为外接供电电源输入端(在寄生电源接线方式时接地) 。2.3.2 水温探测电路水温探测具体电路如图 2.5 所示。 图 2.5 DS18B20 电路图水温传感器 DS18b20 芯片的 3 个引脚接法为:1 脚为 GND 端,直接接地;2 脚 DQ 端和STC89C52 单片机的 P33 相连,把水温数据直接传输给单片机处理;3 脚 VCC 端给芯片提供电源,是5V 的电源2011 届本科生毕业论文2.3.3 浮子液位开关电路 浮子液位开关的原理是利用浮球液位开关的磁性浮子随液位升或降,使传感器检测管内设定位置的干簧管芯片动作,发出接点开(关)转换信号。 在密闭的非导磁性管内安装有一个或多个干簧管,然后将此管穿过一个或多个中空且内部有环形磁铁的浮球,液体的上升或下降将带动浮球一起上下移动,从而使该非导磁性管内的干簧管产生吸合或断开的动作,从而输出一个开关信号 浮球开关是一种结构简单、使用方便、安全可靠的液位控制器件,它具有比一般机械开关体积小、速度快、作用寿命长,与电子开关相比,它又有抗负载冲击能力强的特点,其在造船、造纸、印刷、发电机设备、石油化工、食品工业、水处理、电工、染料工业、油压机械等方面都得到了广泛的应用。7 图 2.6 浮球液位开关产品特点:1. 可做多点控制,控制开关可随液位位置定制。 2. 用磁簧开关不需要单独提供电源.3. 单支可做多点控制,相对比其它液位开关单价底.4. 可靠性高,配线成本低,安装容易.5. 可适用于不同密度、不同酸碱、不同压力及温度的液体具体电路图如图 2.7 所示。2011 届本科生毕业论文 图 2.7 水位开关接口电路J90 和 J91 的 1、2 脚分别和浮子液位开关杆上部和下部的磁簧开关相连通,当带有磁性材料的浮子随水位移动到水位的上下限位置时,就会触动开关,从而产生开关量,经 P34 和 P35 传回给单片机,单片机给水泵发出控制信号,实现对水位的控制。2.4 按键与液晶显示模块本系统的显示设备用的是 QC-1602 液晶显示。QC-1602 字符型 LCD 有 16 条引脚线的 LCD,多出来的 2 条线是背光电源线,引脚定义如下表 2所示。表 2 1602 液晶管脚列表4引脚符号功能说明1VSS一般接地2VDD接电源(+5V)3V0液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高(对比度过高时会产生“鬼影” ,使用时可以通过一个 10K 的电位器调整对比度) 。4RSRS 为寄存器选择,高电平 1 时选择数据寄存器、低电平 0 时选择指令寄存器。5R/WR/W 为读写信号线,高电平(1)时进行读操作,低电平(0)时进行写操作。6EE(或 EN)端为使能(enable)端,下降沿使能。7DB0低 4 位三态、 双向数据总线 0 位(最低位)8DB1低 4 位三态、 双向数据总线 1 位9DB2低 4 位三态、 双向数据总线 2 位11DB4高 4 位三态、 双向数据总线 4 位2011 届本科生毕业论文续表 212DB5高 4 位三态、 双向数据总线 5 位13DB6高 4 位三态、 双向数据总线 6 位14DB7高 4 位三态、 双向数据总线 7 位(最高位)15BLA背光电源正极16BLK背光 电源负极1602 显示器的引脚分布如图 2.8 所示。 图 2.8 1602 显示器的引脚1602 通过 D0D7 的 8 位数据端传输数据和指令。1602 液晶模块内部的字符发生存储器(CGROM)已经存储了 160 个不同的点阵字符图形,这些字符有:阿拉伯数字、英文字母的大小写、常用的符号、和日文假名等,每一个字符都有一个固定的代码。81602 显示器显示的内容为 16*2,每行 16 个字符。1602 识别的是 ASCII 码,试验可以用 ASCII码直接赋值,在单片机编程中还可以用字符型常量或变量赋值,如A 。它在显示器上内置了DDRAM,就是显示数据 RAM,用来寄存待显示的字符代码。共 80 个字节,其地址和屏幕的对应关系如表 3 所示。表 3 显示器屏幕和地址对应 显示位置 1 2 3 4 5 6 7 . 40 第一行 00H 01H 02H 03H 04H 05H 06H . 27H DDRAM 地址 第二行 40H 41H 42H 43H 44H 45H 46H . 67H 因此想在屏幕上哪一行列显示一个字符,只要在对应的 DDRAM 的地址上写入字符就可以。4 4本设计选用 1602 显示器可以用来显示水族箱水温传感器 DS18B20 探测的水温温度,具体的电路图如图 2.9 所示。2011 届本科生毕业论文图 2.9 显示器电路图LCD1602 的 D0D7 脚跟单片机的 P00P07 口连接,显示由单片机处理后的水温温度字符。显示器的 VL 口跟可调的 3296 电阻相连,可以调节显示器的清晰度。VCC 接+5v 的电源,给显示器供电。BL+和 VSS(图上的 GND)脚接地。2.5 继电器控制电动机模块当在冬天时,水族箱中的水温比较低,有时天气发生突变,室温过低时,这时就需要给水族箱加热,以免让鱼类冻伤,而加热到合适温度时,也需要断开加热器。所以当水温探传感器 DS18B20传回的水温数据跟单片机设定的水温下限比较,过低时,这时单片机要发出控制指令,开动加热器,给水族箱加热,使观赏鱼免遭冻伤。合适温度时,单片机同样给出指令,断开加热器的电源。对于定时充氧电路,当隔一段相同的时间时,单片机同样给出指令,开动充氧电机,给水族箱补氧,定时的开动一段时间电机,以维持水中的含氧量。水族箱中的浮子液位开关当测得水位低程序设定的水位值时,这时也需要给水族箱注水,这就要开动小水泵。所有这些水族箱的配备电机,都需要用到继电器弱电控制强电的原理来控制电机的开动,以便时刻控制水族箱的各种环境参数,维持观赏鱼适宜的水中环境。2011 届本科生毕业论文2.5.1 继电器的原理继电器是一种电子控制器件,它具有控制系统(又称输入回路)和被控制系统(又称输出回路),通常应用于自动控制电路中,它实际上是用较小的电流去控制较大电流的一种“自动开关” 。故在电路中起着自动调节、安全保护、转换电路等作用。电磁式继电器一般由控制线圈、铁芯、衔铁、触点簧片等组成,控制线圈和接点组之间是相互绝缘的,因此,能够为控制电路起到良好的电气隔离作用。当我们在继电器的线圈两头加上其线圈的额定的电压时,线圈中就会流过一定的电流,从而产生电磁效应,衔铁就会在电磁力吸引的作用下克服返回弹簧的拉力吸向铁芯,从而带动衔铁的动触点与静触点(常开触点)吸合。当线圈断电后,电磁的吸力也随之消失,衔铁就会在弹簧的反作用力返回原来的位置,使动触点与原来的静触点(常闭触点)吸合。这样吸合、释放,从而达到了在电路中的接通、切断的开关目的。2.5.2 继电器的选用本设计选用的为 HK4100F-DC5V-SHG 继电器。她有 6 个引脚,其中 2、5 脚为线圈。1、6 脚为公共端。3、4 脚一个常开一个常闭。如图 3.0 所示。 图 3.0 继电器引脚图其内部的原理图如图 3.1 所示。2011 届本科生毕业论文图 3.1 继电器内部原理图二极管 D1、电阻 R3、LED9、PNP 三极管 T5、电阻 R20 是外部跟继电器相连的辅助元件,J1 和CN2 是继电器的内部结构。三极管 T5 的基极 B 接到单片机的 P3.6,三极管的发射极 E 接到继电器线圈的一端,线圈的另一端接到5V 电源 VCC 上;继电器线圈两端并接一个二极管 IN4148,用于吸收释放继电器线圈断电时产生的反向电动势,防止反向电势击穿三极管 T5 及干扰其他电路;R3 和发光二极管 LED9 组成一个继电器状态指示电路,当继电器吸合的时候,LED9 点亮,这样就可以直观的看到继电器状态了。在原理图中的具体电路为如图 3.2 所示。2011 届本科生毕业论文图 3.2 两个继电器的电路图继电器 1 和 2 接口上与定时充氧电机和加热器相连,从而驱动外部电机的工作。其模拟图如图 3.3 所示。2011 届本科生毕业论文图 3.3 继电器外部电机接线模拟图2.6 指示灯电路与蜂鸣报警模块为了给饲主在系统运行控制中更直观的理解她的运行状态,系统特意设计了 LED 指示灯电路,电路图如图 3.4 所示。图 3.4 指示灯电路D1、D2 分别跟单片机的 P36 和 P37 相接,当单片机分别输出低电平控制信号,三极管导通,继电器控制的加热器和定时充氧泵工作。这时 D1、D2 导通发光,指示电机已工作。D3、D4 跟单片机 P23、P24 端口连接,当水位在上下限时,D3、D4 导通发光,提示水位已经到了极限。2011 届本科生毕业论文蜂鸣器与三极管 E3 相连,当 P10 低电平时,E3 导通,蜂鸣器报警。当 P10 高电平时,三极管截止,蜂鸣器没有接通电源,不响。第三章 系统软件的研究与开发系统的软件设计是控制系统设计的主要内容和重点,应该根据系统硬件电路为基础进行系统的软件设计。软件设计要求功能准确,阅读调试方便,所有一般采用结构化的程序设计方法。它包括:自顶向下的设计、模块化编程和结构化编程。水族箱控制系统程序的设计采用单片机 C 语言编程进行开发,系统程序可以分为以下几大模块:主程序模块、1602 显示处理模块、DS18B20 温度采集模块、延时模块、定时器设置程序模块。3.1 软件设计方法模块化设计,就是把软件按照规定的原则分为一个个较小的、相对独立但又相关的模块。分解、信息隐藏和模块独立性,是实现模块化设计的重要指导思想。对于一个软件系统,可以把它分解成几个小模块,各组成模块之间是相互关联的。但模块也多,模块的接口工作量也随着模块数的增加而增大。因此把模块数控制在一个范围内,可以使总的开发工作量保持最小。本系统的软件设计采用 Keil C51 集成环境开发软件部分,Keil C51 是美国 Keil Software 公司出品的 51 系列兼容单片机 C 语言软件开发系统,与汇编相比,C 语言在功能上、结构性、可读性、可维护性上有明显的优势。Keil C51 软件提供丰富的库函数和功能强大的集成开发调试工具,全 Windows 界面。另外重要的一点,只要看一下编译后生成的汇编代码,就能体会到 Keil C51 生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。本文系统的程序有:主程序、1602 显示处理程序、延时处理程序、温度采集处理程序、EEPROM 程序。下面就将逐一介绍各程序模块的设计和编写。3.2 主程序模块主程序是检测水族箱内各种环境参数,从而进行智能控制的主监控程序,根据模块化设计的根本思想,可以将系统功能划分为多个子任务,每个子任务由对应的子程序运行来实现。整合起每个子程序,就可以实现温度、水位、定时充氧等参数的采集。系统监控主程序的流程图如 3.5 所示。2011 届本科生毕业论文开始开始预处理设置预处理设置初始化和声初始化和声明明主程序的主主程序的主函数函数各种环境参各种环境参数的采集数的采集调用控制程调用控制程序序显示处理显示处理结束结束图 3.5 主程序流程图主程序主要完成以下工作(1)预处理设置在主程序中首先要对系统进行预处理命令的包含。它们既包括有 ANSIC 统一规定的预处理命令,也有本文设计的包含预处理文件。它们包括宏定义、51 单片机包含文件、DS18B20 读写函数、1602液晶驱动函数等,(2)初始化和声明部分这部分对系统进行初始化编程。硬件部分有按键与单片机接口定义、传感器数据传输接口设置:软件方面有各种数据的声明和定义、温度数据的初值设定、EEPROM 的判断初值。(3)环境参数的采集获取各种环境参数的变化情况和工作状态。环境参数的变化包括系统温度,高、低水位等,工2011 届本科生毕业论文作状态包括温度控制状态、定时充氧控制状态等。(4)调用控制程序根据当前的环境参数,单片机做出判断,调用控制程序对系统进行智能控制。实现对加热器的开与关、定时充氧电机的开与关、还有水阀的控制。(5) 显示处理根据 DS18B20 传回的温度数据,在 1602 液晶上实时的进行水族箱温度的显示。直观的呈现给饲主,让她了解控制系统的工作。而还有另外的水位灯显示程序,在水位到达设定的上下限时,水位灯会亮。(6)主程序代码主程序的主要代码如下所示:#define uint unsigned int /定义缩写#define uchar unsigned char /定义缩写#include #include #include ds18b20mul.h /包含 ds18b20 读写函数#include 1602.h /包含 1602 液晶驱动函数#include timer.hsbit butt1=P11; /定义减小下限按钮(按钮 1)sbit butt2=P12; /定义增加下限按钮(按钮 2)sbit butt3=P13; /按钮 3sbit butt4=P14;/按钮 4sbit beeper=P10; /蜂鸣sbit water_high=P35; /水位开关 1 (上)sbit water_low=P34;/水位开关 2(下)sbit o2=P37; /氧气sbit hot=P36;/加热sbit addwater=P25;unsigned char num1=0;/存放实时温度数据 unsigned int limit_high;/上限 1 变量声明unsigned int limit_low;/下限 1 变量声明sbit led1=P24; /水位高灯sbit led2=P23; /水位低灯2011 届本科生毕业论文void delay_50mms(unsigned int t)/简单延时函数unsigned int j; for(;t0;t-) for(j=6245;j0;j-);main() LCD_Initial(); /lcd 初始化 limit_high=ReData(20); /读取上次保存的上限 limit_low=ReData(21); /读取上次保存的上限 if(limit_high=255)/防止 eeprom 数据丢牛WrData(20,60); WrData(21,15); /恢复下限到 30;eepromflag=0;/将 eeprom 写入标志清零timer0init();/初始化定时器while(1) num1=ReadTemp();/读取温度,赋值到 num1if(num1=limit_high)beeper=0;else beeper=1;/如果温度到达上限 蜂鸣报警 if(num10)limit_high-;/消抖延时后,如果按键还是按下,就将上限减少 1if(butt2=0)/ 按钮 2delay_50mms(3);/按键消抖,数值越大消抖效应越强if(butt2=0&limit_high0)limit_low-;/消抖延时后,如果按键还是按下,就将上限减少1if(butt4=0)/ 按钮 4delay_50mms(3);/按键消抖,数值越大消抖效应越强if(butt4=0&limit_low=100) DisplayOneChar(x,y,table(num/100);/如果百位有内容,则显示百位 DisplayOneChar(x+1,y,table(num/10)%10);/显示十位 DisplayOneChar(x+2,y,table(num)%10);/显示个位if(num=100) DisplayOneChar(x,y,table(num/100);else PrintXY(x,y, );/如果百位有内容,则显示百位 DisplayOneChar(x+1,y,table(num/10)%10);/显示十位PrintXY(x+2,y,.);/显示小数点 DisplayOneChar(x+3,y,table(num)%10);/显示个位PrintXY(x+4,y,%);/显示百分号3.4 延时 Delay 程序模块在系统中设计了 5 个按键,它们用在不同的功能中。在按下它们时,要进行按键消抖,这就要设计延时消抖程序,延时以判断按键是否有效。本文的消抖在主程序里调用了延时程序。延时程序代码如下所示:#ifndef DELAY_H#define DELAY_H void delay_nms(unsigned int n) unsigned int i=0,j=0; for (i=n;i0;i-) for (j=0;j1140;j+); 2011 届本科生毕业论文#endif3.5 DS18B20 温度采集模块温度是本系统最为关键的两个控制参数之一。从 DS18B20 中读取温度的过程是:首先获取传感器的温度值,该温度值为 BCD 码形式,然后通过转换,以十进制形式输出温度值,且此时输出的温度值含有一位小数,但输出时没有小数点,输出的温度值是实际温度的十倍。程序代码如下所示:#ifndef _DS18B20_H_#define _DS18B20_H_#define uint unsigned int#define uchar unsigned charsbit DQ = P33; /温度传送数据 IO 口/*ds18b20 延迟子函数(晶振 12MHz )*/ void delay_18B20(unsigned int i)while(i-);/*ds18b20 初始化函数*/void Init_DS18B20(void) unsigned char x=0; DQ = 1; /DQ 复位 delay_18B20(8); /稍做延时 DQ = 0; /单片机将 DQ 拉低 delay_18B20(80); /精确延时 大于 480us DQ = 1; /拉高总线 delay_18B20(14); x=DQ; /稍做延时后 如果 x=0 则初始化成功 x=1 则初始化失败 delay_18B20(20);/*读取 ds18b20 当前温度*/uchar ReadTemp(void)unsigned char a=0;2011 届本科生毕业论文unsigned char b=0;unsigned char t=0; unsigned char temp_value; /温度值Init_DS18B20();WriteOneChar(0 xCC); / 跳过读序号列号的操作WriteOneChar(0 x44); / 启动温度转换delay_18B20(100); / this message is wery importantInit_DS18B20();WriteOneChar(0 xCC); /跳过读序号列号的操作WriteOneChar(0 xBE); /读取温度寄存器等(共可读 9 个寄存器) 前两个就是温度delay_18B20(100);a=ReadOneChar(); /读取温度值低位b=ReadOneChar(); /读取温度值高位temp_value=b4;/取温度值的地位的高四位,右移四位后与温度的高四位相加得到温度值 return(temp_value); #endif2011 届本科生毕业论文第四章 结论本设计围绕着水族箱控制系统在温度探测和控制、水温的加热、定时充氧等需求,提出了详细的设计方案,从控制方案实际运行来看,此设计可以实现对水族箱的智能化控制,可以克服目前水族箱市场上各种设备独立工作和需要手动带来的不便,并且成本低廉、性能可靠,消除因饲主的忽视对控制过程的影响。整套控制系统的软件部分和硬件设计部分设计合理,C 语言编程的单片机软件程序是模块化的程序设计,模块与模块之间相互独立,有很高的可靠性,硬件设计成本低廉。在制作过程中运用传感器技术、继电器控制技术、单片机原理,系统软件部分采用 C 语言编程,程序结构清晰,按键的操作和液晶显示的界面很友好,操作者在使用该系统时轻松方便。在系统设计中还充分考虑了系统的扩展问题,为此单片机特意留下了扩展排针焊孔。如需要更准确的含氧量数据,可以在扩展排针上接溶氧量传感器电路;这些扩展排针接口还可以增加水中含氮量传感器电路,使水中的环境参数控制更精确。这些都对以后系统功能的扩展留下空间。通过本控制系统的研究与开发,本人学会了设计一个电子产品的一般过程,包括原理图的设计、修改、网路报表的生成、元器件报告的输出、原理图导入 PCB 图、PCB 图元件的布局、覆铜板的腐蚀等等。学会了在遇到不懂的时候,懂得去自学,将自学所得的理论知识运用到设计中去,考验了本人动手能力和问题解决的能力。最重要的是体会到查找资料在研究与设计中的重要性。在研究与开发前,看本研究的各种资料,了解它的发展方向和历史,是触发设计灵感的重要源泉,也是在研究与开发中解决问题的重要依据。2011 届本科生毕业论文鸣 谢值此论文完成之际,谨向本人的导师王老师致以最诚挚的敬意和由衷的感谢。从课题的选定、资料的准备、研究直到论文的修改等各个环节都得到了王老师的细心指导。王导师渊博的学识、严谨认真的治学态度、实事求是的工作作风、朴实真诚的为人态度,使本人受益匪浅。感谢王导师在软硬件设计及系统调试工作中,给予本人的耐心指导和大量帮助,帮助本人解决了许多技术难题,使本人的设计得以更为快速、顺利的进行。感谢本人的同学和朋友,正是他们的无私帮助和支持,才使本人有信心和决心完成设计的工作。最后,再次向所有给予本人支持、帮助和鼓励的老师、同学和朋友,以及在百忙中评阅论文和参加答辩的评审老师一并表示最诚挚的谢意。参考文献参考文献1 李开春.小小水族箱装着大世界N.宠物世界,1998,10,20.2 张海萍,小小水族箱装着大市场N.市场报,2002,10,21.3 丁惠忠.观赏鱼缸智能控制系统的设计J.苏州大学,2007:03-85.4 毛谦敏.单片机原理及应用系统设计M.北京:国防工业出版社,2005,08.5 .AT89C52 technical documentsEB/OL.http:/ 单片机EB/OL.百度百科.(2011-03-05)2011-05-18.http:/ 7 浮球液位开关EB/OL.百度百科.(2009-12-26)2011-05-20.http:/ 1602 字符液晶EB/OL.百度百科.(2010-12-27)2011-05-21. http:/ 戴佳,戴卫恒,刘博文. 51 单片机 c 语言应用程序设计实例精讲 M. 北京:电子工业出版社,2007.10 DS18B20.百度百科.(2010-12-25)2011-05-27. http:/ 谭浩强. C 程序设计 M. 北京:清华大学出版社,2005.12 华成英,童诗白.模拟电子技术基础M.北京:高等教育出版社,2006.5.13 周美娟,肖来胜.单片机技术及系统设计 M. 北京:清华大学出版社,2007.14 鼓国平,邓洪波,梁振权.水族箱自动控制装置的设计J. 广东自动化与信息工程,1998(Z1):11-1215 葛华.多功能观赏鱼缸智能控制系统的设计D.南京:东南大学机械工程学院,2010.5.16 戴佳,戴卫恒.51 单片机 C 语言应用程序设计实例精讲M.北京:电子工业出版社,2008.1.17 张福学.传感器应用及其电路精选M.北京:电子工业出版社,1995.5.18 何立民.MCS-51 系列单片机应用系统设计-系统配置与接口技术M.北京:北京航空航天大学出版社, 2006.1.19 宋戈,黄鹤松,员玉良,蒋海峰.51 单片机应用开发范例大全M.北京:人民邮电出版社,2010.2.20 鮑延杰,杨新志.基于 RS2485 总线的 PC 与单片机间的串口通信J.电子技术 2002,10.附 录附录一 系统设计原理图附 录附 录附录二 家庭水族箱控制系统 PCB 图附 录附 录
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档


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

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


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