background image

电机运转的细密化迅捷勘验

方法

1:由 AT89C2051 单片机扩展一片可编程定时/计数器 8253、计数同步电路、高频时

钟电路、四倍频器和光电脉冲发生器组成,测速部分的组成如示。

8253 内含 3 个相同的 16 位

可预值的减法计数器,每个计数器均有独立的时钟输入端

CLK,时钟输出端 OUT 和门控

输入端

GATE,通过编程设置其工作方式。在中,计数器 1 和计数器 2 采用方式 0 作为计数

器,分别对转速脉冲信号和高频脉冲信号进行计数。

AT89C2051 的 T0 采用定时器方式 1,

用于控制采样周期(如果

8253 的计数器 0 没有使用,也可以用计数器 0 对高频脉冲信号计

数来控制采样周期)。同步计数电路

气胀轴

D 型触发器和门电路组成。AT89C2051 同时启

动内部的定时器

T0 和发出启动测速信号,使 P1.1 由 0 变为 1.从可以看出,这时计数器 1 和

计数器

2 并没有立即开始计数,而是在 CP 脉冲上升沿的的作用下 Q 变为高电平后,与门

打开,使转速脉冲信号和高频脉冲信号分别到达

CLK1 和 CLK2 输入端,计数才开始;当

定时器

T0 定时时间到使 P1.1 由 1 变为 0 时,计数器 1 和计数器 2 并没有立即停止计数,而

是在

CP 下一个脉冲上升沿的作用下 Q 变为低电平后,与门关闭,CLK1 和 CLK2 输入端无

信号输入,才停止计数器计数。

2:硬件组成和波形如所示,当 Q=1 时 8253 计数,Q=0 时停止计数。原理在此不再

详述。

方法

3:上述方法 1 和方法 2 由于只使用一块 8253 芯片,在 Q=1 时 8253 进行计数,而

Q=0 时停止计数,并且 8253 不能立即启动计数。

  在

AT89C2051 在中断服务程序中读取 8253 计数器 1 和计数器 2 的计数值,重新设

定内部定时器的初值和

8253 计数器 1 和计数器 2 的计数初值,重新启动 T0 和发出测速启

动信号后并在

CP 下一个脉冲上升沿的作用下 Q 变为高电平后,8253 才重新开始计数,因

8253 总要有计数的停止时间,这样降低了转速的采样频率。为了实现快速测量,特作改

进,硬件组成和波形如所示。

可见,使用了两块

8253 芯片交替工作,当一块 8253 正在计数时,CPU 在 CP2 下降沿

(即单稳电路由暂稳态结束恢复到稳态的下降沿)作用下产生外部中断请求,在中断服务
程序中根据

P1.1 的状态判断当前是哪一个计数器在工作,从而读取刚刚停止工作的另一块

芯片在上一采样周期的计数值,并重新设置其计数初值,为下一采样周期的重新计数作好
准备,这样可以快速实现电机瞬时值的测量。

在采样定时器发出的采样脉冲信号上升沿的作用下

Q0 置 1,则 D1=1.在四倍频脉冲信

号的上升沿的作用下,

Q1 置 1,而 Q1 为单稳电路的触发信号,Q1 的上升沿触发单稳电路

工作,单稳电路输出脉冲的下降沿有

3 个作用:触发器 G1 和 G0 清零;产生 INT0 的外部

中断请求;使触发器

G2 产生翻转,切换 18253 和 28253 的工作。

软件设计方法

3 的主程序和 T0 以及外部中断 0 中断服务程序的框如示。由于 8253 为减

法计数器,初始化时设其定时器

1 和定时器 2 的计数初值均为 OFFFFH,这样当计数结束

后,将定时器中的计数结果读出取反,即可得到

mp 和 mc 的值。PSW.5 为用户标志,初始

化为

0,当产生外部中断,在中断服务程序中读取 8253 的计数值后,使 PSW.5 置 1,从而

在主程序中根据

PSW.5 的状态来处理新的计数值。

结束语本文介绍的转速测量方法简单,实用可靠,满足了工作要求。