基于单片机和组态王的温度监控系统的设计

news2024/9/21 10:31:20
摘 要 : 介绍了以 MSP430 单片机为核心 , 建立基于 DS18B20 和组态王的温度采集和监控系统。主要研究了单片机和组态王的通用通讯协议。按照 KingView 提供的通信协议 , 设计组态王与单片机的通信程序 , 实现了组态王与M SP430 单片机的直接串行通讯。在中药提取装置的温度监控系统应用中 , 该通讯方法可以将提取装置中的实时温度快速传输到上位机。实验证明, 该系统运行状况稳定、实时性好、硬件设计简单、数据传输稳定等特点。适合在工业场合中应用。
关键词 : M SP430 单片机 ; 组态王 ; 串行通讯 ; DS18B20

0 引 言

温度的测量和控制在工业过程和科学研究中非常重要, 所以在上位机对温度的实时监控是很有必要的。单片机以其强大的现场数据处理能力、低廉的价格、紧凑的系统结构、高度的灵活性, 微小的功耗等一系列优良特性已广泛应用于工业测量和控制系统中。组态王则以其工作性能稳定可靠、人机界面友善、硬件配置方便以及方便与管理或控制计算机联网通信等优良特性, 提供了对工业控制现场大量数据进行采集、监控、处理的解决方案, 在各种工业控制领域中同样得到了大量的使用。本文设计了基于单总线数字温度传感器 DS l8B20 的小型中药提取装置测温系统 ,主控芯片采用美国 T I 公司的 MSP430 单片机 , 采用通用单片机通讯协议, 通过串口实现了单片机与组态王的通讯 , 最后将采集到的数据通过串口传送到通用机或工控机, 由组态王对采集到的现场数据进行分析、存储或显示。

1 测温系统设计

1. 1 温度传感器的选择

传统的温度测量元件比如热电阻、热电偶之类的模拟传感器的优点是成本低, 但是为了实现精确的温度测量 , 需要比较复杂的电路设计。首先保证提供 1 个稳定的恒流源, 其次模拟传感器的输出信号都比较微弱 , 需要设计后续放大电路和A /D 转换电路 , 从而获取所测量到温度值的数字信号。目前 , 数字传感器由于其高精度、多功能和总线标准化广泛应用在工业生产中。在中药提取过程中, 提取液温度变化范围为室温到 80   , 误差不超过 0. 5 , 温度显示分辨率为 0. 1 。所以本系统选择美国 DA LLAS公司生产的单总线数字温度传感器 DS18B20 。单总线是美国 DA LLAS 公司专有的 1 种特殊的串行数据通信方式, 通 过 1 条连接线就可以实现控制、通信和供电。单总线技术的一大特点是可以在 1 根总线上挂接多个单总线器件 , 从而实现多点测量。DS18B20 采用 3 T O 92 封装 , 外形像三极管( 如图 1) 。测温范围 - 55~ + 125 , - 10~ + 85范围内精度可以达到 0. 5   , 测温分辨率 最高可 达0. 062 5

1. 2 硬件电路设计

测温系统主控芯片采用美国 TI 公司的超低功耗 16 位单片机 M SP430F149   , 温度检测采用单总线数字温度传感器 DS18B20, 本系统在单总线上挂了 3 个温度传感器 , 分别对提取装置3 个不同工作点进行检测 , 通过 RS232 接口近距离的和上位机进行通信, 由于单片机的串行发送和接收是 TT L 电平 , PC COM 1 EIA 电平 , 因此单片机需加接 M AX3232 芯片 , 通过串行电缆线和 PC 相连接。整个测温系统电路图如图 2 所示 , 采用 3. 3 V 供电 , 功耗低 ,结构简单。

1. 3 测温系统软件设计

该测温系统程序包括主程序、 DS18B20 温度采集子程序和组态王与单片机串口通信子程序。其中温度采集模块定时的采集 3 个温度传感器的温度值 ; DS18B20 的操作必须严格按照时序进行, 访问 DS18B20 的顺序如下 : 初始化、ROM 命令、 RAM 命令 。每次 DS 18B20 被访问时 , 都必须严格按照这个顺序进行操作, 否则 DS18B20 就不会有响应。系统在开始时要读取所有在线的 DS18B20 的序列号, 在读取一路温度之前要发送 1 DS18B20 序列号 , 进行寻址。温度采集模块流程图如图 3 所示。

RS232 通信模块主要完成和上位机组态王的通信。RS232 接收组态王采用的是中断方式 , 发送给组态王采用的是查询方式 , 在具体软件编写过程中要注意 RS232 接收和发送切换的时序, 否则 RS232 不能正常工作。单片机与组态王通讯流程图如图 4 所示。

2 单片机与组态王的通信协议

单片机与组态王有 3 种通讯方法 : 1) 用户根据组态王提供的驱动程序开发包开发自己的通讯驱动程序; 2) 通过比较复杂的动态数据交换( DDE) 方式进行通讯 ; 3) 利用组态王提供的与单片机的通用通讯协议[8] 。本系统采用第3) 种方法 , 严格按照 K ingView 提供的通信协议 , 设计组态王与单片机通信。

2. 1 组态王的通讯设置

在组态王的工程浏览器中点击设备 COM 1, 在右面窗口中双击新建, 出现设备配置向导 , 选智能模块 单片机 通用单片机 HEX 串口 , 点下一步 , 设备命名为单片机 , 选择串口 COM 1, 配置设备地址为 0, 一直点下一步到完成( 如图 5 所示 )   , 需要注意的是组态王中配置的设备地址是单片机的 RA M 地址 , 由单片机中的程序决定。单片机这个设备建好后, 双击左侧设备 COM 1 对通讯参数进行设置, 与单片机程序中的一致即可   。本系统设置的通讯参数: 8 位数据位 , 2 位停止位 , 波特率为 9 600 bps, 无奇偶校验位( 如图 6 所示) 。

2. 2 采用串口调试助手研究组态王与单片机的通信协议

采用串口调试助手 S SCom3. 2 模拟组态王 , 对组态王与单片机通信协议 进行研究 : 运行单片机 , 串口调试助手发送 05000401, 即组态王发送地址请求格式 , 对照组态王与单片机的通用通讯协议中的数据传输格式 1, 05 是请求帧的开始代码 ENQ, 00 是设备地址 S ta, 04 是请求帧的结束代码 EOT , 对十六进制数 05 00、 04 做 CRC 校验 , 结果为01 。串口调试助手接收到 06000305 的字串 , 对照通用通讯协议, 可以看出收到的是格式 2 的数据 , 即单片机应答地址格式( 如图 7 所示 )

根据组态王读数据的时序 : 组态王发送地址请求格式1, 单片机应答地址格式 2, 接着组态王进行读数据请求格式 3: 0552010000010453, 对照格式 3, 05 是请求帧的开始代码 ENQ, 52 是读标志 R, 01 是需要交换的数据 类型DataType, 0000 为数据偏移地址 DataAddr, 01 为要读取的数据的数量 Dat aNum, 04 是请求帧的结束代码 EOT , 对十六进制数 05 、50、01、0000、01、04 做 CRC 校验 , 结果为 53
串口调试助手接收到 060100710305 的字串 , 对照组态王的协议, 可以看出收到的是格式 4 的数据 , 即单片机应答读数据格式( 如图 8 所示 )

2. 3 单片机通讯程序设计

M SP430F149 单片机工作在多机通信位方式时 , 单片机的U RXWIE 置位为 1 。当组态王开始运行后 , 就向单片机不停的发送地址请求格式, 单片机收到请求后 , 首先 , 对其进行 CRC 校验 , 然后对地址请求格式中的地址与单片机程序中预设的地址进行匹配, 如果满足条件 , 则按单片机答应地址格式通过串行口进行应答, 并将 URXWIE 复位为 0, 即单片机下次接收数据处于正常状态。下位机进行地址 判断的程序框架如下:      

   
if( ( rx0dat a[ 0] = = 0x05) & & ( rx0data[ 1] = = 0x00)
& & ( rx0data [ 2] = = 0x04) & & ( U RCTL0& URXWIE)
& & ( CRCok= = 1) ) / / 判断是否为本机地址
{
/ / 准备发送区数据
URCT L0& = ~ URXWIE;
}
组态王接收到单片机的应答地址格式后发出读数据请求格式, 单片机收到请求后 , 把温度模块 DS18B20 采集的数据, 按单片机应答读数据的格式组成应答帧 ( 格式 4) , 通过串口发送给组态王, 并把 URXWIE 置位为 1 完成一次完整通信。读数据请求程序框架如下:
if( ( rx0data[ 0] = = 0x05) & & ( rx0data [ 1] = = 0x52)
& & ( rx0data[ 2] = = 0x03) & & ( ! ( URCTL0& URXWIE) )
& & (CRCok= = 1) ) / / 判断组态王要求的数据格式
{
/ / 准备发送区数据
URCT L0= URXWIE;
/ / 只有收到地址字符时才允许中断
}

3 系统验证

将所设计的系统 , 应用在超声波中药提取过程中 , 对提取过程中的温度实时监测, 并将装置顶部、中部以及底部的温度测量值进行平均值计算和显示, 如图 9 所示。从监控画面中可以看出提取装置中的顶部温度为 24. 375 , 中部温度为24. 375 , 底部温度为 24. 500 0   。结果表明该通讯系统实现了温度的实时显示, 并且达到了很高的精度。

4 结 论

本文采用通用单片机通讯协议 , 设计了基于组态王和M SP430 单片机的测温系统 , 实现了温度曲线的实时显示和历史曲线的查询。实践表明, 该系统运行状况稳定 , 实时性好, 设计简单 , 成本低廉 , 适合在工业场合中应用。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1872517.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

优思学院|「按计划推动型」与「需求拉动型」的生产模式

针对生产架构做对比分类的用语,主要有按计划推进型与需求拉动型。 「按计划推动型」与「需求拉动型」两者乃是生产架构上常使用、成对比的两个用语。不过,有时不只用来指单纯的生产现场架构,也有人把它应用在更广泛的生产架构设计上。 按计划…

智能网络构建:探索大模型在网络领域的应用

网络领域以其高度复杂性和快速迭代为特点,完成从网络设计、配置、诊断到安全的网络任务需要广泛的专业知识。这些任务的固有复杂性,加上网络技术和协议不断变化的格局,为传统基于机器学习的方法带来了显著的障碍。这些方法在泛化和自动化网络…

吴恩达+ OpenAi共同编写<面向开发者的LLM入门教程>Github 50k+ star!

今天给大家推荐一本由吴恩达和OpenAI团队共同编写的关于大型语言模型&#xff08;LLM&#xff09;的权威教程<面向开发者的LLM入门教程>&#xff01;&#xff0c;在Github上已经高达50k star了&#xff0c;这含金量不用多说&#xff0c;在这里给大家强烈推荐一波&#xf…

孟德献刀 | 第4集 | 宁教我负天下人,休教天下人负我 | 你自比鸿鹄,安知他人是燕雀呀 | 三国演义 | 逐鹿群雄

&#x1f64b;大家好&#xff01;我是毛毛张! &#x1f308;个人首页&#xff1a; 神马都会亿点点的毛毛张 &#x1f4cc;这篇博客是毛毛张分享三国演义文学剧本中的经典台词和语句&#xff0c;本篇分享的是《三国演义》第Ⅰ部分《群雄逐鹿》的第4️⃣集《孟德献刀》&#x…

开源API网关-ApacheShenYu首次按照启动遇到的问题

一.背景 公司有API网关产品需求&#xff0c;希望有图形化的后台管理功能。看到了ApacheShenYu&#xff0c;作为Apache的顶级项目&#xff0c;直接认可了。首先&#xff0c;感谢各位大神的付出&#xff0c;初步看这个项目是国内大厂中的大神创立的&#xff0c;在此表示膜拜&…

如何利用俄罗斯VK Ads破解中俄贸易难题?

在当前全球经济环境下&#xff0c;中国与俄罗斯之间的贸易关系正面临着新的机遇和挑战。 特别是随着国际形势的变化&#xff0c;中俄两国的贸易往来日益频繁&#xff0c;中国企业机构出口至俄罗斯的业务也随之增多。 在这样的背景下&#xff0c;如何通过有效的市场推广策略&a…

【鸿蒙学习笔记】页面和自定义组件生命周期

官方文档&#xff1a;页面和自定义组件生命周期 目录标题 [Q&A] 都谁有生命周期&#xff1f; [Q&A] 什么是组件生命周期&#xff1f; [Q&A] 什么是组件&#xff1f;组件生命周期 [Q&A] 什么是页面生命周期&#xff1f; [Q&A] 什么是页面&#xff1f;页面生…

Python爬取中国天气网天气数据.

一、主题式网络爬虫设计方案 1.主题式网络爬虫名称 名称&#xff1a;Python爬取中国天气网天气数据 2.主题式网络爬虫爬取的内容与数据特征分析 本次爬虫主要爬取中国天气网天气数据 3.主题式网络爬虫设计方案概述&#xff08;包括实现思路与技术难点&#xff09; reques…

可以在Mac电脑玩的拳皇97 for Mac(KOF97) 支持M1

《拳皇97》&#xff08;The King of Fighters 97&#xff09;是一款由SNK公司制作的拳击格斗游戏&#xff0c;于1997年在Arcade平台发布&#xff0c;随后在多个游戏平台上推出。该游戏是《拳皇》系列的第三个作品&#xff0c;继承了前作《拳皇96》的“adius”系统&#xff0c;并…

Windows C盘清理指南:哪些文件可以删,哪些不能动?

文章目录 📖 介绍 📖🏡 演示环境 🏡📒 文章内容 📒📝 可删除的文件类型📝 不能删除的文件类型📝 使用第三方工具📝 注意事项⚓️ 相关链接 ⚓️📖 介绍 📖 对于普通电脑用户来说,最令人困扰的问题之一就是电脑C盘满了。不仅导致系统运行缓慢,而且如果…

重磅!免费一键批量混剪工具它来了,一天上万短视频不是梦

很多做短视频营销的朋友需要批量生成大量的短视频&#xff0c;但是市面上的工具一是不好用&#xff0c;二是要收费。 今天给大家介绍一款免费的&#xff0c;可以自动化批量生成短视频的工具MoneyPrinterPlus。 同时支持windows和linux平台。 有了它&#xff0c;一天生成上万短…

2024年Nano编辑器最新使用教程

Nano在大多数Linux发行版中找到&#xff0c;易于使用&#xff0c;其最常用的命令显示在其屏幕底部。 作为编辑配置和其他文件是Linux中的一种普遍的任务&#xff0c;知道如何使用该程序是否可以非常有用。Nano编辑器以及如何使用Nano编辑器在服务器上编辑文件是我们将在本指南中…

“一团乱麻”到底什么是烟雾病呢?

当我们听到“烟雾病”这个名字时&#xff0c;可能会联想到与吸烟有关的疾病&#xff0c;但实际上&#xff0c;这是一种与吸烟毫无关系的罕见脑血管疾病。它的名字来源于在脑血管造影中&#xff0c;病变的血管网看起来像一团乱麻&#xff0c;又似吸烟时吐出的烟雾。 烟雾病&…

Arduino - Keypad 键盘

Arduino - Keypad Arduino - Keypad The keypad is widely used in many devices such as door lock, ATM, calculator… 键盘广泛应用于门锁、ATM、计算器等多种设备中。 In this tutorial, we will learn: 在本教程中&#xff0c;我们将学习&#xff1a; How to use key…

WPF----自定义滚动条ScrollViewer

滚动条是项目当中经常用到的一个控件&#xff0c;大部分对外项目都有外观的需求&#xff0c;因此需要自定义&#xff0c;文中主要是针对一段动态的状态数据进行展示&#xff0c;并保证数据始终在最新一条&#xff0c;就是需要滚动条滚动到底部。 1&#xff0c;xaml中引入 <…

【微服务】Alibaba Cloud Linux环境下Docker以及MySQL安装

部署Docker 1.安装dnf dnf是新一代的rpm软件包管理器 yum -y install dnf2.安装社区版Docker&#xff08;docker-ce&#xff09; 添加docker-ce的dnf源 dnf config-manager --add-repohttps://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo安装Alibaba Cloud…

【03】从0到1构建AI生成思维导图应用 -- Agent 搭建

【03】从0到1构建AI生成思维导图应用 – Agent 搭建 大家好&#xff01;最近自己做了一个完全免费的AI生成思维导图的网站&#xff0c;支持下载&#xff0c;编辑和对接微信公众号&#xff0c;可以在这里体验&#xff1a;https://lt2mind.zeabur.app/ 上一章&#xff1a;https…

Arduino - TM1637 4 位 7 段显示器

Arduino - TM1637 4 位 7 段显示器 Arduino-TM1637 4 位 7 段显示器 A standard 4-digit 7-segment display is needed for clock, timer and counter projects, but it usually requires 12 connections. The TM1637 module makes it easier by only requiring 4 connectio…

【yolov8系列】ubuntu上yolov8的开启训练的简单记录

前言 yolov8的广泛使用&#xff0c;拉取yolov8源码工程&#xff0c;然后配置环境后直接运行&#xff0c;初步验证自己数据的检测效果&#xff0c;在数据集准备OK的情况下 需要信手拈来&#xff0c;以保证开发过程的高效进行。 本篇博客更注意为了方便自己使用时参考。顺便也记录…

yolov5驾驶员不规范行为检测

1 项目介绍 1.1 摘要 随着汽车工业的迅速发展和交通拥堵的加剧&#xff0c;驾驶员在行车过程中的不规范行为成为了导致交通事故频发的重要因素之一。为了减少交通事故的发生&#xff0c;保障道路安全&#xff0c;提高驾驶员的行车安全意识&#xff0c;本研究致力于实现驾驶员…