亚洲免费乱码视频,日韩 欧美 国产 动漫 一区,97在线观看免费视频播国产,中文字幕亚洲图片

      1. <legend id="ppnor"></legend>

      2. 
        
        <sup id="ppnor"><input id="ppnor"></input></sup>
        <s id="ppnor"></s>

        2023年pid控制算法的c語言實(shí)現(xiàn) pdf pid算法積分作用優(yōu)質(zhì)

        字號:

            在日常的學(xué)習(xí)、工作、生活中,肯定對各類范文都很熟悉吧。大家想知道怎么樣才能寫一篇比較優(yōu)質(zhì)的范文嗎?下面是小編幫大家整理的優(yōu)質(zhì)范文,僅供參考,大家一起來看看吧。
            pid控制算法的c語言實(shí)現(xiàn) pdf pid算法積分作用篇一
            導(dǎo)語:c語言的設(shè)計(jì)目標(biāo)是提供一種能以簡易的方式編譯、處理低級存儲(chǔ)器、產(chǎn)生少量的機(jī)器碼以及不需要任何運(yùn)行環(huán)境支持便能運(yùn)行的編程語言。下面我們來看看pid算法的c語言實(shí)現(xiàn):抗積分飽和的pid優(yōu)化,希望對大家有所幫助。
            積分飽和通俗講就是系統(tǒng)在一個(gè)偏差方向上的.飽和,比如一個(gè)系統(tǒng)設(shè)定了輸出不會(huì)超過100,但因?yàn)槌霈F(xiàn)一個(gè)方向上的偏差積分使得輸出超過了100,此時(shí)達(dá)到了飽和狀態(tài),如果繼續(xù)在這個(gè)方向上積分會(huì)導(dǎo)致pid控制超過100系統(tǒng)卻運(yùn)行在100,相當(dāng)于積分調(diào)節(jié)對系統(tǒng)輸出沒有作用,就出現(xiàn)失控的狀態(tài),這是系統(tǒng)不能接受的,而且飽和積分越深,退出飽和就越久。上面是在正向的飽和,負(fù)向的飽和類似!
            為了解決這個(gè)問題,我們采用抗積分飽和算法,其思路就是:如果上一次的輸出控制量超過了飽和值,飽和值為正,則這一次只積分負(fù)的偏差,飽和值為負(fù),則這一次只積分正的偏差,從而避免系統(tǒng)長期留在飽和區(qū)!
            //位置型+抗積分飽和+積分分離 pid控制算法
            struct _pid{
            float setspeed;
            float actualspeed;
            float err;
            float err_last;
            float kp,ki,kd;
            float voltage;
            float integral;
            float umax; //最大正飽和上限值
            float umin; //最大負(fù)飽和下限值
            }pid;
            void pid_init(void)
            {
            printf("pid_init begin! ");
            ed = 0;
            speed = 0;
            = 0;
            _last = 0;
            = 0.2;
            = 0.1; //增大了積分環(huán)節(jié)的值
            = 0.2;
            e = 0;
            al = 0;
            = 400; //正飽和值為400
            = -200; //負(fù)飽和值為-200
            printf("pid_init end! ");
            }
            float pid_cal(float speed)
            {
            unsigned char index;
            ed = speed;
            = ed - speed;
            if(speed>) //如果上一次輸出變量出現(xiàn)正向的飽和
            {
            if(abs()>200)
            {
            index = 0;
            }
            else
            {
            index = 1;
            if(<0)
            {
            al += ; //正飽和只積分負(fù)偏差
            }
            }
            }
            else if(speed {
            if(abs()>200)
            {
            index = 0;
            }
            else
            {
            index = 1;
            if(>0)
            {
            al += ; //負(fù)飽和只積分正偏差
            }
            }
            }
            else
            {
            if(abs()>200) //
            {
            index = 0;
            }
            else
            {
            index = 1;
            al += ;
            }
            }
            e = * +index**al + *( - _last);
            _last = ;
            speed = e*1.0;
            return speed;
            }
            int main(void)
            {
            int count = 0 ;
            printf("system begin! ");
            pid_init();
            while(count<1000)
            {
            float speed = pid_cal(200.0);
            printf("-%d-%f-",count,speed);
            count++;
            }
            return 0;
            }
            s("content_relate");
            【pid算法的c語言實(shí)現(xiàn):抗積分飽和的pid優(yōu)化】相關(guān)文章:
            pid算法的c語言實(shí)現(xiàn)
            12-16
            c語言中實(shí)現(xiàn)kmp算法實(shí)例
            11-19
            希爾排序算法的c語言實(shí)現(xiàn)示例
            12-07
            6種常見的排序算法的c語言實(shí)現(xiàn)
            12-06
            c語言的排序算法
            12-12
            c語言實(shí)現(xiàn)歸并排序算法實(shí)例
            11-21
            kmp算法的c#實(shí)現(xiàn)方法
            10-24
            c語言排序的幾種算法
            12-03
            c語言優(yōu)化階段
            12-14