8098单片机实现的位置及速度检测装置_李敬兆
1998年第10期 煤矿设计27
8098单片机实现的位置及速度检测装置
淮南工业学院 李敬兆
摘 要 本文提出了采用8098单片机实现位置及速度检测的新方法, 给出了硬件软件设计, 并对位置检测的精度和速度检测的精度及分辨率进行了分析, 可供有关人员参考。
关键词 单片机 位置 速度 脉冲
在许多数控机械和调速系统中, 经常需要检测位置和速度, 在计算机控制系统中, 一般速度和位置的检测主要通过与电机同轴的旋转编码输出的脉冲进行计数实现。如可编程控制器和工业控制计算机均有相应的高速计数模块(或模板) 来完成这一功能, 然而可编程控制器和工业控制计算机价格均很高, 仅一个高速计数模块就需几千元。利用单片机实现的微机控制系统虽价格低廉, 但没有现成的位置及速度检测装置。对此, 我们通过利用单片机对调速系统的控制, 谈谈如何利用8098单片机自身资源实现位置及速度的检测。1 系统硬件设计
系统硬件电路如图1所示
由旋转编码器输出的两路正交脉冲A 和B (相位相差四分之一周期) , 正向运行时A 超前B, 反向运行时B 超前A, 通过与门后得计数脉 敏感元件与传动装置一体化, 如矿用机器人的姿态及触觉传感器等。
向生物传感器系统方向发展。例如利用分子电子学制作分子电子器件, 并通过化学合成等方法, 使之与分子计算机合成为微型智能传感器, 可把外界空间分布的信息转换为机体可感知的信号, 成为视觉, 听觉或触觉等。
总之, 随着煤炭工业的迅速发展, 自动化水平的不断提高, 无论是在生产方面, 还是在安全方面, 对矿用传感器的要求都会愈来愈严格, 愈
社, 1996
2 [日]高桥清等编著, 秦起佑、蒋冰译, 传感电子学 , 宇航
出版社, 1987
3 Viadimir I. Vaganov. Construction Problems in S ensors. Sen -sors ade Actuators A. 28. 1991
图1 系统硬件电路图
冲AB(波形如图2所示) , 将计数脉冲AB 加在8098的高速输入口H SI. 1端, 实现脉冲计数, 脉冲A 和B 分别接至双单稳芯片U 1(74LS221) 的1A 和2A 输入端, 则得Ul 输出端Ql 和Q2的波形DA 、DB, 如图2所示。正向运行时, DA 、AB 与非后使RS 触发器Q 端输出高电平; 反向运行时, DB 、AB 与非后使RS 触发器Q 端输出低电平。由Q 端即可得转向信号。将转向信号加在8098的P0. 4端, 同时转向信号再接至U2(74LS221) 的1A 和2B 端, 得U 2来愈精确, 而矿用智能传感器则恰好代表着这一要求的发展方向, 毫无疑问, 矿用智能传感器在不远的将来必将成为有力保障煤矿安全生产的主力军!
参考文献
1 刘广玉、陈明等, 新型传感器技术及其应用 , 北航出版
)
28煤矿设计 1998年第10期
2. 2 位置的检测
位置的测量主要通过8098的软件定时器0定时并由T 2对加在HSI. 1端的脉冲计数来完成。
在转向不变时, 由软件定时器0定时(在此取5ms) 把T 2对H SI. 1端的脉冲计数值暂存在RES2单元, 同时将T2复位以便下次计数。根据转向, 把RES2单元的计数值与原来存储的脉冲计数值相加或相减。当转向为正向(P0. 4=1) 时, 把RES2单元的计数值加到原脉冲计数存储单元RES0、RES1中; 当转向为反向(P0. 4=0) 时, RES2单元的计数值减去原脉冲计数存储单元RES0、RESl 的值; 这样在
图2 转向判别波形图
的Q1和Q2端输出的信号如图2所示。Q1、Q2相或后输出的信号加在8098的外中断端EXT INT , 这样只要转向改变就可发出一个外
部中断信号。
各点波形如图2
所示。
RES0、RESl 单元中所得的数即可反映出位置来。软件定时0中断服务程序框图见图4
。
2 系统软件设计
2. 1 主程序设计
首先进行初始化, 允许软件定时器0中断和外中断。软件定时器0时间到时产生中断读取T2脉冲计数值, 转向改变时, 产生外中断, 执行外中断服务程序, 读取T 2脉冲计数值。测量完成后, 将脉冲转换为行程(或位置) 存放在REG3、REG4中。同时判断速度是否大于450转/分, 如大于则采用M 法测速, 即将REG2的值转换为速度存放在REG5单元, 如小于则调8T 法和T 法测速子程序进行测速。其主程序框图如图3
所示。
图4 软件定时器0
中断服务程序框图
图5 外中断服务程序框图
当转向改变时, 产生外中断, 由外中断服务程序把T2对HSI. 1端的脉冲计数值暂存在RES2单元, 同时将T2复位以便下次计数。然后根据转向来实现可逆计数。当外中断服务程
图3 主程序框图
序判断出现在为正向(P0. 4=1) 时, 说明刚才
1998年第10期 煤矿设计脉冲计数存储单元RES0、RESl 的值; 当判断现在为反向(P0. 4=0) 时, 说明刚才为正向, 这时应把RES2单元的计数值加到原脉冲计数存储单元RES0、RES1中。外中断服务程序框图如图5
所示。
29
于8个状态周期, 当晶振为12MH z 时, 应为2 s, 由此可得其计数频率应不大于500kHz 。2. 3 速度的检测2. 3. 1 M 法测速(高速段)
在上述用软件定时器0定时读取T2对HSI. 1端的脉冲计数得到位置的同时, 亦可得到速度值。即在相等的时间间隔(5ms) 内, 所得到的计数值(RES2内即可反映出速度的大小) , 其相当于M 法测速, 同时把正转信号存储在一标志寄存器内, 从而得到正负速度值。由于M 法测速在高速段其测速分辨率和测速精度都很高, 因而在高速段, 我们主要采用上述测速方法。
2. 3. 2 8T 法(中速段) 和T 法(低速段) 测速
由于在中低速时, M 法测速的相对分辨率和精度都较低, 因此在中速段, 我们采用8T 法测速; 在低速段采用T 法测速, 采用8098的HSI 中断方式来完成测量, 并用定时器T 1的溢出完成超时退出的控制功能。程序先置HSI. 1为上跳变触发方式, 并等待HSI 的FIF0满中断, 然后用H SI 中断来计算两次上跳变的间隔(即脉冲的周期) , 最后由子程序完成速度计算(T 法) 。如测量时发现周期太小(即速度较高) , 则自动转换成H SI. 1为每8次上跳变触发一次, 计算两次触发间隔(即8倍脉冲周
图6 T 法和8T 法测速子程
序框图
图7 HSI FIF O
满中断服务程序框图
期) , 然后由于程序完成速度计算(8T 法) 。
在测量时, 如定时器T1发生8次溢出, 仍没有HSI 中断, 则判断转速为0(此时n=60/(PT) , 若P=5000, T=1s, 则n
位置测量的精度主要取决于外中断和软件
图8 定时器溢出中断服务程序框图
定时器0中断服务程序执行时读取T2及复位T2指令所需的时间, 这几条指令执行大约需20个状态周期, 当晶振频率为12MHz 时, 约需5 s 。因此, 当计数脉冲频率低于200kHz 时, 将不会有误差, 当计数脉冲频率大于200kH z 上述RES0、RES1和RES2均为字存储单元, 并将RES0、RES1定义为长整数型, 这样其
计数范围为-231~+231(对应十进制约为, -2 99)
30
4 测速分辨率及测速精度分析
煤矿设计 1998年第10期
Q T =
n 60f-pn
T = P q T =
可见T 法测速的分辨率和相对分辨率与转速n 有关, 在低速段时, 其分辨率和相对分辨率较高。
为了使中速时分辨率和测速精度均提高, 我们将8098的HSI 自动转换为8个脉冲计数一次, 测量8个脉冲的时间间隔(T ) 来求出速度。此即8T 法, 为此得8T 法测速的转速、分辨率、相对分辨率和精度分别为:
8 r/min pT pn 28T
Q 8T = r/min
480f-pn Q 8T q 8T == q 8T
n 8 8T =P =T
88
可见在中低速时, 8T 法测速的分辨率和精 n 8T =
度均优于T 法测速, 但对低速而言, 8T 测速时间较长, 故低速需采用T 法测速。4. 3 高、中、低速的划分
高、中、低速的划分主要取决于相对分辨率; 设P=5000个/转, f=0. 5 l0, 在转速n=450r/min 时, q m =q 8T =0. 01, 当转速n>450r/min 时, q m 0. 01, 当转速n0. 01, q 8T 450r/min 时, 为高速, n
参考文献
1 张毅刚等著, 8098单片机应用设计 , 电子工业出版社
1993. 5
2 苏彦民编, 电力拖动系统的微型计算机控制 , 西安交通
大学出版社, 1988. 6
6
4. 1 M 法测速
所谓M 法测速, 即在相等的时间间隔内用读取旋转编码器的脉冲来算出转速, 上述用软件定时器0定时(时间间隔T0) 通过8098的T 2对加在HSI. 1端的旋转编码器输出的脉冲进行计数得出速度的方法, 即属于M 法测速。
设旋转编码器每转输出P 个脉冲, 在T0时间内共发出m 个脉冲, 则转速为:
n m = r/min
PTo
其分辨率为
-= r/m in
pTo pTo pTo
相对分辨率为
q m ==
n m
测速精度为 Q m =
P m
式中 P 为旋转编码器两个脉冲间的角偏 m =
差, 其取决于旋转编码器的制造精度。由此可见, 用M 法测速时在高速时即在一定间隔内计数值较大时, 其相对分辨率和测速精度均很高, 而在中低速时将降低。为此, 在中低速时采用8T 法和T 法测速。
4. 2 T 法测速和8T 法测速
所谓T 法测速就是测出旋转编码器两个输出脉冲的时间间隔来计算转速的一种测速方法。利用H SI 中断测速的方法即属于T 法测速。
设旋转编码器每转发出P 个脉冲, 两脉冲间隔为T l, 则转速、分辨率、相对分辨率和测速精度分别为
r/min pTo pn 2T
Q T = r/m in
60f-pn n T =
(责任编辑 苏敬乔)