馬雅盼, 劉忠富, 李美儀, 趙詩文, 雷 禹
(大連民族大學 信息與通信工程學院, 遼寧 大連 116600)
電子秤是日常生活中常用的稱重設備,在工業生產以及日常生活中廣泛使用。相比傳統的機械式稱重工具,電子秤具有顯示直觀、容易操作、測量精度高等特點。
隨著物聯網技術的發展,傳統電子產品需要具備無線傳輸、網絡連接等功能。本文以單片機 STC89C58RD+為核心的控制單元實現數據的處理,采用壓力傳感器對數據進行采集,具有藍牙HC-05傳輸和打印功能。系統整體結構簡單,使用方便,功能齊全,精度高,能夠無線傳輸,具有一定的開發價值。
本系統在設計上可分為:基本稱重、鍵盤輸入、計算價格、顯示、藍牙傳輸和打印等功能。硬件電路主要是基于單片機 STC89C58RD+為核心的控制單元展開數據的處理[1],采用壓力傳感器對數據進行采集,使用HX711對傳感器采集到的模擬量求得A/D轉換,轉換后的數據送到單片機提供處理顯示,數據顯示由LCD12864 液晶配置生成,液晶顯示效果穩定無閃爍,數據通過藍牙HC-05與手機等建立傳輸,并通過打印機打印顯示結果。系統設計構架如圖1所示。

圖1 系統硬件框圖Fig. 1 Hardware block diagram of system
電子秤節點包括單片機最小系統電路、電源電路、串口通訊電路、數據存儲電路、按鍵掃描電路、顯示電路、以及壓力傳感器檢測模塊、藍牙模塊和打印模塊接口電路。這里,即針對每一部分的功能設計給出如下解析論述。
單片機最小系統中采用的微控制器是STC89C58RD+。設計上則是由時鐘電路和復位電路組成,該電路作為整個系統功能實現的核心單元。連接方式如圖2所示。其中,CY1和CY2 的值通常選擇為30 pF左右,晶振Xl選擇11.059 2 MHz,為了更好地保證振蕩器穩定、可靠地工作,振蕩器電容在安裝上應盡可能地靠近單片機引腳 XTAL1和 XTAL2[2]。

圖2 最小系統電路圖Fig. 2 Microcontroller circuit
本設計使用的是MAX232[3],選用+5 V單電源供電。主要功能是用于將普通5 V的TTL電平轉換為10 V串口通信電平。研究可得串口通訊電路圖如3所示。

圖3 串口通訊電路Fig. 3 Serial communication circuit
數據存儲電路可以存儲數據,即單片機下載了程序后,斷電數據不丟失,這是由AT24C02設計構成的。AT24C02用來存儲不同物品的單價信息。參考電路如圖4所示,AT24C02的A0~A2接地,SCL、SDA接單片機的P3.6和P3.7引腳,WP接地。
鍵盤控制電路為4*4矩陣鍵盤,這樣不僅便于控制,還減少了I/O口的使用[4]。按鍵實現單價調節的功能,每當有一個鍵按下,單片機的P1口檢測到發生動作的按鍵號,根據該按鍵的不同,將向單片機發送不同的調節單價命令,按鍵控制電路即如圖5所示。

圖4 數據存儲電路Fig. 4 Data storage circuit

圖5 按鍵掃描電路Fig. 5 Key scanning circuit
壓力傳感器檢測模塊在硬件上由壓力傳感器HL-8電路和A/D轉換器HX711電路組成[5],主要用于系統的數據采集和模數轉換。其中,數據采集部分由壓力傳感器、信號放大單元集結構成,而模數轉換部分由A/D轉換芯片HX711來調控實際效果。壓力傳感器的工作原理是:運用惠思通電橋,電橋搭建中選用的是電阻應變片式的壓力傳感器,而其獲得廣泛應用的原因是溫度特性好,減小溫度變化帶來的誤差。膜片上的壓力使得電橋不再平衡,從而產生一個差動的輸出信號,這種結構的基本特性之一是其差動輸出電壓與偏置電壓成正比關系,這種關系在一定程度上制約著壓力測量精度,直接決定偏置電源的容限值。當4個橋臂電阻達到預期設定的比例關系時,電橋輸出為零,或者就有電壓輸出。同時,該研究也能提供一種溫度補償的常規通用方法[6]。HX711設計連接電路如圖6所示。

圖6 傳感器接口電路圖Fig. 6 Sensor interface circuit
LCD12864由單片機P0.0~P0.7以及P2.2~P2.7口控制,讀寫接口分別接入P22和P23口。通過軟件編程,利用P22和P23 口來智能處理控制LCD 12864的讀寫功能;而通過利用其他I/O口操作驅動12864的寄存器輸入和顯示數據,從而達到預設顯示目的。
藍牙的型號為HC-05,這是主從一體的藍牙串口模塊。簡單地說,當藍牙設備與藍牙設備配對連接成功后,可以忽略藍牙內部的通信協議,直接將藍牙當做串口用。當建立連接,兩設備共同使用一通道也就是同一個串口,一個設備發送數據到通道中,另外一個設備便可以接收通道中的數據。當然,對于建立這種通道連接是有一定條件的,那就是對藍牙的應用設置后便能支持生成配對連接的AT模式。
藍牙模塊引腳分別為:1腳RXD(接收端)、2腳TXD(發送端)、3腳AT(設置工作模式)、4腳VCC、5腳GND。
HC-05由P30口和P31口連接RXD和TXD控制其數據的接收和發送。通過軟件編程下載后,打開串口調試助手可以看到屏幕上數據的顯示,也可以通過藍牙與手機建立連接,通過手機上的串口調試工具也可以看到數據的顯示。
打印模塊[7]使用的是JF-P32微型熱敏打印機,不僅體積小、打印迅速,并且還配有2種控制方式:一種是并行接口的TTL電平控制,另外一種是串行接口的232電平或TTL電平控制。在本系統中采用了串行接口的232電平。
系統采用了C語言編程[8],程序的編寫重點在于壓力傳感器對不同物品重量檢測的函數算法、藍牙程序設計和打印程序設計。系統首先對單片機的串口、中斷和顯示模塊發出初始化,并不斷對單片機的各模塊接口電路的I/O口循環發出檢測,每當檢測到壓力傳感器有測量信息時,就將測量到的數據提交處理,并在顯示函數再次展開計算,然后再分有線和藍牙兩種途徑給出顯示,最終會通過按鍵控制打印。主程序流程具體如圖7所示。

圖7 主程序流程圖Fig. 7 Main program flow chart
用10個100 g的砝碼構成一組,并代替不同的重物來進行測試。準備就緒后,分別向稱臺上擱置數目不同的砝碼,讀取稱量值,并記錄下來。測量都會存在誤差,測量結果見表1。由表1測量數據可知,系統最大相對誤差小于0.2%。

表1 系統測量數據表Tab. 1 System measurement data sheet
本文將STC89C58RD+單片機、HC-05藍牙模塊、HX711壓力傳感器結合在一起設計推出了一種高精度的電子秤系統,能夠實現超市電子秤智能化,具有一定的推廣價值。
[1] 吳瑋瑋. 基于單片機的電子秤系統設計[J]. 機械與電子,2016,34(5):46-48,54.
[2] 佟瑩欣. 遠距離高精度電子秤設計[J]. 遼寧科技學院學報,2006,8(3):16-17.
[3] 殷金元. 基于單片機設計的多功能電子秤[J]. 無線互聯科技,2017(19):68-69.
[4] 羅及紅. 一種高精度的電子秤設計[J]. 計算機測量與控制,2010,18(8):1955-1958.
[5] 黃俊梅. 基于單片機教學和實訓應用的電子秤的設計[J]. 內燃機與配件,2016(9):153-155.
[6] 武世卿. 電阻應變式傳感器原理及故障分析[J]. 中國科技縱橫,2015(21):56.
[7] 何毅. MCS-51單片微機型電子秤[J]. 建設機械技術與管理,1999(6):17-19.
[8] 馬宏坤. 51系列單片機C語言應用[J]. 工業控制計算機,2016(1):132-134,139.
[9] 劉美娟,張琦,穆遠威. 基于HX711的高精度電子秤的設計[J]. 信息通信,2017(1):142-144.
[10]胡美嬌,高美春. 基于24位A/D轉換的高精度電子秤的設計[J]. 現代計算機(專業版),2013(11中):61-63,68.