background image

的硬件结构是基于单片机而开发的,所用功能为外部中

断、定时中断、检测传感器脉冲信号、及输入/输出等。

STC89C52RC的P0.0,PO.1,Po.2端口分别作为按键

SET、按键MOVE、按键UP的输入口,通过STC89C52

定时器TO的定时中断控制脉冲发送频率,进而控制电

机的转速[8]。系统原理图如图2所示。

3系统软件设计

控制器的软件主要完成LED显示,接受键盘输入,

实现伺服电机匀速运行和继电器控制几项功能,包括主

程序、按键中断服务程序、定时器TO中断服务程序及

LED显示子程序。在交流伺服电机控制系统中,单片

图2

系统系统原理图

2.2驱动部分电路的硬件设计

由于单片机属于TTL电路(逻辑1和0的电平分

别为2.4

V和0.4

V),其I/O口输出的开关量控制信

号电平无法直接驱动电机,所以在P2.6口控制升速信

号输出端需加入驱动电路㈣;同理该驱动电路也应用于

P2.7口的降速输出端。系统采用光耦耦合器和晶体管

作驱动,由光电耦合器输出通道传人控制电机,所以具

有很强的抑制噪声干扰能力,起隔离作用,可防止强电

磁干扰;晶体管主要起功率放大作用[3]。电机驱动电路

如图3所示。

图3

电机驱动电路

LEDl

机的主要作用是产生脉冲序列,它是通过

STC89C52RC的P3.2口发送的。系统软件编

制采用定时器定时中断产生周期性脉冲序列,

不使用软件延时,不占用CPU。CPU在非中

断时间内可以处理其他事件,惟有到了中断时

间,才驱动伺服电机转动一步[9]。系统程序流

程图如图4所示。

3.1按键预置子程序

面板上有3个键与该子程序相关,它们是

SET,MOVE和UP,其功能分别是:SET用来

确定设定位,共有4位,包括个位、十位、百位和

千位;MOVE用来选择那一位;UP控制被控

位的增加,每次增加,在O~9之间循环。当用

户确定其输入时可按键SET,程序便根据输入

的值确定伺服电机工作时的给定转速,最后,

将设定值存入对应的变量中,按键子程序流程

如图5所示。

图4

系统程序流程图

3.2定时中断服务子程序

电机每转动1圈,单片机就中断1次。通过检测两

次中断的时间间隔,即通过定时器的计数,就可以算出

电机转速。为了实现转速检测需将转速中断配置为最

高中断优先级INTO。中断计数的程序框图如图6

所示。

3.3

转速的PID控制算法

作为模糊控制和PID控制相结合的产物,模糊自适

应PID控制除具有调速范围宽,调节速度快和不要求掌

握受控对象的精确数学模型等优点外,还具备结构简单、

容易实现的特点。根据直线电机位置运动规律,模糊自

适应PID控制的基本思想是:当误差大时,需加大误差控

】97

万方数据