吳帥龍 孫培德
摘 要:工業(yè)生產(chǎn)中,經(jīng)常需要測量類似單容水箱的液位高度。文中設(shè)計了一款簡易液位測控系統(tǒng)。系統(tǒng)硬件設(shè)計包括單片機最小電路、數(shù)據(jù)采集模塊、光耦隔離與驅(qū)動模塊、按鍵與顯示模塊;軟件設(shè)計包括按鍵掃描設(shè)計、PID控制設(shè)計和系統(tǒng)軟件。測控系統(tǒng)價格低廉、容易操作,為液位測量控制系統(tǒng)的研究、設(shè)計提供了一定參考。
關(guān)鍵詞:液位;測控系統(tǒng);PID;硬件設(shè)計;軟件設(shè)計;MSP430F5529
中圖分類號:TP273文獻標識碼:A文章編號:2095-1302(2019)04-00-03
0 引 言
國民經(jīng)濟的發(fā)展離不開工業(yè)供水系統(tǒng),我國的工業(yè)水箱和鍋爐數(shù)量高達上百萬臺[1]。液位檢測儀廣泛用于石油、化工、工業(yè)生活用水等領(lǐng)域[2]。液位檢測是過程控制領(lǐng)域的重要組成部分[3],液位控制是工業(yè)生產(chǎn)中不可或缺的一部分,對節(jié)約資源、安全生產(chǎn)等至關(guān)重要[4]。因此,需以液位為研究對象以及對液位進行實時準確的測量,以保障正常生產(chǎn)[5-6]。
1 系統(tǒng)設(shè)計
系統(tǒng)基于TI公司單片機MSP430F5529設(shè)計,包括傳感器檢測模塊、傳感器輸出信號變換模塊、時鐘模塊、顯示模塊、按鍵設(shè)置模塊、直流水泵驅(qū)動模塊、光耦隔離模塊等。系統(tǒng)設(shè)計框圖如圖1所示。
系統(tǒng)在不同的測試環(huán)境下先進行參數(shù)調(diào)試,在誤差允許范圍內(nèi),調(diào)試完畢后,即可在特定環(huán)境下正常使用。
2 硬件設(shè)計
2.1 單片機最小系統(tǒng)電路
單片機主要采用TI公司設(shè)計生產(chǎn)的MSP430F5529單片機,該型號單片機時鐘頻率高、內(nèi)存大,可滿足系統(tǒng)采集模塊對速率和緩沖的要求。單片機外圍由時鐘模塊、復(fù)位模塊、電源等構(gòu)成。
2.2 數(shù)據(jù)采集模塊
數(shù)據(jù)采集選用電容傳感器,將柔性PCB緊密貼在容器外側(cè)。傳感器較窄一端采用FPC接插件,可以直接連接在FDC2214傳感器信號采集模塊的輸入接口端。傳感器輸出信號變換模塊的核心芯片為FDC2214,其它電路器件均屬芯片的外圍電路,包括電感、晶振和電容等。關(guān)鍵器件參數(shù):晶振為40 MHz,外接電感為18 μH,電容為33 pF。其中,最核心的數(shù)據(jù)變換模塊電路原理如圖2所示。FDC2214芯片的4個測量通道由待測電容、外接電感L和電容C,以及芯片內(nèi)部的振蕩電路、驅(qū)動電路組成,待測電容不同,則振蕩頻率不同,數(shù)據(jù)采集端子如圖2中的P1所示。FDC2214每個通道在A/D轉(zhuǎn)換后的數(shù)值量化結(jié)果存在對應(yīng)通道的寄存器里。上位機數(shù)據(jù)處理中心MSP430F5529LP通過I2C與FDC2214通信,定時讀取FDC2214寄存器數(shù)據(jù),系統(tǒng)主要使用圖2所示的SDA,SCL進行I2C通信。
2.3 光耦隔離與驅(qū)動模塊
系統(tǒng)控制信號輸出后,控制開關(guān)電路工作,開關(guān)電路進一步控制直流水泵的正常工作。為保障系統(tǒng)安全,考慮如下兩種方案:
(1)采用半橋驅(qū)動芯片,如IR2104與NMOS管配合搭建半橋。
(2)采用光耦芯片,如6N137與N溝道MOS管配合驅(qū)動無刷電機。
綜合考慮后,選擇光耦芯片與NMOS配合的方案,原因在于光耦芯片6N137抗外界干擾能力強,且該水泵工作電壓不高,工作電流小,功率小,因此采用功耗更低的180N10N芯片。光耦隔離模塊如圖3所示,驅(qū)動模塊如圖4所示。
2.4 按鍵與顯示模塊
按鍵模塊采用典型的4×4矩陣陣列模式。顯示模塊考慮如下2種方式:
(1)LCD1602。1602液晶也被稱為1602字符型液晶,它是一種專門用來顯示字母、數(shù)字、符號等的點陣型液晶模塊。其由若干個5×7或者5×11等點陣字符位組成,每個點陣字符位都可以顯示一個字符,每位之間有一個點距的間隔,每行之間亦有間隔,起到了字符間距和行間距的作用,但不能很好地顯示圖形和漢字。
(2)LCD12864。帶中文字庫的128X64-0402B每屏可顯示4行8列共32個16×16點陣的漢字,每個顯示RAM可顯示1個中文字符或2個16×8點陣全高ASCII碼字符,即每屏最多可實現(xiàn)32個中文字符或64個ASCII碼字符的顯示。帶中文字庫的128X64-0402B內(nèi)部提供128×2 B的字符顯示RAM緩沖區(qū)(DDRAM)。字符顯示通過將字符顯示編碼寫入該字符顯示RAM實現(xiàn)。根據(jù)寫入內(nèi)容的不同,可分別在液晶屏上顯示CGROM(中文字庫)、HCGROM(ASCII碼字庫)及CGRAM(自定義字形)的內(nèi)容。
考慮到顯示效果和操作便捷性,系統(tǒng)選用LCD12864。屏幕功能的排版設(shè)定:第一行顯示液位的測量高度;第二行顯示當前所按下的數(shù)字按鍵;第三行顯示液位的目標高度;第四行顯示目前的運行狀態(tài)。
3 軟件設(shè)計
3.1 軟件編譯開發(fā)環(huán)境
CCS(Code Composer Studio,CCS)是美國德州儀器公司(Texas Instrument)出品的代碼開發(fā)和調(diào)試套件。TI公司的產(chǎn)品線中有一大塊業(yè)務(wù)是數(shù)字信號處理器(DSP)和微處理器(MCU),CCS便是供用戶開發(fā)和調(diào)試DSP和MCU程序的集成開發(fā)軟件。Code Composer Studio IDE提供強健、成熟的核心功能與簡便易用的配置和圖形可視化工具,使系統(tǒng)設(shè)計更便捷。
3.2 按鍵掃描程序設(shè)計
4×4鍵盤設(shè)計中1~9鍵用以調(diào)節(jié)目標水位,控制目標水位為按鍵數(shù)字值乘10 mm的水位,即按數(shù)字5,目標水位為50 mm?!癆,B”鍵用來控制系統(tǒng)運行和待機,當按下A之后,屏幕顯示當前水位與運行狀態(tài),按下B后,屏幕當前水位與運行狀態(tài)關(guān)閉,同時水泵停止注水。“*,#”用以微調(diào)目標水位高度,按下“*”鍵后目標水位減1 mm,按下“#”鍵后目標水位加1 mm。“C,D”鍵用以調(diào)節(jié)水位計算誤差。每次開啟系統(tǒng)時,因為環(huán)境的改變,記錄在單片機程序里的計算水位程序可能產(chǎn)生幾毫米的誤差,為了減少誤差,加入了手動調(diào)節(jié)誤差功能。按下“C”鍵計算水位加1 mm,按下“D”鍵計算水位減1 mm。0鍵則是用來維持當前水泵的抽水速度,液面穩(wěn)定便于調(diào)節(jié)水位誤差。
3.3 系統(tǒng)軟件設(shè)計
在設(shè)計系統(tǒng)軟件的控制程序時,考慮以下兩種方案:
(1)采用PID控制算法來調(diào)節(jié)輸出PWM波的占空比,進而控制抽水速度;
(2)采用PID控制算法分段調(diào)節(jié)輸出PWM波的占空比,進而控制抽水速度。
經(jīng)驗證,采用第一種方案調(diào)節(jié)速度較慢,而且超調(diào)量大;采用第二種方案能夠較快調(diào)節(jié)液面高度并最終使液面高度在期望值上下較小波動,且超調(diào)量小,故系統(tǒng)軟件設(shè)計采用第二種方案。PID控制算法采用增量式PID控制,因為驅(qū)動對象是水泵的電機,而對于電機控制,執(zhí)行機構(gòu)需要控制量的增量,因此通過該增量來控制電機抽水的速度。位置式PID一般輸出值能夠直接控制對象,例如閥門等。初始階段,采用基本PID進行調(diào)節(jié),當被控液面接近目標值時,對積分系數(shù)進行大幅度削弱,再進行PID調(diào)節(jié),不僅能減少因積分作用而引起的超調(diào)量過大影響,同時又能消除穩(wěn)態(tài)誤差。離散PID[7]:
4 結(jié) 語
在實際調(diào)試過程中,PID控制難以調(diào)試。理論上PID的Kp值越大,超調(diào)越大,靜態(tài)誤差減小;Ki值越大,超調(diào)越大,靜態(tài)誤差消除;Kd值越大,超調(diào)減小。系統(tǒng)硬件設(shè)計簡單,軟件容易操作和調(diào)試,系統(tǒng)價格低廉,為工業(yè)生產(chǎn)體系中的液位檢測環(huán)節(jié)提供了簡單易行的測控系統(tǒng)方案。
參 考 文 獻
[1]王文琦.工業(yè)鍋爐的檢測與控制技術(shù)[M].成都:四川科學(xué)技術(shù)出版社,1996.
[2]張一民,韓玉杰,徐宇.一種新型液位檢測系統(tǒng)的設(shè)計[J].林業(yè)機械與木工設(shè)備,2009,37(3):37-38.
[3]陳波,楊晶.一種單片機控制的液位檢測模塊的設(shè)計[J].成功(教育),2012(10):50.
[4]顏媚,馬鳳翔,李金虎,等.液位控制系統(tǒng)的設(shè)計與實現(xiàn)[J].現(xiàn)代電子技術(shù),2012,35(21):139-142.
[5]張宗強.基于Java Applet的液位PID控制仿真[J].工業(yè)控制計算機,2011(9):28-30.
[6]聶朋,麻永林,邢淑清,等.基于LabVIEW的電磁波峰焊非接觸液位測量系統(tǒng)[J].傳感器與微系統(tǒng),2016(8):108-110.
[7]陶東婭.基于NiosⅡ的直流電機PWM調(diào)速系統(tǒng)設(shè)計[D].杭州:浙江工業(yè)大學(xué),2009.
[8]何玉發(fā),李忠偉.儲油罐液位測控系統(tǒng)設(shè)計[J].自動化儀表,2006,27(11):66-67.
[9]李春麗.非接觸式外測液位計液氯儲槽液位測量中的案例分析[J].物聯(lián)網(wǎng)技術(shù),2014,4(5):11-12.
[10]余明亮,彭菊紅.PID控制參數(shù)對系統(tǒng)性能的影響研究[J].物聯(lián)網(wǎng)技術(shù),2018,8(4):95-98.