background image

    4 

 

系统设计要求及结构实现

    对于额定功率为 0.75kW、转速为 50~2000r.p.m 的 8/6 极 SRM,在低速时可采用 PWM
方式来控制,而在高速时则应采用单脉冲控制。电机转子每转过 15°,位置传感器 PIA 和
PIB 会发生变化并产生一次相中断,之后 MSP430 依据外部操作要求(如正传或反转)及
当前状态来决定下一次输出状态并送给数字比较器,当与下一次中断信号一致时,它会
向 CPU 发送一次中断,并输出相信号给逻辑电路,最后驱动电动机。同时依据此中断信
号计算转速,以作为高速单脉冲工作状态的参考点(对于高速单脉冲,由于在高速时没
有足够时间精确计算开关角的大小,因而本设计采取每相固定导通 30°的控制方式,其实

 

现方法待后详述)。

    当转速给定后,即可采用调节电位器输出模拟量送给 Atmega16 的 A/D 模块。系统中的
LED 用于显示转换速等信息,键盘用于设定各参量(如方向等)。其控制结构框图如图 2

 

所示。

    4.1 PWM

 

控制

    AVR 的 T/C1 除具有定时、计数、输入捕捉和输出比较功能外,还可构成两个脉冲宽度调
制 PWM 输出通道。由于经缓冲的 PWM 输出可驱动电机,且其转速正比于 OCR1A 或
OCR1B 寄存器的内容。因此,可以利用 OCR1A 输出 PWM 波,再将该信号与各路相输出
信号相与后输出,从而实现控制各路相信号以及低速调速之目的。

    4.2 

 

高速单脉冲控制

    采用高速单脉冲控制方式时,可使关断角保持不变,从而使开通角在较宽的范围内进
行调节,最终实现高速高速。由于 AVR 系列单片机具有输入捕捉功能,因此可将 PIA 或
PIB 信号送给 ICP 脚,然后让 ICP1 寄存器首先捕捉脉冲上升沿发生的时间,接着再捕捉
下一次上升沿发生的时间,然后用这段时间除以相间隔的角度 15°就可得到标准单脉冲数。
当然,由于中断处理需要一定的时间,所以要通过软件修正。这样就可以高精度控制高速

 

运转时的开通角和关断角,从而实现高速单脉冲的软件控制。

    5 

 

软件示例

    5.1 

 

相输出子程序示例

 

;正转相输出
.def xiin=r16 ;

 

相输入信号寄存器

;==================== 
xinoutz:in xiin,pind ;

 

将相输入信号送给寄存器

andi xiin,$03 ;

 

相与只剩下相信号

cpi xiin,$01 ;是否 da

 

输出

brbc 1,daout ;相等,da

 

输出