利用单片机形成的速度闭环控制系统
自动化与仪器仪表
ZIDO NGHUA YU Y IQ IY IBIAO 2005年第 4期 (总第 120期 )
文章编号 : 1001 - 9227 (2005) 04 - 0021 - 03
利用单片机形成的速度闭环控制系统
许俊巧 3 ,李 建 ,金 晶 , 黄正烈
(3 武汉电力职业技术学院 武汉 , 430079) ;
(武汉大学动力与机械学院 武汉 , 430000)
摘 要 :设计了基于单片机 89c51构成的直流电机速度闭环控制系统。利用编码器及 PID算法实
现了速度闭环控制。该系统结构简单 ,精确度较高 ,试验表明 ,利用单片机进行较高精度的速度闭环控
制是可行的。
关键词 :单片机 ;直流电机 ;闭环控制
ABSTRACT: In this paper the speed close loop - control system of dieect current motor based on SCM
( Single Chip M icyoco) 89c51 is designed, using encoder and PID airthmetic. This system has simple strucrure
and high accuracy. Testing shows that using SCM (Single Chip M icyoco) to achieve high precision speed close
loop - control is feasible.
KEYWORDS: Single chip M icyoco; D irect current motor ; Close loop - control
中图分类号 : TP368. 1 文献标识码 : B
0 引 言
一般速度及位置闭环控制系统 ,大多采用专用运动
控制卡或数字处理芯片作为中央控制器。其特点是控制
精度较高 ,但结构较复杂 ,并且价格昂贵。单片机由于其
结构简单 ,价格低廉 ,目前得到了广泛的应用。如果能用
单片机代替上述专用控制卡及数字处理芯片 ,构成速度
或位置闭环系统 ,无疑会进一步拓宽单片机的应用范围 ,
对降低系统成本 ,简化系统结构具有现实意义。本文采
用 89c51单片机构成了速度闭环控制系统。
1 PID超前环节速度闭环控制系统的基本理论
单台直流电机的等效电路及速度闭环控制系统如
图 1所示 :
收稿日期 : 2005 - 02 - 15
该系统的开环传递函数为
G( s) = 1 / s ×K1 /Ke ×1 / (1 + sTm ) = 1 / s ×K/ (1 +
sTm) (1)
式中 K = K1 /Ke
设 s = jω,可求得系统的频率特性
G( jω) = K/ jω ×( Tm ×jω + 1) (2)
ψ(ω) = -π/2 - arctanTmù (3)
由图 2 可看出 ,曲线在转折频率 ùe 处的斜率为
[ - 40 ] ,相位趋近于 - л,会产生稳定性问题。
因此 ,增加一个 PID 超前补偿环节 ( ( Ge ( s) = ( 1 +
sT2 ) / (1 + sT1 ) ,其中 , T1 < T2 ) ,拓宽系统稳定的范围。
如图 2虚线所示。系统中频段斜率为 [ - 20 ] ,相角裕
量趋近于 - л/2,这样 ,就可以调节 PID 参数来调节系
统稳定的范围。
增加 PID超前环节的速度闭环控制系统如图 3所
示。
2 单片机形成的速度闭环控制系统
(1) 系统构成
12
单片机构成的速度闭环控制系统如图 4所示。基本构
成如下 :单片机接口电路、电机驱动电路、计数电路。
下面主要介绍电机驱动电路和计数电路。
(2) 电机驱动电路
采用较常用的脉宽调速 ( PWM)方法 , PWM调速是
通过改变脉冲的占空比来控制电机两端的电压 ,从而
控制电机的转速。用四个固态继电器组成桥式电路 ,
控制电流的流向 ,可以控制电机的正反转、制动、滑行
四种状态。如图 4,当 P0. 0 = 0, P0. 1 = 1 时 , VT2 和
VT3导通 ,VTl和 VT4断开 ,电机反转 ;当 P0. 0 = 1, P0.
1 = 0时 ,VT2和 VT3断开 ,VTl和 VT4导通 ,电机正转 ;
当 P0. 0 = 0, P0. 1 = 0时 ,VTl,VT2,VT3和 VT4断开 ,电
机处于掉电状态 ,电机可滑行 ;当 P0. 0 = 1, P0. 1 = 1
时 ,VTl和 VT3断开 , VT2和 VT4闭合 ,电机处于励磁
制动状态。
(3) 计数电路
计数电路的作用是检测电机的速度并送入单片机
内。采用增量式光电编码盘 ,它可以检测电机转动角
位移的增量。其 A、B 输出通道相位相差 90°,加上一
个 D触发器 ,就能够非常方便地判断电机转动的方向。
A,B两相脉冲分别输入到 D 触发器的 D 端和 CP端 ,
触发器的 Q端接入单片机的 P0. 2口 ,同时 B相接入单
片机的内部计数器。如图 5所示 ,正转时 ,触发器的 CP
端在 A脉冲的上升沿触发 ,这时 Q = l,表示正转 ;反转
时 ,A脉冲超前 B脉冲处于低电平时触发 ,这时 Q = 0,
表示反转。
(4) 软件实现
89C51芯片没有 PWM 输出功能 ,需要通过编程实
现。周期不变 ,改变 P0. 0和 P0. 1高低电平的时间 ,就
实现了 PWM波输出。
因为 89c51字长较小 ,为了保证控制的精度 ,采用
PID增量式控制。
△u ( k) = aoe ( k) - a1 e (k - 1) + a2 e (k - 2) (4)
式中 a0 = Kp (1 + T/Ti + Td /T) , al = Kp (1 + 2 Td /T)
a2 = Kp Td /T
这样单片机只输出控制增量 ,而控制增量的确定
只与最近几次偏差采样值有关 ,当存在计算误差或精
度不足时 ,对控制量计算的影响较小。
3 试验分析及应用
为了使电机稳定性好 ,响应速度快 ,必须正确选择
PID参数。必须进行大量实验 ,以下是实验分析结果。
实验中采用扩充临界比例度法选择 PID参数。实
验测试在 PWM 开环控制周期为 lm s时电机高频响应
严重 ,在控制周期为 10m s时电机工作较好 ,声音正常 ,
力矩较大 ,在控制周期大于 10m s时 ,电机有抖动现象 ,
力量不均匀 ,所以我们就以 10m s作为检测周期。
在周期选定后 ,我们对电机作纯比例控制 ;从 Kp =
0. 01到 Kp = 10,逐步增大 Kp 一直到电机开始振荡。
当 Kp = 1时 ,系统达到临界振荡 ,临界振荡周期为
(下转第 25页 )
22
3 IR1335 = 0x40;
for( i = 0; i < 8; i + + )
{
3 DR1335 = system set[ i]; / /初始化 ,显示窗口设
置
}
3 IR1335 = 0x44;
for( i = 0; i < 10; i + + )
{
3 DR1335 = scroll[ i]; / /设置显示区域
}
3 IR1335 = 0x5a;
3 DR1335 = 0x00; / /设置点单元水平移动量
3 IR1335 = 0x5b;
3 DR1335 = ovlay; / /设置合成显示方式
3 IR1335 = 0x5d;
for( i = 0; i < 2; i + + )
{
3 DR1335 = csrform [ i]; / /设置光标形状
}
3 IR1335 = 0x59;
3 DR1335 = 0x04; / /设置光标显示方式
3 IR1335 = 0x46;
for( i = 0; i < 2; i + + )
{
3 DR1335 = csrw[ i]; / /设置光标地址
}
3 IR1335 = 0x4c;
3 IR1335 = 0x42;
for( temp = 1; temp < = (3203 240 /8) ; temp + + )
{
3 DR1335 = 0x00;
}
}
4 结束语
本文介绍的用单片机 AT90S8515实现液晶显示屏
LM32019T的控制系统 ,可以用在比较复杂的工业生产
实时监控中 ,实现监测数据的实时数据、波形显示等功
能 ,经过实验证明 ,该系统工作稳定、可靠 ,具有良好的
应用前景。
(上接第 22页 )
150m s左右。选择控制度为 1. 2, 查表计算得 Kp =
0. 47, TI = 70. 5m s, TD = 24m s。在此基础上反复实验 ,
最终得到一组比较理想的参数 :
T = 10m s, Kp = 0. 47, TI = 70. 5m s, TD = 24m s。
考虑到系统的稳定性 ,还需要采取抗干扰措施。
单片机和电机的电源一定要分开 ,每个 IC 并接一个
104电容 ,以减小 IC对电源的影响。连线尽量靠近电
源端并尽量粗短 ,否则 ,等于增大了电容的等效串联电
阻 ,会影响滤波效果 ,在干扰源回路串联电感或电阻以
及增加续流二极管。对于单片机闲置的 I/0口 ,不要悬
空 ,要接地或接电源。
我们用该控制系统设计了比赛机器人参加了第三
届大学生机器人大赛。在机器人调试过程中 ,系统能
很快跟踪给定速度 ,精确度较高 ,反应性能良好。在突
加负载的情况下系统能快速地自动调节。
我们用该系统与专用运动控制卡 PMAC作了阶跃
响应对比实验 ,表 1是以 maxon motor 259009为对象的
对比实验结果。
表 1 阶跃响应对比实验结果
控制器 试验次数
给定转速
(S- 1 )
实际平均转速
( S- 1 )
最大转速
( S- 1 )
平均调节
时间 (S)
最大误差
( S- 1 )
平均相对
误差
单片机 10 100 100. 7 109. 2 1. 1 9. 2 0. 7%
PMAC 10 100 99. 6 107. 1 1. 7 7. 1 0. 4%
实验结果表明 ,专用运动控制卡 PMAC的控制精
度很高 ,反应速度很快 ,整体性能优于单片机 ,但是单
片机的误差也在允许的误差范围之内 ,在一定范围内
可以满足控制系统的要求。
4 结束语
理论分析及实验表明 ,采用 PID超前环节控制 ,选
择一组合适的 PID 参数 ,由单片机及其辅助电路构成
的速度闭环控制系统具有控制精度较高 ,结构简单 ,经
济性好的特点 ,在一定范围内代替专用控制器是可行
的。
参考文献
1 赖寿宏. 微型计算机控制技术 [M ]. 北京 :机械工业出版社 ,
2003
2 陈光东. 单片机微型计算机原理与接口技术 [M ]. (第二版 ).
武汉 :华中理工大学出版社 , 2000
3 高国 . 自动控制原理 [M ]. 广州 :华南理工大学出版社 ,
2003
52
利用单片机形成的速度闭环控制系统.pdf