基于CAN总线的多点红外测温系统设计

  作者:赵旭(鹤壁职业技术学院,河南鹤壁 458030) 时间:2022-07-28来源:电子产品世界

摘要:在工业控制领域,温度测量是不可或缺的工作。随着工业控制精细化、多点化要求,多点测温系统的需求空间越来越大。本文基于CAN总线设计了一个多点测温系统,硬件电路由微处理器、CAN控制器与驱动器、数字测温芯片DS18B20、LCD、复位电路等几部分组成,单片机STC89C52RC是硬件电路的核心,承担 CAN控制器的初始化、数据收发控制等任务。实验证明,该系统精度高,可靠性好,结构简单,成本低,适用范围内可取代传统测温系统。

关键词:CAN总线;多点测温系统;DS18B20温度传感器

1 引言

在工业控制领域,温度测量是不可或缺的工作。随着工业控制精细化、多点化要求,多点测温系统的需求空间越来越大。CAN(控制器域网,Controller Area Network)总线在组网和通信功能上的优点以及它的高价比决定了它在众多领域具有广阔的发展前景,尤其是在分布在多点测温应用方面。本文基于 CAN 总线设计了一个多点红外测温系统,能够实时对多点进行测温,具有测温范围广、精度高、环境适应能力强等特点。

2 硬件设计

CAN 总线多点测温系统主要由现场设备,主控设备和计算机组成,系统总体结构图如图 1。

1659016275696170.png

图1 系统结构图

2.1 温度测量电路设计

DS18B20 传感器可以把温度直接转换成串行数字信号供微控制器进行处理。由于每个传感器含有唯一的硅串行数,故一条总线上可以有任意多个 DS18B20 芯片。 本设计中的 DS18B20 是在模拟的现场节点上的,采用不同材质的通信电缆,其最大测温范围不一样。因此,使用 DS18B20 设计长距离测温系统时,电容与阻抗匹配问题是不可忽略的一个因素。DS18B20 的寄生电源模式有两项基本功能,一是保证微处理器和 DS18B20 之间的正常通讯,二是为 DS18B20 提供电源。实际应用中当单总线上所挂 DS18B20 超过 8 个时,就需要考虑微总线驱动问题,这一点进行测温时要尤为注意。

2.2 CAN总线通讯节点电路设计

本文选用选用 STC 的单片机做为主控器,选用 CAN 控制器和 CAN 驱动器来构建 CAN 通讯网络。主要由三部分构成:微控制 STC89C52、独立 CAN 通 信控制器 SJA1000 和 CAN 总线收发器 PCA82C250;微处理器 STC89C52 负责 SJA1000 的 初始化,通过控制 SJA1000 实现数据 的接收与发送;SJA1000 的 AD0 ~ AD7 连接到 STC89C52 的 P0 口上,CS 连接到 STC89C52 的 P2.0,P2.0 为 0 的 CPU 片外存贮器地址可选中 SJA1000,CPU 通过这些地址可对 SJA1000 执行相应的读写操作。

2.3 数码管显示电路设计

由于 STC89C52 的 P1、P2、P3 口内部都有上拉电阻,为了减少硬件电路的复杂度,在这里选用 STC89C52 的 P1 口来做为数码管的段码控制口,P2 口的四位做为数码管的位选信号,从而省去了数码管复杂的驱动电路,也降低了硬件设计的难度;为了节省单片机的端口资源,同时降低成本,这儿选用四位一体的共阴数码管做为显示设备,采用动态扫描的方法显示,比着用四个独立的数码管来显示要容易的多,硬件也简单的多。

2.4 液晶接口电路设计

根据设计要求,主控板需要将模拟的三个现场节点的温度值读取过来并在液晶上显示,为了能够同时显示汉字和字符,这儿选用 YJD12864 做为液晶显示模块,相比于只能显示字符的 1602,12864 的显示更加美观,更加人性化。YJD12864 有并行数据传输和串行数据传输两种工作方式,本设计选用 8 位并行传输方式,STC 单片机的 P1 口做为 12864 的数据口;P2.1 接 12864 的 4 脚,用来向 12864 发送数据和控制指令;P2.2 接 12864 的 5 脚,用来通知 12864 本次操作是读操作还是写操作;P2.3 接 12864 的 6 脚,对 12864 操作的使能信号,高电平使能操作。

2.5 串口通讯电路设计

设计要求中规定,现场设备将温度值传给主控设备,然后主控设备再将数据传送到上位机显示,并且上位机可以随时更改现场设备参数,从而实现远程控制;为了满足上述设计要求,这里使用 485 加 232 的方式通讯,由于 232 的传输距离有限,虽然 CAN 总线宽范围的传输距离能够弥补 232 这一缺点,且设计成本低,但考虑到现场的各种干扰信号比较复杂,一旦现场噪声到达极值时可能会连同上位机一并损坏;而 485 则不同,它是一个半双工通讯器件,其采用平衡压差的方式传输数据,使得数据线上的衰减和干扰都大大降低,从而加大了传输距离,提高了抗干扰能力,故在这里又加了一层 485 的通讯,不仅使现场和上位机有效地隔离,而且进一步加大了数据传输的距离。

3 软件设计

智能 CAN 总线节点的软件主要用来完成三项任务:一是温度传感器的采样;二是现场节点将数据传送给主控节点,由主控节点将数据处理之后送给上位机显示;三是主控节点随时准备接收上位机传来的参数,并通过 CAN 总线发给现场节点修改相关参数。主控节点的流程如图 2。

1659016598163337.png

图2 主控节点流程图

3.1 温度采样系统软件设计

该系统,主要操作包括高低温报警数据的写入、温度数据的读取、数据处理、码制转换以及数码显示等几部分;对 DS18B20 处理时要注意以下几点:①每次读写之前要复位;②收到信号后等待 16 ~ 60 μs 后发出 60 ~ 240 μs 的存在低脉冲,主 CPU 收到此信号后表示复位成功;③紧接着依次发送一条 ROM 指令、RAM 指令,这样才能对 DS18B20 进行正确操作。

3.2 CAN通讯控制器初始化

CAN 初始化主要是设置 SJA1000 的参数。需要初始化的 CAN 控制寄存器有:模式寄存器、时钟分频寄存器、接收代码寄存器、输出控制寄存器等。SJA1000 的初始化程序如下:

1659016710925092.png

1659016735348075.png

1659016784840618.png

1659016808768787.png

3.3 LCD显示及串口发送接收软件设计

液晶 YJD12864 的初始化程序流程图如图 3 所示。

1659016886376347.png

在这里需要说明一下,上位机给主控板发数据时,当发送的第1个数据是字符“$”,最后1个数据是字符“*”时,主控板才认为接收到的是有效数据,否则,主控板不对接收到的数据进行处理;用发送的第 2 个字符来区分要发送的数据是送给哪一个现场节点的,字符“A” 表示现场节点 1,字符“B”表示现场节点 2,字符“C”表示现场节点 3;第 3 ~ 6 个字符是要传送的高低温报警值,高温在前,低温在后。

4 实验结果分析

为了验证设计系统的稳定性和准确性,对系统显示模块、测温模块、CAN 总线模块及串口通信进行调试。调试完毕后,我们用设计的测温系统在实验室不同时间段不同地点采集十组数据,其中上午测试五组,下午测试五组,除了测温方式不同,其他因素全部相同,具体数据如表 1 所示。

1659016977906765.png

由表可知,系统对照值与测量值,最大偏差小于0.2,系统测温方案的可靠性较强。

5 结语

本文利用红外辐射测温的原理,计了一种基于 CAN 总线和 DS18B20 为传感器的多点红外测温系统,硬件电路由单片机 STC89C52、CAN 控制器、测温芯片 DS18B20、LCD、LED、串行通讯口、复位电路等几部分组成。基于 CAN 总线的多点红外测温系统具有测温范围广、精度高、环境适应能力强等特点。该系统通过 CAN 适配器与计算机连接,可以方便地构成分布式测控系统。实验表明,该系统不仅具有高精度温度测控功能,而且通过 CAN 总线实现对多个地区温度进行集中监控,具有测温范围广、精度高、环境适应能力强等特点。

参考文献:

[1] 王奥运,范冰新,潘文强等.基于CAN总线的远程温度采集系统[J].山西电子技术,2015(3)19-21.

[2] 汤锴杰,栗灿,王迪等.基于DSB18B20的数字式温度采集报警系统设[J].传感器与微系统,2014,33(3):99-102.

[3] 周鹏.基于STC89C52单片机的温度检测系统设计[J].现代电子技术,2012,35(22):10-13.

[4] 杨盛泉,刘海泉,刘白林.ZigBee与RS485混合网络的粮情监控系统的研究[J].西安工业大学学报,2016,36(9):749-756.

[5] 杨博雄,倪玉华.无线传感网络[M].北京:人民邮电出版社,2015.

(注:本文转载自必威娱乐平台 2022年7月期)

关键词: 202207 CAN总线 多点测温系统 DS18B20温度传感器

加入微信
获取电子行业最新资讯
搜索微信公众号:EEPW

或用微信扫描左侧二维码

相关文章

查看电脑版