<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 基于MSP430單片機的PID參數(shù)整定義

          基于MSP430單片機的PID參數(shù)整定義

          作者: 時間:2011-08-12 來源:網(wǎng)絡 收藏

          4 PID參數(shù)整定儀的軟件設計

            4.1 PID參數(shù)整定儀主要程序模塊

            在工程實際應用中,不僅需要完成硬件的相關設計與測試,還必須根據(jù)需要進行軟件的設計和調試工作,所以在設計出符合要求的硬件電路的基礎上,還要進行軟件系統(tǒng)的設計和調試。本控制器軟件部分主要包括以下程序模塊。

            (1)系統(tǒng)的初始程序模塊。用來進行系統(tǒng)的初始化,包括設定初始狀態(tài)值和參數(shù),確定A/D初始工作參數(shù),檢測主電路是否上電和是否允許系統(tǒng)啟動運行等等。

            (2)鍵盤掃描程序模塊。讀取鍵盤輸入值,包括PID初始設定值、系統(tǒng)設定值及采樣時間等等。

            (3)采樣程序模塊。用來對信號進行采樣,采樣過程要進行濾波,減少噪聲干擾對采樣數(shù)據(jù)的影響,最后檢測采集的數(shù)據(jù)是否包含了對象足夠多的信息,清除不合格的采樣數(shù)據(jù),保證所采樣數(shù)據(jù)的質量。

            (4)模型辨識模塊。根據(jù)采樣數(shù)據(jù)采用相關系數(shù)辨識法辨識出系統(tǒng)的數(shù)學模型,使辨識的模型與原模型有較好的線性相關度。

            (5)參數(shù)整定模塊。根據(jù)辨識出的系統(tǒng)模型采用相關的整定算法計算出新的PID參數(shù)值。

            (6)LCD模塊。將相關的數(shù)據(jù),像設定值、整定模式以及PID的參數(shù)值等,顯示在液晶屏上。

            整個系統(tǒng)的程序結構框圖如圖4所示。

            

          e.JPG

            上面模塊還要進行詳細劃分,每個模塊之間的耦合很少,這樣就可以獨立編程、調試,提高了軟件開發(fā)的模塊性。

            4.2 PID參數(shù)整定儀的總體工作流程

            圖5是自整定控制器的工作流程圖,用戶輸入設定值,然后對過程的輸入量u和輸出量y進行采樣。對采樣的數(shù)據(jù)進行處理,并計算出最佳的PID參數(shù)整定值。整定具體過程如下:

            (1)通過控制面板設定采樣時間及設定值以進行采樣。

            (2)將采集的數(shù)據(jù)處理后得到辨識所需要的10~20個點。

            (3)運用基于頻域的模型辨識算法對系統(tǒng)進行辨識,得到系統(tǒng)的模型。

            (4)根據(jù)模型采用相應的辨識算法計算PID參數(shù)值。

            (5)在LCD上顯示新的PID參數(shù)。

            

          f.JPG

          5 小結

            介紹了本參數(shù)整定儀的各功能模塊,并且進行了硬件及軟件設計。此整定儀集單變量和雙變量整定功能于一身,適合于任何使用PID控制器的場合,不過只有在過程獲得平衡狀態(tài)時辨識方法才可使用。此整定儀整定出的PID參數(shù)在LCD上顯示。工作人員只需將整定出的新參數(shù)在系統(tǒng)中進行設置。此過程簡單實用,方便工作人員操作,并且由于設計小巧,便于工作人員隨身攜帶。


          上一頁 1 2 3 下一頁

          評論


          相關推薦

          技術專區(qū)

          關閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();