APP下载

基于单片机的环境检测与自动调节系统设计

2022-01-25周兴达韦焱文刘洁杨文武姜鑫蕾

电子设计工程 2022年2期
关键词:电路设计液晶串口

周兴达,韦焱文,刘洁,杨文武,姜鑫蕾

(东北石油大学,黑龙江大庆 163318)

随着高新技术的兴起,农业生产方式已经逐渐改变。农业生产基地使用嵌入式微控制器、传感器结合单片机技术实现了对农业生产中的作物生长环境进行实时监测和控制,不仅节约人力又实现了对植物生长环境的实时检测和精确控制[1]。目前我国将这类技术逐步投入到智能家居的使用中,像智能花盆等,但类似的设计功能单一,仅能检测却无法进行自动控制。该系统将种植者的电脑作为检测终端,在控制端对植物的生长环境进行检测并自动调节温度、湿度和光照强度,通过无线模块传输数据到终端进行存储和后期维护。实现了人与植物间的交互,自动调节生长的环境,能提升植物的生命周期和品质,使植物种植变得更加智能化。

1 系统总体方案设计

该设计主要有两种功能,分别是实时检测功能和自动调节功能。主要电路模块有单片机最小系统、液晶驱动电路、温湿度传感器、光照强度传感器、继电器驱动电路、外部光源电路和排气扇电路等,采用相关程序对设计的硬件进行编写和调试。硬件系统逻辑图如图1 所示。

图1 硬件系统逻辑图

2 硬件系统设计

该设计主要有实时检测和自动调节两种功能。实时检测功能就是能够在液晶屏上实时显示温度、湿度和光照强度的参数[2]。并且通过无线模块能够在PC 端上实时检测到当前参数的数据。自动调节功能就是以植物最适当的生长环境为中心,通过按键设定好适宜的温度、湿度和光照强度。当环境的温度和湿度小于或者等于设定的初始值时,风机不工作;当温度和湿度只要有一方大于设定的初始值时,风机就会开始运行。当光照强度低于所需的光照强度时,辅光就会自动打开;当光照强度高于所需强度时,辅光不工作。其次,在液晶显示屏上应显示当前植物生长环境的实时数据,通过无线串口模块也能在电脑上实时显示和保存这些数据。

2.1 最小系统设计

选用STC89C52RC单片机作为核心[3],最小系统主要包括电源电路、复位电路和晶体振荡电路,这是单片机工作的最基本的电路。最小系统的设计会直接关系和影响到单片机工作的运行状态以及稳定性,进而影响整个系统的工作情况[4],最小系统原理如图2所示。

图2 最小系统原理图

2.2 液晶驱动电路设计

采用LCD1602 液晶显示模块[5]。为了方便编程,将八位数据线与单片机的一个完整的端口八位输出相连,该功能设计选择的是P0 口。由于其他控制线均使用位控制,所以为了布线方便,在数据位确定后与其他控制引脚就近连接,液晶驱动原理图如图3所示。

图3 液晶驱动原理图

2.3 温湿度传感器电路设计

选用的DHT11 温湿度传感器具有4 个引脚[6],一个数据引脚和两个供电引脚,另外有一个引脚置为空。在使用的模块中厂家只对3 个有用的引脚进行了引出,让数据脚与单片机的P10 口进行连接[7],电路设计如图4 所示。

图4 温湿度传感器电路原理图

2.4 光照强度传感器电路设计

设计所使用的BH1750 光照强度传感器有5 个引脚[8],分别为两个供电引脚、两个IIC 通信引脚和一个模拟量输出引脚。由于在设计中并没有用到模拟量的读取,所以模拟输出引脚置为空,单片机的P11和P12 引脚与IIC 通信的两个引脚相连,电路设计如图5 所示。

图5 光照强度传感器电路原理图

2.5 继电器驱动电路设计

采用S8550 三极管来驱动继电器[9]。继电器的一条控制线连电源正极,另一引脚连在集电极,三极管的发射极接地,在它的基极串联电阻后与单片机的P13引脚和P14 引脚相连接。系统开始工作后,继电器的工作状态和单片机输出的电平以及三极管的工作区有关,工作状态如表1所示,电路设计如图6所示。

表1 继电器工作状态表

图6 继电器驱动电路原理图

3 软件部分设计

软件部分利用C 语言,采用Keil 软件来进行编写[10]。系统软件部分设计主要包括串口通信程序、液晶驱动程序、温湿度数据读取与校验程序、光照强度获取程序以及按键程序等。

3.1 串口通信程序设计

通过串口将数据发送给无线通信模块,由无线通信模块将串口发送的数据发送给另一块无线通信模块再转发给电脑。因没有用到从上位机接收数据的功能,所以串口通信程序设计部分只包括串口初始化[11]以及串口发送[12]两部分,串口通信程序流程图如图7 和图8 所示。

图7 串口初始化流程图

图8 发送数据流程图

3.2 液晶驱动程序设计

液晶驱动程序包括初始化和控制两部分,液晶驱动程序的初始化是对液晶工作模式的设置,控制部分是对液晶显示内容的设置。液晶初始化首先需要发送打开显示命令,再设置隐藏光标和显示指针,在显示完成所有字节后会自动加一,这有利于简化程序提高程序的运行效率,最后执行清屏操作[13]。

3.3 温湿度数据读取与校验程序设计

该部分是读取温度和湿度的程序并且校验。将DHT11 模块的数据引脚电平拉低18 ms 再拉高40 μs(大于20 μs),此时DHT11 模块响应,则会将电平拉低。如果电平没有被拉低则结束;如果电平被拉低,就会开始读取数据,共读取40 位数据。若与校验位相同则通过,就把测得的临时数据复制到指定变量中;如果没有通过,则校验结束[14]。

3.4 光照强度获取程序设计

在通信协议方面,GY-30 模块使用BH1750 光照度采集芯片,该芯片与控制器之间为IIC 协议。由于单片机内没有集成的硬件IIC 控制器,要用单片机的普通I/O 口进行模拟操作[15]。在通信内容上,BH1750的默认地址为0x46,先向总线发送BH1750 的地址并等待其响应,再发送初始化和转换命令,最后根据数据格式依次读出传感器检测到的信息,由于每次只能传输8 bit 的信息,而芯片内的AD 采样为16 bit,则在读取完成后对读取到的数据进行拼接[16]。

3.5 按键程序设计

设计的按键部分采用6 个独立的按键。按下按键后,相应引脚电平被拉低,程序读取到对应端口的数据位是逻辑“0”,即代表按键被按下。当发现按键被按下时,首先会进行10 ms 的防抖延时,若检测到的确是被按下,则会执行相应的程序;若检测到未按下,将不执行任何操作,然后继续执行后续程序。

4 系统测试结果

图9 通过按键设置初始值,设置温度上限为25 ℃,湿度上限为55%,光照下限为300 lux,系统检测到当前环境中的温度为15 ℃、湿度为49%,低于设定的初始值时,风机不工作;且此时检测到的光照强度为487 lux 高于设定的光照强度,辅光也不工作。图10 为PC 端上显示的数据,可以看到和液晶显示屏上数据一致。

图9 风机和补光不工作时

图10 PC端上对应图9的实时显示

图11仍设置温度上限为25 ℃,湿度上限为55%,光照下限为300 lux,系统只要检测到温度和湿度有一方高于设定的初值时,风机就会开始运行进行排气和降温,此时检测到温湿度均高于初值,风机工作。且此时检测到当光照强度为212 lux,低于所需的光照强度时,辅光自动打开。在图12 PC 端上看到数据自动调节的整个过程的参数和显示屏上一致。

图11 风机和补光工作时

图12 PC端上对应图11的实时显示

5 结论

该设计基于单片机技术,模拟对植物生长环境进行检测与自动调节,其主芯片为STC89C52RC 单片机,采用C 语言设计的环境检测与调节系统。结合了单片机及各种传感器以及补光灯、排气扇等执行机构,实现了对植物生长环境中的光照强度、温度和湿度等要素的实时监测和控制。在未来智慧农业的发展中,以及在面向家庭的植物种植体系中,能够更加智能化,可以解放大量的劳动力并提升植物的品质和生命周期,相关设计的广泛应用定能最大限度地方便农业生产,提高农产品的产量和质量,具有较高的使用价值。

猜你喜欢

电路设计液晶串口
基于NPORT的地面综合气象观测系统通信测试方法及故障处理
水厂液晶幕墙系统建立和应用
基于EM9000工控板高性能双串口通信模型设计与实现
基于Multisim的单管共射放大电路设计与仿真分析
一种车用醉驾检测电路设计
一种USB接口字符液晶控制器设计
Altium Designer在电路设计中的应用
负反馈放大电路设计
废旧液晶六屏显示改造项目的设计与实现
船舶电子设备串口数据的软件共享方法