本人最近在苦心研究PID,所以经常三更半夜在思考一些问题,基本搞清楚PID每个参数的控制规律,刚才我在想如果我用位置式PID中的PD进行电机调速或者温度控制估计会有些问题,假如我是电机PWM调速,设定转数是100,当前转数是0,规定0%占空比位0转速,100%占空比为100转数,那么假如我只要PD来控制,那么根据P比例规律,当转速到达100时,P项的结果肯定是0,而D项微分是误差变化率,当转数到达100时,D项肯定也为0,因为误差变化率已经为零了,所以PD的结果最终是0,然而我要维持100的转数,PWM的占空比必须是100%,但是现在PD的结果在转数到达100的时候输出控制量已经为0了,这个好像有矛盾啊! !
我觉得应该在PD过程中需要累加控制量,这样当误差为0的时候,不至于控制量也为0,而是维持在一个恒定控制量(100%占空比)
或者在PD中加入I积分项,因为积分项是误差的累积,所以当PD都为0的时候,积分作用可以保存恒定的控制量输出(100%占空比)。
我翻阅了很多调速和温控的,程序基本都是离不开I积分项。没发现单独用PD来控制的。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
我也看到我这里的数值了,果然,当当前值接近设定之后,I的积分项果然是0,太TM神奇了~~累加正值,累到后面竟然是0!
看错了!是因我用串行PID,所以速度环的I值才会是0,单级PID,I积分到最后确实是不为0~~我现在在一个电机控制系统,用了位置环了速度环,位置环用了PD,速度环用了PI,位置环输出的是设定速度,输入到速度环做设定值~~控制起来效果还可以,只不过糊里糊涂就搞出来的,竟然效果还不错~ ~只是到现在还有些PID的没搞清楚~所以要仔细分析一下这个过程~
位置环输出速度?
是一开始速度比较大,然后逐渐接近设定位置,位置环输出的值逐渐减小,到最后为零?
对的。。。虽然位置环开始输出很大的速度,但是有速度环,所以速度是加速--匀速--减速,这样变化的~最终电机以最快最合理的速度稳定的停在设定位置上,其实我在做伺服控制系统~~只不过我在控制步进电机~~发现PID真是个好东西~~控制起来,比我以前用的那种固定曲线加减速,要好很多很多~~非常棒!
不带,不用任何反馈装置(设备限制不能带任何反馈,其实有反馈,是编码器~只不过那个编码器分辨率极低~所以没办法用这个编码器做反馈的~~是另作他用的,不是用来PID反馈的~),用软件内部进行模拟闭环 ~~(假闭环 )~~~步进电机的当前位置其实是可以用软件记住的(所以步进电机有这样的好处 )~速度也是可以用内部速度来做~所以是假闭环~明天来段视频~~给你看看效果~
视频拍倒了,凑合着看吧~,这个是就是串级控制的,我用了两个环,位置环和速度环(全部软件模拟的串级闭环)~~电机可以快速平稳的定位在行程范围内的任意一个位置~控制信号用DMX~可以任意随时切换切换目标位置~电机都会快速的跟随~
http://v.youku.com/v_show/id_XMTQwNTE2MzkwOA==.html
一周热门 更多>