家庭水族箱控制系统的研究与开发--本科生毕业论文.doc_第1页
家庭水族箱控制系统的研究与开发--本科生毕业论文.doc_第2页
家庭水族箱控制系统的研究与开发--本科生毕业论文.doc_第3页
家庭水族箱控制系统的研究与开发--本科生毕业论文.doc_第4页
家庭水族箱控制系统的研究与开发--本科生毕业论文.doc_第5页
已阅读5页,还剩34页未读 继续免费阅读

下载本文档

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

文档简介

本科生毕业论文本科生毕业论文 家庭水族箱控制系统的研究与开发 family aquatic animals box control system research and design 学生姓名 所在专业电子信息工程专业 所在班级电子 1073 申请学位工学学士 指导教师职称副教授 答辩时间2011.06.04 目 录 目目 录录 摘摘 要要.i abstractii 家庭水族箱控制系统的研究与开发家庭水族箱控制系统的研究与开发.1 第一章第一章 绪论绪论.1 1.11.1 研究的目的.1 1.2 国内外研究发展状况、水平.1 1.3 研究的主要内容、预期目标.2 第二章第二章 系统的硬件的研究与开发系统的硬件的研究与开发.2 2.12.1 主控制芯片电路设计.2 2.22.2 系统电源模块设计 .5 2.3 水温探测/水位测量模块.6 2.3.1 ds18b20 芯片6 2.3.2 水温探测电路.8 2.3.3 浮子液位开关电路.9 2.4 按键与液晶显示模块.10 2.5 继电器控制电动机模块.12 2.5.1 继电器的原理.13 2.5.2 继电器的选用.13 2.6 指示灯电路与蜂鸣报警模块.16 第三章第三章 系统软件的研究与开发系统软件的研究与开发.17 3.1 软件设计方法.17 3.2 主程序模块.17 3.3 1602 液晶显示处理程序22 3.4 延时 delay程序模块.25 3.5 ds18b20 温度采集模块25 第四章第四章 结论结论.28 鸣鸣 谢谢.28 值此论文完成之际,谨向本人的导师王老师致以最诚挚的敬意和由衷的感谢。从课题的选定、资料的 准备、研究直到论文的修改等各个环节都得到了王老师的细心指导。王导师渊博的学识、严谨认真的 治学态度、实事求是的工作作风、朴实真诚的为人态度,使本人受益匪浅。.28 参考文献参考文献.29 附录一附录一 系统设计原理图系统设计原理图.30 摘 要 摘 要 现在越来越多的家庭和公共场所都摆上了各种水族箱。但作为大部分小型的家庭水族箱设备, 都需要人为的手工操作,这给饲主带来很大的不便。人们有时会因繁忙的工作,忽视了对观赏鱼的 照顾。 本论文设计了基于 89 系列单片机的家庭水族箱控制系统。整套系统以 stc89 单片机为核心芯 片,结合了传感器探测技术、继电器原理、c 语言编程等技术。设计能够根据箱中的水温、水位等 数据,经单片机处理后给出及时的控制指令,从而调节水族箱的环境参数,达到以维持箱中鱼生存 环境稳定的目的。 整个系统设计分为硬件和系统软件两大部分。 硬件部分有 6 个模块, 分别是主控制芯片模块设计、系统电源模块设计、水温探测/水位测量 模块、按键与液晶显示模块、继电器控制电动机模块、蜂鸣报警模块。软件部分进行了模块化设计, 各个模块之间相互独立。 通过调试期间的运行,实践证明本设计的水族箱控制系统有操作简明、运行可靠、硬件设计灵 活、成本低廉的特点。 关键词:水族箱;单片机;智能化;控制系统;传感器技术 abstract abstract now 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 technology xxxx 届本科生毕业论文 家庭水族箱控制系统的研究与开发家庭水族箱控制系统的研究与开发 电子信息工程, 指导教师: 第一章 绪论 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 rom 32 个双向 i/o 口256x8bit 内部 ram 3 个 16 位可编程定时/计数器中断时钟频率 0-24mhz 2 个串行中断可编程 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 届本科生毕业论文 续表 2 12db5高 4 位三态、 双向数据总线 5 位 13db6高 4 位三态、 双向数据总线 6 位 14db7高 4 位三态、 双向数据总线 7 位(最高位) 15bla背光电源正极 16blk背光 电源负极 1602 显示器的引脚分布如图 2.8 所示。 图 2.8 1602 显示器的引脚 1602 通过 d0d7 的 8 位数据端传输数据和指令。1602 液晶模块内部的字符发生存储器(cgrom)已 经存储了 160 个不同的点阵字符图形,这些字符有:阿拉伯数字、英文字母的大小写、常用的符号、 和日文假名等,每一个字符都有一个固定的代码。8 1602 显示器显示的内容为 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.h“ sbit butt1=p11; /定义减小下限按钮(按钮 1) sbit butt2=p12; /定义增加下限按钮(按钮 2) sbit butt3=p13; /按钮 3 sbit butt4=p14;/按钮 4 sbit 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();/读取温度,赋值到 num1 if(num1=limit_high)beeper=0;else beeper=1;/如果温度到达上限 蜂鸣报警 if(num10)limit_high-;/消抖延时后,如果按键还是按下, 就将上限减少 1 if(butt2=0)/ 按钮 2 delay_50mms(3);/按键消抖,数值越大消抖效应越强 if(butt2=0/消抖延时后,如果按键还是按下,就将上限减少 1 if(butt4=0)/ 按钮 4 delay_50mms(3);/按键消抖,数值越大消抖效应越强 if(butt4=0/如果百位有内容,则显示百位 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;j4;/取温度值的地位的高四位,右移四位后与温度的高四位相加得 到温度值 return(temp_value); #endif 2011 届本科生毕业论文 第四章 结论 本设计围绕着水族箱控制系统在温度探测和控制、水温的加热、定时充氧等需求,提出了详细 的设计方案,从控制方案实际运行来看,此设计可以实现对水族箱的智能化控制,可以克服目前水 族箱市场上各种设备独立工作和需要手动带来的不便,并且成本低廉、性能可靠,消除因饲主的忽 视对控制过程的影响。 整套控制系统的软件部分和硬件设计部分设计合理,c 语言编程的单片机软件程序是模块化的 程序设计,模块与模块之间相互独立,有很高的可靠性,硬件设计成本低廉。在制作过程中运用传 感器技术、继电器控制技术、单片机原理,系统软件部分采用 c 语言编程,程序结构清晰,按键的 操作和液晶显示的界面很友好,操作者在使用该系统时轻松方便。 在系统设计中还充分考虑了系统的扩展问题,为此单片机特意留下了扩展排针焊孔。如需要更 准确的含氧量数据,可以在扩展排针上接溶氧量传感器电路;这些扩展排针接口还可以增加水中

温馨提示

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

评论

0/150

提交评论