水族箱智能控制系统的设计与实现
- 格式:docx
- 大小:41.11 KB
- 文档页数:6
哈尔滨工业大学华德应用技术学院毕业设计(论文)摘要智能水族箱控制系统, 所有的电路都是在单片机的控制下工作的,目前通常采用的是Motorola公司的MC6805系列的单片机,而本设计中采用了Intel公司的89C51作为控制核心,以单片机89C51为核心结合接口芯片及外围电路以实现水族箱的智能控制。
环境参数检测部分包含采集水体温度、水中含氧量和光照强度,它们由温度传感器Ds18b20和光敏电阻等,对养鱼的水温和光照强度进行测量,然后信号供CPU进行运算判断是否需要加热处理或辅助照明并显示在液晶上。
输出控制执行机由氧气补充模块、温度控制模块、辅助光照模块组成。
智能水族箱系统主要由单片机最小系统单元、液晶显示单元、加热电路、制冷电路、光照单元、氧气单元等部分组成。
关键词单片机;氧气控制;水族箱I哈尔滨工业大学华德应用技术学院毕业设计(论文)AbstractIntelligence aquarium control system, all of the circuit are under the control of the processor, usually use the current work is MC6805 series of Motorola company, and the design of microcontroller is adopted in the Intel company of 89C51 microcontroller as control core, with 89C51 as the core combine interface chip and periphery circuit to realize intelligent control of aquatic animals box. Environmental parameters testing section contains collecting water temperature, water oxygenation and illumination intensity, they by temperature sensor ds18b20 and photoconductive resistance, etc, to fish the water temperature and light intensity measurements and then signal which CPU calculations to decide whether it is necessary to heat treatment or assist illume and displayed on the LCD. Output control execution machine by oxygen supplement module, temperature control module, auxiliary light module.Intelligence aquarium system mainly consists of single chip minimize system unit, liquid crystal display unit, heating, cooling circuit circuit, illumination unit, oxygen unit components.Keywords AT89C51, Oxygen control; LCD displayII哈尔滨工业大学华德应用技术学院毕业设计(论文)目录摘要 (I)Abstract (II)第1章绪论 (1)1.1 系统的开发背景 (1)1.2 系统的开发意义 (2)1.3 课题的研究内容 (2)第2章方案设计与论证 (4)2.1 控制芯片的选择 (4)2.2 温度传感器的选择 (5)2.3 显示模快的选择 (5)2.4 本章小结 (6)第3章硬件设计 (8)3.1 系统硬件结构框图 (8)3.2 主控模块分析 (9)3.2.1 AT89C51概述 (9)3.2.2 主要特性 (9)3.2.3 引脚说明 (9)3.3 温度信号采集单元 (12)3.3.1 DS18B20概述 (12)3.3.2 DS18B20内部结构 (12)3.3.3 DS18B20工作时序 (16)3.3.4 DS18B20与AT89C51的接口设计 (17)3.4 LCD1602液晶显示单元 (18)3.4.1 LCD1602简介 (18)3.4.2 LCD1602的基本参数及引脚功能 (19)3.4.3 LCD1602的指令说明及时序 (22)3.4.4 1602LCD的RAM地址映射及标准字库表 (24)3.4.5 1602LCD的一般初始化(复位)过程 (25)3.5 加热电路 (25)3.6 制冷电路 (26)3.7 DS18b20接口电路 (27)III哈尔滨工业大学华德应用技术学院毕业设计(论文)3.8 1602接口电路 (27)3.9 光敏电阻电路 (28)3.10 本章小结 (29)第4章软件设计及调试 (30)4.1 软件程序设计 (30)4.1.1 系统整体设计流程图 (30)4.1.2 温度采集模块设计 (31)4.1.3 显示模块程序设计 (32)4.1.4 按键模块程序设计 (32)4.2 系统硬件调试 (33)4.3 软件程序调试 (34)4.3.1 软件环境 (34)4.3.2 软件调试 (35)4.3.3 系统联调 (36)4.4 本章小结 (36)结论 (37)致谢........................................................................................ 错误!未定义书签。
目录一、方案功能设计 (1)二、I/O分配表 (1)三、元器件的选型 (2)四、电路图 (6)(一)按键控制模块 (6)(二)晶振复位模块 (7)(三)复位模块 (7)(四)水泵驱动 (8)(五)加热驱动 (8)(六)温度检测电路 (9)(七)水位检测电路 (10)(八)液晶显示电路 (10)(九)总电路 (11)(十)PCB板图 (12)(十一)实物图 (13)五、程序 (13)(一)端口分配表 (13)(二)流程图 (14)(三)程序 (17)六、照片 (28)(一)产品的调试 (27)(二)电路图仿真 (27)七、方案使用说明书 (31)八、设计创意说明和总结 (31)一、方案功能设计(1)自动计时,由LCD1602显示时、分、秒。
(2)自动检测温度,由LCD1602显示,并且有四个按键设置最高温度和最低温度。
(3)自动检测水位,当水位低于最低水位开启水泵,达到最高水位自动停止水泵。
二、I/O分配表三、元器件的选型(一)总芯片STC89C51和支架I/O分配表输入输出地址地址P1.1温度传感器P1.5水泵P1.2水位传感器P3.0加热指示灯P1.3最高温度减P3.4加热棒P1.4最高温度加P3.2最低温度减P3.3最低温度加图1-1总芯片STC89C51RC和支架单片机的种类非常繁多,根据单片机的操作位数可以将单片机分为8位单片机和32位单片机。
一般来说32位单片机的性能要优于8位单片机,但是32的价格也要比8位单片机贵很多,同时一般来说32位单片机的开发难度也要比8位单片机高。
考虑到本设计对于单片机性内存要求、运算速度要求不是很高,同时不需要单片机拥有很多外设资源,因此选择一款8位单片机足以满足系统。
综合考虑后本设计确认选择STC89C51型号单片机作为系统主控芯片,这款芯片在工作过程中消耗电流小,同时也是8位单片机中性能比较高的微型控制器。
该芯片有8K内存,一般应用在产品设计上可以满足程序设计容量。
基于51单片机的智能鱼缸控制系统的设计与实现摘要:本设计是基于51单片机的智能鱼缸控制系统的设计与实现,是由51单片机作为核心板,LCD1602液晶显示、由DS18B20数字温度传感器检测、由液位传感器df-893液位检测控制模块、由计时器计时投食模块。
基于单片机的智能鱼缸控制系统的鱼缸集温控和喂食,计时,一体、低成本低功耗的智能鱼缸设备。
智能鱼缸系统,免去了养鱼缸的人们对鱼缸的日常操作,本智能鱼缸系统也可以用于水族馆以及养殖场这种场合。
关键词: 51单片机;LCD1602液晶; DS18B20数字温度传感器;df-893液位检测1 设计背景及目的近几年来,随着科学水平的发展和技术的提升,人们的生活质量得到了质的飞跃,越来越多人会在除了衣食住行外的其他方面去提升生活质量和家庭品味,不少人也会在家里摆上个鱼缸以便观赏。
但是现在的快节奏生活和工作又让人们没法花费长时间在打理鱼缸上,而智能鱼缸系统,免去了养鱼缸的人们对鱼缸的日常操作,本智能鱼缸系统也可以用于水族馆以及养殖场这种场合。
目前市面上的一体、低成本低功耗的智能鱼缸设备还比较稀少,属于需求大于供给的状态,所以本课题研究的基于单片机的智能鱼缸控制系统可以满足这一需求并且成本控制上要比单一购买鱼缸设备的成本低。
2 基本设计思路智能鱼缸控制系统的设计分为每个功能模块的硬件部分和由单片机控制的软件部分。
硬件部分包括对时间,温度和液位的感知,并传送所有信息到控制端。
软件部分包含信号的转换,分析温度和液位的临界值、时间的分析,并将得到的信号转换为电信号,控制温度、液位、电机喂食的实现。
3 硬件设计51 单片机是对所有兼容 Intel 8031 指令系统的单片机的统称。
该系列单片机的始祖是 Intel 的 8004 单片机,后来随着 Flash rom 技术的发展,8004 单片机取得了长足的进展,成为应用最广泛的 8 位单片机之一,其代表型号是ATMEL 公司的 AT89 系列,它广泛应用于工业测控系统之中。
摘要本文设计了一个鱼缸智能控制系统。
目前各式各样的观赏鱼缸之类的工艺产品逐渐进入了家庭和宾馆、商场等公共场所,由于现有的观赏鱼缸的水温检测、液位控制、水循环等操作都需要人为的手工进行,这就给人们带来了很大的不便。
本文通过对目前大多数鱼缸控制设备应用现状的分析和研究,提出了一种鱼缸智能控制系统的设计方案。
针对目前大多数鱼缸控制设备价格昂贵、安装繁琐、运行费用高,一般的用户难以使用的情况,结合单片机强大的开发技术,设计制作了一种以单片机为控制核心,结合传感器技术,可以实现鱼缸温度自动检测、温度显示、鱼缸水位控制、水泵自动给水、智能控制灯光开关的鱼缸智能控制系统。
此系统的硬件部分主要包括单片机主控制模块、温度检测模块、温度显示模块、水位控制模块、继电器控制模块和供电模块。
软件部分主要运用C语言程序编写,主要包括主控制程序、温度检测程序、温度显示程序、时钟设置程序。
通过较长时间的运行测试,结果表明该智能控制系统运行稳定可靠、操作简单方便、具有多种节电工作模式。
同时该系统设计灵活、结构简单、成本低廉,可广泛用于安装鱼缸的场所。
关键词:鱼缸;单片机;智能控制;AbstractWith the aim to improve the deficiency of current aquarium control system, a design of intelligent control system of aquarium is stated in the thesis. Nowadays, various aquariums are commonly seen in families, hotels, and other places like supermarkets. However, many operations such as water temperature detection, water level control, water circulation have to be manually operated, thus bringing much inconvenience. Based on the studies and analysis of current situation of the application of aquarium control facilities, a set of design of aquarium intelligent control is proposed in the thesis.The intelligent control system is designed to cope with the problems existing in aquarium maintaining, such as expensive facilities and maintenance cost, cumbersome installation, and poor user-friendliness. Combined with the strong development technologies of microcontroller, taking chip microprocessors as the control core and combining sensor technology, has realized multifunctions, several models are included in the system, automatic control of aquarium temperature and light, temperature display ,water level control, automatic water supply pump, etc. The hardware of the system consists of main control module of the micro control, temperature detection module, temperature display module, water level control module, relay control module and electricity supply module; while the software program is compiled by C language, consists of main control program, temperature detection program, temperature display program, clock setting program.After a comparably long period of working test, it is proved that the system functions reliable with multiple electricity saving models available. Meanwhile, the system outstands with advantages of its flexible design; convenient operation, simple construction and low cost, making it easy to be manufactured on a large scale. This system can be applied in aquariums of different places.Keyword: aquarium ; microcontroller; intelligent control;目录引言 (1)1 绪论 (2)1.1 选题背景 (2)1.2 国内外研究现状及发展趋势 (3)1.3 相关参数分析 (3)2鱼缸智能控制系统总体设计 (5)2.1 概述 (5)2.2 系统设计要求 (5)2.3 鱼缸控制系统的功能组成 (5)2.4 系统控制参数 (5)2.5 主要元器件的选取 (6)3 系统硬件设计 (24)3.1 主电路控制模块设计 (24)3.2 时钟电路模块设计 (24)3.3 温度检测模块设计 (24)3.4 温度显示模块设计 (25)3.5 继电器控制模块设计 (26)3.6电路原理图及电路板设计的原则和体会 (24)4 系统软件设计 (27)4.1软件设计方法 (29)4.2 主电路控制模块程序 (30)4.3 温度检测模块程序 (31)4.4 温度显示模块程序 (32)5 结论 (36)谢辞 (37)参考文献 (38)附录 (39)引言随着人们生活水平的不断提高,家居环境和休闲娱乐场所都安装各种各样的鱼缸,而保持一个适宜水族生活的环境是一件非常耗费精力的工作。
基于STM32智能鱼缸监控系统的设计一、本文概述随着物联网技术的飞速发展,智能家居成为了一个备受关注的新兴领域。
作为智能家居的重要组成部分,智能鱼缸监控系统的设计与实现不仅为鱼类的养殖提供了更为便捷和高效的管理方式,同时也为家庭用户带来了更为丰富和多样的观赏体验。
本文旨在介绍一种基于STM32的智能鱼缸监控系统的设计,通过综合运用传感器技术、嵌入式系统、网络通信等技术手段,实现对鱼缸水质、温度、光照等关键环境参数的实时监控与智能调控,以提高鱼类的养殖质量和生活环境,同时为用户带来更为智能和舒适的观赏体验。
本文将从系统的硬件设计、软件编程、网络通信、用户界面等多个方面进行深入探讨,以期为相关领域的研究与实践提供有益的参考和借鉴。
二、系统总体设计基于STM32的智能鱼缸监控系统的设计主要包括硬件设计和软件设计两大部分。
在硬件设计方面,系统以STM32微控制器为核心,通过外设接口与各种传感器和执行器相连。
传感器部分包括水温传感器、水质传感器(如pH值、溶解氧含量等)以及水位传感器,用于实时获取鱼缸内的环境参数。
执行器部分则包括水泵、加热棒、过滤器以及灯光等,用于根据环境参数的变化自动调整鱼缸内的环境条件。
系统还设计了人机交互模块,如液晶显示屏和触摸按键,方便用户查看鱼缸状态并进行手动控制。
同时,系统还预留了网络接口,以便将来实现远程监控和控制。
在软件设计方面,系统采用模块化编程思想,将各个功能模块独立出来,提高代码的可读性和可维护性。
主程序负责整个系统的初始化、任务调度以及异常处理等工作。
各个功能模块则根据任务需求进行相应的操作,如传感器数据采集、数据处理与分析、执行器控制等。
为了保证系统的实时性和稳定性,软件设计中还采用了中断服务程序来处理一些紧急任务,如水温过高或过低的报警处理等。
总体而言,基于STM32的智能鱼缸监控系统的设计旨在实现鱼缸环境的智能化监控和自动化管理,提高用户的使用体验并保障鱼类的健康生长。
基于单片机的智能鱼缸温控系统设计智能鱼缸温控系统是一种基于单片机技术的创新设计,旨在为鱼缸提供稳定的温度环境,以促进鱼类的生长和健康。
本文将详细介绍智能鱼缸温控系统的设计原理、硬件组成和软件实现,并对其在实际应用中的效果进行评估和分析。
一、引言随着人们对休闲娱乐生活的需求不断增加,养殖观赏鱼成为了一种越来越流行的养殖方式。
然而,不同种类的观赏鱼对水温要求不同,过高或过低的水温都会对其健康产生负面影响。
因此,设计一个能够自动调节水温的智能鱼缸温控系统势在必行。
二、设计原理智能鱼缸温控系统主要由传感器、单片机、执行器以及人机交互界面组成。
传感器用于实时监测水温,并将监测结果传输给单片机进行处理;单片机根据预设设定值与实际监测值之间的差异来判断是否需要调节水温;执行器负责控制加热器或制冷器的开关状态,以实现水温的调节;人机交互界面则提供了对系统参数进行设置和监测的功能。
三、硬件组成智能鱼缸温控系统的硬件组成主要包括传感器、单片机、执行器和人机交互界面。
传感器:系统采用高精度的水温传感器,能够准确测量鱼缸内水温,并将测量结果以数字信号的形式传输给单片机。
单片机:系统采用高性能的单片机作为控制核心,具有强大的处理能力和丰富的外设接口。
通过与传感器和执行器进行连接,实现对水温进行监测和调节。
执行器:系统根据单片机处理结果控制加热器或制冷器。
加热器通过加热元件将电能转化为热能,提高鱼缸内水温;制冷器则通过压缩循环原理将热量从鱼缸中排出,降低水温。
人机交互界面:为了方便用户对系统参数进行设置和监测,智能鱼缸温控系统还配备了一个直观友好的人机交互界面。
用户可以通过触摸屏或按钮等方式与系统进行交互,实现对温度设定值、工作模式等参数进行调整。
四、软件实现智能鱼缸温控系统的软件实现主要包括传感器数据采集、数据处理与控制策略、执行器控制以及人机交互界面。
传感器数据采集:单片机通过与传感器进行通信,实时获取鱼缸内的水温数据。
水族箱温度控制系统水族箱温度控制系统(一)系统的概述本系统以AT89C51单片机为控制核心的测控仪,主要是为了对水族箱内的温度控制而设计的。
该测控仪具有检测精度高、使用简单、成本较低和工作稳定可靠等特点,所以具有一定的应用前景。
(二)系统的要求本系统通过单片机AT89C51控制,用18B20数字温度计采集温度。
通过LCD 显示屏显示当前温度,当温度高于20℃,马达将带动风扇的转动,实现自动控制水族箱里的温度.并且随着温度每升高2℃,马达的转动速率提高一倍。
当检测到的温度高于25℃时,发出报警信号。
本设计将实现水族箱温度的自动化控制。
用protues软件绘制电路原理图,再根据电路原理图捍接电路板。
捍接的电路板实现温度的自动化控制。
(三)系统的主要模块1.本系统的主要组成部分本系统为一个全自动温度检测与控制系统,由以下几个部分组成:AT89C51单片机,温度检测,显示电路,马达,及报警装置等组成。
组成图如图1-1。
温度检测装置AT89C51显示设备马达控制报警装置图 1-1 温度自动控制主要组成部分由图1-1所示,本系统的核心部分是AT89C51,此芯片是该电路的枢纽。
由它先控制着温度的检测,用检测到的温度实现马达的自动控制,以及显示。
若检测到的温度高于设定的值,则发出报警信号。
2. 各部分的功能(1)AT89C51单片机:它是系统的中央处理器,担负着系统的控制和运算。
(2)温度检测装置:18B20数字温度计对水族箱内温度进行采集,将温度转换成数字。
(3)显示设备:主要是用于显示检测到的水族箱温度。
(4)马达:主要用于带动风扇的转动。
(5)报警装置:产生报警信号。
二、系统的硬件组成电路设计系统的硬件组成部分包括:主控制器AT89C51单片机、温度传感器DS18B20、显示电路LED、马达、报警装置等构成。
AT89C51连接各模块的主控制端口,初步选定将要运用到的电子元器件,再用Protues绘制原理图,再根据原理图捍接电路板。
水族箱智能控制系统的设计与实现刘大川;李钊合;孙淑杰;袁驰;张志佳【摘要】Based on the single chip computer,this paper described the design of a fish tank intelligent control system ba-sing on time control and multithreading technology. It adopts an arduino mega 2560 single chip computer as a processor of system to control temperature modular,water changing modular,time display modular,water condition modular and other modular. Totally,the system is based on time control,which uses a clock chip to provide the whole system time,and the system will run in the preset sequence. Unless actuate the trigger point,it will cycle infinitely. The system has the advanta-ges of various functions and low cost,and also can realize the intelligent control of aquarium.%本文基于单片机技术,设计了一套基于时间控制与多线程技术的水族箱智能控制系统。
通过一台arduino mega 2560单片机作为系统的处理器,控制控温模块,换水模块,时间显示模块,自动喂食模块,水位控制模块等。
总体基于时间控制,用时钟芯片提供整体的系统时间,系统按照预先设定好的时间顺序依次运行,除非触发中断点,否则无限循环。
本控制系统功能多、成本低,能够实现对水族箱的智能控制。
【期刊名称】《智能计算机与应用》【年(卷),期】2015(000)002【总页数】3页(P98-100)【关键词】水族箱;智能控制;单片机;多线程【作者】刘大川;李钊合;孙淑杰;袁驰;张志佳【作者单位】沈阳工业大学软件学院,沈阳110003;沈阳工业大学软件学院,沈阳110003;沈阳工业大学软件学院,沈阳110003;沈阳工业大学软件学院,沈阳110003;沈阳工业大学软件学院,沈阳110003【正文语种】中文【中图分类】TP230 引言随着人们生活水平的日益提高,家用水族产业规模的年增长率达到13.8%,且有逐年递增的趋势,而现有的智能水族箱大多智能化水平低,仍需要人们投入大量精力去管理,并且价格昂贵,结构复杂,容易损坏,令保持一个适宜水族生活的环境成为一件非常耗费精力的工作。
由此可见,智能水族箱的商业前景十分广阔。
市面上针对水族生活环境的净化和改善的设备有很多[1],目前市场上常用的鱼缸控制系统有:过滤器、加热器、增氧泵等改善水质的设备,但是却大多是非智能化单独工作的器件,同时多个单一器件机械化的组装之后,也存在一定的资源浪费,如果仅仅把多个单独的设备组成一套多功能的鱼缸控制系统,需要投入大量费用[2]。
本系统正是从智能控制的角度出发,用集成化的开发思路,集自动加热、水位加换水控制、供氧、自动喂食、定时照明于一体[3-5]。
现有市场上的智能水族箱产品大多是单一工作的独立系统,仅由简单的电路控制,实现基础的控制,并不能满足市场的需求。
本系统以一台arduino mega 2560单片机为核心,硬件设备为基础,软件控制为方式,实现对鱼缸的集中控制和管理。
系统的设计是在充分分析调查现有各类水族箱控制设备后进行的,本文从系统总体结构、硬件、软件等方面进行设计与论述。
1 系统总体设计系统总体基于时间顺序工作,其下分为以下几个功能模块:温度控制模块,水位控制过滤模块,自动/定时喂食模块,时间显示模块,定时/自动照明模块,定时增氧系统等模块,如图1所示。
这些子系统均受单片机控制,具有独立的信号检测输入以及模拟信号输出功能,结合单片机自身的数据储存电路,复位电路,运算电路,以及数码管显示电路,共同集成而构设为水族箱智能控制系统。
图1 系统模块示意图Fig.1 System module schematic系统的控制对象为水族箱,目的为实现水族箱的智能控制,提供自动管理的水族箱智能控制系统,设计时涉及的参数有水面高度、水温、环境光照强度等。
各种参数及其处理机制如表1所示。
表1 系统主要参数及处理机制Tab.1 Main parameters and system processing mechanism分析后控制加热棒的工作状态水面高度通过判断是否超限来控制两个水泵的开闭情况,从而控制水位喂食时间通过获取环境时间并比对来决定是否喂食环境时间时钟模块获取环境时间交由8位数码管模块环境光照强度在光照低时打开灯光(只在天黑后开启)系统参数相应的处理机制水温多点采集,增氧时间通过获取环境时间并比对来决定是否增氧本系统在使用过程中还有部分参数可以设置,具体有以下几个:定时照明时间,定时增氧时间,自动喂食时间和喂食量,这些参数可以通过手机使用蓝牙连接通信系统,在输入伴随系统提供的口令后进行设置,设置后对应系统自动按照参数设置进行运行,参数可随时通过手机进行修改。
本系统智能水族箱及控制系统布置如图2所示。
图2 智能鱼缸及控制系统布置示意图Fig.2 Aquarium and intelligent control system schematic diagram layout2 硬件设计系统的硬件设计分为数据采集、中央处理、通信三个主要部分,具体设计如下。
数据采集部分包括温度采集、水位采集、光强度采集,其中温度采集使用多个DS18B20模块进行多点温度信息采集,水位采集使用HC-SR04超声探测模块进行高度信息采集。
光强度通过一个BH1750FVI光强感应模块监测,使用的模块误差均不超过测量值的1%。
中央处理部分使用1台arduino mega 2560单片机作为中央处理器,该单片机以一个ATmega16u2为内核,其主要特点如下:具有54个I/O接口,4路UART,1路I2C总线,3种供电方式,4KB的EEPROM,其电路图如图3所示。
在系统中使用其9个引脚作为输入脚来接收传感器采集的数据,使用13个引脚作为输出脚控制效应装置,另使用一个引脚作为5V稳压电源输出。
图3 Arduino mega 2560电路图Fig.3 Arduino mega 2560 circuit diagram 通信部分用一个HC-05主从一体蓝牙模块来实现,该模块为民用级模块传输距离大约10cm-10m,符合系统利用手机蓝牙通讯及实现相应控制的需求,使用UART协议与单片机实施串口通信,模块由中央处理系统统一供电,在检测到设备接入后将信息传至单片机进行分析,在密码匹配正确后允许进行用户操作。
HC-05的电路图如图4所示。
图4 HC-05蓝牙模块电路图Fig.4 HC-05 Bluetooth module circuit diagram 3 软件设计系统软件流程以时间控制为核心,分为系统运行时间和环境时间两个部分。
流程如图5所示。
其中系统运行时间部分运用了中断控制思想,定时读取传感器采集的信息交由单片机运算,这些设备只受系统运行时间影响,与环境时间无关,温度设备5s采集一次,其他设备均10s采集一次。
环境时间部分主要为数码管提供时间信息,同时,控制需要定时开启的设备。
运行两个时间,由于抢占,会大大增加冲突可能,降低单片机的运算效能,甚至导致死机,所以系统利用了arduino mega2560位多线程芯片的好处,设计了多线程运行,基于时间片轮转调度算法,让两个时间以快速交替运行的方式模拟同时运行,这样减小了运行的冲突发生几率。
系统流程如图5所示。
系统软件设计中存在中断控制、多线程控制、用户控制与反馈、采集频度等几个关键问题。
具体可做如下论述。
(1)中断控制。
系统的中断控制是指在到达系统运行的特定时间点时,系统中止计时并切入中断函数中,待运行中断函数后,系统重新返回计时,同时继续运行,在进行软件设计时,并未将各个数据采集作为主程序,若将数据采集作为主程序,则会导致系统时刻都在进行数据采集,导致高速刷新,影响程序的流畅运行,直至死机,虽然用延时处理的方法可以解决该问题,但是这样却大大增加了程序的占空比,将显著影响处理效率和处理速度,容易导致处理延误从而造成错误。
(2)多线程控制。
系统使用多线程控制和中断控制并存的原因是系统并未使用单片机自带的时钟芯片而是使用了外接的时钟模块ds1307,这样可以获取年月日时分秒信息,从而做出独立于系统运行时间的真实时间,单片机多线程的基础是时间片轮转调度算法,这是最古老公平的算法,由于系统较为简单,并不涉及线程抢占和优先级操作。
采用多线程可有效避免系统运行时间计算和时钟模块提供的时间计算合理分配内存不冲突,时钟模块在接入后即开始工作,如果没有多线程会很快使时钟模块的效应器8位数码管的缓存溢出,从而使得数码管卡住,无法显示。
图5 软件流程图Fig.5 Software flow chart(3)用户控制与反馈。
系统由于受单片机运算能力所限,只向用户提供一部分控制功能,这种部分开放的方式可以有效避免因误操作或恶意操作所导致的系统故障,同时,系统并未考虑使用过多的外部显示设备,而是选择使用手机显示,这样可以减少成本,同时减轻了系统的处理压力,反馈的模式采用基本的询问—回答模式。
在处理反馈和控制操作前,用户需输入实现设定的口令,但鉴于系统安全级别不高,因此口令不进行加密,可直接使用明文存储,这样可以一定程度避免因恶意连接而导致的长时间占用。
(4)关于采集频度低的问题。
系统属于家居设备应用,对数据的需求量小,要求的实时程度低,没有必要进行过度高频的信号采集,所以系统确定的信号采集频度较低。
另外,本系统仅采用成本较低、能耗较小的单片机进行控制。
4 结束语以arduino mega 2560单片机为核心的水族箱智能控制系统可以使水族箱获得自动控制温度、自动控制水位、过滤、自动喂食、时间显示、灯光控制等智能控制功能,有效地降低了总体成本,并明显提升了水族箱的智能度,目前该系统仍有较大的可扩充性,具有较好的理论参考和使用价值。
参考文献:[1]葛华.鱼缸智能控制的设计与开发[J].科技资讯,2006(36):199-200.[2]丁惠忠.观赏鱼缸智能控制系统的设计[D].苏州:苏州大学,2007.[3]陈杰,郑纯军,丁开迪,等.基于ARM的智能鱼缸控制系统的设计与实现[J].软件工程师,2013(18):44-46.[4]王珍娟,宋正刚.鱼缸智能控制器的设计[J].甘肃科技,2012,28(9):72-74.[5]李克天,刘吉安,印波,等.基于AT89S52单片机的PID恒温控制系统的开发和实验研究[J].机电工程技术,2009,38(9):52-54.。