background image

图 !" 功率驱动和控制电路

当 #$% 位为高时,允许解码输出,同时将下一次
定时时 间( 低 电 平) 写 入 &’!;当 #$% 位 为 低
时,将 #! 口置高( ()*!+, 是反向输入),关闭 -
路驱动信 号,同 时 将 下 一 次 定 时 时 间( 低 电 平)

写入 &’!,从而使得 #$% 信号和解码驱动信号相
叠加,实现 #$% 调速。

图 *" &! 中断服务程序

注意:改变高、低 电 平 定 时 时 间 之 和 即 可 改

变斩波频率。但频率不可设置过高,因为频率最

小调节为 * . !

,

,当 !( 单位是 !/) 过小,占空比

最小调节量变大,闭环调速时,电机转速会变得

不稳定,有相对较大波动。同时,指令执行时间

以及出入中断时间都会对极大和极小占空比有明

显影响。

!" !# 逻辑解码子程序

逻辑解码子程序主要完成检测霍尔位置传感

器信号,从而决定 - 路驱动信号。流程图如图 +
所示。

将 #+ 口数据读回,再逻辑与后保留 + 位霍尔

位置信号,通过转子位置信号将解码存储于寄存

器 0$(&1’2 &3%# 中,在 &! 中断服务程序中使
用。当 #$% 位为高时,输出解码;#$% 位为低

时,封锁输出。其中 #!4 * 5 #!4 6 用于输出 - 路驱
动信 号;#!4 , 置 高,为 了 能 读 取 按 钮 信 号 7#+;

#!4 ! 置低不让过流指示灯 8!9 点亮。当主程序检
测到 #+4 6 为低时,中止 &! 工作,置高 #!4 !,提
供过流显示。

图 +" 逻辑解码子程序

!" $# 速度闭环中断服务程序

速度闭环由 (:&, 中断服务程序完成。流程图

如 9 所示。

转速测量采用测周法,用定时器 &, 测量霍尔

信号 ’; 的正脉冲宽度。为了实现测量正脉冲,应
将工作方式寄存器 &%<8 = ,,!,!,,!>,让定时器

&! 工作于 ? 位自动重装模式;定时器 &, 工作于 !-

@

6

一种可靠实用的无刷直流电动机单片机控制方法" 解" 恩" 刘卫国" 侯红胜" 杨" 前