×
单片机 > 单片机程序设计 > 详情

基于CAN总线的智能温度测控系统

发布时间:2020-06-12 发布时间:
|
0 前 言

    本文将研究一种由CAN总线完成测控系统间数据通信、结构灵活、通用性号的温度测控系统,在此系统中,我们同时使用了单总线数字温度传感器DS18B20,为适应不同场合应用需要,还可以使用Pt100,并能方便的实现系统互联。将传感器的输出变换成标准电压或电流信号,通过A/D转换变成数字量。将数字量信号传给单片机,最后单片机将采集到的数据送到CAN总线控制器,通过CAN总线收发器传上总线,完成数据采集工作。

1 温度测控系统总体方案选择

    根据应用场合的需要,本温度测控系统主要完成的功能有:对热电偶温度传感器Pt100的信号进行检测;利用数字温度传感器DS18B20对温度的检测;现场LED显示数字温度信号、微型打印机打印温度变化曲线图以及键盘控制功能;主站通过CAN总线与下位机通信,实现对整个系统的监控。系统主要由:监控模块、测温模块、现场显示模块和CAN 总线通信等部分组成,系统构成原理图1-1所示。


图1-1 系统构成框图


2 系统硬件选型及设计

    2.1 传感器的选用-DS18B20传感器

    DALLAS公司的DS18B20是一线式数字温度传感器,具有3引脚IO-92小体积封装;温度测量范围为-55℃~+125℃,可编程为9位~12位AD/转换精度,测温分辨率可达0.0625℃,DS18B20能够直接从数据线获得电源,无需外部电源供电。其工作电源既可在远端引入,也可采用寄生电源方式产生;多个DS18B20可以并联到3根或2根线上,CUP只需一根端口线就能与诸多DS18B20通信,占用微处理器的端口较少,可节省大量的引线和逻辑电路,使DS18B20非常适用于远距离多点温度检测系统。

    2.2 单片机C8051F040

    C8051F040 CAN控制器构成及访问方式C8051F040单片机是美国Cygnal公司生产的完全集成的混合信号系统级芯SOC(System On Chip),具有与8051指令集完全兼容的CIP-51内核。它在一块芯片上集成了构成一个单片机数据采样或控制系统所需要的几乎所有模拟和数字外设及其它功能部件。它具有64KB Flash、4352B RAM、CAN 控制器2.0、2个串行接口、5个16位定时器、12位A/D转换器、8位A/D转换器及12位D/A转换器等,它内部还带有JTAG接口,使调试变得非常方便。C8051F040内部集成的CAN控制器为Bosch CAN控制器。

    2.3 现场温度传感器Pt100

    PT100,又叫铂电阻,热电阻,是一种温度传感器,铂电阻温度系数为0.0039×/℃,0℃时电阻值为100Ω,电阻变化率为0.3851Ω/℃。采用不锈钢外壳封装,内部填充导热材料和密封材料灌封而成,尺寸小巧,适用于精密仪器、恒温设备、流体管道等温度的测量,非常经济实用。铂电阻温度传感器精度高,稳定性好,应用温度范围广,是中低温区(-200℃~400℃)最常用的一种温度检测器,不仅广泛应用于工业测温,而且被制成各种标准温度计。

    2.4 PHILIPS公司的PCA82C250收发器

    由于Cygnal内部的CAN控制器只是个协议控制器,不能提供物理层驱动,所以在使用时还需外加CAN总线收发器,常用的CAN总线收发器有PHILIPS公司的PCA82C250收发器、高速TJ1050收发器等。这里使用PCA82C250收发器,它可提高总线的差动发送和接收能力。它与ISO11898标准完全兼容,有3种不同的工作方式,即高速、斜率控制和待机,可根据实际情况选择。

    2.5 6N137

    6N137光耦合器是一款用于单通道的高速光耦合器。在6N137光耦合器的电源管脚旁应有—个0.1uF的去耦电容。在选择电容类型时,应尽量选择高频特性好的电容器,如陶瓷电容或钽电容,并且尽量靠近6N137光耦合器的电源管脚;另外,输入使能管脚在芯片内部已有上拉电阻,无需再外接上拉电阻。

    2.6 GP-16微型打印机

    GP-16为智能型打印机,机芯采用Model-150Ⅱ型16行微型针式打印头,内部控制器由单片机组成,通过与主机进行通信,接受命令和传输数据。主机通过接口电路实现对打印机的动作的控制,将主机送来的数据以字符串、数据和图形形式打印出来。

3 各功能模块的功能及实现

    3.1 监控模块

    监控模块的主要功能是向各测温模块节点发送远程帧,接收来自各节点的数据或信息实现监控、报警及其它功能。该模块硬件由微型计算机与一块PC-CAN 通信卡来实现。

    3.2 测温模块

    每—个DSl8B20温度传感器都有—个自己特有的芯片序列号,我们可以将多个这样的温度传感器挂接在一根总线上,实现多点温度的检测。其接线电路图如图3-1所示。所有的DS18B20通过单线与单片机通信,而其电源由外部提供。DS18B20的接口电路非常简单。铂电阻温度传感器Pt100其电阻值随着温度的变化而变化,为了便于检测,可将其信号转换为电压或电流信号,这里采用外加恒流源将电阻变化转变为电压变化信号。


图3-1 DS18B20 接口电路


    在信号调整电路(见图3-2)里,为了提高Pt100的测量精度,减少线路的长度对检测结果的影响,Pt100采用四线法进行采样信号,再经过差动放大电路,这样可以较好的减少零点漂移,以及减少由于线路过长产生的压降对系统的影响。[page]


图3-2 信号采集、调整电路


    3.3 现场显示打印模块

    此显示模块的主要功能有:它能在现场显示各个节点的温度值和温度变化曲线,可以通过键盘设定所要显示的节点温度。它有单独的单片机进行处理,与C8051F040通过串行口进行通信。电路原理如图3-2所示。这样在电路上看起来比较复杂,但它的灵活性大,可以减轻下位机主控器C8051F040的负担,而且用户可以根据需要对其进行选择。单一测温模块、现场显示模块可构成一独立的温度测控小系统。

    3.4 现场显示打印模块

    此显示模块的主要功能有:它能在现场显示各个节点的温度值和温度变化曲线,可以通过键盘设定所要显示的节点温度。它有单独的单片机进行处理,与C8051F040通过串行口进行通信。这样在电路上看起来比较复杂,但它的灵活性大,可以减轻下位机主控器C8051F040的负担,而且用户可以根据需要对其进行选择。单一测温模块、现场显示模块可构成一独立的温度测控小系统。

    3.5 CAN总线通信模块

    CAN总线是监控模块和各测温节点的物理连接,该部分主要是其物理层的设计。监控模块的主要功能是对整个系统进行监控,它通过CAN总线不断的向下位机发送远程帧,并接收从下位机传送过来的温度等信息,并对这些信息进行分析、显示、存储等。用户可根据监控菜单的提示,选择需要了解的项目。监控模块还可以对数据进行记录、打印,以及对出现异常情况给予报警、处理等。现场显示模块同样可以接收各点的温度值,并以数值曲线等形式显示出来,用户可以在现场对系统进行观察等。

    3.6 电源模块


图3-3 电源模块电路设计

4 智能温度测控仪的软件设计

    CAN总线上的每一节点均可以作为主节点主动地与其它节点交换数据,彻底解决了主从结构网络上只能有一个主节点、其余均为从节点的潜在危害,CAN网络中的节点(信息帧)可分优先级,这对实时控制系统无疑是极为有利的。由于本系统采用了CAN总线构成局域网因此程序设计具有很大的灵活性。根据系统特点将程序分为两部分:监控程序、现场LCD显示程序和测温程序。利用微型计算机作为监控模块的主机,监控程序可完成较完备的温度监控和数据管理功能如:特定点温度的采集和显示,整个系统温度的采集和显示,温度越限报警点的定位等;现场LCD显示程序主要完成对信息的接收、处理,并按照一定的规律将其显示出来;测温程序主要完成接收监控计算机发出的各种命令,采样信息等功能。这里给出测温程序框图如图4-1所示。


图4-1 温度测控主流程图


5 总 结

    本文首先引入了现场总线这一高度综合与集成了计算机技术、通信技术和控制技术的新的技术模式,分析了现场总线的结构模型、特点、优点和类型等,进而讨论了CAN作为众多现场总线之一的独特优点。在此基础上开发了基于CAN现场总线的温度监控系统。本文对该系统的结构、功能与特点、硬件选用设计和通信程序设计给予了详细的叙述从整体和局部的不同角度阐明了系统中所使用技术的先进性和独到之处:

    除了CAN现场总线本身的技术优势外,提及了单片机的使用、数字传感器的选用、软件的编程功能等技术的应用。

关键字:CAN总线  温度测控系统  C8051F040

『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
单片机的抗干扰措施有哪些