0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

基于单片机和LabVIEW的温湿度监测系统设计

机电信息杂志 来源:机电信息杂志 作者:机电信息杂志 2023-06-09 14:02 次阅读

摘 要:

利用单片机和虚拟仪器LabVIEW在PC端设计了温湿度测量及控制系统,用于温湿度数据监测。该系统上位机为PC端监控界面,下位机为单片机,单片机采集温湿度数据,并将采集到的数据通过串口发送给监控界面进行监测和管理。该监测系统具有开发成本低、功耗低、性能稳、电路简单等优点。

0引言

随着技术的发展,温湿度测量应用到了工作和生活的方方面面,温湿度监测系统的应用也愈加广泛。目前,基于虚拟仪器的监控与数据采集系统的设计主要依赖于价格昂贵的数据采集卡,系统开发和应用成本高[1]。LabVIEW是美国国家仪器(NI)公司研制开发的一款图形化编程开发环境,本文基于单片机和LabVIEW平台实现了温湿度实时监测系统的设计。单片机和温湿度传感器构成下位机系统,以串口通信方式将采集的数据发送至上位机PC端LabVIEW平台,实现温湿度数据实时采集、温湿度趋势图绘制、门限报警、历史数据存储,并对数据进行精细化管理。该监测系统快速有效,开发成本低,非常适合日常使用。

1统设计思路

该系统下位机控制核心为STC89C52,温湿度传感器DHT11采集温湿度信号,液晶显示屏LCD1602显示系统信息。系统设置报警电路,用户可自行设定报警阈值,当温度或湿度超过设定值时则启动报警。上位机采用LabVIEW编写程序,单片机与其通过串口进行通信,实现系统温湿度数据的实时测量、监控、存储及统计分析。LabVIEW图形化编程人机交互界面友好,开发成本低,简单易行,功能可靠。系统结构如图1所示。

2f5d78f6-068b-11ee-962d-dac502259ad0.png

2硬件电路设计

2.1 下位机硬件电路设计

下位机单片机控制系统硬件电路包括:温湿度传感器DHT11电路、LCD1602显示电路、声光报警电路和键盘电路,本文在此只阐述温湿度传感器DHT11的电路设计。DHT11只需要占用单片机一个I/O口即可完成连接。如图2所示,DHT11的供电电压为3.5~5.5 V,其1脚接VCC,2脚接单片机的I/O口,3脚悬空,4脚接GND。上电后等待1 s以越过不稳定状态,在此期间不要发送任何指令。

2f98a8a4-068b-11ee-962d-dac502259ad0.png

2.2 上位机串行通信电路设计

上位机通过串口通信获取单片机采集的温湿度数值。串行通信线路简单,只需一对传输线即可实现通信,速度慢但成本低。在串行通信中,需要进行逻辑电平转换,使其对信息的逻辑定义与TTL兼容,接口电路如图3所示。

2fa4777e-068b-11ee-962d-dac502259ad0.png

3系统软件设计

3.1 下位机单片机程序设计

下位机程序设计主要包括DHT11温湿度读取、LCD1602显示、键盘、声光报警以及单片机串口通信设计,图4为下位机主程序流程图。

300c3bfc-068b-11ee-962d-dac502259ad0.png

下位机程序设计中的复杂部分是关于DHT11如何读取温湿度数据。DHT11采用单总线数据格式,一次通信时间要小于3 ms,主机连续采样间隔建议大于100 ms,其读取单总线上的1个字节数据程序设计如图5所示。其温湿度数据包由5 Byte(40 bit)组成:8 bit湿度整数数据+8 bit湿度小数数据+8 bit温度整数数据+8 bit温度小数数据+8 bit校验和[2],可以据此读出采集到的温湿度数据。

30405dc4-068b-11ee-962d-dac502259ad0.png

3.2 上位机LabVIEW程序设计

3.2.1 LabVIEW上位机设计模式

由于下位机连续不断地采集温湿度数据,为保证数据不丢失,上位机设计模式代码框架采用生产者/消费者模式。利用消息队列处理器,将用户界面UI、数据采集、数据保存显示、数据分析4个队列多线并行运行,如图6所示。用户界面有任何动作,生产者均会在事件结构产生对应的事件消息,发送到队列,消费者不断取出队列的事件消息进行处理[3],对所有动作做出反应。

306c4358-068b-11ee-962d-dac502259ad0.png

3.2.2 LabVIEW上位机串口发送程序

本程序运行前需要先配置串口,将命令(如55 AA 01)通过VISA串口写入,等待不少于0.02 s,时间太短会导致读取缓存失败。通过串口属性节点Byte at Port可判断串口缓存的字符个数,若单片机返回错误标志,则重新发送[3]。由于DHT11是单总线器件,单片机正在执行时序时不能被打断,会错过上位机命令,所以需要重复发送几次,保证连接成功,不管成功与否最多发送5次。执行部分程序框图如图7所示。

30a55936-068b-11ee-962d-dac502259ad0.png

3.2.3 LabVIEW上位机串口接收程序 为保证单片机发送过来的数据不会丢失,上位机将串口缓冲中的数据一一读到队列中,再建立另外一个线程来取出队列中数据并进行分析,如图8所示。

30c12346-068b-11ee-962d-dac502259ad0.png

3.2.4 数据文件存储和调用

上位机存储数据文件类型为TDMS(Technical Data Management Streaming)文件,它兼顾了存取方便、高速等优势。TDMS的逻辑结构分为三层:文件(File)、通道组(Channel Groups)和通道(Channels)[4],程序员可以非常方便地使用这三个逻辑层次定义测试数据,数据检索是有序的、方便存取的,如图9所示。

30fa236c-068b-11ee-962d-dac502259ad0.png

4系统设计结果

系统测试结果如图10~图13所示。本系统实现了基于单片机和LabVIEW的温湿度监测,下位机实时监测温湿度数据,上位机在LabVIEW前面板实现温湿度数据和波形实时显示,当温湿度数值超出或低于预设值时,可通过下位机蜂鸣器和上位机指示灯进行报警,历史数据能以TDMS文件形式保存,易于查询和打印。

312a5870-068b-11ee-962d-dac502259ad0.png

313df0e2-068b-11ee-962d-dac502259ad0.png

31c6ab4e-068b-11ee-962d-dac502259ad0.png

31edf2ee-068b-11ee-962d-dac502259ad0.png

5结语

本文设计了基于单片机和LabVIEW的温湿度监测系统,经测试,该系统可实现温湿度的实时监测、报警、历史数据存储和查询功能,且监测界面美观、操作便捷,系统成本低,功能易扩展,具有较好的使用和推广价值。

审核编辑:汤梓红

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 传感器
    +关注

    关注

    2526

    文章

    48093

    浏览量

    740061
  • 单片机
    +关注

    关注

    6001

    文章

    43973

    浏览量

    620833
  • LabVIEW
    +关注

    关注

    1918

    文章

    3619

    浏览量

    316992
  • 监测系统
    +关注

    关注

    8

    文章

    2462

    浏览量

    80769
  • 串口通信
    +关注

    关注

    32

    文章

    1577

    浏览量

    54861

原文标题:基于单片机和LabVIEW的温湿度监测系统设计

文章出处:【微信号:机电信息杂志,微信公众号:机电信息杂志】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    基于51单片机的SHT11温湿度监测系统,LCD1602显示,上下限按键设置

    正常后,LED灯熄灭,蜂鸣器关闭。 系统框架 温湿度监测系统主要是利用AT89C51单片机最小系统
    发表于 03-26 17:44

    单片机温湿度传输

    要求一片单片机采集温湿度 通过串口传输到另一单片机 可是我就能传一个 不是温度就是湿度 传两个的话 接方温湿度都同步的显示一样的求高人指点啊
    发表于 11-28 14:56

    求基于LabVIEW和51单片机温湿度检测!

    LabVIEW单片机通过串口通讯接收传感器采集的数据,可以在LabVIEW上显示温湿度波形,可以存储温湿度数据,可以超限报警。
    发表于 04-21 20:55

    求基于LabVIEW和51单片机温湿度检测!

    LabVIEW单片机通过串口通讯接收传感器采集的数据,可以在LabVIEW上显示温湿度波形,可以存储温湿度数据,可以超限报警。
    发表于 04-21 20:56

    基于LabVIEW的土壤温湿度监测系统设计!求助!

    基于LabVIEW的土壤温湿度监测系统设计!求助!
    发表于 04-27 09:48

    基于单片机的远程温湿度监测系统。(有报酬)

    基于单片机的远程温湿度监测系统单片机监测温湿度,在LCD上面显示出来。用zigbee再把
    发表于 05-14 16:26

    基于Labview温湿度监测系统

    LabVIEW温湿度监测系统程序,需要用PCI-DAQ数据采集卡双通道采集目前我已经做出来小小的子程序总程序不太会毕设是这个急需求助有没有大神愿意帮助我交流一下
    发表于 04-11 15:16

    基于单片机和GSM的温湿度远程监测装置设计

    温湿度监测那部分的程序已经弄好,就是弄GSM通信,不会怎么用AT指令来接收和发送信息。我用的是SIM900A,89C52的单片机有大神可以给出一些程序? 具体要求:通过手机向该装置发送命令,会接收到对应的
    发表于 09-24 09:13

    基于SHT11温湿度传感器和单片机技术的智能温湿度测量系统

    研究了基于SHT11温湿度传感器和单片机技术的智能温湿度测量系统系统使用SHT11温湿度传感器
    发表于 04-27 06:34

    基于51单片机温湿度监测系统

    基于51单片机温湿度监测系统,具体功能:1、LCD1602液晶第一行显示当前的烟雾值,第二行显示当前的温度和湿度值;2、可以设置烟雾、
    发表于 07-20 07:38

    基于单片机仓库温湿度监测报警系统仿真设计的相关资料分享

    045【毕设课设】基于单片机仓库温湿度监测报警系统仿真设计,温湿度监测报警
    发表于 11-10 08:16

    基于单片机环境监测温湿度PM2.5系统设计

    基于单片机环境监测温湿度PM2.5系统设计,实时检测环境中的温湿度值,并检测控制的PM2.5颗粒,同时可以设定报警范围值,也可以通过led灯指示当前的控制各参数的状态。复制这段内容后打
    发表于 11-19 08:38

    怎样去设计一个基于单片机的粮仓温湿度无线监测系统

    任务书,以及相关资料见附件,下载查看。任务概述,设计一个基于单片机的粮仓温湿度无线监测系统。该系统包括:
    发表于 11-25 09:01

    基于单片机的土壤温湿度检测系统设计资料分享

    设计简介:本设计是基于单片机的土壤温湿度检测系统,主要实现以下功能:可通过LCD1602显示当前温湿度;可通过按键调整温湿度阈值;可通过防水
    发表于 01-24 06:18

    基于 LabVIEW温湿度监测系统设计与实现

    基于LabVIEW温湿度监测系统123456
    发表于 11-24 16:59 60次下载