发新帖本帖赏金 0.50元(功能说明)我要提问
返回列表
打印

PID库,以及控制电机Demo,给大家使用

[复制链接]
1639|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
suaig|  楼主 | 2018-5-30 14:45 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 caijie001 于 2018-6-12 19:53 编辑

可以串联PID和并联PID,用面向对象封装的,可以一个程序多个PID控制器,里面的仿真是proteus 8.7 sp3
电路图:

主要代码以及使用说明:        /********************************
        首先,怎么确定计算周期,大概是系统,我从输出控制到上升到输出控制的60%-80%之间的时间(可以视系统不同而调节)
        如有系统需要及时响应那么要求数字PID控制器接近模拟PID,这个时候就需要根据采样定理去确定周期。大概是频率的两倍以上。
        但是采样计算周期越小,CPU负载大,所以根据自己的系统去取。大部分一般取我上面说的就够了。
        eg:举例子:加热器:我输出一个控制比如是X,经过无限长的时间,温度停留在Y,那么大概是取温度上升到0.6Y-0.8Y的这个时间,
        由于有些系统非线性程度很高是幂函数的变化,这个时候,要达到最好的控制效果,我会增加计算的时间间隔
        
        确定Kp,Ki,Kd,一般用不到Kd就可以有很好的控制效果,Kd我一般用于有大滞后的系统,例如控制温度,
        Kd可以在温度还没有到达设置值的时候就减少控制输出
        
        首先,把Ki,Kd设置成0,不断加大Kp直到产生振荡,作为启振点,
        然后:Ki慢慢加,加到开始振荡,取其80%-90%
        
        如果系统控制严重滞后,慢慢的增加Kd的值,使得第一次超调和第二次的峰比4比1是最理想的
        
        PID完整离散公式:OUT = kp * error + (ki * T)/Ti * (求和符号)error + kd *Td/T * (的他)error

        T:PID计算采样周期,Ti,积分时间 Td 微分时间 error采样和期望值的差    (求和符号)error 累积的error

        (的他)error 两次error的差
        
        理想情况,三到5个调整周期即收敛。比如这个PID系统,在可控范围内,一般15秒到25秒即可收敛到期望值
        
   


        串级PID关键,内环调3-5周期,外环调一次
        *********************************/
        new_PID(&adout,&input,&output,&set,1.4,0.1,0,P_ON_E,DIRECT);//正常模式,正相关
        PID_Initialize(&adout);//初始化
        
        PID_SetMode(&adout,AUTOMATIC);//自动计算模式
        
        PID_SetSampleTime(&adout,1000);//设置PID计算周期为5000ms
        while(1)
        {
                input = (double)Roll_Number;//采样转速周期
                if(PID_Compute(&adout) == true)//大概五次采样计算一次
                {
                        PWM = (uint8_t)output;
                }
//                if((millis() - task) >= 20000)
//                {
//                        set >= 200 ? (set = 0) : (set += 10);
//                        task = millis();
//                }
        }
      PID.zip (103.05 KB) 库.zip (18.17 MB)




打赏榜单

山东电子小菜鸟 打赏了 0.50 元 2018-05-30
理由:好

相关帖子

发新帖 本帖赏金 0.50元(功能说明)我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

4

主题

19

帖子

2

粉丝