APP下载

基于AT89C2051单片机A/B信号选择模块

2016-11-17梁双锋穆建超任小虎

石油管材与仪器 2016年5期
关键词:中断编码器测井

梁双锋,穆建超,任小虎,程 飞

(1.西安方元能源工程有限责任公司 陕西 西安 710200;2.中国石油测井有限公司长庆事业部 陕西 西安 710200)



·仪器设备与应用·

基于AT89C2051单片机A/B信号选择模块

梁双锋1,穆建超1,任小虎2,程 飞2

(1.西安方元能源工程有限责任公司 陕西 西安 710200;2.中国石油测井有限公司长庆事业部 陕西 西安 710200)

随着油田开发的深入发展,水平井测井工艺不断更新,对绞车计量系统的要求也不断提高。由于在水平井测井过程中引进硬电缆和常规测井电缆的混合使用,深度计量打滑现象频频出现,为现场施工造成很大的困难。将深度计量系统改进为双计量轮,两个计量轮驱动两个编码器,同时开发了深度信号自动切换模块,对两组深度信号择优切换,进行整形放大输出。文中详细介绍了信号选择模块的软硬件实现,给出了原理框图、各关键部分硬件设计,同时给出部分程序。通过现场试验,本设计有效的减小由于计量轮打滑造成的深度误差,改善了测井质量,提高了现场施工效率。

AT89C2051;中断; A/B信号; 自动切换

0 引 言

绞车计量系统是测井绞车必不可少的专用设备,它广泛用于油、气田的测井、射孔等作业。但随着油田开发的深入发展,水平井测井工艺不断更新。测井公司在水平井测井中,为了避免水平段泵送仪器,不断增加粗电缆(Φ22 mm和Φ34 mm)的使用,粗电缆与常规测井电缆(Φ11.8 mm)对接混合使用。这样以来,由于粗电缆太硬或拉紧弹簧疲劳,在电缆盘到滚筒两边使用盘缆器时,容易造成丈量轮打滑现象,为测井带来不便。

为了解决上述问题,我们在FYJJ-013型马丁代克的基础上另外加装一套编码器[1],实现两个丈量轮分别驱动两个编码器。然后将两个编码器接入深度信号选择模块,模块对两路信号进行实时对比,选出信号变化灵敏(认为深度不打滑)的编码器信号,进行整形放大,然后输出。有效的减小由于计量轮打滑造成的深度误差,改善测井质量。

1 设计原理

该模块有信号整形电路、AT89C2051单片机[1]和功率放大电路等构成,AT89C2051在模块中起到自动双掷开关的作用。模块电路原理框图如图1所示。

图1 模块原理框图

2 硬件设计

本模块硬件电路如图2所示,AT89C2051单片机是ATMEL公司出产的低电压,高性能COMS8位单片机,内有2 K可编程闪速存储器,可以反复擦写1 000次;工作电压2.6~6 V;工作频率0~24 MHz;128字节的内部RAM;15条双口可编程I/O口线;2个16位定时器T0和T1;5个中断源[3](两个外部中断、两个定时器/计数器中断和一个串行口中断);一个串行口。

AT89 C2051的1管脚是复位端,高电平有效。电阻R1和电容C3组成上电复位电路,当模块刚接通电源的瞬间,由于电容C3两端的电压不能突变,这样1管脚就是高电平单片机复位[4]。

当接通电源以后,+5 V电源给C3充电,C3两端电压逐渐增加,当C3两端电压为5 V,充电电流为0。1管脚电压为0,单片机退出复位状态,进入正常工作。

AT89 C2051内部有振荡器,但需要在外部的4管脚和5管脚之间接一个晶体,在本模块中采用11.059 2 MHz的晶体,C4和C5位微调电容。

本模块采用实时采集/输出的方案,利用两个外部中断[5]对两路编码器信号进行计数、对比,实现信号自动切换。P1.2~P1.5为A/B信号输入,P3.2和P3.3为两个外部中断输入,P1.6和P1.7为A、B信号输出。

图2 硬件电路原理图

信号整形采集电路由74HC04和上拉电阻构成。74HC04是六反相器,既一个集成块上有六个反相器,高速CMOS器件,低功耗肖特基的TTL(LSTTL)电路。根据芯片输入特性,当供电电压VCC=5 V时,输入端最少输入3.5 V电压才可以被74HC04识别为高电平。编码器输出A/B信号输入至模块的电压是3.6 V,考虑到电路的可靠性,采用上拉电阻提高信号输入电压。

AT89 C2051属于CMOS电路[6],为了增加驱动能力,本设计使用74HC04作为本模块的功率放大输出电路。

3 软件设计

模块的软件采用C语言通过uVision4进行开发的。本模块利用单片机两个外部中断对两路编码器信号进行计数对比,算出计数多的一路信号,选择与其连接的编码器信号为有效信号,对该组信号读取-输出,实现双刀双掷开关的作用,而且自动切换。编码器计数多认为与其对应的丈量轮不打滑。

本模块软件设计的难点是程序运行周期必须小于140 μs。因为在测井过程中,电缆运行速度通常情况下不大于10 000 m/h。在1 000 m/h速度的情况下,丈量轮每周0.75 m,编码器整周刻度线数960个,A/B信号的周期T为:

由圆光栅编码器(YGM406)说明书[5]可知,A/B信号的占空比为50%,所以,单片机读取-输出周期(即程序运行周期)必须小于T/2=140μs。这个模块选用11.059 2MHz的晶振,经计算本模块程序运行周期必须小于129个机器周期。模块主程序如下:

void main()

{

IntConfiguration();

i = 0x80;

LED = 0;

while(1)

{

if(flag == 0)

{

OutputA = InputA1;

OutputB = InputB1;

}

else

{

OutputA = InputA2;

OutputB = InputB2;

}

}

}

通过两个外部中断对两个编码器的A信号进行计数,A1信号产生的中断实现i加1,A2信号产生的中断实现i减1。中断程序在两个计数相差6时对flag进行赋值调整。此程序中i初值为0x80,所以当i>0x85,flag=0;当i<0x7b,flag=1;当0x7b≦i≦0x85,flag的值保持不变。

程序调试结束后,利用反汇编将C51程序转化为汇编语言程序,通过计算汇编语言程序的运行时间[7],我们得出该模块程序运行周期为42个机器周期(包括中断程序),满足设计要求。

4 结 语

本文详细介绍了基于AT98C2051单片机信号选择模块的硬件设计和C语言实现。经实际使用表明,利用该设计能够实现两组深度信号的择优自动切换,大大改善了引打滑造成的深度误差,提高测井曲线质量。其创新点在于借助单片机实现深度信号的进行比对,自动切换,缓解了单编码器深度打滑对现场施工造成的困难,提高现场施工效率。

不足之处在于只对每组深度信号的A信号进行计数比对,如果B信号出现问题,本设计不能排查。但在实际施工过程中,B信号出现故障容易发现,操作人员可以及时处理。

[1] 李 军,蔡风波,唐振欢.马丁代克编码器深度系统改造[J].石油仪器,2007,21(6):101-103.

[2] 郭天祥.新概念51单片机C语言教程[M].北京:电子工业出版社,2009:1,65-69.

[3] 陈廷侠,张家平.80C51单片机外部中断的应用及其程序调试[J].新乡学院学报(自然科学版),2010,27(3):36-39.

[4] 秦 萌,任军利.基于AT89C2051单片机应用设计[J] .科技风,2008,2(1):54.

[5] 路永华.TTL门电路与CMOS门电路接口问题的研究[J].甘肃科技,2004,20(11):69-70.

[6] 园光栅编码器YGM604产品说明书[Z].中科院南京天文仪器有限公司

[7] 彭志刚.51系列单片机延时程序运行时间的计算[J].仪器仪表用户,2008,15(5):107-108.

A/B Signal Switching Module Based on AT89C2051 MCU

LIANG Shuangfeng1, MU Jianchao1, REN Xiaohu2, CHENG Fei2

(1.XianFangyuanEnergyEngineeringCo.Ltd,Xi′an,Shaanxi710200,China;2.CNPCLogging,DepartmentofChangqing,Xi′an,Shaanxi710200,China)

With the further development of oilfield exploitation, the technology of the horizontal well logging updates constantly, which need the winch metering system to enhance unceasingly. Depth measuring instrument skidding phenomenon appears frequently because of the mixed using of different specifications logging cable in the process of horizontal well logging, which have caused huge difficulties for the on-site construction. The depth measurement system was improved by using double measuring wheels that driving two encoders. At the same time,a signal switching module was developed to contrast to choose the accurate depth signal automatically to output after shaping amplification. The implementing of hardware and software of the signal switching module was introduced, and the principle diagram and the hardware design of key parts were given with a part of the program. The field test showed that the design effectively reduced the error caused by measuring wheel skidding depth, which improved the quality of logging and the efficiency of the site construction.

AT89C2051;interrupt;A/B signal;auto switch

梁双锋,男,1980年生,工程师,2004年毕业于西安石油大学测控技术与仪器专业,现主要从事油气田测井工作及测井仪器的研究。E-mail:lsfxdz515@163.com

TP23

A

2096-0077(2016)05-0044-03

2016-05-06 编辑:韩德林)

猜你喜欢

中断编码器测井
本期广告索引
八扇区水泥胶结测井仪刻度及测井数据处理
基于FPGA的同步机轴角编码器
基于双增量码道的绝对式编码器设计
跟踪导练(二)(5)
千里移防,卫勤保障不中断
JESD204B接口协议中的8B10B编码器设计
基于测井响应评价煤岩结构特征
中石油首个全国测井行业标准发布
多总线式光电编码器的设计与应用