基于单片机采用PID算法的电机控制系统设计
2014-05-30宋继辉
摘要:随着社会的发展,电机控制技术也在不断改进。该文就电机控制系统的角度,提出在单片机的基础之上,利用PID进行计算的电机控制系统。该文介绍了该系统的工作原理,以及是否可行进行了实验,望能有所增益。
关键词:单片机;PID算法;电机运行;控制系统
中图分类号:TP393 文献标识码:A 文章编号:1009-3044(2014)09-2112-03
脉冲宽度调制技术,简称为PWM,在控制电机运行方面有着广泛的市场,因为其有着不少好优点:反应速度便捷,相当高的精准度,良好的平衡性。脉冲宽度技术的工作原理大致如下:首先,在晶体管特有的开关帮助之下,实现直流电源到方波脉冲电压,其具有相对程度上的宽度,然后把这个方波脉冲电压运用于直流电机的电枢。这时单片机就会发挥应有的作用,其可以分析考辨电机的转向,转速和原先调好的转向,转速,从而得出二者之间的差异。最后在数字PD的帮助之下,调制方波宽度,这样一来,电枢电压的平均值和相序就发生了变化,电机的转速和转向也就得到了调控。
1 系统的工作原理
如图1,所展示的便是系统的工作原理,从中可以了解到如何在运行中实现对电机的控制。首先,在单片机的帮助之下,电机的转速和转向的给定值就一目了然,在光学斩波编
码盘的帮助之下,电机的转速和转向的反馈值也就得到了,将给定值和反馈值相减,误差值也就呼之欲出了。在数字PID的控制之下,电机运行所需要的控制量得到解决,在这时只要利用DAC转换器就可以把控制量改变成模拟信号,之后便会出现在PWM调制器上,并最终PWM控制电机。
光电隔离器在系统中起着重要的作用:光电隔离器处于电机驱动电路和单片机控制电路之间,将二者分离,这样一来,来自外面的干扰信号就无法进入单片机的控制系统之内了,系统的可靠性得到了保障,试验增强了可信度。
2 电机运行的监测
电机的转速和转向问题对于电机运行的控制系统而言显然是头等大事。于是如何检测电机的转速和转向就显得尤为重要。这里利用的是光学斩波编码,可以相对准确的计算出电机的转速和转向。如图2即是光学斩波编码的示意图。
在图2中我们可以发现:电机的旋转轴上负担着光电编码盘,,光电接收器和光源也放置于光电编码盘的两边。于是乎,电机旋转轴运动的时候,光电编码盘也就随之运动,这样一来,内圈的光电接收器就会收到信息,产生A相波形,外圈的光电接收器就会产生不同A相波形的运动,称之为B相波形。当B相波形的速度大于A相波形的时候,光学斩波编码做逆时针运动;当B相波形小于A相波形的时候,光学斩波编码做顺时针运动。
在实际过程中,A相波形和B相波形并不可能完全满足我们的要求,我们就需要对其进行加工整理,进行滤波之后,就会相应的得到A相波形和B相的波形,这样就比较符合系统对波形的需求,如图3所示:
通过分析图4我们可以清楚的得到以下结论:当A相波形在经过B相波形被形定之后就会得到A相波形,同样的,当B相波形在经过A相波形被形定之后就会得到B相波形。虚假跳变一般不会发生,只有在摆动引起方向改变或者电机快要停转的时候,A相波形或者B相波形发生了跳变,虚假跳变才会发生,并且具有重复循环性。同样的,如果将A相波形或者B相波形改成A相波形或者B相波形的时候,虚假跳变也会不停的发生。
要想得到判断电机旋转方向的信息,就要让B相波形和A相波形做异或运动,或者是让A相波形跟B相波形做同样的异或运动,都可以得到正确的判断信息。在图四中我们可以清楚地发现:顺时针方向旋转形成的波形位于图片的左边,逆时针旋转形成的波形位于图片的右边。
在B相波形和A相波形在做异或运动的过程中,单片机中的计数器就会开始工作,记录下B相波形和A相波形发生异或运动所产生的计数脉冲,并生成完整的纪录。如此一来,人们就不必每时每刻关注到单片机的工作,只要每隔一段时间纪录下计数器的数值就可以了。为了准确起见,可以将多次得到的数值进行平均,得到平均值,把平均值作为电机的转速,这样一来电机的转速问题就得到了解决。
3 数字PID控制算法的使用
对单片机控制系统而言,采样控制是得到广泛使用的,因为无法做到对每组数据的收集整理分析。在采样的过程中,只要采样的周期合理了,那么偏差也就不会太大。同时还可以通过计算得到这个偏差值,再根据偏差值得到控制量的大小。在控制算法的方法中多种多样,数字PID算法却是人们最经常会使用的方法。
将PID算法进行离散化,可以得到一个位置式,即
在这个等式之中,K )代表的是比例系数; Ti代表的是积分时间; Td 代表的是微分时间; T代表的是 采样周期; u0 代表的是偏差为零时的控制作用; ei )代表的是给定值与反馈值构成的控制偏差。
在等式1中,对PID算法进行增量,就可以得到下面这个增量式:
在比较等式1和等式2之后,我们就可以清楚的知道增量式PID算法的优点:在数值上比位置式要来的少,只需要前3个小时的偏差,积累偏差也就比位置式来得要少很多,从而使PID算法更加的准确,因此增量式好于位置式。
基于增量式的优点,在这个电机控制的过程中,在进行算式计算的时候采用的是增量式算法,在进行输出计算的时候采用的时候采用位置式算法,二者各有自己的特点。
在等式3中,要进行计算十分的方便和简单:只要位置式有输出Ui-1这个单元,PID调节的增量就会自动的增加,于是乎PID位置式就可以得到Ui的具体值。当然这个过程能够实现,是在单片机内存的强大的功能,他可以无时不刻的纪录并且输出已经发生过的位置式的单元。
利用PID算法进行软件编程工作的时候,就会将第三个等式进行变化,如下图所示:
在等式4中,w 代表的是设定值; y i代表的是第i次实际输出值; K 代表的是比例系数; I= T /T i代表的是积分系数; D = Td /T 代表的是 微分系数。
在进行调节PID控制系统的过程中,微分项的影响不可忽略,因为输出会随着微分项而发生一定程度的改变,尤其是在偏差e的数值比较小的时候,干扰就显得更加明显和容易,因为这个时候PID的控制系统处于敏感的阶段。系统的抗干扰能力不强是无法保证系统的准确性的,所以可以采取平滑滤波的手段对偏差进行处理,这样一来系统的抗干扰力就会得到改善。
当我们在计算PID算法的时候,积分饱和也常常使我们困扰。一旦发生积分饱和的现象,系统就会超调,出现不正常的情况。为了解决这种情况,分段变系数就可以发挥作用,对于系统的动态超调,静态精度和动态响应时间上可以有所作为。为了方便,这个系统就将动态的整个发展过程截成三部分,分别对每个部分进行合理的调节。第一段:在
4 小结
对于PID控制算法而言,具有很强的适应能力,在工程实践上显得绰绰有余。在实际情况中,我们要做到具体问题具体分析,针对不同的系统选择不同的控制算法。在控制计算的过程中,单片机的实时运算能力可以得到展现,超强的控制力可以得到发挥,很好的灵活度,便于手机到系统所需要的各方面的参数,完全可以满足系统各个方面的需要。
参考文献:
[1] 熊静琪.计算机控制技术[M].北京:电子工业出版社,2003.
[2] 胡汉才.单片机原理及系统设计技术[M].北京: 清华大学出版社,2002.
[3] 王永华.现代电气控制技术[M].北京北京航空航天大学出版社,2008.
[4] 陈伯时.电力拖动自动控制系统[M].北京: 机械工业出版社,1995.