新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 基于AVR單片機atmega32的PID和PWM液體流量控制系統研究

        基于AVR單片機atmega32的PID和PWM液體流量控制系統研究

        作者: 時間:2013-12-12 來源:網絡 收藏

        4.2 算法

        基于AVR單片機atmega32的PID和PWM液體流量控制系統研究

        常規的算法的基本原理如下圖4-1所示,模擬控制器的控制規律為

        基于AVR單片機atmega32的PID和PWM液體流量控制系統研究

        ——比例系數; ——積分常數; ——微分常數; ——控制常量。
        由于單片機控制是一種采樣控制,它只能根據采樣時刻的偏差值計算控制量,而不能像模擬控制那樣連續輸出控制量,進行連續控制。并且單片機處理數據的量有限,綜合考慮該系統采用增量式PID控制,其算法如式4-3:

        基于AVR單片機atmega32的PID和PWM液體流量控制系統研究

        其中 為本次采樣誤差; 為上次采樣誤差; 為上上次采樣誤差。其控制程序的流程圖如圖4-2所示

        基于AVR單片機atmega32的PID和PWM液體流量控制系統研究

        用C編程實現程序如下所示:
        void PID()
        {float u; //電壓差值
        sint z; //本次輸出增量
        sint temp1; //臨時記錄值
        float t;
        t=itime*T;
        Speed_change(); //將流速轉化為數字量
        if (Ek==(0-Sheding_liusu)) //當Ek大于某一值時直接加最大
        {temp1=0x0000;
        SetOutputOCR1A(temp1); }//設置輸出比較寄存器值
        else{
        Ek=Sheding_liusu-Celiang_liusu;
        u=A*((Ek-Ek_1)+(t/B)*Ek+(C/t)*(Ek-2*Ek_1+Ek_2)); //增量式PID算法
        z=u/U1*0x03FF;
        temp1=GetOutputOCR1A(); //讀取輸出比較寄存器值
        temp1=temp1+z;
        SetOutputOCR1A(temp1);
        Ek_2=Ek_1;
        Ek_1=Ek;}
        TCNT1=0x00;}
        5. Matlab下的仿真
        Matlab是控制系統的一種分析和仿真軟件,利用它可以方便準確的對控制系統進行仿真,為了驗證數字PID算法的可靠性,采用Matlab6.5下的simulink組件對增量數字PID算法進行了仿真,仿真程序如圖5-1所示,仿真結果如圖5-2所示.。

        基于AVR單片機atmega32的PID和PWM液體流量控制系統研究

        如圖5-2Kp=0.5,Ki=0.001,Kd=0.001
        仿真結果表明運用PID對方波進行調解具有良好的動態性和穩定性,從而證明了該得可行性。
        6.結束語
        本文介紹了運用數字PID算法結合AVR單片機的功能實現液體流量控制的方案,并運用Matlab軟件進行了仿真,證明了系統的可行性。數字PID算法調整控制參數較之硬件PID控制器操作簡便,系統設置靈活。該控制系統可應用于工業、農業等領域的液體流量控制中,也可用于液壓系統的電磁閥控制。
        本文作者創新點:
        傳統的液體流量控制大多采用高速開關電磁閥,電磁閥的頻繁開關會產生很大滯后性,不利于控制的系統的實時性。該系統利用信號控制比例電磁閥開口的大小,實現了流量的連續控制,減少了滯后性同時采用了增量式數字PID算法調節實現了閉環控制,使系統調節更準確,更穩定。
        參考文獻:
        [1] 劉金坤,先進PID控制Matlab仿真(第2版)電子工業出版社 2004。
        [2] 王曉明,電動機的單片機控制 北京:北京航空航天大學出版社 2002
        [3] 王正林等 過程控制與Simulink應用 電子工業出版社 2006。
        [4] 聶慧萍 基于ARM 和uCOS—II的固體科氏流量計測控系統 微計算機信息 2005第21卷第7-2期。

        pwm相關文章:pwm原理



        上一頁 1 2 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 台北县| 台中市| 荔浦县| 镇康县| 汉中市| 舟山市| 永平县| 怀仁县| 龙海市| 合作市| 井陉县| 耿马| 平阴县| 肥东县| 图们市| 泸水县| 喜德县| 将乐县| 商城县| 鸡西市| 芦溪县| 枞阳县| 稷山县| 郁南县| 嘉鱼县| 涟水县| 阿瓦提县| 普安县| 松江区| 洛南县| 翁源县| 阜城县| 炎陵县| 称多县| 萍乡市| 郯城县| 大渡口区| 仲巴县| 青河县| 台北市| 贡嘎县|