版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
题目智能光电豆芽机的设计摘要我国是最早生产和食用豆芽的国家,早在秦汉时期就有关于豆芽栽培历史的记载,在宋代以前,豆芽仅为药用,并未把其当作蔬菜食用,到了宋代豆芽才被作为蔬菜来用。随着社会经济的发展,人们生活水平的不断提高,消费者对于生产出的豆芽要求越来越高,这时家用豆芽机这种更加方便和健康的生产方式就受到了越来越多消费者的青睐。本文主要设计了一种基于AT89C51单片机为控制核心的智能光电豆芽机,使目前已有的豆芽机更加智能方便。本系统中软件设计采用了基于单片机的C语言应用程序编程实现本设计的全部控制功能,由温湿度传感器对数据信息进行采集后输送给单片机进行分析,当温湿度低于设定值下限时单片机控制系统中的加热管和雾化器进行加热加湿,使温湿度高于设定值下限。本文采用Proteus8.0软件对该控制电路进行了仿真,验证了该电路的可实现性。关键词:智能豆芽机;传感器;自动控制;单片机第1章前言目前我国豆芽的生产方式主要分为有两种,一是人工的培育,对于培育者的生产技术及其经验水平要求相对较高,在保证豆芽的正常生长和培育周期内,花费较多的人工和精力照看豆芽的正常生长,多数人并不具备该技术和时间。二是自动化培育系统,该生产方式主要是芽农为节省人工成本而制造的生产系统,其单体设备产量通常在千斤左右,并不能普及大众。为了保证人们每天都能真正吃得上健康放心的豆芽并更好的体验厨房的乐趣,本次项目设计的主要目的其实就是为用户设计一款小型家用的自动化智能光电豆芽机。本次设计的豆芽机最大的主要优点就是使用操作简单,性价比高,能够满足大多数家庭的需求。1.1课题研究的背景及意义现有的家用豆芽培养机基本可以分为商用自动培养豆芽机和家用豆芽机。商用豆芽机经过多年的实践和发展,培养种植豆芽的功能和豆芽培养模式越来越完善,基本可以轻松的实现豆芽的自动培养。但是近年来,市场上出现和销售的各种豆芽质量问题令很多人们感到担忧,所以现在人们越来越倾向于自己用单片机种植豆芽。家用小豆芽机技术是近年来进一步开发的新技术产品,属于家用智能小家电,根据了家庭生活和文化的需要来设计和满足家庭对豆芽的培养条件。本研究针对目前现有的家用豆芽机技术提出了四项改进技术。首先,根据不同的豆子对于温度的不同需求,采用了温度传感的检测模块和压力温度传感器的控制模块,在单片机的控制下实现了智能豆芽温度的自动调节。其次,针对目前现有家用豆芽机单位工作时间控制下种植出的豆芽数量少的问题,可以大幅度的提高豆芽机单位工作时间的产量;针对自动控制豆子的浸泡时间和耗水量的问题,本研究提出了改进技术的意见,通过单片机自动控制水泵,实现豆子浸泡;采用超声雾化模块控制豆类栽培过程中的湿度[5]。此次设计的智能光电豆芽机系统在恒温控制和人工环境下实现种子的均匀生长。豆芽生长现象一般在栽培后3天左右观察到。由于人工发芽时豆芽种子生长周期长,烂芽现象很快就会发生;但如果采用豆芽机生产,浸泡约3天后,待豆芽成熟,安全收获后可直接食用,不出现腐烂的豆芽,大大节省了劳动力,操作方便,人工种子浸泡约3天后,直接放在豆芽机的培养箱中。3-3.5天后,培育出来的豆芽将逐渐变白,变脆。1.2国内外发展现状检测是控制的基础和前提,而检测的精度必须高于控制的精确度,否则无从实现控制的精度要求,可以说在科学技术领域无时不在进行检测。科学技术的发展和检测技术的发展是密切相关的,现代化的检测手段能达到的精度、灵敏度及测量范围等,在很大程度上决定了科学技术的发展水平。(1)国外温度检测控制系统研究现状国外对温度控制技术研究较早,始于20世纪70年代。先是采用模拟式的组合仪表,采集现场信息并进行指示、记录和控制。80年代末出现了分布式控制系统。目前正开发和研制计算机数据采集控制系统的多因子综合控制系统。现在世界各国的温度测控技术发展很快,一些国家在实现自动化的基础上正向着完全自动化、无人化的方向发展。(2)国内温度检测控制系统研究现状我国对于温度测控技术的研究较晚,始于20世纪80年代。我国工程技术人员在吸收发达国家温度测控技术的基础上,才掌握了温度室内微机控制技术,该技术仅限于对温度的单项环境因子的控制。我国温度测控设施计算机应用,在总体上正从消化吸收、简单应用阶段向实用化、综合性应用阶段过渡和发展。在技术上,以单片机控制的单参数单回路系统居多,尚无真正意义上的多参数综合控制系统,与发达国家相比,存在较大差距。我国温度测量控制现状还远远没有达到工厂化的程度,生产实际中仍然有许多问题困扰着我们,存在着装备配套能力差,产业化程度低,环境控制水平落后,软硬件资源不能共享和可靠性差等缺点。进入21世纪后,特别在我国加入WTO后,国内产品面临巨大挑战。各行业特别是传统产业都急切需要应用电子技术、自动控制技术进行改造和提升。我国温度控制系统的发展大致经历了三个阶段。 第一阶段:基地式仪表。上世纪四十年代初,当时由于石油、化工、电力等工业对自动化的需要,出现了将测量、记录、调节仪表组装在一个表壳里的基地式仪表。如自力式温度调节器。基地式仪表一般结构简单,价格低廉,它们的功能仅限于单回路控制且控制精度低。 第二阶段:单元组合式仪表。随着大型工业企业的出现,生产向综合自动化和集中控制的方向发展,人们发现基地式仪表的结构不够灵活,不如将仪表按功能划分,制定若干种能独立完成一定功能的标准单元,各单元之间 以规定的标准信号相互联系,这 样仪表的精度可以提高。在使用中可根据需要,选择一定的单元,积木式地把仪表组合起来,构成各种复杂程度不同的自动控制系统,这种积木式的仪表就称为单元组合式仪表。以上两个阶段,无论是基地式仪表阶段,还是单元组合式仪表阶段,都是利用各种仪表对温度进行检测、调节、控制。对于较复杂的系统,难以实现复杂的控制规律,控制精度不高。 第三阶段:微机控制阶段。随着微电子技术的发展、大规模集成电路制造的成功和微处理器的问世、计算机性能价格比的明显提高以及微型计算机在工业控制领域中的应用,使得温度控制系统发展到微机控制阶段。微机控制系统取代模拟控制系统,克服了其调节精度差、可靠性不高的缺点。由于计算机具有高速的数据运算处理功能和大容量存贮信息的能力,使得此类系统稳定可靠、维护方便、抗干扰能力强,而且可以采用先进的控制算法以进一步提高控制性能。从温度检测控制系统的发展来看,以单片机为核心构成的温度检测控制系统已被国内外许多公司和单位作为研究对象,客观存在的硬件简单,软件丰富,能方便的实现现代化控制规律和多功能、性能优良、运行调试都很方便,且生产成本低廉,可加快设备的更新换代,已开始受到重视和欢迎,加之近年来,单片机的性能不断提高,而价格却逐年降低,所以单片机温度控制系统将具有广阔的发展和应用前景。在今后的温控系统的研究中会趋于智能化,集成化,系统的各项性能指标更准确,更加稳定可靠。1.3研究主要内容智能光电豆芽机是一款方便实用的小家电,是根据AT89C51单片机对系统进行的设计,此设计具有很大的实用性和较高的性价比,同时也具有完整且合理的功能,在使用时操作简单方便。该系统能够对豆芽机内的温度进行采集,利用温度传感器将豆芽机内温度的变化,变换成电流的变化,再转换为电压变化输入模数转换器,其值由单片机处理,最后由单片机去控制数码管显示器,显示豆芽机内的实际温度,同时通过比较,对豆芽机内的温度是否超过温度限制进行分析。如果超过预先设定的温度限制,温度检测系统自动对豆芽机内的温度进行控制。
论文的具体章节安排如下:
第1章前言:主要介绍论文的研究背景和意义以及本论文的主要研究内容。第2章系统方案设计:主要阐述控制系统可实现的功能,单片机、温湿度传感器、压力传感器、加热管和雾化器等器件的选择。
第3章系统硬件设计:主要阐述硬件电路的结构,先完成控制模块的电路设计,然后逐一进行其他模块的电路设计。第4章系统软件设计:主要阐述系统软件部分的设计。第5章系统仿真:完成对系统仿真的检测。
第2章系统方案设计现如今的家居生活对质量和功能的要求越来越高,更加的趋向于智能化,简单化,随着人们对于现代科学的认识和理解,大部分的体力劳动者都已经知道,如果他们的智慧跟不上这个时代的发展步伐,就有可能会被这个时代的逐步淘汰,所以人们现在更加努力的钻研自动控制和人工智能,此系统设计的目的就是通过自动控制原理实现智能化。2.1控制系统设计方案本设计的控制模块采用的使AT89C51单片机。AT89C51单片机作为该系统中的中央控制系统,是进行数据传输与分析的重要部分,温湿度检测模块和压力检测模块对数据进行采集后输送给控制模块进行数据分析,当豆芽机内的温度高于预设定值上限时控制模块对超声雾化模块进行控制使其进行雾化降温,当豆芽机机体内的温度低于温度下限时,控制模块对加热模块进行控制使其对环境进行加热,整体设计图如图2-1所示。显示模块显示模块温度检测模块控制模块湿度检测模块压力检测模块超声雾化模块加热模块按键模块图2-1整体设计框图系统的设计方案:(1)每次上电判断上次工作是否结束,如果结束则进入工作设置状态,未结束则显示上次工作状态。(2)控制温度设置工作温度状态,调节上下限的温度。(3)单片机不断接收温度传感器的温度信号,分析比较,如果温度过高则雾化降温,温度较低则加温水箱。(4)数码管显示实时检测的温度,可以直观的看到豆芽机内的温度,防止系统异常导致的高温或低温。(5)压力传感器实时检测压力,通过感应豆芽破壁及生长时对压力传感器的压力根据豆芽生长周期,判断豆芽是否生长至可食用高度。(6)湿度传感器实时监测豆芽机内湿度并通过数码管显示,湿度过高或过低时指示灯亮起。2.2元器件的选型 为了能够更好的实现智能光电豆芽机的自动控制和保持恒温的功能,元器件的选型很重要,主要元器件的选型包括单片机、温湿度传感器、压力传感器、加热器和雾化器的选型。2.2.1单片机选型方案一:AT89C51单片机为控制器件,是一种典型的嵌入式微控制器,由运算单元、控制器、存储器、I/O设备等组成。与常用的个人计算机微处理器相比,它强调自给自足(不需要外部硬件)和成本节约,具有体积小、可放入仪器、输入输出接口简单等优点。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的89C51是一种高效微控制器,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。方案二:STC15W401AS系列单片机是STC生产的单时钟/机器周期的单片机,是宽电压/高速/高可靠/低功耗/超强抗干扰的新代8051单片机,采用STC第九代加密技术,无法解密,指令代码完全兼容传统8051,但速度快8-12倍。ISP编程时5MHz
-35MHz宽范围可设置,可彻底省掉外部昂贵的晶振和外部复位电路。根据实际使用时操作简单的考虑选择使用方案一中的AT89C51单片机。2.2.2温度检测模块选型方案一:DS18B20数字温度传感,具有体积小、硬件成本低、坚固性强、精度高等特点,数字温度传感器DS18B20的接线舒适,可根据多种温度测量条件进行测量并且DS18B20在与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯。DS18B20数字式温度传感器的优点:(1)如果微处理器通过单总线接口连接到微处理器,则微处理器和DS18B20之间的双向通信可以通过单输入线进行。(2)测量温度范围广,测量精度高,范围为-55℃~+125℃,精度为±0.5°C。(3)对温度的测量可在没有任何外围温度传感元件的情况下准确进行。(4)多点同时连接的无线网络运行温度控制管理功能。几个DS18B20可以在三条温度单线上同时实现一个平行的温度连接,这样就完全全的可以在多个点上同时进行测量它的温度。(5)灵活的供电方式。DS18B20可通过内部寄生变压器电路由外部数据线供电,因此,如果内部数据线的电流和时间序列满足一定要求,则无法自动连接到外部电源,使系统结构更加简单可靠。(6)可配置测量参数。DS18B20的测量分辨率可以编程为9-12位。(7)压力温度计的正负压波动颠倒的基本特性。例如当一个负压驱动电源的两个极性电压发生较大颠倒时,温度计虽然可以不会因为电源产生的过大热量而直接发生点火燃烧,但不能正常可靠地进行工作。(8)防摔保护功能。DS18B20配备了集成的eeprom,在系统发生功率损失后保留了分辨率和温度报警信号以及温度的设定值。方案二:铂电阻温度传感器,铂金本身的特性,根据温度变化阻值变大与温度成正比对应的变化曲线为直线。因此通过阻值变化来显示温度的变化。其稳定性好,线性好(近似直线),误差小,但价格贵。温度范围在-200摄氏度到150摄氏度,适用于各种仪表,如发电厂,火车,飞机,汽车,医疗,工业电炉测温等需要温度误差小的行业,及精密仪器仪表。通过对两种传感器的对比,选择了方案一中成本较低的DS18B20温度传感器。2.2.3压力传感器模块选型方案一:压电式压力传感器主要基于压电效应(Piezoelectriceffect),利用电气元件和其他机械把待测的压力转换成为电量,再进行相关测量工作的测量精密仪器,它有很多优点:重量较轻、工作可靠、结构很简单、信噪比很高、灵敏度很高以及信频宽等等。但是它也存在着某些缺点:有部分电压材料忌潮湿,因此需要采取一系列的防潮措施,而输出电流的响应又比较差,那就要使用电荷放大器或者高输入阻抗电路来弥补这个缺点,让仪器更好地工作方案二:压阻式压力传感器是用ISO技术将半导体材料的敏感芯片封装在不锈钢波纹膜片的壳体中,在不锈钢波纹膜片和芯片之间充有硅油。当传感器处在压力介质中时,介质压力作用于波纹膜片上使使其中的硅油受压,硅油将膜片的压力传递给半导体芯片。芯片受压后使其电阻值发生变化,电阻信号通过引线引出。不锈钢波纹膜片壳体受到压力并保护芯片,因而压阻式压力传感器能在有腐蚀性介质中感应压力信号。压阻式压力传感器一般通过引线接入惠斯登电桥中。平时敏感芯体没有外加压力作用,电桥处于平衡状态(称为零位),当传感器受压后芯片电阻发生变化,电桥将失去平衡。若给电桥加一个恒定电流或电压电源,电桥将输出与压力对应的电压信号,这样传感器的电阻变化通过电桥转换成压力信号输出。通过对于使用环境较为潮湿情况的考虑,选择使用方案二的压阻式压力传感器。2.2.4加热模块选型方案一:电热丝进行加热的方式,电热丝我们比较常见的是铁铬铝丝和镍铬丝,然后根据不同的使用环境来选择牌号和丝径,像电窑、烘干箱等封闭式的电热容器常使用电热丝,电热丝成本低但是安全性没有电热管好。方案二:电热膜玻璃管进行加热,电热膜玻璃管的热能转换率100%,比电加热线少30%以上,比传统电加热系统少60%以上。超薄型(6mm以内)结构简单,不产生电磁波等对人体有害的物质,抗菌、防潮、隔音,由于远红外辐射热,使室温分布均匀,在不影响噪音和噪音的情况下,宽红外辐射对人体有好处,持续保持适宜的温度,不会过热,特制进口的保温防水水泥和胶布,保证了产品的防水性能,不存在泄漏、渗漏的隐患。通过对安全性方面的考虑原则使用方案二中的电热膜玻璃管作为加热装置。2.2.5湿度检测模块选型方案一:电阻式数字湿度传感器DHT11是改变电压或电流,对豆芽机机体内的湿度进行检测,其构造简单,比较容易实现大量生产,价位低,不必像电容式传感器一样要考虑引线间能量,因此可以把传感器随意拉伸,设计自由度较大,特性由于是对数变化,所以对于电阻变化温度变化小。方案二:电容式湿度传感器如果用引线延长传感器的话,电容值会变化,因此不适合延长传感器单体。如果组装进装置内的话,因为通过引线而改变位置比较困难,所以设计自由度较小。变化量比较小,但微小的电容变化会导致很大的误差,因此廉价的电容式传感器偏差较大。综上所述此系统的设计比较适宜使用方案一中的电阻式湿度传感器DHT11。2.2.6雾化模块选型方案一:超声雾化方式是利用电子高频震荡(振荡频率为1.7MHz或2.4MHz,超过人的听觉范围,该电子振荡对人体及动物无伤害),通过陶瓷雾化片的高频谐振,将液态水分子结构打散而产生自然飘逸的水雾,能够使空气湿润并伴生丰富的负氧离子,加湿强度大,加湿均匀,加湿效率高;节能、省电,耗电仅为电热加湿器的1/10至1/15。方案二:加热雾化方式其工作原理是将水在加热体中加热到100℃,产生蒸气,用风机将蒸气送出。所以电加热式加湿器是技术最简单的加湿方式,但是其缺点是能耗较大,不能干烧,安全系数较低、加热器上容易结垢。通过性能的比较,超声雾化方式能耗比加热雾化方式节省了90%,本设计选用方案一。2.3本章小结各个单片机模块的相互控制和联系通过对单片机的自动控制和联系来直接实现豆芽温湿度的采集和检测,通过单片机的数码管控制系统进行了实时检测所显示的温度和豆芽的湿度,并通过自动雾化和自动加热对豆芽温度的变化进行了控制,使豆芽的温度始终能够保持在一个适宜于豆芽生长的温度范围内。第3章系统硬件设计智能光电豆芽机的设计主要是使用AT89C51单片机进行控制,主要硬件控制部分由温度控制传感器模块、加热控制模块、超声波雾化控制模块、压力传感器控制模块和显示模块等部分组成,系统核心部分是AT89C51单片机,通过对温度传感器DS18B20和湿度传感器DHT11采集到的数据显示在数码管中,并对采集到的数据进行分析,是否在设定的温湿度范围内,如果超出设定值的范围系统就会进行显示,并自动进行控制,使温湿度回归设定值范围内。3.1单片机最小系统电路设计本控制系统以AT89C51单片机为主要的控制系统核心,分别与四个控制按键进行连接实现对温度范围的设置和对温湿度进行切换的控制功能,可以通过该系统对所处工作环境的温湿度变化进行自动检测,从而使温度检测系统通过相应的装置控制雾化器进行正常运行,当所处环境的温度控制值超过了温度设定范围的上限时,单片机通过控制系统对雾化模块的控制进行自动雾化降温,当所处环境的温度低于单片机温度的下限时单片机通过控制加热模块对进行自动加热。单片机的的控制电路P2.0引脚与数字温度控制器DS18B20连接,P3.5与湿度传感器DHT11相连接,P3.2、P3.3、P3.4、P3.6与四个控制按键相连接,P0.0到P0.7与显示模块的数码管相连接,P1.5与超声雾化控制模块相连接,单片机最小系统结构如图3-1所示。图3-1单片机最小系统晶振电路功能:利用晶体振荡器的频率非常稳定这个特点用晶体振荡器和附属电路搭成一个固定频率输出的振荡电路为系统提供时钟频率。本系统采用12MHz晶振的外部时钟电路方式,在晶振两端接2个30pf的陶瓷电容。这两个电容成为晶振的负载电容,它会影响晶振的谐振频率和输出幅度.复位电路功能:在系统开机上电时和出现死机或可能导致死机的异常情况(例如掉电、程序跑飞、进入死循环等)后,给系统的控制器件一个强制复位信号使其程序计数器归0,从而开始或恢复正常运行。其中C4是22uf/25V的电解电容,R5的阻值为10K,如图3-2所示为晶振电路和复位电路。图3-2晶振和复位电路设计3.2温度检测模块电路设计本设计系统主要采用的传感器是数字DS18B20温度传感器如图3-3所示,温度传感器对豆芽温度变化进行了检测,通过对于豆芽盘内部环境和水层温度的检测和监控功能来直接实现对豆芽盘内部温度的检测和控制,在单片机的豆芽盘和内部水层里面分别安装了DS18B20温度传感器接到了单片机的温度P3.5,单片机通过读取DS18B20的豆芽温度检测值数据来自动实现对豆芽温度的自动监测,当豆芽温度检测值低于单片机设置的温度下限时单片机进行温度控制继电器光耦二极管导通后控制电热膜通过玻璃管对豆芽内的水进行快速加热,当豆芽温度检测值超过设置的单片机温度上限时单片机进行温度控制继电器自动通电后控制磁铁吸附开关水泵自动开始正常工作,进行快速洒水和降温,此设计操作系统中单片机采用的是数字温度传感器DS18B20因为它采用的是单总线进行操作,与单片机微控制器的接口和驱动程序的连接和编写都较简单,同时它的优点是测量温度范围广(-55℃~+125℃)、测量精度高(+0.5℃),非常适合本设计系统高可靠、低驱动功耗的应用要求[4]。图3-3数字温度传感器DS18B203.3加热模块电路设计电热膜玻璃管是豆芽机内水的自动加热装置。对于一些金属加热器,它们不耐腐蚀,容易生锈,并且容易造成豆芽的严重污染。另外,用玻璃电热管加热豆芽机内的水,不仅可以有效消除这些缺点,而且由于玻璃管采用了豆芽水循环自动浇灌的加热方式,当豆芽中的水从玻璃电热管中自动经过的同时,还因为可以有效的使豆芽水均匀的使豆芽受热,从而使得水洒向豆芽时温度一致,保证豆芽正常生长。加热管模块由光电耦合模块来控制,实现电气隔离。将一个光电耦合模块接到单片机的P1.4口,当P1.4发出高电平信号时,开关闭合,加热管开始工作;当P1.4发出低电平信号时,开关关断,加热管停止工作。加热模块电路如图3-4所示。图3-4加热模块电路3.4超声雾化模块电路设计此系统中雾化模块的换能是本系统设计的重要换能部分,如图3-5所示,采用了超声雾化的方式对豆芽机机体内环境进行加湿。通过采用高压电控制的陶瓷超声波换能片将豆芽的电能直接转换为空气或机械产生的热能,使豆芽的吸水微粒转变为一种喷雾状的微粒,从而对豆芽产生喷雾,来有效降低豆芽的吸水率,表层温度和空气中的湿度。在设计中将超声雾化模块接到P1.5口,通过继电器来控制超声波雾化器的启动和关闭。当环境湿度高于预设定的湿度上限时单片机P1.5口给一个高电平时,表明三极管导通,使得三极管和继电器得电流被吸合,雾化器顺利地开始了工作,进行了雾化加湿,但是当给一个低电平时,雾化器开始停止了工作,停止了雾化加湿工作,从而使得湿度不再继续上升。led起到了指示灯的作用,方便了监测电路中雾化器是否在正常状态运行。图3-5超声雾化模块电路3.5压力传感器模块在电路的设计中将压力传感器部分分别接到P2.2,P2.3和P2.4串口,单片机通过接受到的信号来判断豆子是否生长至一定高度。当压力传感器返回的压力值高于判断阈值时,单片机P1.6口发出信号,指示灯点亮,表明豆子已经长高并可食用;当压力传感器返回的压力值低于判断阈值时,单片机P1.6口发出信号,指示灯熄灭,表明豆子未生长至可食用高度。图3-6压力传感器电路3.6显示模块电路设计湿度和与温度相关数值的动态显示系统采用四个共阴极数码管分别进行了动态显示,P0口数码管负责控制送入模块需要显示的数字,P1.0~P1.3分别负责控制要求模块动态显示的湿度和要求模块点亮的位,显示模块控制电路结构如图3-7所示。图3-7显示控制电路图3.7湿度检测模块电路设计系统中对湿度的检测采用的是DHT11数字温湿度传感器,如图3-8所示,湿度传感器位于豆芽机内壁,通过对湿度的检测防止豆子因水分过多而导致腐烂,无法健康生长。适度的上下限已经系统的湿度设定控制工作全部完成,湿度的控制下限为40%RH,湿度的控制上限可以设定适度为80%RH,当整个豆芽机内的室外湿度控制上限设定低于所系统设定的整个豆芽机内湿度的设定下限或者室内湿度上限高于所系统设定的整个豆芽机内湿度的设定上限时指示灯都会自动开始亮起,提醒应该进行注水或排水。图3-8湿度检测模块3.8按键电路设计该温度控制系统软件中的温湿度按键控制部分主要采用的控制方式是微动温度控制开关,从P3.2~P3.6口除P3.5外分别连接四个控制按键,作为对温度的上调设置开关键,温湿度的切换键,温度的上调设置键和温度的下调键。当温度设置开关键第一次按下时,就已经进入了对温度的自动调试模式,初始为进行了温度下限选项的调节,想要达到温度的上升一度就按下相应的加温度按钮开关键,想要达到温度下降一度就按下减温度按钮开关键;然后按一下温度设置键,进入了温度上限选项的调节,与过程中温度下限的选项和设置键操作方法一致,在过程中将温度的上下限键和温度调整选项设置完毕以后,按下温度的设置键即可退出,这样温度的上下限就设置完成了,按下温湿度的切换键即可进行湿度的自动显示,如图3-9所示。图3-9按键电路3.9本章小结本章主要是介绍了该豆芽机系统主要使用的单片机和硬件控制部分,豆芽机的控制部分中心之一是豆芽机采用了先进的单片机技术进行硬件控制,并且详细介绍了如何将豆芽机的压力传感器,温度传感器,湿度传感器和雾化器等相关元器件的连接能够正常运行起来构成一个完整的系统,各模块运行的条件及电路原理图做出了详细说明。第4章系统软件的设计在该系统中,软件部分设计采用C语言编程,通过将整个软件程序设计划分成若干个模块进行设计,这样对于软件初学者或者对软件编程了解较少的人而言更为简单方便,同时在后期的软件调试时更容易查找问题和修改问题。此外,在本次课题研究中,C语言程序的编程是使用Keil软件进行编写的。Keil软件因其简单易学的特点得到了大多数人喜爱,一个好的开发系统可以让复杂的工作变得简单,所以在本次研究中所有的软件编程部分都是通过Keil进行的。4.1系统主程序设计此外在单片机的主控制系统内主要包含的是包括温度检测控制模块、湿度传感器运行控制模块部分的子控制程序、压力传感器的启动控制管理子程序、超声雾化模块的子程序、加热模块的控制子程序、用于单片上电机控制按键启动控制模块输入输出部分的控制子程序和。不同的功能通过不同的程序来实现,但程序之间又彼此联系相互控制,主程序流程图如图4-1所示。检测设备加载驱动检测设备加载驱动系统初始化是否有中断传感器采集信息数据分析是否超出设定值范围指示灯亮起YYNN处于设定值范围内系统开始结束图4-1主程序流程图4.2温度检测模块程序设计此系统内的数码管温度电压信号检测和显示信号输送功能主要通过温度传感器DS18B20来设计和实现,通过将数码管的温度检测信息转换为温度电压的显示信号,然后再将温度电压信号转化为温度数字信号,最后将温度和显示信号连接在一个数码管上,当温度高于设定的温度上限值时单片机控制雾化模块进行降温,当豆芽机内水的温度低于预设定的温度下限时则启动加热管对豆芽机内的水进行加热,温度检测部分的子程序如图4-2所示。温度温度传感器启动温度是否超过上限采集温度信息控制模块启动YN系统开始结束图4-2温度检测子程序4.3湿度检测模块程序设计湿度传感器位于智能光电豆芽机的内部,它主要用于控制和检测智能光电豆芽机内部的湿度,当豆芽机的湿度控制值低于或超过已经传感器设定好的豆芽机湿度控制值下限或上限时指示灯就自然会关闭或亮起,湿度检测的子程序结构如图4-3所示。湿湿度传感器启动湿度是否超过80%或低于40%采集检测数据指示灯亮YN结束系统开始图4-3湿度检测子程序4.4加热模块程序设计在此智能光电豆芽机中是使用电热膜玻璃管对环境进行加热,系统中的温度传感器实时的对豆芽机内的温度进行检测并将信息输送给单片机进行判定,当豆芽机内的温度低于设定的温度下限时单片机对加热模块进行控制,启动电热膜玻璃管对环境进行加热,直至温度高于所设定的温度下限值,加热模块子程序如图4-4所示。温度温度传感器启动温度是否低于温度下限采集检测数据电热膜加热管启动YN结束系统开始图4-4加热模块子程序4.5超声雾化模块程序设计此系统中的降温方式是使用超声雾化器进行雾化降温,如图4-5所示,系统中的温度传感器实时的对豆芽机内的温度进行检测并传送给单片机进行判定,当豆芽机内的温度超过设定的温度上限时单片机对雾化模块进行控制,启动超声雾化器对环境进行雾化降温,直至温度低于所设定的温度上限值。温度温度传感器启动温度是否超过温度上限采集检测数据超声雾化器启动YN结束系统开始图4-5超声雾化模块子程序4.6压力检测模块程序设计压力传感器主要位于培育豆芽简内壁,培育盘上方,在豆芽机内进行压力感应检测的过程中,豆子生长出一个胚芽,豆子膨胀出胚芽并生长至一定的高度时后会直接触及得到一个安装在培育盘和豆芽机内壁上方的压力传感器,通过单片机对传感器输送的信号进行识别判断豆子是否已经生长至可食用的合适高度,压力检测模块子程序如图4-6所示。压力压力传感器启动压力阈值是否超过101采集检测数据指示灯亮YN系统开始结束图4-6压力检测模块子程序4.7显示模块程序设计该系统中显示模块部分是使用四位七段数码管进行数据的显示,七段数码管是一类价格便宜,使用简单,通过对其不同的管脚输入相对的电流,使其发亮,从而显示出数字能够显示时间、日期、温度等所有可用数字表示的参数的器件。系统中温湿度传感器对豆芽机内的温湿度进行实时检测后通过单片机的控制在数码管中显示出来,如图4-7所示。开始开始系统初始化数据采集读取数据显示数值结束图4-7显示模块子程序4.8本章小结本章节的内容主要是对系统的软件部分进行了介绍,系统的整体运行流程通过主流程图的展示来进行了解,再对各个部分模块的运行流程进行分析,通过程序的编写封装实行对各个模块的控制。第5章系统仿真通过自动实现系统硬件的整体设计与软件系统内部软件设计的相关性结合来有效地自动完成此软件系统的整体设计,软件的部分对系统硬件的部分及其设计过程进行了自动控制,硬件部分能够对基本信息进行设置,采用Proteus8.0仿真软件对系统电路进行仿真,通过写入程序采集数据并对硬件部分进行控制,自动进行雾化降温和加热来保持恒温。5.1系统仿真在使用Proteus8.0软件进行仿真前需要先进行单片机中文件的导入,现在桌面找到文件打开,如图5-1选择文件。图5-1选择文件单击打开键后点击图5-2中的确定键,完成了文件的导入后就可以进行电路的仿真。图5-2文件导入本设计采用Proteus8.0仿真软件对系统电路进行仿真。设计中豆芽机主要使用系统器件有温度传感器、湿度传感器、加热器件、压力传感器和超声波雾化器等,这些器件相互连接起来后就构成一个完整的控制系统,豆芽机的各项功能就由这些元器件相互控制来实现,如图5-3为智能光电豆芽机的仿真图。图5-3电路仿真图5.2压力检测模块压力感应模块位于培育简内壁,判断豆子是否生芽。在仿真中,我们假设初始压力阈值为102KPa。当压力传感器返回的压力值高于判断阈值时,指示灯点亮,表明豆子已经发芽;当压力传感器返回的压力值低于判断阈值时,指示灯熄灭,表明豆子未发芽。仿真结果如下图所示:图5-4豆子发芽状态图图5-5豆子未发芽状态图5.3显示模块在正常工作状态下,数码管准确显示豆芽生长的环境温度,其数值与温度传感器读取数据相一致。仿真结果如下图所示:图5-6环境温度为25℃时仿真结果图5-7环境温度为35℃时仿真结果5.4系统功能仿真(1)自动保湿恒温装置为了更好的达到自动调节保湿恒温,保证豆芽生长质量的主要目的。首先我们需要设置一个豆芽生长的环境温度控制范围,一般为23℃~32℃。其中当水温和环境的温度都低于23℃时,电热管开始正常工作,环境的温度开始上升;另外当水温和环境的温度高于32℃时,超声雾化器开始工作,环境温度开始下降,从而达到保湿恒温的功能。①当豆芽机内的温度为25℃时的仿真图如图5-8所示,电热管和雾化器都没工作。图5-8豆芽机内温度为25℃仿真图②环境温度降低至22℃时的仿真图如图5-9所示,加热管已经开始加热工作,红色LED灯表示电热管的工作状态。图5-9豆芽机内温度为22℃仿真图③如图5-10所示为环境温度达到35℃时进行的仿真,雾化器开始工作,蓝色LED灯表示雾化管的工作状态。图5-10环境温度为35℃仿真图(2)按键装置设置温度上调键再次按下后,就已经进入了温度调试模式,先对温度进行调试设置的是环境温度的下限,通过选项的调节,按动一下上调键,温度就会上升一度,按下下调键,温度就会下降一度,以此为例来说明如何进行环境温度的调整和设置,在环境进行温度仿真时把环境温度的下限调整为25℃,当仿真环境温度24℃时,如图5-11所示,此时加热管已经开始工作。图5-11环境温度为24℃温度下限为25℃仿真图再按一下设置键,进入温度下限选项调节。仿真时我们把温度上限调整为30℃,当环境温度31℃时,如图5-12所示,此时雾化器已经开始工作。图5-12环境温度为31℃温度上限为30℃仿真图5.5本章小结本章对系统软件部分如何调试,温度上下限如何设置进行了介绍,豆芽机内的温度低于预设置的温度下限时单片机控制加热管进行加热工作,当豆芽机机体内的温度高于预设置的温度上限时单片机控制水泵进行自动淋水工作,实现豆芽机的自动检测和保持恒温的作用。结论本论文是对智能光电豆芽机的设计研究,在对此系统设计的过程中先是查阅了大量的文献资料,对系统的整体设计方案进行了选择与确定,通过查阅资料充分的了解单片机和其他元器件的工作原理和了解其所能实现的功能,然后进行了硬件设计,软件设计和系统仿真。本设计能够实现以下功能:(1)豆芽机可以实现人工随意设定温度的上下限,通过对豆芽机内温度的变化进行检测判断从而实现自动控制雾化降温或自动加热,使其温度自动控制在设定范围内。(2)通过豆芽机管壁上方的压力传感器检测可以在豆芽生长至适宜高度时及时停止系统工作。(3)通过单片机与数码管的相结合,豆芽机的温湿度得以显示,使系统更加完善。(4)在实现系统设计的前提下考虑了豆芽机结构的简单化降低了成本,对于普遍家庭具有较高的实用性。在今后的发展中还可以进行更加完善的优化,使其功能更加强大,主要优化方面如下:(1)可以在培育豆芽的基础上进行改进,能够利用豆芽机制作其他需要恒温环境进行制作的食材,如酸奶。(2)采用进口材料进行制作,降低运行中产生的热量。(3)温度采集检测时不受外界温度的干扰。参考文献[1]刘婷.传感器设计中应用单片机技术的分析[J].数码设计,2017,6(09):85.[2]陈苏佳.一种能快速使豆芽生长的豆芽机[P].中国专利:CN107306785A,2017-11-03.[3]Jung,Ioliquirtigenininduceapoptsisbydepolarozingmitochondrialmembranceinprostatecancercells[J].TheJourmnalofNutritionalBiochemistry,2007,10:689-696.[4]冯林节.智能豆芽机[P].中国专利:CN106793759A8,
2017-10-24.[5]陈龙.智能光电家用豆芽机研究[D].山东建筑大学.2018.[6]保栋梁.基于半导体制冷片温度控制的新型智能豆芽机研发[D].苏州大学.[7]李阳光.
太阳能自动豆芽机发明设计探讨[J].
科技风,
2018(20):8.[8]张建兴,任沁,王州强.基于单片机技术的温度控制系统设计与实现[J].信息与电脑(理论版),2018(15):99-101.[9]姚越,吴庆宝.关于单片机技术应用的研究[J].科技资讯,2018,16(09):112-113.[10]王红霞.
小型作坊实用豆芽机[J].农村百事通,
2014(07):55.[11]杨德坤.单片机技术在传感器设计中的应用[J].电子测试,2018(18):127+140.[12]李福成.试论单片机技术在电气传动控制系统中的应用[J].湖北农机,2018(07):51.[13]李聪.
一种恒温培养豆芽机[P].中国专利:CN210017328U,2020-02-07.[14]于立梅,钟惠曾,于新,等,大豆发芽过程中营养成分变化规律的研究[D].中国粮油学报,2010,25(8):19-22.[15]郝一生.豆芽菜:益寿菜[D]湖南农机,2006.(6)30-30.[16]ZhangJ.AssessmentonDronghtToleranceofErucasativaGenotypesfromNorthwesternChina[J].CirqlPtyLtd,2012.致谢在哈尔滨石油学院的四年大学时光匆匆而过,忽然想起刚上大学时对大学生活的向往和激情,转眼间四年大学时光已经过去,而我也即将毕业。走的最快的总是时间,来不及感叹,大学生活已近尾声,四年的努力与付出,随着本次论文的完成,将要划下完美的句号。饮其流时思其源,成吾学时念吾师。本课题是在老师的直接指导和同学帮助下完成的,在完成本文的过程当中遇到了很多的困难。老师给了我许多耐心细致的指导,让我学会了很多的东西,特别是怎么把理论的东西变成自己的知识,把理论的东西怎么结合实际,在这方面我受益很大,体会很深。在此对所有老师表示衷心感谢!在设计本产品中,同学也给了我很多的帮助,在早期我不会熟练使用proteus这个软件,是同学教了我不少操作的技巧,让我能更快的掌握好这个软件,在电路设计和程序设计中,也给了我很大的帮助,感谢他们在这段时间对我学习及生活的关心,感谢岁月,于世间欢愉与悲苦,许以宽宏。在大学四年期间,我的身边始终围绕着家人、老师、同学和朋友,他们的关爱和无私的帮忙使我度过艰难,顺利地完成大学的所有任务。回首以前,往事犹如昨日,他们的关心帮忙是我不能忘却的完美回忆,路漫漫其修远兮,吾将上下而求索,我愿在未来的学习和研究过程中,以更加丰厚的成果来答谢以前关心、帮忙和支持过我的老师和同学。在此,向所有支持过我的人表示最衷心的感谢。附录/*************************************************************文件名称:DS18B20.C*功能描述:18B20驱动程序,DQ为数据口,上拉4.7k电阻,接于P3.4*11.0592M晶振,*************************************************************/#include<reg51.h>#include<intrins.h>#include<Absacc.h>#include<Dtube.h>#include<HEAT.h>#include<relay.h>#include<key.h>#include<Mydealy.h>#include<MPX4115.h>#include<DHT11.h>#defineucharunsignedchar#defineuintunsignedintsbitdq=P3^5;sbitPRE=P1^6;sbitHUMI=P1^7;bitflag;uintTemperature;uchartemp_buff[9];//存储读取的字节,readscratchpad为9字节ucharid_buff[8]; //readromID为8字节uchar*p;bitfg=1;unsignedcharflag_change=0;unsignedchartempL=0; //设全局变量unsignedchartempH=0;unsignedcharhumiH=0x50; //设全局变量unsignedcharhumiL=0x28;unsignedintsdata; //测量到的温度的整数部分unsignedcharxiaoshu1; //小数第一位unsignedcharxiaoshu2; //小数第二位unsignedcharxiaoshu;unsignedcharcodeLed[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};unsignedchardataDispbuff[]={0x00,0x00,0x00};/*************************************************************Function:延时处理*************************************************************/voidTempDelay(uintus){ while(us--);}/*************************************************************Function:显示程序************************************************************/voidDisplay(){if(countSet==0)//显示实际的测试温度{ if(flag_change) { Dispbuff[0]=sdata/10; //百位 Dispbuff[1]=sdata%10; //十位 Dispbuff[2]=xiaoshu1; Disshow(1,Dispbuff[0]); Disshow(2,Dispbuff[1]); Disshow(3,0x10); Disshow(4,Dispbuff[2]); } else { Dispbuff[0]=U8RH_data_H/10; //百位 Dispbuff[1]=U8RH_data_H%10; Disshow(1,Dispbuff[0]); Disshow(2,Dispbuff[1]); Disshow(3,0x10); Disshow(4,0); } }elseif(countSet==1)//显示设置的温度下限{ Disshow(1,0x0a); Disshow(2,0x0a); Disshow(3,SetL/10); Disshow(4,SetL%10);}elseif(countSet==2)//显示设置的温度上限{Disshow(1,0x0b); Disshow(2,0x0b); Disshow(3,SetH/10); Disshow(4,SetH%10); }}/*************************************************************Function:18B20初始化*************************************************************/voidInit18b20(void){ dq=1; _nop_(); dq=0; TempDelay(86); //delay530uS _nop_(); dq=1; TempDelay(14); //delay100uS _nop_(); _nop_(); _nop_(); if(dq==0) flag=1; //detect1820success! else flag=0; //detect1820fail! TempDelay(20); //20 _nop_(); _nop_(); dq=1;}/*************************************************************Function:向18B20写入一个字节*************************************************************/voidWriteByte(ucharwr)//单字节写入{ uchari; for(i=0;i<8;i++) { dq=0; _nop_(); dq=wr&0x01; TempDelay(5);//delay45uS//5 _nop_(); _nop_(); dq=1; wr>>=1; }}/*************************************************************Function:读18B20的一个字节*************************************************************/ucharReadByte(void)//读取单字节{ uchari,u=0; for(i=0;i<8;i++) { dq=0; u>>=1; dq=1; if(dq==1) u|=0x80; TempDelay(4); _nop_(); } return(u);}/*************************************************************Function:读18B20多字节读*************************************************************/voidread_bytes(ucharj){ uchari; for(i=0;i<j;i++) { *p=ReadByte(); p++; }}/*************************************************************Function:读取温度*************************************************************/voidGemTemp(void){ tempL=ReadByte(); //读出温度的低位LSB tempH=ReadByte(); //读出温度的高位MSB if(tempH>0x7f) //最高位为1时温度是负 { tempL=~tempL; //补码转换,取反加一 tempH=~tempH+1; fg=0; //读取温度为负时fg=0 } sdata=tempL/16+tempH*16; //整数部分 xiaoshu1=(tempL&0x0f)*10/16; //小数第一位 xiaoshu2=(tempL&0x0f)*100/16%10; //小数第二位 xiaoshu=xiaoshu1*10+xiaoshu2;}/****************
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 电子化档案管理方案手册
- 造价咨询企业内部管理制度
- 某区塔台住宅楼工程施工测量方案未选中
- 鸡西市恒山区2025-2026学年第二学期四年级语文第七单元测试卷(部编版含答案)
- 白山市抚松县2025-2026学年第二学期五年级语文第八单元测试卷(部编版含答案)
- 通辽市霍林郭勒市2025-2026学年第二学期三年级语文第七单元测试卷(部编版含答案)
- 和田地区民丰县2025-2026学年第二学期四年级语文第八单元测试卷(部编版含答案)
- 日照市五莲县2025-2026学年第二学期五年级语文第八单元测试卷(部编版含答案)
- 昌都地区芒康县2025-2026学年第二学期五年级语文第八单元测试卷(部编版含答案)
- 第4课 设计毕业纪念册教学设计小学信息技术重大版六年级下册-重大版
- 数据变化趋势的刻画课件2025-2026学年冀教版数学八年级下册
- 教育强国建设三年行动计划(2025-2027年)
- 20S515 钢筋混凝土及砖砌排水检查井
- 2026季华实验室测试中心招聘5人(广东)笔试参考题库及答案解析
- 2026年吉林四平市高职单招英语试题含答案
- 2026年山区复杂地形无人机起降点选址技术指南
- 2026届苏锡常镇高三语文一模作文评分细则及标杆文:卓越源于有目的、有反馈的重复
- 《必背60题》 区域经济学26届考研复试高频面试题包含详细解答
- 律所反洗钱内部控制制度
- 2026春人教版(新教材)小学美术二年级下册《天然的形态》教学设计
- 软件系统平台运营方案
评论
0/150
提交评论