張秋容,楊 偉,張濤川
(1.河源職業技術學院,廣東河源 517000;2.佛山職業技術學院,廣東佛山 528000)
在全自動洗衣機里用到了水位傳感器,常有兩種:開關式和電子式。開關式水位開關因檔位少現在很少再采用,而電子式水位開關檔位多、線路少、精度較高且具有較強的防浪涌功能等優點而被廣泛應用于各種實用水位采集中。本文將從電子式水位傳感器的結構與工作原理、水位與頻率對應關系的建立、電子式水位傳感器的應用電路和水位標定程序設計四個方面,實現基于西門子PLC的水位傳感器數字標定研究。
如圖1所示的電子式水位傳感器結構,主要由密封氣室、隔膜、磁芯、電感線圈、彈簧等組成。傳感器中的線圈固定不動,當氣壓推動隔膜帶動磁芯使其與線圈之間的相對位置發生變化,線圈的電感量發生變化,由此實現了水位非電量到電量的變換。此電感若與2個電容可組成三點式振蕩電路,振蕩的頻率將隨水位的變化而變化,故又稱諧振式水位傳感器[1]。

圖1 電子式水位傳感器工作示意圖
圖1中彈簧的作用是用于調節反作用力大小,以改變水位靈敏度范圍,即水位測量工作區間。對于批量生產的水位傳感器,彈簧彈性系數K及長度都是不變的。
圖1中氣筒的作用是不能忽視的,它直接影響測量靈敏度和測量精度,原則上水位引起的氣體體積變化越大,傳感器反應越靈敏,這樣內部液面稍微變化,就可引起傳感器內部隔膜較大移動,電感L變化大,對水位變化敏感。
無水時,傳感器隔膜兩側氣室壓力相等,均為大氣壓,固定在隔膜上的磁芯在彈簧作用下進入線圈最少,對應一個電感量。
當有水,且水位為H時隔膜內氣壓高于外氣壓,其壓差為:
Δρ=Hρ,
式中ρ為水的密度;H為水的高度。
根據壓強與壓力的公式,可知此時作用力為:
F1=ΔPS=HρS,
式中S為隔膜的有效面積。
此力最終由彈簧力平衡,設彈簧被壓縮Δx后兩作用力達到平衡,則:
F2=KΔX=F1=HρS,
式中K為彈性系數,
得到式(1):

式(1)中A為常數,這是在忽略氣體被壓縮和隔膜移動、導氣軟管塑性擴展等造成氣筒內水位微上升影響而得出。因為磁芯同時受到彈簧的反作用力,磁芯位移。

圖2 磁芯在線圈中各位置符號示意圖
電感L由下式計算

式(2)中N為線圈匝數;μ0為空氣導磁率;μa為磁芯導磁率;R為線圈平均半徑;r為磁芯有效半徑;a為線圈長度。
如果用該線圈電感與電容器C1組成三點式振蕩電路,取C1=C2=C,其諧振頻率為:

把式(1)、式(2)代入式(3),
令常數項

其中m、n、u都是常數[2]。
從式(4)中可以看出:頻率與水位高度之間存在一一對應關系,符合傳感器工作特征,但存在嚴重的非線性,這對于帶微處理器的智能系統不是問題。
根據西門子PLC及高速計數器接線要求,設計電路如圖3,由三部分組成:振蕩電路、分頻電路和源型輸出電路。對于市購電子式水位傳感器,振蕩頻率一般無水時24 kHz,水位越高頻率越低,如洗衣機最深水位0.35 m時約20 kHz。西門子PLC-CPU224主模塊內有6個高速計數器HC0-HC5,每路最高可計頻率30 kHz,但實際發現超過頻率不計數,因此對其2分頻。從式(4)得知,振蕩頻率與R1、R2無關,但R2阻值和電容C2決定脈寬寬度,當取R2=4K7,C2=43 nF時,脈沖占空比約50%。

圖3 振蕩、2分頻及與CPU224高速計數HC5專線輸入端子I04接線
PLC讀取水位的方法大致是:單位時間內計到的脈沖數。為了定時準確,定時必須用中斷。定時1 s,1 s內所計脈沖數,就是頻率。
(1)S7-200PLC 的 中斷源有多個,如CPU224有30個。要用PLC的中斷系統,一般要用到以下指令:全局中斷允許指令(ENI)、全局中斷禁止指令(DISI)、中斷條件返回指令(CRETI)、中斷連接指令(ATCH)、中斷分離指令(DTCH)。
現采用10號中斷源“定時中斷0”,關聯到INT 0。但定時中斷0最大定時只有255 ms,若設定為250 ms,要連續中斷4次才是1 s。在PLC運行首次掃描時設置好定時初值和開中斷等,其設置子程序名SBR0。
(2)使用高速計數器
高速計數器使用步驟:定義高速計數器和操作模式、設置控制字節、設置初始值、指定并使能中斷子程序、激活高速計數器。
CPU224有HSC0~HSC5高速計數器,每個計數器可能有0~11共12種工作模式,不同工作模式會占用固定的PLC輸入端子,每個計數器都有相應特殊輔助位、特殊字/字節管理控制,具體可查看資料。
本系統采用HSC5,設置為工作模式0(“帶內部方向控制和內部計數清零的單相計數器”),占用I0.4輸入點。同樣,要在PLC運行首次掃描時配置好HSC5,其配置HSC5子程序名SBR1。
(3)中斷服務程序INT 0
250 ms定時到掃描系統會進一次INT 0中斷服務程序,進來首先VB10存儲值加1,然后判斷VB10是否等于4,小于4則直接中斷返回;等于4則停止HCS5計數并做數據處理。整個程序清單如圖4。

圖4 實時水位判斷程序
“水位-頻率”的標定,用STEP 7 MicroWIN SP3(V4.0)編程軟件“調試”下“在線程序狀態監視”功能:加一定深度的水,直接讀出HSC5的計數值。現以洗衣機為實例分8檔水位對水位傳感器頻率進行標定,如表1所示。

表1 以洗衣機最高水位為H,分8檔水位均勻標定的頻率
在使用西門子S2-700PLC時,型號為CPU XXX CN,尾標有CN,只能使用V4.0 STEP 7 Mi?croWIN SP3編程,不能用SP4及以上版本[3]。若用SP4,可讀取PLC信息等,但就是不能編程,即使簡單的一條語句都報錯。
上面介紹的方法和程序,已在實驗室測試,并把數據成功應用于某企業員工公寓基于單片機監控的公共太陽能熱水器水位檢測中,系統數據穩定可靠。這種兩線式水位傳感器因電路簡單,且無需放大及A/D轉換,減少了不穩定因素,非常適合供水水塔、汽車水箱甚至河流水位等智能控制系統的水位監測。
[1]扈剛,王延峰.諧振式水位傳感器[J].傳感器技術,2002,21(5):22-23,26.
[2]張萬忠.可編程控制器入門與應用實例:西門子S7-200系列[M].北京:中國電力出版社,2004.
[3]西門子公司.西門子S7-200系統手冊[Z].2010.