楊 陽 ,浦 瀚 ,閆文娟
(1.南京機電職業技術學院 藍島創客空間,南京 211135;2.南京工業大學 電氣工程與控制科學學院,南京 211816;3.南京機電職業技術學院 電子工程系,南京211135)
隨著人們生活水平的不斷提高,商業行為也越來越現代化,人們對商品度量的速度和精度也提出了新的要求[1-3]。目前,壓力控制器是市面最常用的傳感器之一,并且都有一個共同之處——在現場通過壓力傳感器將數值顯示在當前屏幕上;在當前工業等精密控制領域中,重力控制器存在精密度低、異地查看數據困難的缺點。對此設計了一套基于ZigBee傳輸的高精度壓力控制器。文中介紹了該系統的設計思想、方法及實施過程,分析了各個模塊的選用、功能及實現方法,包括系統的硬件構成、傳感器的選擇、系統運作流程圖等。
數字電子秤系統的控制核心單元使用STC89C52為CPU的控制模塊;傳感器使用精度高、穩定性好的HL-8型電阻全橋式傳感器;A/D轉換模塊使用高分辨率和高精度的HX711。該系統組成如圖1所示。

圖1 系統組成Fig.1 System composition
應變片式電阻傳感器是以使用應變片為識別元件的傳感器。它具有以下優勢:精度高,測量范圍廣;頻率響應特性好;應變片種類繁多,價格便宜;系統接觸點的靈敏度高,集成度高,結構簡單[4-6]。
設計所采用的傳感器為全橋測量電路。在不受壓力時,電橋處于平衡狀態,輸出電壓為0 V;有壓力時,電橋的橋臂電阻值發生近似于線性的變化,電橋逐步失去平衡。全橋測量電路中,將受力性質相同的2片應變片接入電橋對邊。使其輸出靈敏度比半橋大約增大了1倍,與此同時,非線性誤差和溫度誤差也得到改善[7]。全橋測量電路的電路如圖2所示。

圖2 全橋測量電路Fig.2 Full bridge measuring circuit
根據系統的使用要求,必須使用達到10位的轉換精度的A/D轉換設備。設計時,考慮到STC89C52單片機I/O口資源緊張等因素,最終確定使用HX711。其量化精度能夠達到1/4096,<(1/1000),符合設計要求[8-10]。HX711模塊電路如圖3所示。

圖3 HX711模塊Fig.3 HX711 module chart
該系統使用4段數碼管作為外圍典型器件。同時,為了增強單片機對位選信號的驅動能力,將P2端口(位選端)接在9012三極管(PNP型)的基極,9012三極管充當開關的角色,同時大大提高了數碼管顯示的亮度,便于觀察輸出的數據[11]。數碼管顯示電路如圖4所示。

圖4 數碼管顯示電路Fig.4 Digital tube display circuit
該系統使用ZigBee技術,使當前采集到的重力值能在終端設備上顯示,極大地提高了數據的利用率,方便使用者實時、異地查看數據的正確性及穩定性。ZigBee無線傳輸模塊電路如圖5所示。

圖5 ZigBee無線傳輸模塊電路Fig.5 ZigBee wireless transmission module circuit
在系統通電后,復位,主程序完成系統函數的初始化工作,包括系統變量定義和給系統變量賦初值等基礎模塊,然后調用A/D采樣函數模塊,通過控制MCU,將A/D采集模塊輸出的24位二進制串行數據轉化為十進制,再進行調零和定標的檢測,分離出4位十進制數據的千位、百位、十位和個位。最后,主程序調用數碼管顯示模塊函數,將對應的數值送到與位選相對應的數碼管上進行顯示。系統主函數流程如圖6所示。

圖6 系統主函數流程Fig.6 System main function flow chart
A/D采集數據函數主要采集壓電傳感器輸出的微弱電信號,HX711內部的前24個ADSK脈沖采集24位串行二進制數據,接下來的1~3個ADSK脈沖選擇下次A/D采集的通道和增益。設計采用1個ADSK脈沖,選擇通道A,增益為128。其流程如圖7所示。

圖7 A/D數據采集子函數流程Fig.7 A/D data acquisition sub-function flow chart
數碼管顯示程序是利用LED動態顯示數據信息,依次掃描輸出數據的千位、百位、十位和個位參數。
在延時程序中對延時時間的設置要精確。設計中,千位位選、百位位選、十位位選的延時時間為100 ms。如果延時時間設置的太長,因為視覺的暫留效果,會觀察到4位數碼管從左到右依次地顯示,而非同時顯示;如果設置的太短,數碼管亮度會變暗,不便于觀察試驗現象。其流程如圖8所示。

圖8 數碼管顯示子函數流程Fig.8 Sigital tube display sub-function flow chart
ZigBee無線傳輸函數利用ZigBee無線模塊設置IP地址,與相對應的終端設備連接,形成局域網絡,最終在終端設備上實時顯示當前采集到的重力值。該子函數流程如圖9所示。

圖9 ZigBee無線傳輸子函數流程Fig.9 ZigBee wireless transmission sub-function flow chart
在系統的硬件調試過程中,首先檢查PCB板上的元器件焊接是否正確,仔細觀察有無漏焊現象,并用萬用表檢測PCB板是否存在短路或者斷路的現象。檢測后再接通電源,同時用萬用表測量電源部分的電壓值,并得到誤差。調試正常后才能接到各部分電路。
按下單片機復位按鍵將系統復位,調用數碼管顯示子函數顯示“1234”。在確定數碼管顯示無誤后,接上傳感器和由HX711構成的24位串行A/D轉換的調理電路和A/D轉換電路,將全部的程序燒到MCU處理器中,觀察數碼管上是否顯示“0000”。若不是,則進行軟件調零工作,待調零完成后,用手給傳感器慢慢施加壓力,觀察數碼管上的數值顯示是否隨著壓力的增加而加大;放手后,再觀察數碼管的顯示數值是否回到0000附近。
在進行定標的過程中,依次增大砝碼的質量,盡量把砝碼放在傳感器測試端的邊沿上,使砝碼的重心在傳感器測試區的中心,這樣得出的值比較準確。待數碼管顯示值穩定后,記錄下顯示值,并用MatLab來繪制曲線。
4.2.1 未定標時數碼管顯示值
在軟件部分的設計中,如果沒有加入清零程序,當沒有砝碼放在傳感器上時,數碼管顯示70(g)的初值。 之后輪流在托盤內放上 10,20,40,50(g),…,記錄數碼管的示數。再通過MatLab進行仿真,得出數碼管的顯示值和砝碼值呈線性的關系。圖10為未定標時的線性測試曲線,其數碼管顯示值見表1。

圖10 未定標時的線性測試曲線Fig.10 Linear test curve at unfixed standard

表1 未定標時的數碼管顯示值Tab.1 Digital tube display value at unfixed standard
4.2.2 未定標時數碼管顯示值
使用最小二乘法進行擬合。最小二乘法公式為


求出 k≈0.763,b≈64.044。
最小二乘法具有嚴格的數學依據,盡管計算復雜,但得到的擬合直線精密度高,即誤差小。隨后在代碼設計中加入數碼管顯示清零的程序,定標過程就完成了。定標后的校驗曲線如圖11所示,定標后數碼管的顯示值見表2。

圖11 定標后的線性測試曲線Fig.11 Linear test curve after calibration

表2 定標后的數碼管顯示值Tab.2 Digital tube display value after calibration
4.2.3 誤差分析
由試驗結果可知,因為HX 711本身的靈敏度很高,如果沒有固定好傳感器的水平位置,得出的數據會存在一定的誤差。另外,HX 711的引線也非常靈敏,即使是稍微觸動一下,也會產生機械誤差。
基于ZigBee傳輸的高精度壓力控制器,具有實時性高、精確度高,便于遠程查看實時數據,攜帶方便和性價比高等特點。該系統既可以在實地得到高精度的重力值,也可以通過連接局域網,通過終端設備查看實時重力值,極大地方便了數據重復利用率和提高拘束準確性。特別是在確定線性度的過程中,試驗測試數據用MatLab繪圖,可以得出數碼管的顯示值和砝碼值的關系接近為一條直線。由此,得出它們之間的線性擬合關系,最終完成定標。
[1]姬忠勇.基于單片機的電子秤的方案設計[J].科技信息,2013,30(18):267-268.
[2]郭志勇.基于ADS1100的高精度電子秤設計與實現[J].安徽工業大學學報:自然科學版,2010,27(4):385-392.
[3]孫娜.基于單片機的便攜式電子秤的設計[J].中國科技信息,2012,24(1):99-100.
[4]楊成慧,王書志,楊偉新.一種數字式電子秤的研究與設計[J].西北民族大學學報:自然科學版,2012,33(3):22-27.
[5]胡美嬌,高美春.基于24位A/D轉換的高精度電子秤的設計[J].現代計算機:專業版,2013,30(32):61-63.
[6]王鋒,徐洪垚.基于單片機控制的電子秤的設計[J].科技創新與應用,2013,3(15):26-26.
[7]程智.簡易電子秤的設計[J].電子世界,2013,35(7):133.
[8]蘭羽,王納林.基于儀表放大器電子秤的設計[J].信息技術,2012,36(11):134-136.
[9]劉金桂,向上.小型電子秤的設計及實現[J].機電一體化,2012,18(7):68-70.
[10]張波,王朋亮.基于STC89C51單片機超聲波測距系統的設計[J].機床與液壓,2010,38(18):56-58.
[11]吳玉林,方鵬斌,嚴黎華.簡易數字電子秤的設計[J].咸寧學院學報,2010,30(12):11-12.