簡(jiǎn)易液位測(cè)控系統(tǒng)設(shè)計(jì)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
引 言
國(guó)民經(jīng)濟(jì)的發(fā)展離不開(kāi)工業(yè)供水系統(tǒng),我國(guó)的工業(yè)水箱和鍋爐數(shù)量高達(dá)上百萬(wàn)臺(tái) [1]。液位檢測(cè)儀廣泛用于石油、化工、工業(yè)生活用水等領(lǐng)域 [2]。液位檢測(cè)是過(guò)程控制領(lǐng)域的重要組成部分 [3],液位控制是工業(yè)生產(chǎn)中不可或缺的一部分,對(duì)節(jié)約資源、安全生產(chǎn)等至關(guān)重要 [4]。因此,需以液位為研究對(duì)象以及對(duì)液位進(jìn)行實(shí)時(shí)準(zhǔn)確的測(cè)量,以保障正常生產(chǎn) [5-6]。
1 系統(tǒng)設(shè)計(jì)
系統(tǒng)基于 TI 公司單片機(jī) MSP430F5529 設(shè)計(jì),包括傳感器檢測(cè)模塊、傳感器輸出信號(hào)變換模塊、時(shí)鐘模塊、顯示模塊、按鍵設(shè)置模塊、直流水泵驅(qū)動(dòng)模塊、光耦隔離模塊等。系統(tǒng)設(shè)計(jì)框圖如圖 1 所示。
圖 1 液位測(cè)控系統(tǒng)設(shè)計(jì)框圖
系統(tǒng)在不同的測(cè)試環(huán)境下先進(jìn)行參數(shù)調(diào)試,在誤差允許范圍內(nèi),調(diào)試完畢后,即可在特定環(huán)境下正常使用。
2.1 單片機(jī)最小系統(tǒng)電路
單片機(jī)主要采用 TI 公司設(shè)計(jì)生產(chǎn)的 MSP430F5529 單片機(jī),該型號(hào)單片機(jī)時(shí)鐘頻率高、內(nèi)存大,可滿足系統(tǒng)采集模塊對(duì)速率和緩沖的要求。單片機(jī)外圍由時(shí)鐘模塊、復(fù)位模塊、電源等構(gòu)成。
2.2 數(shù)據(jù)采集模塊
數(shù)據(jù)采集選用電容傳感器,將柔性 PCB 緊密貼在容器外側(cè)。傳感器較窄一端采用 FPC 接插件,可以直接連接在FDC2214 傳感器信號(hào)采集模塊的輸入接口端。傳感器輸出信號(hào)變換模塊的核心芯片為 FDC2214,其它電路器件均屬芯片的外圍電路,包括電感、晶振和電容等。關(guān)鍵器件參數(shù) :晶振為 40 MHz,外接電感為 18 μH,電容為 33 pF。其中,最核心的數(shù)據(jù)變換模塊電路原理如圖 2 所示。FDC2214 芯片的 4 個(gè)測(cè)量通道由待測(cè)電容、外接電感 L 和電容 C,以及芯片內(nèi)部的振蕩電路、驅(qū)動(dòng)電路組成,待測(cè)電容不同,則振蕩頻率不同,數(shù)據(jù)采集端子如圖 2 中的 P1 所示。FDC2214 每個(gè)通道在 A/D 轉(zhuǎn)換后的數(shù)值量化結(jié)果存在對(duì)應(yīng)通道的寄存器里。上位機(jī)數(shù)據(jù)處理中心 MSP430F5529LP 通過(guò) I2C 與FDC2214 通信,定時(shí)讀取 FDC2214 寄存器數(shù)據(jù),系統(tǒng)主要使用圖 2 所示的 SDA,SCL 進(jìn)行 I2C 通信。
2.3 光耦隔離與驅(qū)動(dòng)模塊
系統(tǒng)控制信號(hào)輸出后,控制開(kāi)關(guān)電路工作,開(kāi)關(guān)電路進(jìn)一步控制直流水泵的正常工作。為保障系統(tǒng)安全,考慮如下兩種方案 :
(1) 采用半橋驅(qū)動(dòng)芯片,如 IR2104 與 NMOS管配合搭建半橋。
(2) 采用光耦芯片,如 6N137與 N溝道 MOS管配合驅(qū)動(dòng)無(wú)刷電機(jī)。
綜合考慮后,選擇光耦芯片與 NMOS 配合的方案,原因在于光耦芯片 6N137 抗外界干擾能力強(qiáng), 且該水泵工作電壓不高,工作電流小,功率小,因此采用功耗更低的180N10N 芯片。光耦隔離模塊如圖 3 所示,驅(qū)動(dòng)模塊如圖 4 所示。
2.4 按鍵與顯示模塊
按鍵模塊采用典型的 4×4 矩陣陣列模式。顯示模塊考慮如下 2 種方式 :
(1) LCD1602。1602液晶也被稱為 1602字符型液晶, 它是一種專門用來(lái)顯示字母、數(shù)字、符號(hào)等的點(diǎn)陣型液晶模塊。其由若干個(gè) 5×7或者 5×11等點(diǎn)陣字符位組成,每個(gè)點(diǎn)陣字符位都可以顯示一個(gè)字符,每位之間有一個(gè)點(diǎn)距的間隔,每行之間亦有間隔,起到了字符間距和行間距的作用, 但不能很好地顯示圖形和漢字。
(2) LCD12864。帶中文字庫(kù)的 128X64-0402B每屏可顯示 4 行 8 列共 32 個(gè) 16×16 點(diǎn)陣的漢字,每個(gè)顯示 RAM 可顯示 1 個(gè)中文字符或 2 個(gè) 16×8 點(diǎn)陣全高 ASCII 碼字符,即每屏最多可實(shí)現(xiàn) 32 個(gè)中文字符或 64 個(gè) ASCII 碼字符的顯示。帶中文字庫(kù)的 128X64-0402B 內(nèi)部提供 128×2 B 的字符顯示RAM 緩沖區(qū)(DDRAM)。字符顯示通過(guò)將字符顯示編碼寫入該字符顯示 RAM 實(shí)現(xiàn)。根據(jù)寫入內(nèi)容的不同,可分別在液晶屏上顯示 CGROM(中文字庫(kù))、HCGROM(ASCII 碼字庫(kù))及 CGRAM(自定義字形)的內(nèi)容。
考慮到顯示效果和操作便捷性,系統(tǒng)選用 LCD12864。屏幕功能的排版設(shè)定 :第一行顯示液位的測(cè)量高度 ;第二行顯示當(dāng)前所按下的數(shù)字按鍵 ;第三行顯示液位的目標(biāo)高度 ; 第四行顯示目前的運(yùn)行狀態(tài)。
3.1 軟件編譯開(kāi)發(fā)環(huán)境
CCS(Code Composer Studio,CCS)是美國(guó)德州儀器公司(Texas Instrument)出品的代碼開(kāi)發(fā)和調(diào)試套件。TI 公司的產(chǎn)品線中有一大塊業(yè)務(wù)是數(shù)字信號(hào)處理器(DSP)和微處理器(MCU),CCS 便是供用戶開(kāi)發(fā)和調(diào)試 DSP 和 MCU程序的集成開(kāi)發(fā)軟件。Code Composer Studio IDE 提供強(qiáng)健、成熟的核心功能與簡(jiǎn)便易用的配置和圖形可視化工具,使系統(tǒng)設(shè)計(jì)更便捷。
3.2 按鍵掃描程序設(shè)計(jì)
4×4鍵盤設(shè)計(jì)中 1 ~9 鍵用以調(diào)節(jié)目標(biāo)水位,控制目標(biāo)水位為按鍵數(shù)字值乘 10mm的水位,即按數(shù)字 5,目標(biāo)水位為 50mm?!癆,B”鍵用來(lái)控制系統(tǒng)運(yùn)行和待機(jī),當(dāng)按下 A之后,屏幕顯示當(dāng)前水位與運(yùn)行狀態(tài),按下 B 后,屏幕當(dāng)前水位與運(yùn)行狀態(tài)關(guān)閉,同時(shí)水泵停止注水?!?,#”用以微調(diào)目標(biāo)水位高度,按下“*”鍵后目標(biāo)水位減 1 mm,按下“#” 鍵后目標(biāo)水位加 1 mm。“C,D”鍵用以調(diào)節(jié)水位計(jì)算誤差。每次開(kāi)啟系統(tǒng)時(shí),因?yàn)榄h(huán)境的改變,記錄在單片機(jī)程序里的計(jì)算水位程序可能產(chǎn)生幾毫米的誤差,為了減少誤差,加入了手動(dòng)調(diào)節(jié)誤差功能。按下“C”鍵計(jì)算水位加 1 mm,按下“D”鍵計(jì)算水位減1 mm。0 鍵則是用來(lái)維持當(dāng)前水泵的抽水速度, 液面穩(wěn)定便于調(diào)節(jié)水位誤差。
3.3 系統(tǒng)軟件設(shè)計(jì)
在設(shè)計(jì)系統(tǒng)軟件的控制程序時(shí),考慮以下兩種方案 :
(1) 采用 PID控制算法來(lái)調(diào)節(jié)輸出 PWM波的占空比, 進(jìn)而控制抽水速度 ;
(2) 采用 PID控制算法分段調(diào)節(jié)輸出 PWM波的占空比,進(jìn)而控制抽水速度。
經(jīng)驗(yàn)證,采用第一種方案調(diào)節(jié)速度較慢,而且超調(diào)量大 ; 采用第二種方案能夠較快調(diào)節(jié)液面高度并最終使液面高度在 期望值上下較小波動(dòng),且超調(diào)量小,故系統(tǒng)軟件設(shè)計(jì)采用第 二種方案。PID控制算法采用增量式 PID 控制,因?yàn)轵?qū)動(dòng)對(duì)象是水泵的電機(jī),而對(duì)于電機(jī)控制,執(zhí)行機(jī)構(gòu)需要控制量的 增量,因此通過(guò)該增量來(lái)控制電機(jī)抽水的速度。位置式 PID 一般輸出值能夠直接控制對(duì)象,例如閥門等。初始階段,采 用基本 PID進(jìn)行調(diào)節(jié),當(dāng)被控液面接近目標(biāo)值時(shí),對(duì)積分系數(shù)進(jìn)行大幅度削弱,再進(jìn)行 PID調(diào)節(jié),不僅能減少因積分作用而引起的超調(diào)量過(guò)大影響,同時(shí)又能消除穩(wěn)態(tài)誤差。離散PID[7]:
在代碼中,T 取 1,Kp,Ti,Td 由調(diào)試得到,輸出的 Δu增加到調(diào)節(jié) PWM 的占空比參數(shù)上,用于調(diào)節(jié)水泵抽水的速度,直到液位高度到達(dá)目標(biāo)液位,此時(shí) Δu=0,水泵抽水速度基本穩(wěn)定在一個(gè)范圍內(nèi),液面平穩(wěn)。系統(tǒng)軟件設(shè)計(jì)流程如圖 5 所示。
4 結(jié) 語(yǔ)
在實(shí)際調(diào)試過(guò)程中,PID 控制難以調(diào)試。理論上 PID 的 Kp 值越大,超調(diào)越大,靜態(tài)誤差減小 ;Ki 值越大,超調(diào)越大,靜態(tài)誤差消除 ;Kd 值越大,超調(diào)減小。系統(tǒng)硬件設(shè)計(jì)簡(jiǎn)單,軟件容易操作和調(diào)試,系統(tǒng)價(jià)格低廉,為工業(yè)生產(chǎn)體系中的液位檢測(cè)環(huán)節(jié)提供了簡(jiǎn)單易行的測(cè)控系統(tǒng)方案。