|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
摘要:设计了基于高速单片机智能消抖算法的位移测量系统,给出了该系统的流程图和部分关键程序。; M0 I% M8 l. t. ]! b
该系统解决了一般控制系统中存在抖动误差的问题,实现了无抖动误差的控制,具有很高的测量精度,适用
; ]/ l( M* Y7 F" `' d& j. r于测井仪和数控机床等要求精度比较高的场合。
6 l# H# m; s) l f* y& K/ A, r0引言
4 E* \' U# v3 o8 w* Z9 ]; {5 B数控测井地面仪是一个由计算机实时控制的数
& {5 V" ~) u# ^! ^ ~据采集系统。在数控测井地面系统中设置了深度子- V, p( Y6 w0 F$ B7 y$ K
系统,用以产生深度中断信号控制测井数据采集,以
. i( K- x& v* Z) K7 a使测井数据曲线的显示、记录和深度一一对应起来。7 R# W& |: l# v2 c& y9 U3 u7 v5 E
除了提供深度同步控制以外,深度子系统对下井仪; u$ v" ]$ r' v! f, L% N! T
器提供仪器升降运动的方向、速度、下井深度等信7 W& e. H* e' J8 \8 O" u
息。该仪器主要由电缆运动测量头、信号的检测处' j* V8 w6 k! ?
理和显示等设备组成。3 C3 O! V- D: m1 |" L' I- M
一般位移子系统采用数字逻辑电路进行仪器升6 S: m/ I# \. b4 P- p
降运动的方向判别、抖动消除、速度、下井深度的运
8 q( c2 r1 p) p# |$ j算,结构复杂,适应性差(深度采样间隔变化或测量
L( {8 l+ R- C! w( l5 I5 x轮磨损需要校深时),尤其对抖动消除的效果不佳。
: u8 A/ l {6 X" w' l本仪器采用软件的方法进行仪器运动方向判别、抖# } k( W2 D# n% Q
动消除、速度、下井深度的运算及深度校正等,取得, H3 C, b/ ^& ^8 \1 T
了较好的效果。& D. w2 e, k# @0 A4 I% ?. i$ x
1设计方案的实现$ d5 V1 I- h3 o
1.1 高速单片机简介
' y+ ?. \6 n3 B0 ]4 T4 q! p8 c本仪器选用W77E58高速单片机作为位移测! \& W( i) ?# J- g2 G
量控制核。高速单片机W77E58是WINBOND公
3 n- }$ f0 Y( c5 F! c6 }- |司生产的与MCS一51/52引脚和指令兼容的高速
" X( W+ X5 E# M1 V& l+ i单片机,主要有以下特性:
# ?4 U/ C) T2 v0 m. O) @- e) D(1)内部集成了高速结构,将12周期/指令缩减为+ w& n. r: a8 a: I. L
4周期/指令,使CPU的响应速度提升了1.5~3倍;9 G( Q4 [! ^ @! R0 o) f
(2)最高工作时钟频率为40 MHz;
! U0 s4 q" p6 k(3)集成了256 B可直接读取的RAM和1 KB5 ?9 s/ P1 l. J: h/ R; a
用MoVx读取的内置SRAM;
* C V0 k; \: B- a: \(4)内部有32 K的FI。ASH程序存储器;8 s$ e9 S: T [2 o$ X6 C
(5)有2个全双工串行通信口,支持UART(通
& E# n0 E& d y6 _% E1 j3 Y用异步通信接收和发送器)和同步移位寄存器,不仅
+ a4 t- f# Q6 G$ p4 ~( _如此,该芯片的串口还增加了帧结构错误探测
* x/ M8 t+ r0 ?% J8 l- t(FED)和地址自动识别(AAR)功能;
+ `/ z9 q) [$ l1 D- q+ y: z(6)内部集成了看门狗复位电路。 @3 ?) J5 L& B. \7 D) ^$ @
1.2 位移测量原理% L2 |' A8 H) G
当下井仪器在测井电缆的带动下沿井筒上(下)
: G2 q) a5 r' O7 h1 w: }, D运动时,电缆带动测量头上的测量轮顺(逆)时针转
/ I+ [1 x7 U. X, K动,安装在测量轮上的光栅编码器也随之转动,光栅+ p9 ~% {3 B. I8 W$ Q
编码器输出A、B两相正交的方波信号,如图1所( z- W7 t2 z) w' g! t% f# s" Q2 i) v
示。当编码器顺时针转动时,A相信号前沿超前
z* V$ B/ |; {: yB相信号1/4周期;编码器逆时针转动时,A相信号
. S/ m4 ^. ^2 X8 w7 u, Y9 M# W* K滞后B相信号1/4周期。要正确计测深度位置,必, l; l$ I# q/ }' b
须根据2路脉冲相位关系进行方向判别。- Z y7 Q- R; C
根据A相和B相信号的正交特性,可判别仪& a' F7 r1 S, _: ~4 o# g7 |
器的运动方向,根据信号的频率计算出仪器的运动$ {$ H3 h' e4 D* {& q
速度和仪器下井深度。
+ m/ ?4 T2 \/ q9 J1 s) J6 [) [需要注意的是光栅编码器的抖动问题,光栅编8 L, _4 K0 l# Y. `& t
码器的抖动会引起深度测量误差。在一般逻辑电路. L7 T7 i' c0 X" e( l! {
的消抖电路中,无法真正地消除误差。- `4 b0 C& g; r+ W! T- E
1.3硬件设计! o h8 a! C! j$ Y p( l& e2 ^. j
位移测量子系统要完成下井仪器运动方向判
; }) d6 d) h- O; T别、抖动消除、速度、下井位移的运算及位移校正,因6 V" k2 y6 f5 J( p
此,该系统由信号整形电路、控制器、显示电路、通信8 k& P/ W" @4 c+ g
接口电路等组成,如图2所示。
$ G' ~$ e- ]6 I: q5 _( @7 K7 \7 q' H- `: a
由测量头监测到信号后传递给光栅编码器,输5 a7 V$ _/ |6 [( F
出信号的幅度为5~12 V,来自编码器的信号首先! ?+ m' y, E4 F% t3 z- S# f0 E
经过整形电路处理,变成与控制器兼容的电平信号,
9 {" B# m1 d4 p9 r9 e1 y& _/ A整形后的信号APP和BPP送控制器进行深度、速
' D' [, }3 `5 R度测量及方向鉴别。单片机将测量到的当前深度、
' p }; V! s4 h速度及运动方向锁存到显示电路显示。
9 z. L% u( w9 D5 E c/ J2 w采用快速处理器高速单片机W77E58后,深度1 v, t. l7 p/ y$ i* D3 v- u! K2 Z
处理电路非常简洁,提高了系统的可靠性。4 _7 H, @. g9 _7 P6 {! o
1.4软件部分设计' g" T1 I. m U( o& z' a
程序主要有主程序和中断处理程序。主程序完
$ Y/ [& b7 \0 O4 k* v3 y3 }& o: N! L成实时性不高的任务,如速度计算、与主机的通信、
! F, _0 [+ y; ~深度、速度及状态显示等。中断处理程序完成实时7 I3 ~# h% J- g& G1 ]
性高的任务,如方向判别、深度脉冲计数、消除抖动3 r. Q, X! H! z0 f
等。TO和INTl中断优先级设为最高优先级,确保
' l( z! B3 \% |; m( c8 j不会丢失深度脉冲信号。
) p* P- T% Q5 {- `3 p1 f主程序流程图如图3所示,TO中断处理程序流. d x& g8 D2 \* R* p( Z7 I
程图如图4所示,INTl中断处理程序流程图如图5
+ E- j' T5 F, I3 V* ]# B4 o( H' I所示。1 c N- F3 e g5 D. O
为了进行深度、速度的计算,需要浮点运算,采用
3 E7 v: ? P. J0 u- W, XC51编程。由于W77E58的高速处理能力以及优化
# x0 s8 L( L& i t6 Q X Z2 S' i6 Y算法,用C语言编程也能满足深度系统的实时性。
0 M% r2 n& j0 x& b1 G5 WAPP信号一路直接送W77E58的TO,同时将. r$ ^( Y4 ^3 v T C9 T
APP反相后送W77E58的INTl。这样做的目的是, o# s" x0 W- ?9 f; _
让单片机能够感知APP的上升沿和下降沿。在
* j; R2 J+ i( V& j" Y8 f* b: g1个周期的上升沿对BPP信号检测,进行运动方向; i5 c0 \1 x/ s }
鉴别,而在下降沿则根据BPP信号的状态决定是否
8 e- r" x Z9 f3 G5 O7 C进行深度计数(下井仪器向上运动,减计数;下井仪
6 t" ~& C% y: w" I. W& c$ F4 Q5 P器向下运动,加计数),若为抖动,则不计数,从而消
/ q3 O' D9 P& I除了抖动对深度测量的影响。当深度到达预定间隔
e2 ~5 f- c& Y+ B8 w1 v$ y! ^: c3 O& J
附件下载:
; t, p& M) X c% z2 h
4 ? a3 ]9 i8 V( x$ e# n5 M3 k1 W
+ @6 c% T; \6 ]/ t$ j, B. g1 i( c4 q! X# R# ^
|
|