欢迎来到天天文库
浏览记录
ID:20494552
大小:48.50 KB
页数:4页
时间:2018-10-12
《电机控制算法》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、电机控制算法电机控制算法的作用是接受指令速度值,通过运算句屯机提供适当的驱动电压,尽快地和从快〒稳地使电机转速达到桁令速度值,并维持这个速度值。换言之,一旦电机转速达到了指令速度伉,即使在各种不利因素(如斜坡、碰摘之类等使电机转速发生变化的沐
2、素>的干扰卜‘也矽该侃持速度位不变。为了提W机器人小车控制系统的控制精度,选用合适的控制算法显得十分必要。控制算法足任何闭环系统控制方案的核心,然而丼非越S杂、精度越高的算法越好,因为比赛要求非常高的实时性,机器人必须在非常短的吋间内作岀灵敏的反应,所以现代的一些先进控制算法•,比如模糊控制
3、、祌经元网络控制等就不能应用到小:午:控制系统里。本系统选川了最常规、最经典的PID控制算法,通过实际应川取得了很好的效果。1比例项控制回路中的第一个偏差转换环节就是比例项。这一环节简单地将偏差信号乘以常数K得到新的CV值(值域为-100〜100)。基本的比例控制算法如下:loop:PV=ReadMotorSpeed()Error=SP-PVCV=Error*KpropSetpwm(cv)Gotoloop上一段程序中的SetPWMO函数并非将CV值作为绝对的PWM占空比来对待。否则,不断降低的偏差位会使输出位接近零,而且由于电机工
4、作时需要持续的PWM信号,控制系统将会使电机稳定在低速运转状态上,从而导致控制系统策略失败。相反,CV值一般被取作当前PWM占空比的改变量,并被附加到当前的PWM占空比上。这也要求SetPWM()賊数必须将相加后得到的PWM占空比限制在0%〜100%。正的CV值将使电机两端电压增加。负的CVffl将使电机W端电压降低。如果CVffl等于0,则无需改变但前占空比。较低的K位会使电机的速度响应缓慢,但是却很平稳。较商的K位会使速度响应更快,似足却可能导致超调,即达到稳定输出前在期望值附近振荡。过高的K值会导致系统的不稳定,即输出不断震
5、荡且不会趋于期塑值。2微分项任何变景的微分项被川來描述该变量楚如何相对于另一个变暈(多位吋问)变化的。换句话说,任何变M的微分项就足它随吋间的变化率。如位移随吋间的变化率是速度。速度相对于时间的微分是加速度。在PID控制器中,值得关心的是偏差信号相对干吋间的微分,或称变化率。绝大多数控制器将微分项定义为:Rate=(E-E)/T式中,E为当前偏差,E为煎次偏差值,T为两次测M的时间间隔。负的变化率表明偏差信号的改善。当微分项被具体应用于控制器中时,将一个常数乘以该微分项,并将它加到比例项上,就可以得到最终的CV值计算公式:CV=(
6、KE)+(KRate)当偏差信号接近零时,CV值将为负,所以当偏差信号开始改善时,微分项的作用将逐渐减弱校正输出麓。在某些场合下,微分项还柯利于超调M的消除,卯可以允许使用较人的K位,从而可以改善响应的快速性。微分环节还预示广偏差信号的变化趋势。当控制对象对控制器的输出响应迟缓时,微分环节的作用尤为明显。含有微分项的控制算法的伪代码实现如不:loop:PV=ReadMotorSpeed()LastError=ErrorError=SP-PVRate=Error-LastErrorCV=Error*Kprop+Krate*RateS
7、etPWM(CV)Gotoloop3积分项积分正好与微分相对。假如奋一个描述变化率(微分)的表达式,那么对该表达式的积分就将得到随时叫变化的原物理撒。如加速度的积分是速度,速度的积分是位移。在PID控制回路中,偏差的积分代表从控制歼始时兑起所冇偏差积累的总和。该总和被常数K所乘后再添加到回路输出中。在回路中,如果没有积分环节,尽管控制系统也会趋干稳定,但是由于某种原因输出值可能鉍终也无法达到SP值。一个简单伹完全的PID控制器地伪代码实现如下:loop:PV=ReadMotorSpeed()LastError=Errorlsum=
8、lsum+ErrorError=SP-PVRate=Error-LastErrorCV=Error*Kprop+Krate*Rate+Kint*lsumSetPWM(CV)Gotoloop由于积分项会越来越大,这就会使控制回路4:sp值的改变时响应变慢,某些应用场合在cv位达到取位边界(如为:-100~100财会停止累加Isum。在SP位改变时,也可以除去Isum项。通过测试,发现计数器0初值范M在P6230以内,可控硅能正常工作,且能够实现调节电机从不能起动到全速运行的全过程。程序屮定吋器0工作在方式1,川To表示定时器0计数初
9、值的十进制值,定吋器0置入的初值计算方法为:TH0=(65536-To)/256TL0=(65536-To)%256这样,通过外部函数改变To的值就可以调节电机的转速了。1.P1控制算法系统中控制器采用H控制算法,艽离散增式为:Au(k)=KpAe
此文档下载收益归作者所有