版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于STM32的空气质量及大气环境检测仪的设计和实现1、 引言 摘要:在日常生活中,天气预报对人们的生活起着重要的作用。为了方便人们的日常生活和劳动,本次设计了基于STM32单片机的温度和湿度、大气压力及PM2.5检测仪器。该设计通过DC-5v直接供应电力,STM32单芯片作为核心处理装置。SHT20温度湿度传感器在实施时间内测定当前环境的温度和湿度,PM2.5灰尘粒子传感器在实施时间内测定空气中的PM2.5浓度,BMP180测定现在的大气压力,按钮设定PM2.5浓度上限。如果检测出PM2.5超标的值,单片机将控制蜂鸣器报警。通过单片机控制,采集的PM2.5毫克、温度和湿度数值可在LCD1602液晶画面显示数值动态变化。通过采集温度和湿度,判断现在天气是否会下雨。关键词:STM32单片机;SHT20温湿度传感器;PM2.5;LCD1602液晶屏;BMP180大气压传感器:引言设计背景随着社会的快速发展,单片机微处理器在人们的日常生活中应用也越来越广泛。为了改善人们日常生活和出行,本次设计了一款基于单片机的温湿度PM2.5大气压强设计系统,该装置采用了SHT20温湿度传感器检测当前道路环境的温度和湿度,PM2.5粉尘传感器检测空气中PM2.5的含量,当检测到空气中的PM2.5粉尘浓度超出上限时,单片机控制蜂鸣器进行报警提醒人们防尘。设计依据在单片机选项这一款,相比传统的AT89C52芯片,这次采用更加强大的STM32单片机,集成度更高,价格便宜,功能丰富,通过输入/输出口操作单片机上的外设,比较简单。温湿度传感器采用常见的SHT20温湿度采集传感器,因为此设计十分方便,小巧,安全,得到的数据也十分准确,所以被广泛的应用。继电器就是采用我们通常使用的5v继电器,这种继电器安全性也非常高,电路设计也相对比较简单。在引用的时候在需要确定继电器的耐压值是多少就可以了。这个的设计操作起来也很方便,只需要通过按键就可以控制自己想要的PM2.5上限。显示部分用LCD1602来显示当前的信息,因为传统的数码管显示的缺陷是信息量比较少,能显示的内容有限,而LCD1602显示就弥补这样的缺陷,它可以显示当前的温湿度以及特殊的符号,也可以显示数字。而且可以来调节背光亮度、节约资源。因为空气中当湿度大于一定百分比时,说明湿度较大这个是下雨的主要因素之一,我们通过判断来显示当前下雨的概率,也是本次设计的一个亮点。设计的主要内容和功能本设计主要分为三个部分:检测、显示和报警。在检测部分,SHT20温湿度传感器用于检测周围环境的温湿度,PM2.5粉尘浓度传感器用于检测周围环境中粉尘颗粒的浓度,并利用BMP180获得当前天气的大气压力值。在显示部分,单片机通过引脚接收这些传感器采集的数据,通过公式计算出道路环境的温度、湿度和PM2.5粉尘浓度,并控制LCD显示当前检测到的温度、湿度和PM2.5粉尘浓度以及当前降雨的概率百分比。按钮用于人机交互。当PM2.5粉尘浓度超过上限时,单片机驱动三极管控制蜂鸣器报警。设计方案论证设计思路本设计主要分为三个部分:检测、显示和报警。CPU处理器采用STM32单片机,检测部分包括BPM180大气压强检测、湿度检测、PM2.5粉尘浓度检测和湿度检测。温度和湿度在SHT20的温湿度传感器收集。PM2.5的浓度由PM2.5粉尘浓度传感器检测。LCD1602液晶显示屏显示检测到的温度、湿度和压强,按键用于设置PM2.5上限,图2.1是整体工作原理图:STM32单片机数据处理STM32单片机数据处理BMP180大气压强传感器SHT20温湿度传感器PM2.5传感器,串口数据传输LED1620显示器显示当前信息控制蜂鸣报警器报警按键设置报警上限
图2.1工作原理图系统构成该系统由硬件系统和软件部分组成。硬件系统选用单片机、选用传感器和选用电子元器件。当所有材料选型完成后,进行电子电路设计,确保每个电路的正确和畅通。之后按照设计好的电路图,将所有材料焊接起来,组成一个单片机系统。硬件部分完成后,设计软件对整个单片机进行控制。这里我们使用KEIL软件进行软件编程。整个设计以STM32单片机为核心处理器,整个部分分为检测部分、显示部分和控制部分。探测部分分为温湿度探测、PM2.5检测探测和大气探测。SHT20传感器用于温湿度检测,PM2.5灰尘传感器用于PM2.5检测,BMP180传感器用于大气检测。显示部分使用LCD1602液晶显示屏来显示收集到的温度、湿度和PM2.5值。按键用于设置PM2.5报警值上限。系统硬件设计与实现系统硬件原理图本设计使用LCD1602液晶显示器来显示收集到的温度、湿度和PM2.5浓度值。STM32是本次单片机使用的型号,温湿度传感器用于检测当前温度和湿度,PM2.5传感器用于检测当前粉尘浓度,BMP180用于检测当前大气压力。通过按键设置PM2.5的报警上限,图3.1是其硬件电路原理图:图3.1系统硬件原理图STM32F103概述STM32F103微控制器是一款低功耗、高性能的微控制器、STC公司早期生产的工业控制微控制器。其作用是控制各种传感器和外设,自行计算处理得到的数据和信号,并进行相应的操作,在工业生产中起到大脑的作用。相比于日常生活中使用的电脑,单片机只能称得上微小电路集成系统,能起到的作用非常有限,只能处理一些简单的控制工作。单片机的应用非常广泛,绝大部分电器都是采用单片机进行控制,家里的大家电,比如冰箱、空调、洗衣机、电视机,小到遥控器、鼠标、键盘、闹钟。它包含一个或多个微控制器。单片机广泛应用于仪器仪表、航空航天、家用电器、医疗器械等领域。智能设备的发展也非常依赖单片机,多样化的传感器对单片机也提出了一定的要求,故此越来越多的高级的单片机成出现。对于本设计,我们选择的微控制器是STM32F103C8T6的微控制器。与51系列相比,该单片机具有多种功能,它不仅比51单片机跑得快得多,而且还配有两个AD转换,这对于我们设计的时候非常方便,不需要添加外部ADC进行转换。STM32单片机拥有强大的通讯和控制功能。这是51单片机所无法比拟的。因为51单片机只有1个串口进行通信,而32单片机具有5个串口进行通信,所以对一些要求用串口进行通信的模块而且就不需要通过CD4052等双串口模块来转换,所以这一点被市场上广泛的运用,32单片机因为本身可以进行多种不同的时钟模数来进行工作,所以在功耗要求比较严格的产品中占有一席之地。STM32特点STM32C8T6系列的起振晶部分采用了RTC,低负载的方式,而没有像传统的比较廉价的圆柱晶振;引脚个数为48个;工作频率为72MHZ;单片机有三个普通定时器和一个高级定时器;单片机的ADC模数转换是有两个2位/16通道;单片机的稳压芯片使用了3.3V,输出的电流最大可以保证300MA;支持ST-LINK的下载调试和JTAG的下载调试;存储资源为64kbbyteFLASH和20byteSram;STM32实物图如图3.2所示:3.2STM32实物图STM32单片机优点电源指示灯LED(PWR通常为红色):如果电源指示灯亮亮说明单片机正常运行,如果较暗或者闪烁,表示此单片机可能存在故障;用户LED(PC13):这个功能的使用大大的方便了我们进行一些比较简单的功能测试,如单片机的运行状态等,方便初学者进行更好的测试;单片机上采用了跳帽的方式,我们可以对stm32进行3种编程方式。如用户的SARM、闪存和系统的存储器;8M晶振:主要是用于设置单片机系统的频率为72MHZ;32.768KHz晶振:可供内置RTC使用,避免了需要专门的时钟芯片进行定时器处理等。SHT20温湿度检测电路微处理器和温湿度传感器之间的通信采用两线串行接口,SCK和DATA,SCK是时钟线,DATA是数据线。在通信协议上I2C协议与该二线协议并不兼容。在程序开始时,需要一套“启动传输”序列来指示数据传输的开始。当SCK的时钟电平为高时,DATA转向低电平;然后SCK电平信号转化为低,紧接着又转化为高电平;当SCK时钟在电平为高电平时,DATA将又转向高电平。通过采集的温湿度来大概判断当前空气中湿度达到多少,如果较高,说明湿度较大越容易下雨,起到一个提示人们日常出行的效果。图3.3流程图是数据传输启动程序流程。开始开始单片机初始化接收数据地址校验取温湿度给定值采样温湿度数码显示上传数据YN图3.3数据传输启动程序SHT20相关信息储存条件及操作说明:湿度传感器不是普通的电子元件,需要仔细保护,用户一定要注意。如果在高浓度的化学蒸汽中长期暴露会导致传感器读数漂移。因此建议将传感器存放于原包装包括密封的ESD口袋,并且符合以下条件:温度范围10℃-50℃(在有限时间内0-125℃);湿度为20-60%RH(没有ESD封装的传感器)。对于那些已经被从原包装中移出的传感器,我们建议将它们储存在内含金属PE-HD2制成的防静电袋中。在生产和运输过程中,传感器应当避免接触高浓度的化学溶剂和长时间的曝露在外。应当避免接触挥发性的胶水、胶带、贴纸或挥发性的包装材料,如泡箔、泡沫材料等。生产区域应通风良好。恢复处理:如上所述,如果传感器暴露在极端工作条件或化学蒸汽中,读数会产生漂移。可通过如下处理,使其恢复到校准状态。烘干:保持10小时在100-105℃和<5%RH的湿度环境下;重新水合:保持12小时13在20-30℃和>75%RH的湿度条件下。温度影响:气体的相对湿度很大程度上取决于它的温度。因此,在测量湿度时,我们应该尽最大努力确保所有测量相同湿度的传感器在相同的温度下工作。在做测试时,应保证被测试的传感器和参考传感器在同样的温度下,然后比较湿度的读数。如果传感器与易发热的电子元件在同一位置,在电路设计的时候,应采取措施最大程度的减小热量传递所带来的影响。如:为了保持有通风良好的外壳,应该让SHT2x和印刷电路板其他地方的铜涂层应该尽可能小,或者在它们之间留一个空隙。另外,当测量频率过高时,传感器的温度会升高,影响测量精度。如果其温升小于0.1,SHT20的激活时间不应超过测量时间的10%——例如,在12位测量中,每秒的最大测量次数不应超过两次。光线:光线并不影响SHT2x的状态。如果大量时间下暴露在太阳光以及强烈的紫外线辐射下,外壳容易老化。用于密封和封装的材料:许多材质吸收湿气并将充当缓冲器的角色,这会加大响应时间和迟滞。因此传感器周边的材质应谨慎选用。推荐使用的材料有:金属材料,LCP,POM(Delrin),PTFE(Teflon),PE,PEEK,PP,PB,PPS,PSU,PVDF,PVF。用于密封和粘合的材质(保守推荐):推荐使用充满环氧树脂的方法进行电子元件的封装,或是硅树脂。这些材料释放的气体也有可能污染SHT2x(见2.2)。因此,应最后进行传感器的组装,并将其置于通风良好处,或在>50℃的环境中干燥24小时,以使其在封装前将污染气体释放。布线的规则及信号的完整性:如果SCL和SDA的信号线是平行的,并且彼此非常接近,可能会导致信号串扰和通信故障。解决方案是将VDD或GND置于两条信号线之间,分开信号线,并使用屏蔽电缆。此外,提高信号传输的完整性也可能受到降低SCL频率的影响。必须在电源引脚(VDD、GND)之间添加100nF去耦电容器进行滤波。该电容应尽可能靠近传感器。相对湿度转换无论分辨率如何,根据从SDA输出的相对湿度信号SRH,可以通过以下公式计算相对湿度RH(以%RH表示其中结果)。上面给出的RH值结果与世界气象组织(WMO)规定的基于液态水的相对湿度相对应。相对湿度RHw(基于水)在特定温度t下可以转化成相对湿度RHi(基于冰)。℃fortemperature是相对湿度单位为%RH的温度单位;相对关系系数如下温度转换不论基于哪种分辨率,温度T都可以通过将温度输出信号代入到下面的公式计算得到(结果以温度℃表示):环境稳定性SHT20传感器依据AEC-Q100RevG标准测试方法进行测试。传感器技术规格通过了AECQ100温度等级2测试,测试条件见表3.3表3.3:标准测试:HTOL=HighTemperatureStorageLifetime高温工作寿命TC=TemperatureCycles温度循环,UHST=UnbiasedHighlyacceleratedStressTest极限测试,THB=TemperatureHumidityPM2.5检测电路PM2.5受到关注是在上世纪的90年代,在美国的一些科学家或者协会相应的做出一些研究和发表一些论文,指出了颗粒物污染的一些来源,制定一些规章制度来限制各个国家地区对颗粒物的排放问题,在我国最早是在一位网络友人“美帝是管空气”在微博上转发的美国驻华使馆在twitter上发表的北京PM2.5的检测数据,严重爆表。而在2015年2月28日柴静自费拍摄的《苍穹之下》更是揭露了现在我们面临的种种环境危机,从而现在的我们更加的关注颗粒物的一些实质性的危害。它能提高我国的环保意识,具有不可磨灭的影响。随着人类掠夺式地开发资源以及以牺牲环境为代价来换取工业和经济的快速发展,导致环境污染问题愈来愈严重。生存的环境变得苦不堪言时常受到一些迫害,因此与大自然的和平相处已变得刻不容缓。为了解决这些问题,所以现在的很多东西都应用了高科技的产品来实行对自身周围的环境进行检测,提高保护措施。国内外检测PM2.5主要的设计方法重量法:重量法通俗来讲指直接将大气流中的滤膜将截留PM2.5颗粒上,并用天平直接称重。但仍有一些相对较小的颗粒会通过滤膜,但这些颗粒的重量可以忽略不计,对重量影响不大。目前,按重量设计的采样设备很多,如美国URG公司生产的环球大气污染物采样仪(URG-300K)、中国生产的PM2.5采样器四通道(PR2300)和TH-150型智能颗粒物采样器。重量法可以说是最基本的方法。它是检验其他方法的标尺。这是最简单、最可靠的方法。但是也有其缺点,他需要人工来完成,并且其相应的配套设备也比较相当的复杂,相对来说比较费时,因此重量法多应用于单点上。微量振荡天平法
:相对于重量法来说,微量震荡天平法的探测精度相对较低,但相对重量法来说比较简单。它主要通过传感器(由锥形管组成)来检测粒子振荡频率的变化。也就是说,空气中的颗粒随时被截留在可更换的滤膜上,导致振荡频率的变化,这样就可以根据频率的变化来检测颗粒浓度。它能够实现连续检测的目的,并且能够自动实现。因此,这种方法现在在中国很多地方被用来测量PM2.5的浓度,以便更好地实时测量周围环境的质量。
Beta射线法/β射线法
:Beta的射线法与微振动法基本相同。这种方法的实现基于射线衰减原理,即当光线照射穿过空气的粒子时,会相应减少接收的相应的射线。通过减少的量来依据换算公式换算出颗粒浓度的多少。此系统也有相应的缺点,那就是可能在照射的过程中会有相应的挥发,这时就需要一些补偿的系统,能够最大限度的保证其准确性,接近于真实值。光散射法:光散射的原理是指:空气中的粒子对光有一定的散射作用,散射值随浓度的不同而不同。当浓度较高时,并不会提高光散射的量,如果确定光值,就能通过相应的换算公式的计算得到浓度值。但是,颗粒物与光的散射有着复杂的关系,颗粒的的形状,化学组成,比重,微粒的分布都会影响光的散射问题。此外,一些化学反应可能会发生在不用的颗粒物之间。SharpGP2Y10传感器Sharpgp2y10传感器是一种常用的空气检测系统,用于检测非常微小的颗粒物,如香烟的烟雾效应。红外发光二极管和光敏三极管的对角线上都有这个装置,用来探测空气中细小颗粒物的反射光。该传感器的电流消耗要求非常低(20mA,最大值,典型值,11ma),采用7VDC。传感器的输出为模拟电压,与粉尘浓度成正比。传感器的灵敏度为0.5v/0.1mg/m3。SharpGP2Y10传感器的为工作电压:5~7V,工作温度为-10~65摄氏度,最大电流为20mA。本次设计的PM2.5传感器采用型号为SharpGP2Y10,它能实时检测周围的空气粉尘浓度,又称为粉尘传感器或者灰尘传感器,其检测原理就是检测空气中粉尘颗粒对光线的散射程度进行区分,空气中的微粒和分子会产生光的散射现象,光强大小和电信号成正比,只需要检测电信号就可以测定回城的浓度。图纸1号引脚连接VCC进行工地,3号引脚接地,2号引脚和单片机的TXD引脚连接,将检测到的电信号发送给单片机,通过计算得出此时的PM2.5粉尘浓度。图3.4是其电路图:图3.4PM2.5粉尘浓度检测电路图BMP180大压强检测本次设计采用的大气压强我们采用BMP180进行数据采集,主要是通过集成电路总线的数据传输方式发送给单片机,单片机读取到时序变化后,然后通过LCD1602液晶显示出当前空气中的大气值。BMP180一般说明BMP180是BMP085功能兼容的后续产品。BMP085是新一代高精度数字压力传感器的消费应用。BMP180的超低功耗、低电压电子产品针对手机、PDA、GPS、导航设备和户外设备进行了优化。BMP180的低海拔噪音仅有0.25米,在低转换时间内,具有出色的性能。I2C接口使系统与微控制器易于集成。BMP180由于压阻技术,在EMC具有稳健性,高精度和线性的特点,并具备长期稳定性。BMP180运算BMP180被设计成微控制器,通过I2C总线直接与移动设备相连。压力和温度数据必须进行补偿,依据据来自BMP180的E2PROM的校准数据。BMP180有模拟数字转换器,一个压阻传感器,一个串行IC总线接口的控制单元和E2PROM。BMP180提供压力补偿值和温度补偿值。176位个人校准数据已经存储在了E2PROM中。这是用于补偿偏移量。于所有的计算这里给出一个ANSI-C代码,然后发送一个启动序列、启动压力,由博世传感器(“BMP180_API”)微控制器发送。转换时间后,集成电路总线接口可以读取结果值(UP或UT)。用于计算温度的摄氏度,在帕斯卡的压力单位下,此校准数据已经使用了。这些常数可以通过初始化软件中的I2C接口,从BMP180的E2PROM中读取。采样率在标准模式下可以增加到每秒128个样本来进行动态测量。在这种情况下,对于在同一时间段内使用该值进行的所有压力测量,每秒仅测量一次温度就足够了。图3.5为应用电路在BMP180上的典型。图3.5BMP180典型应用电路BMP180的I2C协议I2C接口协议的总线信号条件较为特殊。在启动条件下,SCL此时电平为高电平且SDA具有下降沿。然后发送从地址。在7个地址位之后,方向控制位R/W选择读或写操作。当从器件识别出它正被寻址时,它应该通过在第9个SCL(ACK)周期中拉低SDA来确认。在停止条件下,SCL也很高,但SDA有上升的边缘。当SCL是高时时,SDA的数据必须稳定。只有在SCL低的情况下,数据才能在SDA改变值。推荐的上电序列首先是VDD高电平,然后是VDDIO高电平。如果VDDIO在VDD之前上升,则有可能增加功耗),VDD读取A/D转换结果或E2PROM数据读取A/ D转换结果或E2PROM数据后读出温度数据字UT(16位),压力数据字UP(16—19位)和数据进行如下操作E2PROM中:启动条件之后,主机发送模块地址写命令和寄存器地址。该寄存器地址选择读寄存器:E2PROM数据寄存器0xAA到0xBF温度值UT或压力值UP0XF6(MSB)的0xF7(LSB),可选为0xF8(XLSB),然后主机发送一个启动条件和随后的模块地址读将由BMP180(ACKS)进行确认。该BMP180首先发送的最高有效位,由主机(ACKM)承认,那么最低有效位由主机发送一个“不承认”(NACKM),作为最后一个停止条件。BMP180注意事项为了达到您设计的特定性能,在印刷电路板(PCB)上安装压力传感器时,应考虑以下建议:金属盖上方的间隙至少为0.1mm;对于设备外壳,在需要测量环境压力的情况下,需要提供适当的通风;设备不能直接接触于液体;在操作期间,传感器对光敏感,这会影响测量的准确度(硅的光电流);BMP180不应放置在快速加热部件附近。LCD1602液晶屏显示电路本次设计采用LCD1602液晶显示器作为输出显示器,LCD1602液晶显示器是一种工业字符型液晶,从其名称中可以得知,显示屏具有2行输出,每行16个字符,能够同时显示16*2即32个字符。LCD1602液晶屏显示利用液晶的特性,通过改变电压达到控制区域显示,最终显示出想要的图形或者数字。LCD1602液晶显示屏不仅显示数字,还显示符号和字母。图3.6是LCD1602液晶屏的引脚图,从图中可以看出,引脚1为电源接地引脚,联通着单片机的GND。VCC电源输入引脚为引脚2,5V是它的工作电压。VO引脚为引脚3,LCD的显示亮度可以由此调节。RS引脚为引脚4,用来选择寄存器的,电平高的时候作为数据寄存器,电平低的时候变成指令寄存器。RW读写信号为引脚5,用来读写数据。EN引脚为引脚6是使能端,电平高的时候可以读取信息,电平低的时候用来执行指令。从引脚7到引脚14都是双向数据段口,且都是8位。背景灯的电源引脚为引脚15、16。当单片机和LCD进行通信时,进行连接P0口时,需要在中间连接上拉电阻。本次设计PM2.5的浓度、温度、湿度和大气压强都显示在LCD1602的液晶显示屏上。图3.6LCD1602液晶显示电路图LCD1602液晶显示器。它是一款工业字符型液晶,可以显示两行数据,每行可以显示十六个符号、字母或者数字,刚好可以满足设计的需要。它体积小巧,功耗较低,显示效果良好,是一款非常实用的液晶显示设备。LCD1602工作在3.5V~5V的工作电压下,它内部设计有复位电路,可以进行光标移动、清屏的操作。显示器的亮度可以通过外部连接的电位计来调节。由内部存储器来存储数据。它可以直接与单片机相连接,通过单片机程序来控制液晶的显示。LCD1602的读忙信号和地址计数器AC读取LCD1602状态依据这个指令(指令如表3.6所示)。对于单片机来说,LCD1602属于慢速设备,当单片机向其发送一个指令后,它将去执行这个指令。此时,如果单片机下一条指令已经发送,由于速度慢,上一条指令没有执行,它将不接受新指令,最终导致新指令丢失。因此这条读忙指令可以用来判断LCD1602是否忙,能否接收单片机发来的指令。当BF=1时,表示LCD1602繁忙,指令无法被单片机所接收;当BF=0,表示LCD1602空闲,可以接收单片机的指令。RS=0,表示是指令;RW-1,表示是读取。这条指令还有一个副产品:即可以得到地址记数器AC的值(addresscounter).LCD1602维护了一个地址计数器AC,用来记录下一次读写CGRAM或DDRAM的位置.需要强调的是:这条指令我一次也没有执行成功。好在我们有另外的办法,也就是延时,通过查看每条指令的执行时间,再经过一些试验,可以确定指令的延时。这样,可以在执行最后一条指令之后执行下一条指令。RSR/WDB7DB6DB5DB4DB3DB2DB1DB0Code01BFaaaaaaa表3.6LCD1602的读忙信号和地址计数器ACLCD1602的控制方式LCD1602可通过直接控制方式和间接控制方式两种方式连接到单片机。1、直接控制模式LCD1602的8条固定线和3条控制线可通过电位计进行对比度调整;适当尺寸的电阻器也可从该引脚接地,但电阻器的尺寸应通过调试确定。2、间接控制模式间接控制模式又称四线制运行模式,是利用总线功能简化电路接口的一种方法。在单片机I/O资源有限的情况下,可采用此方法。按键电路单片机的按键控制电路是由3个微动开关并联组成的电路,按键的一段连接单片机的双向I/O口,另一端接地。当按键开关的状态是张开的时候,GND和I/O引脚断开,此时此I/O引脚达到高电平状态。按下按键后,此时I/O引脚与地相接,此时高电平信号转为低电平信号,同时单片机接收到一个低电平信号。高低电平信号的检测就是按键开关的检测原理。按键开关由于其拨动时间,难免产生误差,所以在编写按键函数时,要额外写一个去抖函数,提高精确性。本次设计的PM2.5浓度上限就是通过按键进行设置的,分别表示切换、加和减功能。图3.7原理图为相应的按键控制电路:图3.7按键控制电路程序设计软件主程序架构在硬件设计和调试完成后,需要对单片机和外围传感器进行软件设计。系统设计首先要构思清楚,首先画一个流程图,按照传感器先后顺序,进行系统设计。首先各个硬件开始初始化,之后各个模块开始工作,实时检测温度、湿度、烟雾浓度值和大气压强,并进行相应的控制操作。启动的步骤为:LCD1602液晶屏初始化,SHT20温湿度传感器检测当前温度和湿度,当前PM2.5浓度由PM2.5浓度传感器所检测,如果PM2.5超过当前所设置的上限,蜂鸣器将会报警提醒。整个主流程图如图4.1所示:开始开始LCD1602初始化PM2.5串口通信BMP180获取当前大气压强LCD1602显示当前参数按键扫描设置PM2.5上限
是否超标蜂鸣器报警
返回
NY图4.1主流程图LCD1602显示子程序LCD1602有16个引脚,其中RS、RW的值控制单片机对它的读写,表4.2为LCD工作状态介绍:RSRW操作命令00写入指令寄存器(清清屏等)01读busy(DB7),以及读取位址计数器(DB0—DB6)的值10写入数据寄存器(显示各字符等)11从数据寄存器读取数据表4.2LCD工作状态LCD1602液晶显示屏需要在执行程序指令之前执行模块标志位的忙信号。只有当其忙标志位的电平为低电平时,才意味着可以执行该指令。LCD1602要显示字符时,就要获得该字符的现实的RAM地址。其内部控制寄存器有11条控制指令,包括清屏、光标移位等。LCD1602显示流程图如图4.2所示:子程序入口子程序入口LCD初始化LCD清屏单片机向LCD写命令单片机向LCD写数据显示数据返回NY图4.2LCD1602初始化流程图SHT20温湿度采集子程序开启开关电源后,温湿度传感器开始工作,采集过程首先是STM32F103单片机发起开始信号,通过I/O引脚发送给SHT20温湿传感器,之后DHT1温湿度传感器1反向单片机发送响应,并将采集到的数据按照40位数据帧格式输出,温湿度传感器开始工作,空气中的温度通过一定的检测装置,测量出温度,按照一定的规律转化为电信号或其他所需的信息输出形式,达到设计要求。市场上的温湿度传感器通常测量温度和湿度。温湿度测量方法常用的有以下几种:一、动态法:包括双压法、双温法以及分流法;二、静态法:包括饱和盐法和硫酸法;三、露点法;四、电子式传感器法等各种。SHT20温湿度传感器将检测到的温湿度值以数字量的形式输出给单片机,单片机内部计算后得出此时的温度,之后显示在LCD1602液晶显示器上。温湿度检测流程图如图4.3所示:子程序入口子程序入口启动信号读取温度发送给单片机返回图4.3温度检测程序流程图按键设置子程序本次设计按键电路功能不多,分别是切换温度、湿度和PM2.5浓度,及设置PM2.5浓度报警上限值。单片机中按键有四个引脚,同一侧是连接的,三个按键并联,只需要连接相同的引脚就可以了。低电平信号的检测即为按键的工作原理,在主程序中不断地循环执行检测低电平信号,只要按键低电平信号被成功检测,单片机就会产生信号中断,并且进入按键的子程序中。按键分别表示为增加、减少以及切换页面。在不同页面表示不同的功能。分别用三个函数执行不同的操作,注意进行延时操作,防止误差。流程图如4.4所示:子程序入口子程序入口加设置按键是否按下减返回图4.4按键设置子程序系统调试焊接调试绘制腐蚀PCB板腐蚀板的制作方法有很多种,这里采用的是蜡纸腐蚀法。首先在软件上绘画出PCB图,如图5.1所示。图5.1焊接PCB板图接着按以下步骤进行制作:第一步,制作敷铜板,按照印版图的尺寸裁切敷铜板,使其与实际电路图的大小一致,并使敷铜板保持清洁;第二步,将电路印在敷铜板上,将蜡纸平铺在钢板上,用笔将印版图按照1:1的比例刻在蜡纸上,将蜡纸上的印版图根据电路板尺寸剪裁,并将其平放在敷铜板上。用少量油漆和滑石粉混合成合适的材料,用刷子蘸在印刷材料上,均匀地涂在蜡纸上,重复几遍,就可以在印制板(铜板)上印刷电路了。 注:使用可以多次,比较适合少量PCB板制作;第三步,腐蚀敷铜板,用三氯化铁液体腐蚀敷铜板;最后一步,清洗印制板。用水反复清洗腐蚀部位。用香蕉水擦掉油漆,清洗数次,使印制板干净无腐蚀性液体。涂一层松香溶液,干燥后再进行钻孔。焊接准备好所有的材料和电烙铁,按照设计好的电路板原理图,开始单片机电路板的焊接。首先将插排焊接上去,之后焊接单片机最小系统的晶振和复位电路。因为在腐蚀板上已经确定好LCD1602液晶显示屏位置,所以可以直接焊接,将上拉电阻焊接在R4口。后面分别根据PCB板位置焊接各个传感器模块,温湿度度传感器,PM2.5浓度传感器,人体红外传感器,按键等。STM32F103单片机使用Keil软件写入编译后的程序,最后将其插入插排。使用5V直流电源,按下开关观察显示是否正常。正常显示后,表示显示电路正常。然后观察其他传感器工作是否正常,显示器上是否有输出。如果显示正常,一切正常。当出现问题时,逐一找出问题的具体部分,然后依次解决问题。功能调试单片机焊接测试完成后,进行功能调试,测试软件是否正确。首先,单片机再次供电,然后LCD屏幕初始化。初始化完成后,对各传感器的功能开始进行测试。刚开始LCD1602显示屏页面分为两行,上面显示测得的温度、湿度,下面显示大气压值及降雨概率。按K1键切换到PM2.5显示页面。PM2.5浓度显示在上行,PM2.5浓度报警值显示在下方,可通过K2、K3两个按键调高PM2.5上限值。将温湿度传感器和PM2.5传感器放置于室内,检测几秒后,可以在LCD1602液晶显示屏上看到对应的温度、湿度。大气压值及降雨概率。按下按键,可以在LCD1602液晶显示屏上显示PM2.5的值和设置PM2.5报警的上限值。通过降低PM2.5报警上限值,当前PM2.5浓度超过上限值,蜂鸣器开始报警。至此,所有功能测试均已完成。结论通过怎么多的奋斗,毕设终于完了。由于温湿度感应器模块与微机处理器之间的串行数据传送,在编写程序温湿度感应器时,必须注意读写顺序,否则将不能读取湿度结果。在设计过程中,因为也学习了很多与大气相关的知识,并保持着认真学习的初心完成这次设计。通过这次的毕业设计使我对单片机有了更深刻的认识,不论是腐蚀板的绘制还是仿真软件还是编程软件都有很大的提升,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 河北地质大学《社会学原著》2024-2025学年第二学期期末试卷
- 重庆工商大学派斯学院《工程结构加固》2024-2025学年第二学期期末试卷
- 中国石油大学(北京)《物理化学A》2024-2025学年第二学期期末试卷
- 河南工业和信息化职业学院《Python程序设计课程设计》2024-2025学年第二学期期末试卷
- 黑龙江中医药大学《苗族文化与医药史》2024-2025学年第二学期期末试卷
- 黑龙江大学《智能数据挖掘与处理技术》2024-2025学年第二学期期末试卷
- 齐鲁工业大学《电影照明技术》2024-2025学年第二学期期末试卷
- 齐齐哈尔理工职业学院《文选阅读》2024-2025学年第二学期期末试卷
- 2025-2026学年电肥皂泡教案
- 2025-2026学年团课教案怎么减肥
- 住房按揭借款合同
- 四年级四年级下册阅读理解20篇(附带答案解析)经典
- GB/T 17846-2024小艇电动舱底泵
- 2024年江苏信息职业技术学院高职单招(英语/数学/语文)笔试历年参考题库含答案解析
- 板材行业销售渠道分析
- 2024地面用晶体硅光伏组件环境适应性测试要求第1部分:一般气候条件
- 洼田饮水试验评定量表
- 《煤气安全作业》培训教材
- 概率论与数理统计期末考试卷附答案
- 穴位注射水针专题宣讲
- 《髋臼骨缺损分型》
评论
0/150
提交评论