当前位置:网站首页 > 新闻中心 > 行业动态

直流电机控制算法看这就懂了

作者:杏仁饼  来源:www.hengyuxj.cn  更新时间:2019-12-27 15:55:43  点击次数:

直流电机控制算法的作用是接受指令速度值,通过运算向电机提供适当的驱动电压,尽快地和尽快平稳地使电机转速达到指令速度值,并维持这个速度值。换言之,一旦电机转速达到了指令速度值,即使在各种不利因素(如斜坡、碰撞之类等使电机转速发生变化的因素)的干扰下也应该保持速度值不变。为了提高机器人小车控制系统的控制精度,选用合适的控制算法显得十分必要。控制算法是任何闭环系统控制方案的核心,然而并非越复杂、精度越高的算法越好,因为比赛要求非常高的实时性,机器人必须在非常短的时间内作出灵敏的反应,所以现代的一些先进控制算法,比如模糊控制、神经元网络控制等就不能应用到小车控制系统里。本系统选用了最常规、最经典的PID控制算法,通过实际应用取得了很好的效果。下图是PID控制原理结构图。


PID控制系统原理结构框图


1 比例项


控制回路中的第一个偏差转换环节就是比例项。这一环节简单地将偏差信号乘以常数K 得到新的CV值(值域为-100~100)。基本的比例控制算法如下:


loop:


PV=ReadMotorSpeed


Error=SP-PV


CV=Error*Kprop


Setpwm(cv)


Goto loop


其中SP为设定值,PV为反馈值,Error为误差。


上一段程序中的SetPWM函数并非将CV值作为绝对的PWM占空比来对待。否则,不断降低的偏差值会使输出值接近零,而且由于电机工作时需要持续的PWM信号,控制系统将会使电机稳定在低速运转状态上,从而导致控制系统策略失败。


相反,CV值一般被取作当前PWM占空比的改变量,并被附加到当前的PWM占空比上。这也要求SetPWM函数必须将相加后得到的PWM占空比限制在0%~100%。正的CV值将使电机两端电压增加。负的CV值将使电机两端电压降低。如果CV值等于0,则无需改变但前占空比。较低的K 值会使电机的速度响应缓慢,但是却很平稳。较高的K 值会使速度响应更快,但是却可能导致超调,即达到稳定输出前在期望值附近振荡。过高的K 值会导致系统的不稳定,即输出不断震荡且不会趋于期望值。


2 积分项


积分正好与微分相对。假如有一个描述变化率(微分)的表达式,那么对该表达式的积分就将得到随时间变化的原物理量。如加速度的积分是速度,速度的积分是位移。


在PID控制回路中,偏差的积分代表从控制开始时算起所有偏差积累的总和。该总和被常数K 所乘后再添加到回路输出中。在回路中,如果没有积分环节,尽管控制系统也会趋于稳定,但是由于某种原因输出值可能最终也无法达到SP值。


一个简单但完全的PID控制器地伪代码实现如下:


loop:


PV=ReadMotorSpeed


LastError=Error


Isum=Isum+Error


Error=SP-PV


Rate=Error-LastError


CV=Error*Kprop+Krate*Rate+Kint*Isum


SetPWM(CV)


Goto loop


由于积分项会越来越大,这就会使控制回路在SP值的改变时响应变慢,某些应用场合在CV值达到取值边界(如为:-100~100)时会停止累加Isum。在SP值改变时,也可以除去Isum项。


3 微分项


任何变量的微分项被用来描述该变量是如何相对于另一个变量(多位时间)变化的。换句话说,任何变量的微分项就是它随时间的变化率。如位移随时间的变化率是速度。速度相对于时间的微分是加速度。


在PID控制器中,值得关心的是偏差信号相对于时间的微分,或称变化率。绝大多数控制器将微分项定义为:


Rate=(E-E )/T


式中,E为当前偏差,E 为前次偏差值,T为两次测量的时间间隔。负的变化率表明偏差信号的改善。当微分项被具体应用于控制器中时,将一个常数乘以该微分项,并将它加到比例项上,就可以得到最终的CV值计算公式:


CV=( K E)+( K Rate)


当偏差信号接近零时,CV值将为负,所以当偏差信号开始改善时,微分项的作用将逐渐减弱校正输出量。在某些场合下,微分项还有利于超调量的消除,并可以允许使用较大的K 值,从而可以改善响应的快速性。微分环节还预示了偏差信号的变化趋势。当控制对象对控制器的输出响应迟缓时,微分环节的作用尤为明显。


含有微分项的控制算法的伪代码实现如下:


loop:


PV=ReadMotorSpeed


LastError=Error


Error=SP-PV


Rate=Error-LastError


CV=Error*Kprop+Krate*Rate


SetPWM(CV)


Goto loop


4 PID的整定方法


在整定PID控制器参数时,可以根据控制器的参数与系统动态性能和稳态性能之间的定性关系,用实验的方法来调节控制器的参数。有经验的调试人员一般可以较快地得到较为满意的调试结果。在调试中最重要的问题是在系统性能不能令人满意时,知道应该调节哪一个参数,该参数应该增大还是减小。


为了减少需要整定的参数,首先可以采用PI控制器。为了保证系统的安全,在调试开始时应设置比较保守的参数,例如比例系数不要太大,积分时间不要太小,以避免出现系统不稳定或超调量过大的异常情况。给出一个阶跃给定信号,根据被控量的输出波形可以获得系统性能的信息,例如超调量和调节时间。应根据PID参数与系统性能的关系,反复调节PID的参数。


如果阶跃响应的超调量太大,经过多次振荡才能稳定或者根本不稳定,应减小比例系数、增大积分时间。如果阶跃响应没有超调量,但是被控量上升过于缓慢,过渡过程时间太长,应按相反的方向调整参数。


如果消除误差的速度较慢,可以适当减小积分时间,增强积分作用。


反复调节比例系数和积分时间,如果超调量仍然较大,可以加入微分控制,微分时间从0逐渐增大,反复调节控制器的比例、积分和微分部分的参数。


总之,PID参数的调试是一个综合的、各参数互相影响的过程,实际调试过程中的多次尝试是非常重要的,也是必须的。


本文链接:/news/news2019122782.html
相关TAG:
上一篇:直流电机的电枢分类介绍
下一篇:直流无刷电机有哪些种类?

相关文章

无刷电机是什么意思-2020-05-29
直流无刷电机如何控制-2020-05-16
直流无刷电机驱动原理-2020-04-10
无刷电机和有刷电机的区别和性能比较-2020-02-29
国内直流无刷电机的前景-2020-03-12
直流无刷电机与永磁同步电机区别详解-2020-03-09
直流无刷电机扫盲篇!-2020-02-25
无刷直流电机系统基础知识-2020-02-22
关于无刷电机,你必须知道的44个常识-2020-02-19
为什么选择无刷电机而不是有刷电机-2020-01-01
直流电机的几种调速方法及他们的优缺点对比介绍-2019-12-31
简单说一下直流电机与交流电机的区别-2019-12-30
直流无刷电机如何稳定电压-2019-12-29
直流电机控制算法看这就懂了-2019-12-27
无刷电机的功率计算知识-2019-12-22
联系我们

手机:13758738785

固话:0577-67966882

邮箱:178007292@qq.com

地址:温州市永嘉县东瓯街道和三村(永嘉县申鸿阀业科技有限公司内)

? 2019 版权所有 温州市一号电竞竞猜平台【AG集团网址: kflaoge88.com 】机电有限公司 浙ICP备19036361号
(function(){ var canonicalURL, curProtocol; //Get the tag var x=document.getElementsByTagName("link"); //Find the last canonical URL if(x.length > 0){ for (i=0;i