何其文



摘要
本文設計了一種風板控制裝置,選用單片機STM32F103V8T6作為控制器,程序采用自適應PID控制算法。STM32F103V8T6通過對風板預置轉角與實際轉角的偏差進行PID運算,輸出兩路占空比互補的脈沖寬度調制信號(PWM),分別驅動兩臺風機,由此改變風板轉動的角度,使風板轉動角度與預置轉角之間的偏差接近為零。
【關鍵詞】STM32F103V8T6 自適應PID PWM
1 系統總體設計方案
本系統以單片機STM32F103V8T6為風板控制核心,程序采用自適應PID控制算法。風板預置角度由4*4矩陣式鍵盤設定,風板的實際轉動角度由兩路傳感器采樣并經程序處理后得到。STM32F103V8T6通過對風板預置轉角與實際轉角的偏差進行PID運算,輸出兩路占空比互補的脈沖寬度調制信號(PWM),分別驅動兩臺風機,由此改變風板轉動的角度,使風板轉動角度與預置轉角之間的偏差接近為零。為精確測量風板實際轉動角度,采用兩路傳感器電路,其中一路數據由MMA7361采樣實現,另一路由50K自制電位器采樣并經AD7705進行模數轉換后輸入到單片機,如圖1所示。
2 系統的硬件設計
2.1 角度檢測電路設計與檢測原理
本系統采用雙角度傳感器檢測風板的轉角。MMA7361加速度傳感器輸出βl,自制50K電位器與AD7705測量得到β2。β1與β2同時輸入到單片機,利用程序實現角度準確測量。當△β=βl-β2在允許范圍時,取最終的測量角度為β=(βl+β2)/2,若△β超出精度要求,則重新采樣。MMA7361檢測電路如圖2所示。
MMA7361是一款低功耗、低寄生電容的微型機械加速度計,具有尺寸小,精度高等特征,但其抗干擾能力弱。本系統另外設計了一路傳感器,由50K電位器電路采集角度信號后經AD7705進行模數轉換輸入到單片機,電路如圖3所示。
2.2 風板驅動電路設計
STM32F103V8T6采用自適應PID算法實現對風扇電機轉速的控制,通過輸出兩路占空比互補的PWM波分別驅動兩臺風機的電動機,實現對風板角度的控制,控制電路如圖4所示。
PWM脈寬調制方法是直流電機轉速控制中最重要也是最常見的一種驅動方式。采樣控制理論中有一個重要的結論:沖量相等而形狀不同的窄脈沖加在慣性環節上時,其效果基本相同,這正是PWM控制技術的理論基礎。設占空比為100%的PWM信號經驅動器驅動后其有效電壓幅值為U,則占空比為a的PWM波其對應的有效值輸出Ua=a*U。本系統驅動電路采用8550三極管和場效應管IRF540作為開關器件,易于與處理器接口,使用簡單。
在一個PWM周期里,電機的電樞承受單極性的電壓,電機的速度由PWM的脈寬決定。根據PWM占空比的大小控制晶體管的開關狀態來調節的電機的轉速。當占空比為0時,即電機停止轉動。當占空比為百分之百時,電機處于全速運轉狀態,風力達到最大,從而驅動風板偏轉角度達到最大。電機的轉動速度由PWM的占空比的寬度決定。占空比越大,風機的風量越大;占空比越小,則風量越小。
電路中二極管起續流保護作用。由于電機具有較大的感性,電流不能突變,若忽然將電流切斷將在功率管兩端產生巨大的電壓,損壞器件。為了進一步提高抗干擾能力我們還使用了PC817高速光電耦合器件組成的隔離電路和控制電路和動力電路進行電氣隔離。
2.3 聲光報警模塊電路的設計原理
聲光報警電路的電路原理圖如圖5所示。P3是接單片機I/O口,三極管的工作條件要求是“發射結正偏,集電結反偏”。當單片機為高點平時,電流流過電阻R1到三極管9012的基極,處于截止狀態,蜂鳴器和發光二極管均不發聲和指示報警。
2.4 鍵盤電路設計
鍵盤采用4*4的行列式鍵盤。P4的低4位作為行線輸出,P4的高4位作為列線輸入。掃描采用定時方式,單片機每20ms掃描一次。16個按鍵分成兩大功能區,其中4個作為功能選擇鍵菜單功能(并作為數值輸入確認鍵)、按鍵退出、基本功能菜單、發揮部分功能菜單,10個作為轉角數值輸入,可以以10進制輸入風板轉角設定值。
2.5 顯示電路設計與原理
12864液晶顯不功能強大,可顯不各種字體的數字、漢字、圖像,還可以自定義顯示內容,對于本系統可以通過鍵盤可以在液晶上制作各種功能菜單,文字符號和圖形。使得系統具有人性化設計。顯示原理圖如圖6所示。
3 系統軟件設計
系統的軟件設計采用C語言編程,軟件開發采用KdlC軟件平臺進行調試。
3.1 系統程序說明
開機后,系統采集并顯示當前風板角度,當有按鍵進行功能選擇時,分別進入“基本功能”、“發揮部分”兩個不同的子程序。主程序流程圖如圖7所示。進入基本功能模塊或發揮模塊后,程序先對兩路傳感器采集到的數據進行處理,采樣數據處理后與鍵盤預置角度比較,對此偏差進行自適應PID運算,輸出兩路占空比互補的PWM波,此子程序流程圖如圖8所示。
3.2 控制算法設計與實現
風板轉角的控制采用自適應PID控制算法,其中,PID算法中各參數均由程序通過算法自行設定。PID控制框圖如圖9所示。離散PID算法如式(1)所示。
被控對象風板的轉角由按鍵設定給定值θ,加速度傳感器測量風板當前轉動角度得到θ1(k),單片機對θ與θ1(k)作減法運算,得到偏差△θ(k),式(1)中的e(k)即為△θ(k)。單片機執行PID算法實現對被控風板轉角的控制。
4 總結
本系統以STM32F103V8T6單片機為核心的風板控制系統,通過HD控制算法的優化,完全達到設計目的。系統運行平穩,控制精度高,硬件電路簡單。
參考文獻
[1]何希才.常用電子電路應用365例[M].北京:電子工業出版社,2006.
[2]劉仁宇.模擬電子技術[M].北京:機械工業出版社,2001.
[3]孫肖子.實用電子電路手冊(模擬電路部分)[M].北京:高等教育出版社,1991.
[4]張鑫,王翠萍.C語言程序設計基礎[M].北京:北京理工大學出版社,2006.
[5]徐仁貴,廖哲智.單片機微型計算機應用技術[M].北京:機械工業出版社,2007.