【《基于STM32F103C8T6单片机的酒窖温室控制系统设计》7400字】_第1页
【《基于STM32F103C8T6单片机的酒窖温室控制系统设计》7400字】_第2页
【《基于STM32F103C8T6单片机的酒窖温室控制系统设计》7400字】_第3页
【《基于STM32F103C8T6单片机的酒窖温室控制系统设计》7400字】_第4页
【《基于STM32F103C8T6单片机的酒窖温室控制系统设计》7400字】_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

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

文档简介

绪论1.1课题研究的背景酒作为一种具有保健功能以及消愁功能的含酒精饮品,被广大群众所钟爱。对于消费者来说,饮品的高质量性是至关重要的。对于生产酒的工厂来说,要想能够获得高品质的酒,不仅要讲究酿酒的工艺,还要为酒提供一个优良的存储环境。为了让酒能够拥有持久的口感,酒厂通常会将酒放到酒窖中存放。酒能否贮存的好,环境是非常重要的影响因素之一。酒类收藏家们认为,13摄氏度左右且相对湿度长期维持在50%~70%是酒最好的储存环境,就葡萄酒储存条件来说,气温的升高能够加速酒的成熟速率,而成熟速度过快不仅会使酒的味道发生变化而不再细腻,还可能会引起过度氧化而导致酒的口感变质。湿度的变化主要时影响软木塞干燥或潮湿状态。相对湿度太低会造成软木塞风干的后果,从而影响密封效果,湿度太高会使得软木塞出现霉菌,进而导致酒的风味发生严重不好的变化。由此可见,温度和湿度对酒的酿造的质量起着至关重要的作用。1.2国内外研究现状就目前看来,对温室环境的智能监测系统研究的数据相对于酒窖温室监测系统的研究数据来说是很多的。虽然酒窖温室研究数据少,但是可以从温室环境的监测系统中看到酒窖温室控制系统的前景并且可以从中学习相关技术。在国外,温室控制技术能够得到发展得益于各国在20世纪30年代先后建立的人工气候室。而国内计算机控制技术应用在农业领域是在70年代中期。上世纪90年代中后期,在位于江苏省常州市的江苏理工大学里由李萍萍等人共同努力探究出的的温室控制系统,是目前国产化温室计算机控制系统的重要研究成果。2001年,国家"863"计划包括研制可控环境自动控制系统、信息数据自动采集系统等"可控环境农业生产技术"。由此可见,在温室控制系统这方面国外的确早于国内。1.3课题研究的意义传统的酒窖通常是人工测量存储环境并根据实际情况采取相应的措施。数据测量分析的工作量大但是人力资源并不能充分的被利用。从这方面来看酒的酿造非常需要研究并开发基于STM32F103的酒窖温室监控制系统。对酒储存的环境进行监控即对温湿度的监控,既保证酒的高质量性,又可以降低维护费用。使用STM32单片机设计酒窖温室控制系统,可以实时准确地反映酒窖内的温湿度变化。可以实现各种控制模式,比如根据酒的存储条件将温度升高或降低到设置限值之内,在湿度控制方面也是如此。若想要让酒处于非常优良的环境下酿出更好的风味,毫无疑问,此系统是最好的选择了。由此可见,这个系统在生产实际中具有非常重要的意义。2系统方案2.1设计的相关功能(1)本次设计通过利用温湿度传感器DHT11来对酒窖的温湿度数据进行采集,再由STM32单片机收集相关数据;(2)STM32单片机将接收温湿度传感器DHT11发送的数据并对数据进行分析和处理,然后再将向LCD1602液晶显示器传输DHT11已经采集到的数据;(3)通过LCD1602液晶显示屏完成温度和湿度数据的一个实时监测;(4)根据酒的存储条件设置温度湿度上下限,接入蜂鸣器后根据实时监测数据,若不在设置的限值之内则进行越限报警;2.2设计思路电路主要由STM32单片机、DHT11、1602液晶屏、报警模块、加热片、加湿器以及风扇构成。将STM32单片机作为本次设计的核心模块,温湿度传感器DHT11会首先采集酒窖内温湿度的数据,然后会将采集到的数据传输到STM32,STM32接着会将接收到的信息传输给LCD1602液晶显示器,最后由LCD1602液晶屏将接收到的信息显示出来。此时蜂鸣器会因温湿度上下限的设置而选择是否发出报警。DHT11传感器用于对酒窖温湿度信息数据进行采集,STM32F103C8T6单片机可直接跟它连接在一起。LCD1602液晶显示器是直插型的,可以直接跟STM32单片机连接起来。详细操作是:首先依照原理图将温湿度传感器、LCD1602液晶显示屏、蜂鸣器以及加热加湿、降温降湿等模块与STM32单片机连接在一起。然后监测采集到的实时温湿度的数据,根据上下限的设置而触发蜂鸣器发出滴的声音。2.3器件选择2.3.1传感器的选择方案一:温度传感器DS18B20和湿度传感器HS1101这两个模块作为本次设计温度和湿度的数据采集模块。温度传感器DS18B20的测量范围为-55℃~125℃,-10℃~85℃,误差允许在-\+0.5℃之间。湿度传感器HS1101的湿度测量维度在0%~100%RH之间。误差允许在-\+2%RH。方案二:只选择DHT11这一个模块作为本次设计的温湿度检测模块。DHT11对温度的测量范围是0℃~50℃,测量精度为-\+2℃;湿度测量范围为20%~90%RH,测量精度为-\+5%RH。通过以上分析,方案一对于方案二来说模块数量要多一个,空间存在浪费但是对温湿度的数据测量是有较高精度的。方案二只选用了一个模块,节约了资源。并且方案二方便操作,稳定性也相对高很多。结合各方面来看,方案二的性价比要远高于方案一。因此,选择方案二是一个非常好的选择。2.3.2单片机主芯片选择此次设计选用STM32单片机而不选用51单片机的原因如下:(1)在库函数方面,STM32有着非常非常丰富的函数库,可以直接对库函数进行使用,而51单片机由于函数库的匮乏在程序编写方面要比STM32单片机慢一点。(2)在运行速度方面,STM32系列单片机工作频率可以高达72MHz,而普通的51单片机运行速度较慢。(3)在资源方面,相对于51单片机来说,STM32的内部资源要多的多。STM32在程序编写方面会因此有着更多的选择,凭借其丰富的内部资源,STM32单片机可以说能够与计算机的CPU站在同一高度了。2.4总体设计框图根据系统功能的具体要求,在确保系统功能可以实现的基础上,尽可能降低系统的成本。初步确定的系统方案如图2-1所示LCD1602液晶显示屏LCD1602液晶显示屏STM32F103C8T6单片机温湿度温湿度传感器DHT11按键设置报警上下限按键设置报警上下限继电器继电器报警模块报警模块图2-1系统方案3系统硬件设计3.1概述此系统主要由STM32单片机、DHT11、1602液晶屏、报警模块、加热片、加湿器以及风扇构成。以STM32F103C8T6单片机最小系统作为核心电路,通过温湿度传感器DHT11对酒窖的温湿度数据进行一个采集,然后将采集到的数据以信号方式传输给STM32单片机。STM32再将数据传输给1602液晶屏,达到一个显示数据的目的。蜂鸣器再根据数据是否越限进行一个报警处理。随之加热、加湿、风扇模块会做出相对应的处理,从而对酒窖温湿度达到一个控制的效果。3.2STM32F103C8T6简单介绍图3-1STM32F103C8T6核心板供电:从上图可以看出STM32F103C8T6核心板有一个MircoUSB接口,可以通过该接口对其进行一个供电操作。核心板上可以清楚的看到5v、G、3.3这三个字样,而单片机供电电压为3.3V。如果供电电压为3.3V则可以对其直接供电,如果没有3.3V电压也可以通过5V电压对其供电,当供电电压为5V时需要经过板子背面的LDO稳压芯片,将供电的5V转换成3.3V从而进行供电。晶振:晶振通过利用晶体可以将电能转化成机械能、机械能转化成电能的能力达到提供稳定而又准确的振荡效果,图上的RTC晶振适用于时钟电路,晶振所提供的时钟频率与单片机的运行速度成正比。核心板上的晶振一般会采用8M的晶振指示灯:从上图可以看出RTC旁边有两个指示灯,分别为PWR和PC13。如果供电正常,PWR指示灯会亮,PC13在编程时属于运行指示灯,与PC13引脚相连接。当PC13处于低电平时,PC13指示灯会亮。3.3DHT11传感器模块设计3.3.1DHT11特点图3-2温湿度传感器DHT11温湿度传感器DHT11工作电压范围为3.3V~5.5V。STM32F103C8T6单片机供电电压为3.3V或者5V,是可以对其驱动的。工作电流平均为0.5mA,并不高。对湿度的测量范围为20~90%RH,对温度的测量范围是0~50摄氏度。酒窖对温度以及湿度的要求范围被包含于DHT11温度以及湿度的测量范围,因此将温湿度传感器DHT11应用到酒窖温室控制系统中是一个很正确的选择。(1)引脚介绍:图3-2中引脚从左至右依次为pin1、pin2、pin3、pin4pin1(VCC):电源模块引脚,供电系统电压为3.3~5.5V。pin2(DATA):串行数据,单条总线。pin3(NC):空脚,不用接。pin4(GND):地面终端,负电源。(2)接口说明:当连线长度少于20m时,可以采取上拉5k的电阻方案,而当连线长度大于20m时应根据实际情况做出相应的处理。(3)数据形式温湿度传感器DHT11采用的数据格式是单总线,即单个数据引脚端口完成输入输出双向传输,同时也属于半双工通信。其数据包是由5字节即40个位构成,其中数据又分为小数部分和整数部分,输出方式为高位先出。温湿度传感器DHT11的数据格式为8位温度整数数据+其8位小数部分+8位湿度整数数据+其8位小数数据+8位校验和。其中校验和数据是由前四个字节相加得来的。由于传感器输出的是未编码的二进制数据所以温度与湿度,整数与小数之间都需要分开来进行处理。(4)时序图3-3数据发送流程由图3-3所示当主机发送开始信号时会拉低数据线,拉低时长保持t1时间(可以保持20us)。然后拉高数据线并保持t2时间(t2为20~40us)。温湿度传感器DHT11发生响应会进行拉低总线电压的行为,如图所示拉低数据线后会保持t3时间(可以为45us),作为响应信号。经过t1+t2+t3时间后DHT11会有拉高数据线的行为,保持t4时间(大概45us)后,开始输出所采集到的数据。数字0信号表示方法如下图3-4所示3-4数字0信号表示方法如上图所示DHT11开始输出一个50us的低电平然后输出26us-28us的高电平数字1信号表示方法如下图3-5所示3-5数字1信号表示方法如上图3-5所示DHT11开始会输出一个50us的低电平,然后会输出一个70us的高电平检测方法:当数字1信号和数字0信号都输出一个50us的低电平后都会有输出高电平的趋向,此时要想判断输出是高电平还是低电平需要延时一段时间去检测。一段时间的范围需要超过数字0信号输出的高电平持续时间。按要求延长时间后如果是低电平就为信号0,如果是高电平就判断为1。3.3.2DHT11传感器模块电路设计温湿度传感器DHT11是单排直插型的,可以很容易地与STM32系列单片机相连接。单片机的P2.0端口用来接收串行数据。PIN2(单线,串行数据),用于连接传感器。电路原理图如图3-6所示图3-6电路原理图3.4LCD1602液晶显示模块设计3.4.1LCD1602液晶显示屏简介LCD1602液晶显示屏可同时显示16x02或32个字符(16列,2行)。在日常生活中LCD1602液晶显示屏随处可见,比如电子表。LCD1602主要研究方向是数字、特殊符号和图形的显示。在单片机系统中,LCD1602液晶显示器作为输出设备具有很多优点。其中最重要的一点时能够清晰准确的显示接收到的数据。LCD1602液晶显示器上的每一个点都是信号接受点,并且接收信号后并不会改变本该有的色彩和亮度,相反地,它会一直保持并且一直发光。所以,LCD1602液晶显示器的观看效果是非常令人舒适的,凭借其高清晰度我们可以从中读取准确的信息。这为酒窖温湿度数据的采集提供了非常大的帮助。液晶显示屏实物如下图3-7所示

图3-7液晶显示模块由上图3-7所示LCD1602液晶显示模块总共有16个引脚Pin1(VSS):电源地Pin2(VDD):电源正极Pin3(VL):液晶显示偏压Pin4(RS):数据或命令选择Pin5(R/W):读/写选择Pin6(E):使能信号(2)LCD1602液晶显示屏的RAM地址映射以及标准字库表为了让大家使用的更加方便,生产商一开始就将160个不同的点阵字符图形放入了其“肚子”-字符发生存储器中。常常听到的英文字母,毫无疑问,它们已经被存储在了LCD1602液晶显示模块内的字符发生存储器里。它不仅会存储英文的大写形式还考虑到了英文小写字母的情况。每一个字符都对应一个代码,就像每个人对应不同的身份证码一样,不存在所谓的一对多、多对一、多对多这样情况。如大写的英文字母“E”的代码01000101B,其它英文字母也有自己所特有的代码编号。每个字母都有其独特的个性,并不会随意用其他字母的代码编号来替代自己。LCD模块是一个慢显示设备,所以确保模块的忙标志为低级别,表示不忙,否则命令将失败。3.4.2LCD1602原理图图3-8LCD1602原理图同一个液晶在不同环境下背光亮度会发生变化,要想调节背光亮度则需要加一个滑动变阻器。如上图3-8所示,RT滑动变阻器,电阻发生变化时电压也会随之发生变化,从而使得液晶的背光亮度发生变化。3.5按键设置按键总共有四个引脚,其对角是连接到单片机引脚或者GND。当按键按下时输出低电平,当按键松开时输出是高电平。单片机在接收到按键输出的低电平时就会开始进行处理。按键电路如下图所示图3-9按键设置由图3-9可见此次设计中总共有三个按键,其中按键K1是用来选中温度以及湿度的上下限,按键K2是对温度以及湿度上下限数值进行一个加的操作,按键K3是对温度以及湿度上下限数值进行一个减的操作。3.6报警设置3.6.1蜂鸣器的简单介绍蜂鸣器的供电形式为直流供电。蜂鸣器报警在我们的日常生活中也是随处可见的。比如安全出口指示牌的内部就含有蜂鸣器报警,当安全出口指示牌被损坏时我们会听到滴滴的声音,这是因为其发生了故障而导致了报警信号的输出。3.6.2原理图图3-10蜂鸣器原理图如上图3-10所示,蜂鸣器接了一个1K的电阻,该电阻在此电路中起限流的作用。三极管有着放大电流的作用,当监测到的温湿度数据不在设置的上下限范围内时,经过三极管放大的电流会驱动蜂鸣器进行报警。本次设计中所采用的是有源蜂鸣器,该电路与STM32F103C8T6单片机的PB1引脚相连接。3.7继电器继电器是电子控制装置中的一种,如下图3-11所示。图3-11继电器设置3.7.1继电器在电路中的连接图3-12继电器的电路连接三极管依旧是高电平导通,通过放大电流来驱动继电器进行闭合操作。由图3-12可以看出继电器引脚3连接电源VCC,继电器闭合引脚5会被导通,其连接到的外设比如加热片、风扇就会开始运行。当继电器断开的一瞬间会有一个较大的反向电流,而反向电流有着击穿三极管的可能性,所以在电路中又加了一个二极管,对三极管起一个保护的作用。由于继电器的闭合断开肉眼是观察不出来的,因此在电路中又添加了一个LED指示灯,为了防止LED指示灯一直处于常亮的状态,电路中又添加了一个1K的电阻起限流的作用。4软件设计4.1酒窖温室控制系统总流程图开始开始SSTM32单片机初始化LLCD1602初始化温湿度传感器DHT11初始化温湿度传感器DHT11初始化对对温湿度上下限进行设置LLCD1602显示当前温湿度数据超过上下限超过上下限N报警Y报警处理装置处理装置图4-1主流程图由图4-1可见,首先需要对STM32单片机、LCD1602液晶显示模块、温湿度传感器DHT11初始化,然后对温湿度的上下限进行设置。当DHT11采集到当前温湿度数据时会发送数据给STM32单片机,当单片机接收到DHT11发送的数据时,会将数据发送给LCD1602液晶显示屏,最终由其显示出来。倘若监测到的酒窖温湿度不在所设置的上下限范围之内就会触发报警效果。如果温度超过所设上限则会触发风扇装置,如果是由于温度过低而使得蜂鸣器报警则会触发加热片工作。由于湿度过低而发出报警时会触发加湿器装置对环境进行一个加湿的处理,由于湿度过高而发出报警时同样会触发风扇装置进行一个除湿的处理。4.2LCD1602流程图开始开始初始化初始化设置第一行数据显示设置第一行数据显示设置下一行数据显示设置下一行数据显示图4-2LCD1602流程图由4-2流程图可以看到当LCD1602接收到STM32单片机发送的数据之前会有初始化的行为,接收到数据后会将数据一行一行的显示出来。4.3温湿度传感器设计随着社会的不断发展,除湿器、空调等电子产品都出现在人们的身边。在不同的环境下,人们对温度、湿度的要求也在不断发生变化。比如,夏天炎热的时候,人们会想到利用空调达到一个室内降温的效果。当处于寒冷的冬季时,人们会想到利用空调达到一个室内升温的效果。而对于酒窖来说,温湿度的高低影响着酒的品质,酒窖非常需要温湿度传感器对数据进行采集便于及时地对环境的不定时变化采取相应的措施。DHT11流程图如下上电上电拉高电平拉高电平检测信号检测信号拉低电平拉低电平输出数据输出数据图4-3DHT11流程图首先需要对温湿度传感器DHT11进行一个上电的操作,延时几秒,处于高电平状态,等待接收主机信号,然后进行一个检测记录信号的操作,检测到信号后输出低电平并延时,确保检测到的信号接收无误。然后再输出低电平,进行数据输出。5实物调试首先连接好电源,然后通过按键分别设置温度、湿度的上下限。如图5-1所示将温度下限设置为4℃,上限设置为35℃,湿度下限设置为7%,上限设置为61%。图5-1设置温湿度上下限按下按键实现实时监测温度、湿度数据。如图5-2此时采集到的温度数据为22℃,湿度数据为56%图5-2实时监测温湿度通过按键设置温度的下限为25℃,观察加热模块、降温模块以及蜂鸣器报警模块。如图5-3所示。图5-3改变限值如上图所示将温度下限设为25℃其余保持不动,从上图我们可以看到蜂鸣器开始报警,加热装置开始运行,说明此时温度低于所设的下限。按下按键,实时监测数据。如图5-4所示图5-4监测实时数据6结论本文设计的基于STM32单片机的酒窖温室内部控制管理系统,采用物联网传输数据,能够实时监测酒窖温湿度数据,蜂鸣器与单片机的连接、温湿度上

温馨提示

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

评论

0/150

提交评论