基于单片机的远程数据采集系统的设计Word格式文档下载.doc
- 文档编号:474282
- 上传时间:2023-04-29
- 格式:DOC
- 页数:60
- 大小:2.19MB
基于单片机的远程数据采集系统的设计Word格式文档下载.doc
《基于单片机的远程数据采集系统的设计Word格式文档下载.doc》由会员分享,可在线阅读,更多相关《基于单片机的远程数据采集系统的设计Word格式文档下载.doc(60页珍藏版)》请在冰点文库上搜索。
摘要 I
Abstract II
1绪论 1
1.1课题来源 1
2.2课题意义、目的 2
2.3课题主要内容 2
2远程数据采集系统的硬件设计 3
2.1系统方案设计 3
2.2DS18B20数字式温度传感器模块的硬件电路设计 5
2.3数码管显示模块的设计 8
2.4RS-485总线及其与单片机、PC机的接口电路的设计 14
3远程数据采集系统的软件设计 20
3.1单片机的数据采集模块的程序设计 20
3.2数据采集的串口通信协议 23
3.3人机界面的设计 28
4系统仿真与分析 32
4.1单片机中测温显示模块的仿真 32
4.2串口通信仿真 32
4.3结果分析 34
5结论 35
参考文献 36
附录 38
附录1系统的整体硬件电路 38
附录2DS18B20显示模块相关程序 39
附录3串口程序 47
附录4VB控件相关程序 50
致谢 53
毕业设计(论文)
1绪论
1.1课题来源
数据采集(DataAcqusition)是获取信息的基本手段。
数据采集技术作为信息科学的一个重要分支,是以传感器、信号测量与处理、微型计算机等技术为基础而形成的一门综合应用技术。
数据采集系统是利用计算机、通信、测控等技术采集、记录和显示现场的各种物理参量,以供管理人员和现场操作者参考的系统,是现代测控系统的基础,用于获取各种现场测量数据。
远程数据采集系统,与传统的数据采集系统相比,具有不受地理环境、气候、时间的影响等优势。
而借助单片机手段的远程数据采集系统,更具有工程造价和人力资源成本低,传输数据不受地域的影响,可靠性高,免维护等优点。
通信、计算机等技术的飞速发展,特别是远程传输手段的多元化和技术水平的提高,使远程数据采集技术有了广泛的应用。
数据采集在各个测试和控制系统,数据采集系统的设计和实现包括很多方面的内容,涉及面也很广。
在日常生活及工农业生产中经常要用到温度的检测及控制,能独立工作的温度检测系统已广泛应用于诸多的领域。
于是本文采用温度检测作为引子来模拟远程数据采集系统的设计。
传统的温度检测大多以热敏电阻或热电偶为传感器,它们测出的一般都是电压,再通过相应的A/D转换,转换成对应的温度,这种结构需要比较多的外部硬件支持,硬件电路复杂,软件调试复杂,制作成本高。
在一些测量与控制系统的应用场合中,数据采集点与控制点通常有一定的距离,因此需要将采集的数据从采集现场进行远程传输,而传统的串口通信传输的最大的距离只有15m,因此相要完成远距离的传输,就应对系统的数据传输问题采取新的方法。
为了简化电路,降低成本,提高性价比,增强抗干扰能力和扩大传输距离和使用的灵活性,研究一种新的温度数据远程采集系统也就很有必要。
本设计提出一种利用DS18B20数字式温度传感器作为温度采集的工具,用单片机对它进行控制,并且通过RS-485总线做远程传送将采集到的数据通过RS-232接口送入PC机测温系统的设计方法。
系统上位机由一台微机构成,软件采用VisualBasic编程,做出十分直观的人机界面,由单片机构成的测温模块检测到的温度数据分别显示在单片机的显示模块和通过串口通信显示在PC机上。
本系统设计完成了对温度数据的采集、数码管显示以及PC机的用户程序界面。
本设计接口简单、使用方便、可靠性好,在温度检测中有较广泛的应用前景,具有较强的使用价值。
2.2课题意义、目的
基于单片机的远程数据采集应用范围十分广泛,意义重大。
随着社会的发展,各行各业都在向信息化和自动化方向发展。
远程数据采集在电力电子系统信息自动化、远程控制监测、远程医疗、远程信息管理等领域发挥着不可替代的作用。
远程数据采集系统与传统的数据采集系统相比具有不受地理环境、气候、时间的影响等优点,己经广泛用于石油、电力、水利、公安、交通和安防等行业。
随着通信技术、微电子技术的进步和智能化建设的发展,越来越多的设备如家电、电表、工业终端等都有了需要进行远程数据采集的需求,并且有大量的数据需要远距离传输,那么设计出功能齐全的、智能化水平较高的、能够实时传输数据的基于单片机的远程数据采集系统是本论文研究的目的。
2.3课题主要内容
本课题通过学习数据采集系统的设计,结合单片机的理论知识,构成建立主站计算机与远程微处理器之间的通信,通过计算机的串口接受微处理器所发来的数据,而微处理器通过数据采集的芯片来获得现场的运行数据。
因此课题的主要内容为
(1)设计单片机与底层数据采集系统的接口电路。
(2)选择合适的通信方式实现单片与PC之间的通信。
并在通过几种方案的比较上,通讯方式上选择了利用单片机并且通过RS-485总线做远程传送将采集到的数据通过RS-232接口送入PC机测温系统的设计方法[1][2]。
(3)编制相关的程序,包括数据采集子程序,PC应用程序界面等。
2远程数据采集系统的硬件设计
2.1系统方案设计
目前常用的远程数据采集解决方案有
(1)GSM/GPRS无线网络,它利用GSM/GPRS的话音信道或者短消息来进行信息传递,一般仅适用于移动应用场合,如车辆的监控调度系统,但其终端设备成本和运行费用都较高。
远程无线数据采集系统基于GPRS技术实现远程数据通信,GPRS业务具有接入迅速、永远在线、流量计费等特点,在远程突发性数据实时传输中有不可比拟的优势;
既具有有线方式的效率高,实时性好、成本低的优点,同时安装方便、可维护性好、易实现网络化管理。
利用现有的GPRS网络资源,发挥网络覆盖率高、传输特性好等优势,为现有数据采集系统提供一种便捷的无线数据传输方式,代表着工业控制及现场监测等领域的一个发展方向。
在远程数据采集系统的前端,由于测量终端数量较多,为每个测量终端都配置GPRS模块,势必造成成本很大,因此在测量现场对测量终端数据进行初步的集中成为必要。
在测量终端较集中的现场和Internet能够覆盖到的地方,通常都采用有线连接的数据通信方式。
然而在许多特殊工作场合,由于现场环境的制约,有线的连接方式已经不能满足数据采集系统的参量要求。
如对于分散测控系统,由于测量点比较分散,线路铺设及维护均需较高的代价;
对于运动构件上的传感器信号的采集,由于传感器空间位置不固定,使得通过电缆引出信号变得不可靠、甚至不可能,在环境恶劣、危险性大、对人体有危害的场合,操作者希望可以远离被测控对象,进行数据的采集和控制。
但无线传输的费用过高,对于工业数据采集系统,采用无线数传技术进行短距离小规模的数据通讯很难应用。
(2)无线电台数字通讯,适用于偏远地区无人值守的场合,其最大的缺点是设备复杂,维护和运行成本很高,而且覆盖范围小。
(3)电话MODEM。
Modem的状态可以分为命令状态和在线状态。
除了拨号占据短暂的时间之外,Modem总是处于一种状态。
当Modem启动后,首先处于命令状态,连接后进入在线状态。
在命令状态下Modem命令形式接受命令,例如指示Modem去拨号或当电话响铃时给予自动应答。
在在线状态下,Modem与远端系统通信,这时Modem不再尝试对发送给它的数据进行解释,而是直接将其发送出去。
几种状态之间可以相互转换。
当前应用较为广泛的一种远程数据采集解决方案,它通过电话的话音信道来进行数据传输。
该方式适用于点对点大量的实时数据传输应用场合,对一些数据量少的多点数据采集场合其并不适用。
(4)电力线载波,该方式由于不能跨越变压器,传输距离有限而且误码率高等许多原因,现己很少使用。
(5)TCP/IP网络,需要专门的网络建设和从ISP基于固话短信技术的远程数据采集系统的实现(Internet服务提供商)处申请专用的IP地址,硬件投资和运行成本都较高,适合于拥有大量的数据需要交互传输的应用场合。
将Intranet网技术引入控制领域,通过连接不同的网络,形成一致的网络结构可以十分自然地将网络规范应用于控制设备领域,将Intranet与Internet相连,实现信息的完整共享。
该项技术的应用为IST(IntemetSensorTechnology网络传感技术)、局部环境自动控制等Internet化提供了技术保证。
PC机的串行接口为RS-232或USB总线,然而RS-232标准的传送距离最大约为15m,最高速率为20kb/s,并且RS-232是为点对点(即只用一对收、发设备)通讯而设计的,可见RS232只适合于本地通讯使用。
为了降低成本和设计难度,本系统采用的是将RS-232接口转换成RS-485接
口,再在单片机和PC机之间加入RS-485总线,采用RS-485进行长距离、高速的串行异步通信。
PC机和单片机之间远程通信的RS-485原理方案,单片机采用RS-485进行串行通信,只需要将TTL电平的串行接口通过芯片转换为RS-485串行接口[14]。
这种转换比较简单,本系统采用MAX485芯片来完成这种转换。
对于PC机现有的RS-232接口,系统中利用一片MAX485芯片和MAX232芯片组成的转换电路来实现RS-485电平与RS-232之间的转换。
此转换电路一边与RS-232标准9针接口相连,另一边与RS-485总线相连。
这种新的远程采集系统提出了一种利用DS18B20数字式温度传感器作为温度采集的工具,用单片机AT89C52对它进行控制,并且通过RS-485总线做远程传送将采集到的数据通过RS-232接口送入PC机测温系统的设计方法。
这种系统主要由DS18B20数字式温度传感器模块、单片机控制模块、数码管显示模块、RS-485传输总线模块、RS-485/RS-232转换接口模块、上位PC机显示和控制模块五个部分组成[3][4]。
其框图如图2.1所示,本系统的整体硬件电路图见附录1。
图2.1远程温度数据采集系统框图
2.2DS18B20数字式温度传感器模块的硬件电路设计
为了降低温度采集的硬件复杂性与提高整个设计电路的抗干扰能力,降低成本,数据采集模块中,采用美国达拉斯(DALLAS)公司推出的一种改进型智能温度传感器DS18B20作为检测元件。
它具有微型化、低功耗、高性能、抗干扰能力强、易配微处理器等优点,特别适合于多点温度测控系统。
2.2.1数字式温度传感器DS18B20
DS18B20数字式温度传感器与传统的热敏电阻不同,可直接将温度转化成数字信号进行处理,每片DS18B20都具有惟一的产品号并可存入其ROM中,便于构成大型温度测控系统时在单线上挂接多个DS18B20芯片,CPU可用简单的协议就可识别。
从DS18B20读出或写入DS18B20信息仅需要一根端口线,其读写及温度变换功率来源于数据总路线,该总路线本身也可以向所挂接的DS18B20供电,而无需额外电源,从而节省大量的引线和逻辑电路。
根据实际需要通过简单的编程实现9~12位的数字值读数方式,分辨率最大可达0.0625℃,测量范围为-55~125℃。
它采用8脚SO封装或3脚PR-35封装,分别如图2.2、图2.3所示。
图2.2DS18B20的8脚SO封装图2.3DS18B20的3脚PR-35封装
8脚封装的NC为空引脚;
VDD为电源引脚,接3.0~5.5V;
GND接地;
DQ为数据的输入和输出引脚(单线总线),常态下呈高电平。
DS18B20的内部结构如图2.4所示:
图2.4DS18B20的内部结构
2.2.2DS18B20的测温原理
DS18B20的内部框图如图2.5所示,主要包括寄生电源、温度传感器、64位激光ROM单线接口、存放中间数据的高速暂存器、用于存储用户设定的温度上下限值、触发器存储与控制逻辑、8位循环冗余校验发生器等7部分。
低温度系数振荡器是一个振荡频率随温度变化很小的振荡器,为计数器1提供一个频率稳定的计数脉冲。
高温度系数振荡器是一个振荡频率对温度很敏感的振荡器,为计数器2提供一个频率随温度变化的计数脉冲。
初始时,温度寄存器被预置成-55℃,每当计数器1从预置数开始减计数到0时,温度寄存器中寄存的温度值就增加1℃,这个过程重复进行直到计数器2计数到0为止。
初始时,计数器1的预置值是和-55℃相对应的一个初始值。
以后计数器1每一个循环的预置数都由斜率累加器提供。
为了补偿振荡器温度特性的非线性,斜率累加器提供的预置值也随温度作相应的变化。
计数器1的预置数也就是在给定温度处使温度寄存器值加1℃所需的计数值。
图2.5DS18B20的内部框图
DS18B20测量温度时使用特有的温度测量技术。
DS18B20内部的低温度系数振荡器能产生稳定的频率信号,高温度系数振荡器则将被测温度转换成频率信号。
当计数门打开时,DS18B20进行计数,计数门开通时间由高温度系数振荡器决定。
芯片内部有斜率累加器,可对频率的非线性度加以补偿。
测量结果以16位带符号扩展的二进制补码形式存入温度寄存器中。
单片机可以通过单线接口读出数据,读数据时低位在前,高位在后,数据格式以0.0625℃/LSB形式表示。
温度值格式的低、高字节如表2.1、表2.2所示。
当符号位S=0时,表示温度值为正,可以直接将二进制数转换成十进制数;
当符号位S=1时,表示温度值为负,要先将补码变成原码,再计算其对应的十进制数。
表2.3是部分温度对应的二进制温度数据。
表2.1LS字节
23
22
21
20
2-1
2-2
2-3
2-4
表2.2MS字节
S
26
25
24
表2.3DS18B20温度与测得值对应表
温度/℃
二进制表示
十六进制表示
+125
0000011111010000
07D0H
+85
0000010101010000
0550H
+25.0625
0000000110010001
0191H
+10.125
0000000010100010
00A2H
+0.5
0000000000001000
0008H
0000000000000000
0000H
-0.5
1111111111111000
FFF8H
-10.125
1111111101011110
FF5EH
-25.0625
1111111001101111
FE6FH
-55
1111110010010000
FC90H
2.2.3DS18B20中的单总线技术
DALLAS公司推出的1-wireBus技术采用单根信号线,既可传输时钟,又能传输数据,而且数据传输是双向的[5][6]。
系统中的数据交换、控制都由这根线完成。
主机或从机通过一个漏极开路或态端口连到该数据线,以允许设备在不发送数据时能够释放总线,而让其它设备使用总线。
单总线通常要求外接一个4.7
kΩ的上拉电阻,当总线闲置时,其状态为高电平。
主机和从机之间的通信通过三个步骤完成:
初始化1-wire器件、识别1-wire器件和交换数据[7][8]。
由于是主从结构,只有主机呼叫时,从机才能应答,主机访问1-wire器件必须严格遵循总线命令时序,即初始化、读ROM、命令功能命令。
如出现混乱,1-wire器件不会响应主机。
1-wire协议定义了复位脉冲、应答脉冲、写0、读0、和读1时序等几种信号类型。
在这些信号中除应答信号外,其它的都是由主机发出同步信号,且发送的所有命令和数据都是低字节在前面。
基本的通信过程为:
主机通过拉低单总线至少480s产生Tx脉冲;
然后由主机释放总线,进入Rx模式。
主机释放总线时,会产生一由低电平跳变为高电平的上升沿;
单总线器件检测到该上升沿后,延时15~60s;
单总线器件通过拉低总线60~240s来产生应答脉冲;
主机接收到从机的应答信号脉冲后,说明有单总线器件在线,然后主机就可以开始对从机进行ROM命令和功能命令操作。
所有的读写时序至少需要60s,且每两个独立的时序至少需要1s的恢复时间。
在写时序中,主机将在拉低总线15s之内释放总线,并向单总线器件写1;
若主机拉低总线后能保持至少60s的低电平,则向单总线写0。
单总线器件仅在主机发出读时序时才向主机传输数据,当主机向单总线器件发出读数据命令后,必须马上产生读时序,以单总线器件能传输数据。
2.2.4温度数据采集的硬件电路图
DS18B20有两种供电方式:
直接由VDD供电、利用DQ线采用寄生电源供电。
当采用DQ线寄生电源供电方式时,对DS18B20的一些命令操作上会有一些较特殊的要求。
本系统是以DS18B20采用直接VDD供电的方式,即采用图2.6所示的供电方式,电源电压和单片机电源相同,采用5V供电即可。
图2.6直接由VDD供电
其中DS18B20采集到的数据从它的DQ引脚输出经过一根数据线传输到单片机的P2.7脚,同时,单片机对DS18B20进行读/写操作也是通过该引脚实现的。
2.3数码管显示模块的设计
数码管显示模块的设计主要包括两部分,一部分为LED数码管部分,一部分为AT89C52单片机的控制部分。
2.3.1LED显示部分介绍
LED数码管是由发光二极管作为显示字段的数码型显示器件。
图2.7(a)为LED数码管的外形和引脚图,其中7只发光二极管分别对应a~g笔段,构成“8”字形,另一只发光二极管dp作为小数点,因此这种LED显示器称为八段数码管。
LED数码管按电路中的连接方式可以分为共阴极型和共阳极型两大类:
共阴极型是将各段发光二极管的负极连在一起,作为公共端COM接地,a~g、dp各笔段接控制端,某笔段接高电平时发光,低电平时不发光,控制某几段笔段发光,就能显示出某个数码或字符。
如图2.7(b)显示。
共阳极型是将各段发光二极管的正极连在一起,作为公共端COM,某笔段接低电平发光,高电平时不发光,如图2.7(c)所示。
本设计选用的是共阳极LED数码管。
(a)外形图(b)共阴极结构(c)共阳极结构
图2.7LED数码管
LED数码管按其外形尺寸有多种形式,使用较多的是0.5英寸和0.8英寸;
按显示颜色也有多种,主要有红色和绿色;
按亮度强弱可分为超亮、高亮和普亮。
为了能更清晰的显示反应水的温度,本设计选用五位0.8英寸的高亮红色LED数码管显示温度。
LED数码管的使用与发光二极管相同,根据其材料不同,正向降压一般为1.5~2V,额定电流为10mA,最大电流为40mA。
静态显示时取10mA为宜,动态扫描显示,可加大脉冲电流,但一般不超过40mA。
因此设计中要接入8个200Ω的分压电阻。
本论文中LED数码管是用来显示温度的,DS18B20的测温范围上限是150℃,下限为-55℃因此温度的十进制显示需要用4位,当为正时其中一位用于显示小数部分,当为负时其中一位显示负号,在这里设置了4位的LED。
2.3.2AT89C52控制部分介绍
此部分是电路的核心部分,系统的控制采用了单片机AT89C52。
AT89C52是51系列单片机的一个型号,它是ATMEL公
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 单片机 远程 数据 采集 系统 设计