资源描述
目录
1、概述 1
1.1开关量的采集 1
1.2数字量采集与处理 2
1.3模拟量的采集 2
2、温度传感器的选择 3
3、单片机硬件电路的设计 4
3.1 AT89C51与存储器芯片的扩展 4
3.1.1 AT89C51芯片的性能及特点 4
3.1.2 拓展芯片6116的性能及特点 7
3.1.3 AT89C51与存储器芯片6116的扩展 8
3.2 多路开关选择 9
3.3 A/D转换器电路的设计 9
3.4 MAX232实现串行通信 10
4 、系统软件的设计 11
4.1 系统主程序 11
4.2 模拟量采集程序 12
4.3 开关量采集程序 12
4.4 脉冲量采集程序 13
5 、小结 14
参考文献: 15
机务设备检修数据采集系统设计
1、概述
机务设备数据采集是机务设备数据采集与通讯系统的重要组成部分,它与系统硬件相配合,对机务段检修设备的工作进行准确的检测和数据处理,并把检测数据及时送监控计算机,进入数据库,进行统计、打印和归档,既为保证检修质量提供了可靠依据,同时也为机务段加强科学管理、提高经济效益、减少物料和工时浪费、提高检修效率提供了科学手段和工具。
本次课程设计的主要内容在于进行机务设备检修数据处理功能模块的设计,其主要功能在于数据采集,包括8路开关量、8路模拟量、1路脉冲量的数据采集。
设计原理:根据任务书中提供的数据进行分析和计算,选择合适的单片机芯片组成测试、通讯系统,选用A/D转换器、信号调理电路、锁存器、多路开关选择器等元件。模拟量的采集需要用传感器对实际物理量进行采集,转换成相关的电压或者电流,经过A/D转换器后输出对应数字量,进入单片机处理并保存在扩展的存储器中;数字量的采集需进行隔离放大之后将信号输入单片机处理并保存;脉冲量的采集需对信号进行防抖、放大处理,使输入信号转换成相应的TTL电平。根据连接成型的硬件元件图进行软件设计,分配口地址并给出每个功能模块相应的程序段。
1.1开关量的采集
开关量采集包括事件顺序记录(SOE)型开关量和普通型开关量两种。
SOE型开关量信号指事故信号、断路器分合及重要继电保护的动作信号。监控系统采用中断方式迅速响应这些信号并进行记录优先传递。普通型开关量信号是指除SOE型开关量信号以外的那部分开关量信号,包括各类故障信号、隔离开关的位置信号、设备运行状态信号、手动自动方式选择的位置信号等。监控系统对这些信号的采集为扫查方式。
对开关量信号的处理包括光电隔离、硬件及软件滤波、基准时间补偿、数据有效性合理性判断、启支相关量处理功能(如启支事件顺序记录、发事故报警、画面自支推出以及自支停机等),最后经格式经处理后存入实时数据库。
1.2数字量采集与处理
数字量信号主要指水位等BCD码输入量。采用多点开关量并行采集,然后转换为相应模拟量数值。对数字量的处理包括光电隔离、数字滤波、码制变换、数据有效性合理性判断、标度变换等,以格式化处理后存入实时数据库。
1.3模拟量的采集
模拟量分为电气模拟量、非电气模拟量及温度量。对模拟量信号的处理包括回路断线检测、数字滤波、误差补偿、数据有效性合理性判断、标度换算、梯度计算、越复限判断及越限报警,最后经格式化处理后存入实时数据库。
数据采集系统一般由数据输入通道、数据存储与管理、数据处理、数据输出及显示这五个部分组成。输入通道要实现对被测对象的检测、采样和信号转换等工作。数据存储与管理要用存储器把采集到的数据存储起来,建立相应的数据库,并进行管理和调用。数据处理就是从采集到的原始数据中,删除干扰噪声、无关信息和不必要的信息,提取出反映被测对象特征的重要信息。另外,就是对数据进行统计分析,以便于检索;或者把数据恢复成原来的物理量形式,以可输出的形态在输出设备上输出,如打印、显示、绘图等。在这个过程中主要用到信息采集板,信息采集板包括CPU、RS232讯通接口、RS485通讯网络接口等,信号采集获得开关量和经过标准化处理的传感器信号,进行信号采集,并经过数学处理,然后进行图文显示、储存和网络通讯。系统硬件总体框图如图1所示:
AT89C51
并行接口芯片
隔离电路
脉冲量
开关量
A/D转换
多路开关
传感器
信号调理
LED显示器
矩阵键盘
图1 系统硬件总体框图
2、温度传感器的选择
传感器是感受规定的被测量并按照一定的规律转换成可用于输出的信号的器件或装置实现测量和控制的首要环节,是测控系统的关键部件。如果没有传感器对原始被测信号进行可靠的捕捉和转换,测量和控制的任务都无法实现,因此我们需要对传感器和信号处理电路有一个比较清楚的认识,并掌握传感器的使用和信号调理电路 。
在这个模块设计过程中,选择K型热电偶传感器来测量温度,K型热电偶作为一种温度传感器,K型热电偶通常和显示仪表,记录仪表和电子调节器配套使用。K型热电偶可以直接测量各种生产中从0℃到1300℃范围的液体蒸汽和气体介质以及固体的表面温度。
K型热电偶通常由感温元件、安装固定装置和接线盒等主要部件组成。k型热电偶是目前用量最大的廉金属热电偶,其用量为其他热电偶的总和。K型热电偶丝直径一般为1.2~4.0mm。
正极(KP)的名义化学成分为:Ni:Cr=92:12,负极(KN)的名义化学成分为:Ni:Si=99:3,其使用温度为-200~1300℃。
K型热电偶不能直接在高温下用于硫,还原性或还原,氧化交替的气氛中和真空中,一般不用于弱氧化气氛。热电偶测温必须由热电偶、连接导线及显示仪表三部分组成。图2是最简单的热电偶测温示意图。
图2 热电偶温度计示意图
按图2组成的热电偶蕊及测温电偶丝1 ,如果将热电偶的热端加热,使得冷、热两端的温度不同,则在该热电偶回路中就会产生热电势,这种物理现象就称为热电现象(即热电效应)。在热电偶回路中产生的电势由温差电势和相接触电势两部分组成 接触电势:它是两种电子密度不同的导体相互接触时产生的一种热电势。当两种不同的导体A和B相接触时,假设导体A和B的电子密度分别为Na和Nb并且Na>Nb,则在两导体的接触面上,电子在两个方向的扩散率就不相同,由导体A扩散到导体B的电子数比从B扩散到A的电子数要多。导体A失去电子而显正电,导体B获很电子而显负电。因此,在A、B两导体的接触面上便形成一个由A到B的静电场,这个电场将阻碍扩散运动的继续进行,同时加速电子向相反方向运动,使从B到A的电子数增多,最后达到动态平衡状态。此时A、B之间也形成一电位差,这个电位差称为接触电势。此电势只与两种导体的性质相接触点的温度有关,当两种导体的材料一定,接触电势仅与其接点温度有关。温度越高,导体中的电子就越活跃,由A导体扩散到B导体的电子就越多,致使接触面处所产生的电场强度越高,因而接触电势也就越大。这样将1产生的温差热电势通过连接导线2在显示仪表3中显示出来。
3、单片机硬件电路的设计
3.1 AT89C51与存储器芯片的扩展
3.1.1 AT89C51芯片的性能及特点
该系统采用的是AT89C51,AT89C51是一种带4K字节FLASH存储器(FPEROM—Flash Programmable and Erasable Read Only Memory)的低电压、高性能CMOS 8位微处理器,俗称单片机。AT89C2051是一种带2K字节闪存可编程可擦除只读存储器的单片机。单片机的可擦除只读存储器可以反复擦除1000次。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C2051是它的一种精简版本。AT89C单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。外形及引脚排列如图3所示。
AT89C51是一种带4K字节FLASH存储器(FPEROM—Flash Programmable and Erasable Read Only Memory)的低电压、高性能CMOS 8位微处理器,俗称单片机。AT89C2051是一种带2K字节闪存可编程可擦除只读存储器的单片机。单片机的可擦除只读存储器可以反复擦除1000次。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C2051是它的一种精简版本。AT89C单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。引脚排列如图2所示
图3 AT89C51引脚结构
主要特性:
·CS-51兼容
·4K字节可编程FLASH存储器
·寿命:1000写/擦循环
·数据保留时间:10年
·全静态工作:0Hz-24MHz
·128×8位内部RAM
·128×8位内部RAM
·三级程序存储器锁定
·128×8位内部RAM
·32可编程I/O线
·两个16位定时器/计数器
·5个中断源
·可编程串行通道
·低功耗的闲置和掉电模式
·片内振荡器和时钟电路
下面分别叙述这些引脚的功能。
(1) 主电源引脚
Vcc:电源端。 GND:接地端。
(2) 外接晶体引脚XTAL1和XTAL2
①XTAL1:接外部晶体的一个引脚。
在单片机内部,它是构成片内振荡器的反相放大器的输入端。当采用外部振荡器时,该引脚接收振荡器的信号,即把此信号直接接到内部时钟发生器的输入端。
② XTAL2:接外部晶体的另一个引脚。
在单片机内部,它是上述振荡器的反相放大器的输出端。采用外部振荡器时,此引脚应悬浮不连接。
(3) 控制或与其他电源复用引脚RST,ALE/,/Vpp
①RST:复位输入端。当振荡器运行时,在该引脚上出现两个机器周期的高电平将使单片机复位。
② ALE/:当访问外部存储器时,ALE(地址锁存允许)的输出用于锁存地址的低位字节。即使不访问外部存储器,ALE端仍以不变的频率(此频率为振荡器频率的1/6)周期性地出现正脉冲信号。因此,它可用作对外输出的时钟,或用于定时目的。然而要注意的是:每当访问外部数据存储器时,将跳过一个ALE脉冲。
在对Flash存储器编程期间,该引脚还用于输入编程脉冲()。
③ :程序存储允许()输出是外部程序存储器的读选通信号。当AT89C51由外部程序存储器取指令(或常数)时,每个机器周期两次有效(即输出2个脉冲)。但在此期间内,每当访问外部数据存储器时,这两次有效的信号将不出现。
④ /Vpp:外部访问允许端。要使CPU只访问外部程序存储器(地址为0000H~FFFFH),则端必须保持低电平(接到GND端)。然而要注意的是,如果保密位LB1被编程,复位时在内部会锁存端的状态。
当端保持高电平(接Vcc端)时,CPU则执行内部程序存储器中的程序。
在Flash存储器编程期间,该引脚也用于施加12V的编程允许电源Vpp(如果选用12V编程)。
(4) 输入/输出引脚P0.0~P0.7,P1.0~P1.7,P2.0~P2.7和P3.0~P3.7。
① P0端口(P0.0~P0.7):P0是一个8位漏极开路型双向I/O端口。作为输出口用时,每位能以吸收电流的方式驱动8个TTL输入,对端口写1时,又可作高阻抗输入端用。
在访问外部程序和数据存储器时,它是分时多路转换的地址(低8位)/数据总线,在访问期间激活了内部的上拉电阻。
在Flash编程时,P0端口接收指令字节;而在校验程序时,则输出指令字节。验证时,要求外接上拉电阻。
② P1端口(P1.0~P1.7):P1是一个带有内部上拉电阻的8位双向I/O端口。P2的输出缓冲器可驱动(吸收或输出电流方式)4个输入口使用时,因为有内部的上拉电阻,那些被外部信号拉低的引脚会输出一个电流(IIL)。
在对Flash编程和程序校验时,P1接收低8位地址。
③ P2端口(P2.0~P2.7):P2是一个带有内部上拉电阻的8位双向I/O端口。P2的输出缓冲器可驱动(吸收或输出电流方式)4个TTL输入。对端口写1时,通过内部的上拉电阻把端口拉到高电位,这时可用作输入口。P2作输入口使用时,因为有内部的上拉电阻,那些被外部信号拉低的引脚会输出一个电流(IIL)。
④ P3端口(P3.0~P3.7):P3是一个带内部上拉电阻的8位双向I/O端口。P3的输出缓冲器可驱动(吸收或输出电流方式)4个TTL输入。对端口写1时,通过内部的上拉电阻把端口拉到高电位,这时可用作输入口。P3作输入口使用时,因为有内部的上拉电阻,那些被外部信号拉低的引脚会输出一个电流(IIL)。
在AT89C51中,P3端口还用于一些复用功能。复用功能如表1所列:
表2-1 P3各端口引脚与复用功能表
端口引脚
复用功能
P3.0
RXD(串行输入口)
P3.1
TXD(串行输出口)
P3.2
(外部中断0)
P3.3
(外部中断1)
P3.4
T0(定时器0的外部输入)
P3.5
T1(定时器1的外部输入)
P3.6
(外部数据存储器写选通)
P3.7
(外部数据存储器读选通)
3.1.2 拓展芯片6116的性能及特点
内存是计算机系统不可缺少的部件,一台计算机的内存是指CPU能够通过指令中的地址码直接访问的存储器,常用于存放处于活动状态的程序和数据。按照存取方式存储器可分为:随机存储器(RAM)和只读存储器(ROM)等。此系统中只用随机存储器。随机存储器是指计算机可以随意的、个别的对各个存储单元进行访问,访问所需的时间基本固定,与存储单元的地址无关,它的功能主要是存储程序、变量等。可以随时改变并释放内存。常用的有61系列和62系列。随机存储器的管脚分类:总线部分、电源部分、控制部分。各引脚功能如图4所示:
图4 6116引脚图
D~D—数据线。
A~A—地址线,n是地址线个数。
Vcc,GND—电源线和地线。
—写控制线。
—片选线。
3.1.3 AT89C51与存储器芯片6116的扩展扩展图如图5所示:
图5 AT89C51与存储器芯片6116的扩展图
3.2 多路开关选择
该系统用DG508典型的有译码器的多路开关。引脚图及其他说明如下:
图6 DG508引脚图
DG508采用8脚双列直插式封装,具有8个输入信道,一个输出信道的多路CMOS开关。由三个地址线(A0,A1,A2)及使能端EN的状态来选择8个输入信道之一与输出端导通。
3.3 A/D转换器电路的设计
A/D转换器是把模拟信号转换为数字信号的转换装置。AD574A是一种高性能的12位逐次逼进式A/D转换器,它同ADC0809一样是常用的A/D转换器。
图7 引脚图
转换时间为25μs,线性误差为±1/2LSB,内部有时钟脉冲源和基准电压源,单通道单极性或双极性电压输入,采用28脚双立直插式封装。
AD574A由12位A/D转换器,控制逻辑,三态输出锁存缓冲器,10V基准电压源四部分构成。
⑴12位A/D转换器
可以单极性也可以双极性的。单极性应用时,BIPOFF接0V,双极性时接10V。量程可以是10V也可以是20V。
2输入信号在10V范围内变化时,将输入信号接至10V(IN);输入信号在0V范围内变化时,将输入信号接至20V(IN); 所以量化单位相应的就是
10V/(2^12)和20V/(2^12) 。
⑵三态输出锁存缓冲器
用于存放12位转换结果D(D=0~2^12-1)。D的输出方式有两种, 引脚12/8=1时(8的上面有一横杠),D的D(11)~D(0)并行输出; 引脚12/8=0时(8的上面有一横杠),D的高8位与低4位分时输出。
⑶逻辑控制。
任务包括:启动转换,控制转换过程和控制转换结果D的输出
3.4 MAX232实现串行通信
在实际的测量和控制过程中,经常需要进行信息的传输和交换。数据传送的方式可分为并行传输和串行传输,相应的通信总线被称为并行总线和串行总线。串行传输比并行传输所用的导线数少,传输距离比并行传输要远得多。而且近年来,由于新型串行总线标准如USB、IEEE1394的出现,使串行总线的传输速度有了很大的提高,因此串行总线的应用越来越广。
MAX232的芯片引脚如图8所示。引脚说明如下:
1) C0+、C0-、C1+、C1-是外接电容端。
2) R1IN、R2IN 是两路RS-232C电平信号接收输入端。
3) R1OUT、R2OUT是两路转换后的TTL电平接收信号输出端,送80C320的RXD接收端。
4) T1IN、T2IN 是两路TTL电平发送输入端,接80C320的TXD发送端。
T1OUT、T2OUT是两路转换后的发送RS-232C电平信号输出端,接传输线。 图8 MAX232芯片
5) V+经电容接电源+5V。
6)V-经电容接地。
通信距离一般不超过15m,传输速率小于20kbit/s。在要求信号传输快、距离远时,可采用RS-422A、RS-485等其他标准通信。
采用MAX232芯片的双机串行通信接口电路如图9所示。从MAX232芯片中两路发送接收中任选一路连接。请注意其发送与接收引脚的对应,否则可能对元器件或计算机串口造成永久性损坏。
ATC8951
图9 单片机和PC通信
4 、系统软件的设计
4.1 系统主程序
根据所设计的数据采集系统:采集模拟量(8路)、采集开关量(8路)、采集脉冲量(1路)。流程如图10所示。
ORG 0000H
LJMP MAIN
ORG 0013H
LJMP MNLCJ
ORG 001BH
LJMP KGLCJ
ORG 0100H
LJMP MCLCJ
MAIN: NOP
CLR 00H
SETB IT1
SETB EX1
SETB EA
MAIN0:JB KGLCJ
结束
SJMP MAINO
图10系统主程序流程图
4.2 模拟量采集程序
AD574A单片机通过P1口控制模拟开关DG508的输入通道的选通端A、B、C,按顺序选通8个输入通道,以下是模拟量采集的子程序以及如图10所示的流程图。地址指针赋值
置起始通道数
地址指针加1通道地址加1
读地址和数据并存放
AD1674 进行
12位A/D转换
延时
启动采样/保持器
8通道模拟量采集完否?
返回
子程序开始
Y
N
A/D转换结束
MNLCJ:
SAMPLE: MOV RO,#38H
MOV B,#0H
MOV DPTR,#FF2FH
MOVX @DPTR,A
WBZD1: PUSH ACC
CLR EA
WBZD2: MOV DPTR,#FF3FH
MOVX A,@DPRT
MOV @R0,A
MOV DPTR,#FF7FH
INC R0
MOVX A,DPTR
MOX @R0,A
INC B
INC R0
CJNE B,#7,WBZD2
JX : NOP
FH: POP ACC
SETB EA
SETB 00H
RETI
图10 模拟量采集流程图
4.3 开关量采集程序
开关量通过光电耦合器隔离,减小干扰后进入74LS241,然后直接接入AT89C51进行处理,它的处理程序如下所示。
KGLCJ: NOP
CLR EA
MOV DPTR, #7DFFH
MOVX A, @DPTR
CPL A
CJNE A, #80H, KP1
LJMP KBS1
KP1: CJNE A, #40H, KP2
LJMP KBS2
KP2: CJNE A, #20H, KP3
LJMP KBS3
KP3: CJNE A, #10H, KP4
LJMP KBS4
KP4: CJNE A, #08H, KP5
LJMP KBS5
KP5: CJNE A, #04H, KP6
LJMP KBS6
KP6: CJNE A, #02H, KP7
LJMP KBS7
KP7: CJNE A, #01H ESC
LJMP KBS8
ESC: CLR OOH
SETB EA
LJMP MAIN0
4.4 脉冲量采集程序
由于脉冲量可以直接被单片机识别,所以不需要任何转换环节,仅需要进简单的隔离处理即可进入单片机。其处理程序如下:
PAUSEE0:JNB P3.2, PAUSE0 ; 若=0,往下执行;
PAUSE1:JB P3.2,PAUSE ; 若=1,不往下执行;
RET ; 返回主程序执行下一条指令;
5 、小结
通过此次课程的设计,让我对系统的设计有了基本全面的了解,对数据采集及处理有了初步认识,机务段设备数据采集是网络处理系统中的重要组成部分,尤其是对A/D转换电路,放大电路,隔离电路,多路转换开关以及CPU芯片的扩展有了跟为深刻了认识。同时在课程设计的同时对自己在大学四年里所学的知识加以巩固,对四年所学知识加以总结。
同时,通过本次课程设计,在一定程度上提高了将理论知识用之于实践的能力,巩固了以往所学知识,加深了对知识的认识层次。相应的开阔了视野。在设计过程中,虽然遇到了诸多的问题,但通过努力查阅资料以及与同组人员之间的精诚合作,我们最终对该次设计有了一定认识。
总之,课程设计使我认识到自己在学习方面有很多不足之处,对某些知识的应用不是很灵活,在以后的学习中我将努力克服自己的不足,充分发挥自己的有点。同时,我要感谢三位老师对我们的指导,在这次培训中于老师严谨的学术作风、治学态度、求实的工作作风和孜孜不倦的探索创新精神,以及平易近人的师长风范给我创造了良好的学习设计环境,及给了我这个学习提高的机会和在生活上给我的无微不至的关怀。这些都是我不断前进的动力,必将对我今后的学习和生活受益匪浅,我将终生学习和铭记。在此,谨向于老师的培育之恩表示最深的谢意!同时也向帮助我的给同学表示深深的感谢!
参考文献:
[1] 李玉梅编著.基于MCS-51系列单片机原理的应用设计.北京:国防工业出版社,2006.
[2] 郁有文,常健,程继红等编著.传感器原理及工程应用.西安:电子科技大学出版社,2003
[3] 周佩玲,彭虎,傅忠谦等编著.微机原理与技术接口.北京:电子工业出版社,2007.
[4] 方培生编著.传感器原理与应用.北京:电子工业出版社,1989.
[5] 张金敏,董海棠等编著.单片机原理与应用系统设计.成都:西南交通大学出版社,2010.
[6] 黎文模,段晓峰编著.protel DXP电路设计与实例精解.北京:人民邮电出版社.2006.
展开阅读全文