CAN总线温度控制节点设计

发布时间 : 星期一 文章CAN总线温度控制节点设计更新完毕开始阅读

1.2 研究意义及其内容

1.2.1 研究意义

由于CAN总线具有多主方式工作、非破坏总线仲裁、直接通讯距离远、通信介质灵活、性价比高等特点,它的应用范围现在已不再局限于汽车行业,而已经扩展到了机械工业、农业机械、纺织机械、数控机床、机器人、家用电器等行业领域。CAN总线已经形成了国际标准,并且被公认为其中最有前途的现场总线之一。对于CAN总线的开发具有重要的现实意义。 在工业生产过程中温度是重要的控制参数之一,对温度的有效控制对于保证生产质量具有重大的现实意义和理论价值。这就需要一种实时性强、可靠性高和灵活性强的现场总线来进行温度数据传输,而CAN总线是一种多主方式的串行数控通讯总线,具有实时性、高可靠性和灵活性等优点,现已经广泛应用到汽车工业、航空工业、工业控制、自动控制、智能大厦、电力系统、安全防护等各个自动化控制领域,成为应用最广泛的现场总线之一,用它来进行温度数据传输可以保证温度数据的时效性,可以保证生产质量。 1.2.2 研究内容

本论文的主要研究内容为:

(1)温度数据采集模块的软件设计。

(2)按键功能模块软件设计,用软件设计各个按键不同的功能。. (3)液晶显示软件设计。 (4)PID控制算法设计。

2

第二章 软件模块设计

2.1 软件模块设计概述

在微机测控系统中,软件与硬件同样重要。硬件是系统的躯体,软件则是灵魂,当系统的硬件电路设计好之后,系统的主要功能还是要靠软件来实现,而且软件的设计在很大程度上决定了测控系统的性能。为了满足系统的要求,编制软件时一般要符合以下基本要求:

(1)易理解性、易维护性 要达到易理解和易维护等指标 在软件的设计方法中,结构化设计是最好的一种设计方法,这种设计方法是由整体到局部,然后再由局部到细节,先考虑整个系统所要实现的功能,确定整体目标,然后把这个目标分成一个个的任务,任务中可以分成若干个子任务,这样逐层细分,逐个实现;

(2)实时性 实时性是电子测量系统的普遍要求

即要求系统及时响应外部事件的发生,并及时给出处理结果。近年来,由于硬件的集成度与运算速度的提高,配合相应的软件,实时性比较容易满足设计要求;

(3)准确性

准确性 准确性对整个系统具有重要意义,尤其是测量系统,系统要进行一定量的运算,算法的正确性和准确性对结果有着直接的影响,因此在算法的选择、计算的精度等方面都要符合设计的要求; (4)可靠性

可靠性是系统软件最重要的指标之一,作为能够稳定运行的系统,抗干扰技术的应用是必不可少的,最起码的要求是在软件受到干扰出现异常时,系统还能恢复正常工作。

只有符合以上要求,才能编出符合系统运行最优的软件。

本系统软件设计采用模块化的思想,编程可以大致分为器件驱动编写部分和控制部分。其中驱动部分主要提供器件的软件操作接口;而控制部分则是基于器件的软件接口进行控制数据交互传输,并基于这些数据进行人机交互的控制设计。软件设计接口如图2-1所示。整个系统的基本思想是根据人机交互功能,设计出各个器件的软件接口。然后主程序完成交互功能,程序的前进方向是人为控制的。

3

远程监本地监 控主程控主程 序 序 液晶显 液晶显 示 示 继电器 远程监本地节 控节点 点 CAN通CAN通 温度采讯 讯 集模块 键盘 键盘

图2-1 软件设计接口图

下面着重介绍本论文所负责模块的子程序流程以及相关代码。

2.2 温度数据采集模块的软件设计

温度数据采集主要通过Ds18b20温度传感器来进行。Ds18b20采用单总线技术,即可传输时钟,又可传输数据,而且数据传输是双向的,因为这种单总线技术具有线路简单,硬件开销少,成本低廉,便于总线拓展和维护等优点。

数据采集模块的任务是负责温度信号的采集以及将采集到的温度模拟量信号转化为相应的数字量信号提供给单片机。单片机再对其进行相应的数据处理。因为数字温度传感器DS18B20能将外界的温度直接转换成数字信号,直接送入单片机处理就行了,就不用在经过A/D转化器将其转化成数字信号,这样就方便了很多,而且抗干扰能力强,软件程序也简化了很多。 2.2.1 ds18b20硬件电路图

Ds18b20硬件电路图如图2.2所示

4

图2-2 ds18b20硬件电路图 DS18B20引脚定义如下表2-1所示 表2-1 引脚定义

引 脚 GND

定 义 电源负极 信号输入输出 电源正极 空

DQ VDD NC 2.2.2 ds18b20工作时序

单片机使用时间隙来读写DS18B20的数据位和写命令字的位。

(1)初始化

1.先将数据线置高电平。

2.延时(该时间要求不是很严格,但是要尽可能短一些)。 3.数据线拉到低电平。

4.延时750us(该时间范围可以在480~960us之间)。 5.数据线拉倒高电平。

6.延时等待。如果初始化成功可在15~60ms内产生一个由ds18b20返回的低电平0。但是应注意,不能无限的等待,不然会使程序进入死循环,所以要进行超时判断。

7.若CPU读到数据线上的低电平后,还要进行延时,其延时的时间从发出高电平算起(第5步的时间算起)最少要480us。 8.将数据线再次拉到高电平后结束。

初始化时序图见图2-3

5

联系合同范文客服:xxxxx#qq.com(#替换为@)