華國環(huán),邱立爭,潘柏旭,馮茂艷
(南京信息工程大學電子與信息工程學院,江蘇南京 210044)
黏度是流體的重要物理性質之一,是關系著眾多產業(yè)的一個重要標準特征[1]。測量流體的黏度和流動性在工業(yè)生產和基礎科學研究中具有十分重要的意義。目前常用的測量方法主要有毛細管法、旋轉法、振動法及落球法等。由于旋轉法可以在不同的切變率下對同種材料進行測量,因此被廣泛地應用于測量牛頓型和非牛頓型流體的黏度及流變特性中[2]。
目前的傳統(tǒng)旋轉黏度計多用游絲感應轉筒探頭的扭矩,并利用刻度盤讀數,測量者讀數不同而導致誤差,同時大多以8位單片機為處理器,往往存在處理能力較低、沒有片內A/D轉換等缺點。近年來國內外出現了許多新型液體黏度測量方法,本文設計的新型黏度計要解決傳統(tǒng)旋轉黏度計誤差大、處理能力低、處理速度慢等技術問題,因此采用內置12位A/D轉換的STM32F103系列處理器,從而克服低端單片機在芯片功能上的不足[3-4]。
液體在流動時,分子間產生內摩擦,這一性質稱為液體的黏性,黏性的大小表示為黏度,可以表征不同液體的性質。不同的液體通常具有不同的黏度,因此當轉子以一定的速度在被測液體中旋轉時,由于受到液體黏滯力的作用,會產生滯后現象,轉子所連接的游絲便會在相反方向上產生一定扭轉,游絲與原位置的表盤凹槽分別通過2個光電對管,計算時間差Δt可得到液體黏度η跟Δt的關系如下[5]:
η=K·Δt
(1)
式中:η為被測液體黏度,mPa·s;K為與電機轉速、游絲彈性系數等參數有關的比例系數,其具體數值可以通過標準黏度的溶液來確定;Δt為時間差。
基于STM32的旋轉式黏度計的硬件組成主要包括處理器模塊、電源模塊、測溫模塊、電機驅動及光電對管模塊和人機交互模塊5部分。整體結構框圖如圖1所示。
圖1 整體結構框圖
1.2.1 處理器模塊
處理器模塊主要由微處理器、存儲電路、復位電路等組成。微處理器模塊采用STM32F103作為主控芯片,其內核為ARM 32位的Cortex-M3,優(yōu)勢在于低功耗、低成本、高性能。STM32F103具有最高72 MHz的工作頻率,內置高達512 K字節(jié)的閃存程序存儲器和64 K字節(jié)的SRAM,載有最多11個定時器和84個中斷,并配有豐富外設,具有極高的集成度[6-7]。其極低的價格和開發(fā)成本,優(yōu)異的實時性能和杰出的功耗控制為STM32F103系列MCU帶來了廣泛的應用。
1.2.2 按鍵輸入模塊
按鍵輸入模塊采用獨立微動按鍵,共有6個按鍵,包括上下左右方向鍵、確定鍵和返回鍵。每個按鍵與控制模塊單片機的一個引腳相連,按鍵按下時,處理器產生相應中斷,執(zhí)行相應功能。
1.2.3 電機驅動及光電對管模塊
電機驅動及光電對管模塊主要由NJM3771電機控制芯片和NJU39610D2DA轉換芯片及一對光電對管組成。通過處理器控制電機驅動芯片驅動轉子運轉,驅動電機轉軸與轉盤連接,轉盤與游絲連接,游絲的中心軸連接一個金屬桿,該金屬桿以中心軸為轉軸,轉盤設有標記部位。電機、游絲與上下兩對光電對管連接的示意圖如圖2所示[8]。
圖2 電機、游絲與光電對管連接示意圖
上方的光電對管用于測量標記部位隨轉盤轉動引起的第一個開關信號并發(fā)送至處理器模塊,下方的光電對管用于測量金屬桿轉動引起的第二個開關信號并發(fā)送至處理器模塊[9]。2個開關信號的延時差經過算法計算就可以得到液體黏度,具有低成本,高精度的優(yōu)點。
1.2.4 Pt100測溫模塊
測溫模塊采用高精度儀表放大器AD623A、0.1%精度的貼片電阻和Pt100鉑電阻構成差分放大電路。測試原理圖如圖3所示。其中Pt100鉑電阻分壓得到的電壓與參考電壓相比較,二者的差模電壓經過AD623A放大后送給MCU的A/D端口進行檢測,最后通過算法反推出待測溶液的溫度值。由于Pt100鉑電阻具有精準的R-T關系,此模塊測溫誤差僅小于0.5%[10]。
圖3 Pt100測溫原理圖
由電路圖分析可得
Av=1+100/Rg=11
(2)
式中Av為儀表運放AD623A的電壓增益。
當鉑電阻RT與電阻R3相同時,電橋平衡,差分電壓為0;
當鉑電阻RT與電阻R3不同時,電橋失衡,運放正負輸入端產生電壓差,并且經過11倍放大之后送給MCU進行A/D采樣:
Va=[RT/(RT+R1)-R3/(R3+R2)]Vcc×11
(3)
式中Va為AD623A輸出的模擬電壓。
由MCU的采樣電壓Vd=Va/Vcc×4 096,得
Va=Vd/4 096×Vcc
(4)
式中Vd為AD623A采樣之后的數字電壓。
由式(3)、式(4)得RT的值為
RT=R1/{1/[Vd/4 096×Av+R3/(R3+R2)]-1}
(5)
再根據鉑電阻的溫度-電阻對應表,可計算出溫度值。
1.2.5 電源模塊
黏度計采用220 V轉12 V電源適配器供電,通過LM2576S-5.0與AMS1117-3.3電壓轉換芯片,為電機控制模塊、顯示模塊提供5 V電壓,為處理器模塊、測溫模塊和按鍵模塊提供3.3 V電壓。
1.2.6 顯示模塊
顯示模塊為分辨率為128×64的單色點陣液晶屏,顯示可靠且簡潔清晰,具有低功耗的特性,并能在-20~70 ℃的環(huán)境下正常使用。
1.2.7 硬件實物圖
硬件實物圖如圖4所示。
圖4 硬件實物圖
軟件設計考慮以MDK Keil5作為系統(tǒng)開發(fā)平臺并選擇C語言作為編程語言,程序采用模塊化思想,將不同的硬件模塊所對應的驅動程序放置在不同的C文件中,并構成一個完整的工程,使軟件結構清晰簡潔,增強了程序的可讀性。程序流程圖如圖5所示。
圖5 程序流程圖
從圖5可以看出,系統(tǒng)供電后,進入操作主界面并通過控制按鍵選擇系統(tǒng)語言:中文或English,確認語言后進入由轉子、轉速、輸出方式和時間構成的分界面,在該界面可以確認轉子、轉速及輸出方式。若輸出方式選擇通訊輸出,通過與上位機連接,便可以將轉子、轉速等信息傳輸;若選擇打印輸出,便可以連接打印機將信息打印。該界面同時支持時間修改、實時時鐘及溫度的顯示。確認以上選擇無誤后,程序將開始控制電機驅動,并顯示被測液體黏度。
為了驗證所設計黏度計的測量精度和測試穩(wěn)定性,選取了5種標準黏度值的溶液進行測量,測試結果如下。
對不同黏度值的標準溶液測量結果如表1所示。
表1 標準液測試結果
表1對于各標準溶液的測量結果顯示,最大的測量誤差只有0.22%,說明所設計的黏度計的測量精度很高,完全滿足工業(yè)級應用[11]。
對黏度值為273 mPa·s的標準液進行多次測量,結果如表2所示。
表2 重復性測試結果 mPa·s
表2對單一標準溶液黏度測量的重復性誤差只有0.138%,說明所設計的黏度計穩(wěn)定性較好,可長時間進行可靠測量[12]。
上述2個表中黏度值測量結果誤差只有0.2%左右,如此高的測量精度歸功于MCU的12位A/D轉換精度很高,同時也歸功于游絲、傳動軸等機械部件的加工工藝非常精準。
本文介紹了一種基于STM32的旋轉黏度計。系統(tǒng)主要包括處理器模塊、電機驅動及光電對管模塊、測溫模塊、電源模塊和人機交互模塊5大模塊。不同于以往旋轉黏度計通過測量張絲所受黏滯力矩大小的方法,采用延時傳感器和自動轉速控制系統(tǒng),實現精確測量液體的黏度,改善了傳統(tǒng)旋轉黏度計(如六速旋轉黏度計)測量操作復雜、讀數精度不高的缺陷。所設計的黏度計基于低成本、低功耗、高性能的STM32單片機,使得產品性能較高、價格低廉。同時考慮到液體黏度易受液體溫度影響,黏溫關系滿足阿累尼烏斯方程,該黏度計可以實時顯示黏度與溫度對應關系曲線[13]。所設計的黏度計采用高精度的Pt100鉑電阻測溫,可實時顯示待測溶液的溫度,滿足實際應用需求。測試結果表明所設計的黏度計具有很高的測量精度,誤差低于0.5%,重復性誤差很低,可長時間穩(wěn)定工作。該黏度計可廣泛應用于各種液體的黏度測量,具有良好的市場應用前景。