PID算法有点不懂,,反馈的控制量这么用正确吗?

2019-07-18 15:10发布



有些不明白的地方:感觉如果偏差有正负的话,反馈的控制量也应该有正负,这样反馈的值在程序上就应该区别对待。
    1.  偏差大于0时,程序上直接用  high_time=(unsigned char)(rout/800);  这条语句来决定高低电平的时间。偏差小于0时,也是类似的语句。。这我就不能理解这样是怎么调节使被测量达到设定值的。
   2.这里rout 的数据类型是 unsigned int  ,这样可以吗?反馈控制量不应该有正负之分吗?如果没有正负区别的话,又怎么调节的。
  总之,不能理解程序是怎么进行PID调节的。一度怀疑程序有问题!!!

---------------------------------------
下面是一些关键性的代码     附件有源程序


这是PID算法部分

QQ截图20170804171148.jpg

PID处理后的控制量反馈到rout处,在这里执行,分别是电机速度偏差大于0和小于0的情况。
QQ截图20170804171200.jpg QQ截图20170804171205.jpg
PID算法控制电机转速.zip 下载积分: 积分 -1 分
113.15 KB, 下载次数: 13, 下载积分: 积分 -1 分
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
4条回答
帅气的王建峰
1楼-- · 2019-07-18 19:38
 精彩回答 2  元偷偷看……
帅气的王建峰
2楼-- · 2019-07-18 23:47
顶一下!!!                                 
SXXYC
3楼-- · 2019-07-19 01:00
顶一下!!!                 顶一下!!!                                                   
SXXYC
4楼-- · 2019-07-19 06:58
顶一下!!!                 顶一下!!!  顶一下!!!                 顶一下!!!  

一周热门 更多>