基于单片机和TDC的磁尺数字化技术研究

发布者:CaptivatingEyes最新更新时间:2012-02-11 来源: 仪表技术 关键字:数字化  TDCGP1  磁致伸缩  单片机 手机看文章 扫描二维码
随时随地手机看文章

本文介绍一种利用89C51单片机及TDC-GP1芯片对现有的磁致伸缩传感器系统进行数字化改造,开发出的新型磁致伸缩线性位移(液位)传感器。

1结构及工作原理

该数字化磁尺由不导磁的不锈钢(探测杆),磁致伸缩线(波导丝)、可移动的浮球(磁环)和电子测量装置等部分组成。波导丝被安装在不锈钢管内,经挤压和热处理后仍保持电磁特性,磁环在不锈钢管外侧可自由滑动。电路单元集成在传感器头部的套管内。

电子测量装置中的脉冲发生器产生电流脉冲(即start脉冲)并沿波导丝传播,产生一个环形的磁场。在探测杆外配置的活动磁环上同时产生一个磁场。当电流磁场与磁环磁场相遇时,两磁场矢量叠加,形成螺旋磁场,产生瞬时扭力,使波导线扭动并产生一个“扭曲”脉冲,或称“返回”脉冲。这个脉冲以固定的速度沿波导丝传回,在电子装置的线圈两端产生感应脉冲(即stop脉冲),通过测量起始脉冲与终止脉冲之间的时间差就可以精确地确定被测位移量。由于磁尺输出的电流脉冲信号是一个绝对位置的输出量,而不是比例放大信号,所以不存在漂移,因此,出厂前标定后不需要像其他传感器一样定期重新标定和维护。

新型数字化磁尺上可以进行多磁环测量。由电子测量装置探测到多个终止脉冲信号,分别计算出它们与起始脉冲的时间差,由此计算出的位移值可同时在上位机的图形界面上显示。另外,数字化磁尺上还装有温度传感器,也由传感器头部的电子检测装置控制,可随时检测环境温度。其工作原理图见图1。

2数字化改造的硬件设计

2.1电子测量系统组成

新型电子测量系统基于AT89C51和TDCGP1,采用TDCGP1直接采集start和stop两个脉冲信号,将这两个脉冲信号的时间间隔直接转换成数字信号传给AT89C51,由AT89C51对其进行处理,计算出精确的位移值,最后将数据送液晶显示屏或PC机。

电子测量系统结构如图2所示,主要由CPU控制及通讯电路、脉冲发生及接收电路、脉冲时间测量电路组成。电路板内置电子模块采取超小型电子元件贴面焊接,使新型数字化磁尺更加稳定可靠。

2.2CPU控制及通讯电路

其作用为:向各个测量电路发出测量液位(位移)或者温度的命令;接收测量脉冲时间电路的测量数据,并完成数据滤波;精确计算液位值(位移值);将测量结果送通讯电路。

系统中采用ATMEL公司8位微处理计算机芯片AT89C51作为主控CPU,主频11.0592MHz,片内还有4KB的EEPROM和128KB的 RAM,所以无需扩展程序存储器和数据存储器就可以实现系统功能,简化了电路设计,且使系统的可靠性提高,功能更强大。在4个I/O口中,P0、P2口的 P2.0~P2.3作为12位数据口,P1、P3口各引脚用于管理其他各芯片的控制线或信号线。利用MAX707芯片的看门狗电路在出现干扰时使计算机自动复位。

MAX489/491作为通讯芯片可与上位机直接通讯,也可送显示仪表直接显示。

2.3脉冲发生及接收电路

作用:发送波导脉冲,并接收扭曲脉冲。它包括波导电流脉冲发生器,应变脉冲转换器。信号整形后送脉冲时间测量电路。

[page]

2.4脉冲时间测量电路

采用德国acam公司的TDCGP1芯片作为脉冲时间测量电路的核心芯片。TDC-GP1是一种通用的两通道时间-数字信号的转换器。它有8个控制寄存器,通过编程可实现TDC-GP1的多种操作模式:普通模式,扩展模式,分辨率调节模式。

工作在普通模式时,TDCGP1的两个通道都是由start脉冲的边沿触发的,每个独立的通道可以检测到四个采样值,这些采样值与start脉冲的时间被存储到各个通道的采样寄存器中。在start信号和第一个stop信号之间,有一个3ns空载的时间,在这个范围内,开始的stop信号被忽略,所以start信号和第一个stop信号之间的最小值应为3ns(即t1>3ns)。在同一个通道的stop信号之间,也有15ns的空载时间(即t2>15ns),所以太靠近的stop信号也会被忽略。而在两个不同通道的stop信号之间则没有最小时间的限制。所有的stop信号在start信号之后都不能超过7.6μs的最大值(即t4<7.6μs)。其工作模式如图3所示。

工作在扩展模式时,可以测量更大的时间间隔。在这个模式中,测量的start信号和接下来的一个参考时钟信号的正跳沿之间的时间设定为FC1,出现第一个正跳沿后计时器被触发,TDC记录下经过的时钟周期数;当有一个stop信号被检测到时,开始新一轮的计时。stop信号和接下来的一个参考时钟信号的正跳沿之间的测量的时间为FC2。在stop信号之后将测量一个校准时钟周期(Cal2-Cal1),它用于与(FC1-FC2)比较得出一个小于半周期时间的值,最后加上预先测量得到的几个完整的周期时间即算出start信号与stop信号时间间隔,时间计算式如式(1)。其后的stop信号也同样处理。[page]

式中,period为时钟信号的周期时间;CC为预先测量的时钟周期数。

在这种模式下,可以处理超过100ms的时间间隔。start信号和stop信号之间,两个不同通道的stop信号之间至少要大于2个时钟周期,所有的stop信号之间不应超过216倍的时钟周期。所以,最大的测量范围不超过200ms。工作模式如图4所示。

TDCGP1的另一个工作模式为分辨率调节模式。这个模式能够使装置精确调整它本身的晶振使两个通道同步。装置分辨率由软件按比例调整。在这个模式中,分辨率不依赖装置,不受温度影响而能保持长期的稳定。分辨率的调整范围能达到-50%~+10%。通常该模式工作在一高分辨率模式下,这样可使芯片的测量范围得到扩展。

在数字化磁尺的开发过程中,使用TDCGP1作为脉冲时间测量电路的核心芯片,设定该芯片工作在扩展模式下,与AT89C51共用一个 11.0592MHz的晶振。在一个通道中分别测量出三组stop信号与start信号的时间间隔,然后存储到该通道的采样寄存器中,由AT89C51读取。

3数字化改造的软件设计

AT89C51单片机软件采用模块化设计,便于移植和调试。主要有主程序,测时子程序,测温子程序,滤波子程序,发送子程序等功能模块。主程序流程如图5所示。


单片机主程序首先进行初始化,进入运行状态,从AT2401中读出各参数值,等待用户输入的命令,用户通过上位机向单片机发出读液面值(位移值)或温度值命令,单片机将TDC送来的时间数据进行计算,然后经过滤波处理得出用户要求的测量值,以16进制数的形式送回上位机显示。

单片机与上位机的通信采用中断方式,单片机的通讯模块包括主程序和中断服务子程序。通讯协议约定为:通信波特率为9600,1位开始位,8位数据位,1位停止位,1位奇偶校验位。在主程序中对定时计数器T0、T1做设定(设定串行接口);打开所有中断进行空循环。一旦发生中断请求,单片机立即响应,转向相应的中断服务子程序,作相应的处理。

4结束语

数字测量系统与模拟测量系统比,主要优点有:(1)参数稳定性好。数字系统的工作以数字量运算方式完成,克服了模拟系统的温漂问题;(2)硬件统一性好。数字系统硬件模块化,在硬件不变的情况下,只须更改软件就能实现不同测量目的和要求,而模块化软件又为其提供了良好手段;(3)可靠性高。数字系统采用高性能的专用芯片,其可靠性指标比分立元件的模拟系统高许多;(5)参数直观准确。量化后的参数可通过上位机直接输入,具有直观准确的特点,特别是对一些极限参数的调整。

经过数字化改造后的磁尺可实现多磁环测量,在一根测杆上可套三个磁环,同时测量不同的位移,用途更加广泛;由于采用了高性能的TDCGP1芯片作为脉冲时间测量电路的核心芯片,测量精度大大提高。TDCGP1测量的最大时间间隔200ms,典型分辨率125ps,磁尺的最大量程可达5米,测量精度可以达到微米级。这种新型的数字化磁尺原理新颖、精度高、结构精巧、环境适应性强,因而,可以用于高精度机械位移测量、控制以及液罐的液位测量中。

参考文献

[1] 孙涵芳,徐爱卿.MCS51/96系列单片机原理及应用[M].北京航空航天大学出版社,1988.
[2] 江克平,茅及愚,徐国华.磁致伸缩线性位移传感器数据采集系统研究与实现[J].机械与电子,2003,(3).
[3] 叶明超.单片机在磁致伸缩线性位移传感器中的应用[J].江苏石油化工学院学报,2000,(4).
[4] 侯自林.过程控制与自动化仪表[M].北京:机械工业出版社,2000.
[5] 陈光东.单片微型计算机原理与接口设计(第二版)[M].武汉:华中理工大学出版社,1999.

关键字:数字化  TDCGP1  磁致伸缩  单片机 引用地址:基于单片机和TDC的磁尺数字化技术研究

上一篇:单片机系统中的抗干扰技术
下一篇:基于单片机的电子膨胀阀试验机的软硬件设计

推荐阅读最新更新时间:2024-03-16 12:52

支持“智能”控制面板应用的MCU
  爱特梅尔推出基于ARM9的交互式图形用户接口(GUI) 微控制器AT91SAM9RL64,具有高数据吞吐率和理想的外设和OS支持,用于实现“智能”控制面板应用。SAM9RL64既可用作系统的主处理器,也可专用为用户接口的协处理器。    用户体验   通常用于控制电子产品的按钮、标度盘和操纵杆正快速被带有图标的触摸屏所取代。用户选中图标时,它们会闪动或缩放;用户浏览有关的内容时,图标便会在屏幕上移动。越来越多的系统采用声音激活的方式,能够与用户交谈并听取用户的指令。交互式的视频内容正取代静态的列表和指令。   8位和 16位微控制器正用来实现成本敏感的消费类产品的用户接口。但是这些微控制器不足以处理尖端交互式图像用户接口
[单片机]
基于MSP430F5529单片机实现HC-SR04超声波测距 CCS & IAR
项目介绍 本设计基于TI公司的MSP430F5529单片机与超声波测距模块HC-SR04实现距离测量,使用ccs软件进行编程,利用单片机定时器的捕获模块捕获超声波高电平持续的时间,再根据公式计算出距离值。 项目准备 1. 开发环境(PC、CCS软件) 2. MSP-EXP430F5529LP . 3. HC-sr04 4. 直尺或其他量度工具 实现原理 如图,只需要提供一个 10uS 以上脉冲触发信号,该模块内部将发出 8 个 40kHz 周期电平并检测回波。一旦检测到有回波信号则输出回响信号。回响信号的脉冲宽度与所测的距离成正比。 由此通过发射信号到收到的回响信号时间间隔可以计算得到距离。 本项目中通过单片机 I
[单片机]
基于MSP430F5529<font color='red'>单片机</font>实现HC-SR04超声波测距 CCS & IAR
单片机8051片外RAM采用一片6116
设单片机采用8051,未扩展片外ROM,片外RAM采用一片6116,编程将其片内ROM从0100H单元开始的10B得内容依次外接到片外RAM从100H单元开始得10B中去。 解: MOV R2,#00H ;源数据缓冲器地址偏移量00H A MOV R3,#0AH ;字节长度 R3 MOV DPTR,#0100H ;源数据缓冲区首地址 DPTR MOV A,R2 ;源地址偏移量 A MOVC A,@A+DPTR ;传送一个数据 MOVX @DPTR,A INC DPTR ;源地址(目的地址)加1 DJNZ R3,L1 ;数据全部传送完?没传送完,转L1继续传送 SJMP $ ;结束
[单片机]
【51单片机】利用烧录软件生成延时函数 入门学习
1.打开烧录软件 2.(1)找到延时计算器 (2)选择晶振(11.0592和12Mhz的情况下建议都选择12Mhz) (3)选择时间单位us 或者 ms 3、 (1)选择STC-Y1(该系列适用51单片机系列,具体看图中2) (2)生成代码 (3)复制代码到keil 4. 生成的代码并不能直接使用,还需要加上以下几句话 下文中延时时间的是Delay(1)=1ms 下图中可以看到,程序从19走到21,延时0.10080200s,误差几乎忽略不计。对于精度要求不高的延时计算已经够用了。 同时也能通过更改i,j的值进行微调。
[单片机]
【51<font color='red'>单片机</font>】利用烧录软件生成延时函数 入门学习
如何改进8051微控制器创建可执行高达33MIP的高性能直接替代品
本文介绍了达拉斯半导体如何改进传统的8051微控制器,创建可执行高达33MIP的高性能直接替代品。多个数据指针、扩展内存寻址(高达 16MB)和闪存等附加功能提高了设备的速度和实用性。 系统设计人员知道,微控制器是任何嵌入式系统的核心,而这正是行动发生的地方。ADI公司的全资子公司达拉斯半导体一直在重新定义无处不在的8051微控制器。也许过去10年中最大的改进是在指令执行速度方面。我们的 1 个机器周期时钟处理器达到了一个非凡的性能目标 — 每个机器周期 1 个时钟,目前为每秒 33 万条指令 (MIPS)。利用这一内核,我们的安全、联网和混合信号 8051 微控制器系列继续为功能集成和创新设定标准。 为什么基于古老的 8
[单片机]
如何改进8051<font color='red'>微控制器</font>创建可执行高达33MIP的高性能直接替代品
如何正确的划分51单片机中的RAM
前边介绍单片机资源的时候,我们提到过 STC89C52 共有 512 字节的 RAM,是用来保存数据的,比如我们定义的变量都是直接存在 RAM 里边的。但是单片机的这 512 字节的 RAM在地位上并不都是平等的,而是分块的,块与块之间在物理结构和用法上都是有区别的,因此我们在使用的时候,也要注意一些问题。 51 单片机的 RAM 分为两个部分,一块是片内 RAM,一块是片外 RAM。标准 51 的片内 RAM 地址从 0x00H~0x7F 共 128 个字节,而现在我们用的 51 系列的单片机都是带扩展片内 RAM 的,即 RAM 是从 0x00~0xFF 共 256 个字节。片外 RAM 最大可以扩展到 0x0000~0x
[单片机]
32位单片机c语言编程笔记
1.单片机在系统复位或者上电之后,会在执行main()函数之前先执行一小段由maplab c32连接器自动插入的初始化程序,即所谓的starup(启动)代码或者crt0()代码。启动代码负责基本的内务操作,包括栈的所有重要初始化等。 2.随便调用一个库函数,比如printf(),就可能增加数千字节的执行代码,所以要慎用库函数。 3.crt0代码负责在主程序运行之前,将定义在flash里的数组内容,从flash到RAM里,crt0另一个重要的功能是将程序声明的每个全局变量初始化为0,这会使程序更加安全并且容易预测,但这是有代价的。如果ram中要存放一个很大的数组,那么即使你没有要求初始化他们,crt0代码也会花一段
[单片机]
51单片机,点亮LED灯和闪烁
1.关键字sfr与sbit的区别 sfr是定义寄存器的字节地址,sbit是定义可位寻址的位地址 例如:sfr P1 =0x90; sbit A = P1^0 sbit B = P1^1; 2. 单片机引脚有:电源引脚、晶振引脚、复位引脚、下载引脚、GPIO引脚 其中晶振引脚主要是用来提供外部时钟,驱动指令执行,GPIO引脚包含P0、P1、P2、P3 四个端口 3.点亮一个LED灯 从电路图可以得知,LED是P2端口,我们给P2.0针脚一个低电压,也就是0V,就会点亮第一个,程序如下 #include reg52.h //引用头文件 int main() { P2
[单片机]
51<font color='red'>单片机</font>,点亮LED灯和闪烁
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
  • ARM裸机篇--按键中断
    先看看GPOI的输入实验:按键电路图:GPF1管教的功能:EINT1要使用GPF1作为EINT1的功能时,只要将GPFCON的3:2位配置成10就可以了!GPF1先配 ...
  • 网上下的--ARM入门笔记
    简单的介绍打今天起菜鸟的ARM笔记算是开张了,也算给我的这些笔记找个存的地方。为什么要发布出来?也许是大家感兴趣的,其实这些笔记之所 ...
  • 学习ARM开发(23)
    三个任务准备与运行结果下来看看创建任务和任运的栈空间怎么样的,以及运行输出。Made in china by UCSDN(caijunsheng)Lichee 1 0 0 ...
  • 学习ARM开发(22)
    关闭中断与打开中断中断是一种高效的对话机制,但有时并不想程序运行的过程中中断运行,比如正在打印东西,但程序突然中断了,又让另外一个 ...
  • 学习ARM开发(21)
    先要声明任务指针,因为后面需要使用。 任务指针 volatile TASK_TCB* volatile g_pCurrentTask = NULL;volatile TASK_TCB* vol ...
  • 学习ARM开发(20)
  • 学习ARM开发(19)
  • 学习ARM开发(14)
  • 学习ARM开发(15)
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved