智能车制作

标题: 最近看了一些PID的资料,写了个PID控制电机转速的程序,不知道有没有问题,望指点! [打印本页]

作者: 49741933o    时间: 2015-8-9 20:50
标题: 最近看了一些PID的资料,写了个PID控制电机转速的程序,不知道有没有问题,望指点!
本帖最后由 49741933o 于 2015-8-9 21:00 编辑

  /*     target_v:目标速度
           v:反馈速度
           ts:采样时间100ms
           kp:放大系数                        ki:积分时间                     kd:微分时间         
           CHA[6]:控制量输出
           CHA[1]:比例部分
           CHA[2]:积分部分
           CHA[3]:微分部分
           UpdatePwm();     改变占空比,调速。
*/
                CHA[0] = target_v - v;
                CHA[1] = kp * CHA[0];
                if(ki == 0) CHA[2] = 0;
                else                CHA[2] = kp * (CHA[0] + CHA[4]) / 10 / ki;
                CHA[3] = kp * kd * (CHA[0] - 2 * CHA[4] + CHA[5]) * 10;

                CHA[5] = CHA[4];
                CHA[4] = CHA[0];
                CHA[6] = CHA[6] + CHA[1] + CHA[2] + CHA[3];

                UpdatePwm(CHA[6]);

作者: 好心的路人    时间: 2015-8-9 23:02
改了不少啊
作者: heyunfu01    时间: 2015-8-10 09:23
表示没见过这样的




欢迎光临 智能车制作 (http://dns.znczz.com/) Powered by Discuz! X3.2