郭曉,姚政,賀秋瑞
(1.河南理工大學鶴壁工程技術學院,河南鶴壁,458030;2.鶴壁職業技術學院,河南鶴壁,458030;3.洛陽師范學院信息技術學院,河南洛陽,471934)
隨著計量技術和電子技術的發展,傳統純機械結構的桿秤、臺秤、磅秤等稱量裝置逐步被淘汰,而電子稱量裝置電子秤、電子天平等以其稱量準確、使用方便、顯示直觀等諸多優點而受到人們的青睞。和傳統秤相比較,電子秤具有低成本,易攜帶、易操作、精度高、壽命長、應用廣等優點。本文基于單片機AT89C51設計了一款智能化電子秤,可實現稱重、按鍵調節、顯示、超重報警等功能。設計的基本要求為:測量量程0~10kg,測量誤差不能大于5g,能夠通過按鍵完成顯示清零、去皮、校準等功能,當被測物體超過測量量程時通過蜂鳴器和紅色LED燈閃爍報警,如果未超重綠色LED燈亮[1]。
本次設計的電子秤主要由6部分組成,分別是:壓力傳感器、A/D轉換器、單片機主控芯片、液晶顯示器、按鍵控制、超重報警及指示燈。工作原理:(1)由壓力傳感器采集數據,將壓力轉換為微弱的模擬電壓信號;(2)HX711模塊對模擬電壓信號放大后進行A/D轉換,輸出數字信號給單片機;(3)單片機通過計算在顯示器上顯示物體重量;(4)如果物體超重報警器報警,且紅色LED指示燈閃爍。
為了驗證設計的可用性,本設計使用Proteus8軟件進行仿真,用Keil uVision5進行單片機編程實驗。Proteus軟件是一款EDA軟件,可以完成原理圖布圖、代碼調試、單片機與外圍電路仿真及PCB板設計,真正實現了從概念到產品的完整設計。在編譯方面,它也支持IAR、Keil和MATLAB等多種編譯器。硬件電路仿真設計見圖2。

圖1 電子秤硬件原理圖

圖2 硬件電路仿真圖
單片機最小系統是指用最少的元件組成的可以正常工作的電路,一般至少應該包括:單片機、晶振電路、復位電路。晶振電路由兩個電容、一個電阻和晶體振蕩器組成。
復位電路由按鍵開關和電容構成,相當于電腦的重啟系統,當單片機在工作狀態因受到環境干擾出現程序卡死時,按下按鍵開關后程序將從頭開始執行。單片機AT89C51的第9引腳為復位引腳,當高電平持續2便可實現復位功能,因此通過按鍵開關的斷開和閉合控制復位。最小系統見圖3。

圖3 基于AT89C51的最小系統
電阻應變片式壓力傳感器[3]的工作原理是電阻應變效應,即應變片壓縮致應變阻值減小,應變片拉伸致阻值增加。應變片阻值的改變,則橋式電路獲得電勢輸出信號,傳輸給HX711模塊,完成數據采集。該傳感器上下表面各有一個應變片,每個應變片內有兩個壓力電阻,組成全橋式電路,精度較高。壓力傳感器及原理見圖4。

圖4 電阻應變片式壓力傳感器及原理圖
HX711是一款專為電子秤而設計的24位高精度模數(A/D)轉換器芯片,具有集成度高、響應速度快和抗干擾性強等優點[4]。HX711芯片集成了穩壓電源,可以向內部的A/D轉換器和外部的壓力傳感器供電。壓力傳感器產生的電壓信號十分微弱,而HX711芯片內集成有低噪聲可編程、增益可調的放大器,首先完成電壓信號的放大,再進行A/D轉換。
連接方式:壓力傳感器輸出電壓信號分別連接HX711芯片的引腳INNA與引腳INPA。電壓信號經放大、數字化后通過引腳DOUT和PD_SCK傳輸給單片機,分別接單片機AT89C51的P2.0和P2.1引腳。穩壓電路為壓力傳感器提供穩定的輸入電壓。HX711模塊見圖5。

圖5 模數轉換模塊HX711
本設計采用LCD1602 液晶顯示器,該液晶顯示器與單片機的連接方式有兩種:直接控制方式和間接控制方式。其中,直接控制方式是LCD1602液晶顯示器的8根數據線和3根控制線E、RS和R/W與單片機直接相連,V0引腳是液晶對比度調試端,接電源時對比度最弱,接地時對比度最高,因此需要連接一個10的電位器實現對比度的調整。單片機AT89C51的P0引腳漏極開路,如果所選用LCD1602的數據端口內阻較大,可能會發生通訊異常,因此需要使用外部上拉電阻或使用LCX245等電平轉換芯片,本設計采用外加上拉電阻的方法。液晶顯示器原理圖見圖6。

圖6 液晶顯示器LCD1602原理圖
按鍵模塊由4個按鍵組成,分別完成復位清除、去皮、校準加、校準減四個功能。其中,復位清除功能是通過將單片機復位重啟按鍵實現的,即單片機復位按鍵為清除顯示按鍵。去皮、校準加、校準減按鍵分別接AT89C51單片機的P3.0~P3.2引腳。
超重報警模塊的主要功能是防止電子秤過載損壞,該模塊主要由三部分組成:第一部分為發出警報的蜂鳴器;第二部分為發出警報的紅色LED燈,當被測物品超重時,紅色LED燈不停的閃爍;第三部分為指示被測物體未超重時的綠色LED燈。其中:由于單片機引腳電壓比較小,無法直接驅動蜂鳴器工作,需要外加放大器,一般使用三極管放大器或者電流驅動模塊,本設計采用三極管放大器。當超重時,引腳設置為低電平,蜂鳴器響。超重報警模塊見圖7。

圖7 超重報警模塊
程序設計流程[5]:首先,對單片機、液晶顯示屏、A/D轉換芯片初始化;然后,單片機讀取A/D轉換芯片的數據,通過計算將數字電壓信號轉換為重量值,并傳輸給顯示器顯示重量,再判斷是否超重;再次,如果超重,則發出指令給報警模塊,使得蜂鳴器發出警報,紅色LED燈不斷閃爍,提示超重。如果未超重,綠色LED燈常亮表示正常。最后,不斷讀取A/D轉換芯片,重復以上操作。程序設計流程圖見圖8。

圖8 程序設計流程圖
根據硬件電路系統設計使用單片機仿真軟件Proteus8進行仿真調試,按照設計圖連接好單片機以及各個模塊引腳,確定無差錯開始進行仿真調試。調試各個部分模塊,能夠正常工作。當給重量加到10kg時,發現紅色LED閃爍但是蜂鳴器不能工作,經過更換蜂鳴器和調試發現,蜂鳴器端電壓給予不足,給予蜂鳴器5V電壓后再次仿真調試,此次蜂鳴器能夠正常工作。
仿真完成后開始實物連接,按照仿真設計對實物各個部分進行連接,連接完成后,為防止通電后出現短接對芯片造成損傷等情況,需要排查連接線是否正確,確定無誤后,對實物進行通電調試。給實物接上5V電源,開始對電子稱經行調試,首先需要校準調試,經調試后誤差不超過5g,能夠正常使用,接著對按鍵進行調試,復位、去皮、校準功能能夠正常工作,放上10kg砝碼,LED能夠亮,蜂鳴器能夠工作,硬件調試完成。
本設計實現了以AT89C51單片機為主控芯片的電子秤,配備精度較高的壓力傳感器和專用A/D轉換器模塊HX711,具備實時顯示、超重報警等功能。該電子秤使用簡單、攜帶方便、計量準確,可以滿足基本需求。由于使用了單片機系統,可以通過電路擴展實現電子秤的進一步智能化,如顯示日期、計算價格、語音播報、上傳數據到APP等[5~6],也是未來工作的方向。