的硬件结构是基于单片机而开发的,所用功能为外部中
断、定时中断、检测传感器脉冲信号、及输入/输出等。
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
电机驱动电路
R
2
瓷
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
万方数据