电机运转的细密化迅捷勘验
方法
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 的状态来处理新的计数值。
结束语本文介绍的转速测量方法简单,实用可靠,满足了工作要求。