藍奇 吳奕 李林政 邱欣怡 翟文博 蘇文錦 余倩倩
摘要:該文通過應變片稱重傳感器采集物品重量信號,由HX711前級電路對傳感器發(fā)出的信號經(jīng)基于ATmage328的Arduino UNO為核心的控制單元對數(shù)據(jù)進行處理,并傳輸?shù)絆LED屏顯示和語音模塊播報,通過編寫程序和硬件設備的結合,實現(xiàn)量程為0~1 000g的電子秤。系統(tǒng)還搭配有HC_05藍牙模塊,以實現(xiàn)手機與Arduino UNO之間的通信。
關鍵詞:Arduino;電子秤;應變片稱重傳感器;語音播報;藍牙
中圖分類號:TP311? ? ? ? 文獻標識碼:A
文章編號:1009-3044(2023)13-0096-03
開放科學(資源服務)標識碼(OSID)
稱重技術是一項重要的計量方法, 普遍應用于工農(nóng)業(yè)、科研、貿(mào)易等領域,與人民的商貿(mào)往來密不可分。隨著國內(nèi)電子技術的水平不斷提升,我國電子秤的開發(fā)和制造得以飛速發(fā)展,小體積、模塊化、集成化、智能化已然是電子秤的主流導向[1]。單一的機械秤已經(jīng)不能滿足人們在科技生活中的需求,基于現(xiàn)今科技的飛速發(fā)展,智能電子秤隨之誕生,智能電子秤的發(fā)展縮短了市場經(jīng)濟交易的時間,極大促進經(jīng)濟生活的便捷,因此得到眾多用戶的認可和喜愛[2]。智能電子秤是檢測與轉換技術、信號處理和計算機技術結合為一體的儀器[3]。在保證系統(tǒng)的測量精確度和實用性情況下,本文以基于ATmage328的Arduino UNO為核心,通過編寫程序和硬件設備的結合,實現(xiàn)量程為0g~10 000g的電子秤。其中ATmage328為核心控制單元實現(xiàn)對數(shù)據(jù)的處理,外圍設備使用稱重傳感器對物體重量進行采集,由24位 A/D轉換芯片—HX711,將傳感器模擬信號轉為數(shù)字信號,通過ATmage328接收處理并輸出到OLED屏和語音模塊,物體重量通過OLED顯示和語音模塊的播報。系統(tǒng)還使用HC_08藍牙模塊進行通信,可以實現(xiàn)手機與Arduino UNO之間的通信和控制。
1 系統(tǒng)設計方案
系統(tǒng)使用直流5V為主要供電電源,向處理器、OLED屏、語音模塊等提供工作電壓,其中稱重傳感器的工作電壓是由HX711芯片提供的模擬電壓。當稱重傳感器上的秤盤有物品放下時,粘貼在懸臂梁上的電阻應變片隨同懸臂梁一起發(fā)生形變,傳感器的平衡態(tài)被打破,使其輸出信號發(fā)生改變,經(jīng)HX711芯片為主的前級處理電路進行濾波、放大、A/D轉換,得到的一定線性關系的數(shù)字信號,將信號輸送至ATmage328處理器進行處理,進而實現(xiàn)OLED屏顯示重量、語音播報重量、連接手機藍牙、去皮和重量校準功能。系統(tǒng)框架如圖1所示。
系統(tǒng)本著低功耗和高性能以及實用性出發(fā),以電阻應變式傳感器為基礎設計,其主要實現(xiàn)功能如下:
1) 重量檢測功能,對秤盤上的物品進行重量測量,量程為0~10 000g,誤差為±1g;
2) 顯示功能,通過OLED屏顯示物品重量;
3) 語音播報功能,實現(xiàn)對物品重量進行播報;
4) 報警功能,當物品重量大于10 000g,其通過蜂鳴器發(fā)出報警聲,并且紅色LED燈亮起;
5) 按鍵功能,通過按鍵可實現(xiàn)切換單位,包含的單位有斤、g、Kg;
6) 具備去皮和重量校準功能;
7) 實現(xiàn)電子秤與手機之間進行藍牙通信功能。
2 系統(tǒng)硬件設計
本設計所接的外圍設備較多,主控芯片要滿足內(nèi)存容量大、高速運行、低功耗及價格合理等要求,所以采用基于ATmage328芯片的MCU(Microcontroller Unit) ,ATmage328是一款8位二進制數(shù)的微控制器,擁有2048字節(jié)的靜態(tài)隨機存儲器,對固定地址編程可做到程序的加密;1024字節(jié)的EEPROM存儲器,其擦寫次數(shù)不少于100 000次[4]。根據(jù)設計的要求,整個系統(tǒng)可以分為以下幾個部分:系統(tǒng)電源模塊、應變片稱重傳感器模塊、顯示模塊、串口燒錄模塊、語音播報模塊、藍牙模塊等。
2.1 系統(tǒng)電源的設計
系統(tǒng)中的中控芯片、HX711模塊、語音播報模塊,液晶顯示器正常工作電壓都為5V,為了保證電子秤運行的穩(wěn)定性和可靠性,需要電路穩(wěn)定輸出5V的電壓。此次設計采用雙電源提供5V的工作電壓,USB TO TTL燒錄模塊中的CH340芯片可提供5V電壓。也可以使用外接電源作為系統(tǒng)的供電電源,外接電源情況下采用LM7805芯片將外置高于5V的電源電壓壓降至5V輸出,同時LM7805要加上兩個濾波電容保證電壓輸出的穩(wěn)定性,此外電路搭配一個LED燈,保證電源電路的正常工作。
2.2 系統(tǒng)串口程序燒錄設計
使用帶有DTR的USB串口模塊,該模塊使用CH340E為主控芯片,實現(xiàn)USB轉TTL,DTR引腳在燒錄程序時,需要通過一個0.1uF的電容連接到ATmage328P的RESET。使用該模塊可直接使用Arduino IDE燒錄程序,無須像KELI軟件生成HEX文件再借于ISP軟件燒錄程序,使程序調試更加方便快捷。
2.3 稱重傳感器設計
稱重傳感器是整個系統(tǒng)研究過程中的重要部分,傳感器性能對整個測量電路的設計以及測試的精度和好壞有著重要的影響[5]。常見的稱重傳感器(又稱壓力傳感器)有電阻應變片式傳感器、電容式壓力傳感器和壓電式壓力傳感器[6]。系統(tǒng)采用電阻式應變式壓力傳感器,由彈性元件、電阻應變片、電橋電路和傳輸線四部分組成[7]。本設計選擇65Mn高碳鋼作為彈性體,使用BFH120-10AA-D-D300型應變片,為了消除溫度誤差和側向力等干擾誤差,采用惠斯通電橋全橋連接方法,將四組電阻應變片粘貼在懸臂梁中間上下表面,處于同一個溫度場中,構成四個臂阻,當傳感器沒有壓力作用時,調整電橋參數(shù),使之達到平衡,消除溫度誤差和側向力等干擾誤差。當傳感器受到壓力作用時,通過惠斯通電橋將應變片電阻值細微的變化轉換成電壓值輸出,經(jīng)HX711芯片為主的前級信號處理電路,把電橋輸出的信號進行放大、濾波、A/D轉換,輸送至Arduino處理,Arduino將從傳感器得到的數(shù)字信號進行處理,把具體的數(shù)值和質量輸送至OLED屏,完成對重量的顯示[8]。OLED主要由SSH1106芯片驅動。前級信號處理原理如圖3所示。
2.4 語音播報、超重報警和藍牙模塊
TTS模塊采用URAT通信協(xié)議,在數(shù)據(jù)傳輸上只需占用總控芯片的TX,RX兩個引腳,其內(nèi)部原理圖如下圖所示。其中8002B為功放芯片,將接收的信號進行放大,JQ8400芯片將信號轉換為不同頻率的高低電平傳輸?shù)綋P聲器,實現(xiàn)對重量和單位的語音播報。電路如圖4所示。
超重報警電路用于當物體重量超出電子秤的最大量程時發(fā)出警報聲,提醒使用者,以免造成電子秤損壞。報警電路由NPN型的9013B三極管、蜂鳴器和LED燈組成。三極管基極串聯(lián)一個10K的電阻,電阻一端接至Atmage328的17引腳,當物品重量大于額定值時,Arduino的17引腳輸出高電平時,三極管導通,蜂鳴器的負極與GND得以接通,蜂鳴器響起,LED燈點亮;當Arduino引腳為低電平時,三極管截止,蜂鳴器和LED燈停止工作。
設計系統(tǒng)時,將HC_05藍牙模塊連接至開發(fā)板預留的排針接口,安裝對應軟件并打開手機藍牙,稍等幾秒鐘,即可找到對應藍牙模塊的設備名稱和通信地址,點擊就可與藍牙模塊的連接,進而實現(xiàn)手機移動設備與HC_05藍牙模塊之間的無線通信,通過串口引腳的數(shù)據(jù)傳輸或者高低電平變化,實現(xiàn)與單片機的通信,然后通過藍牙模塊作為橋梁實現(xiàn)手機設備對單片機系統(tǒng)的控制。藍牙連接電路由HC_05藍牙模塊和AMS1117等組成,AMS1117芯片與電容的結合5V電源壓降至3.3V,實現(xiàn)對藍牙模塊的穩(wěn)定供電。
3 程序設計
本設計使用的編程語言為C語言,編譯環(huán)境為Arduino IDE 1.8.16,編譯系統(tǒng)Window 10 ×64。編譯完成后Arduino IDE無須生成HEX文件,使用USB線即可完成程序的燒錄。根據(jù)系統(tǒng)設計要求,系統(tǒng)程序主框架如圖5所示。
3.1 重量采集子程序
重量采集程序是獲取HX711芯片從重量傳感器上得到的24位數(shù)字信號,對其進行移位寄存,獲得一個長整形數(shù)據(jù)[9]。
3.2 顯示、語音播報和藍牙連接子程序
本次設計使用的OLED屏通信協(xié)議為IIC。顯示程序在秤盤沒有重物時,顯示時間和日期。當有物體放在秤盤上時,MCU根據(jù)得到的重量數(shù)據(jù)進行處理,將結果傳送給OLED屏顯示物體的重量內(nèi)容。使用的語音播報模塊支持中文 GBK 編碼集,在傳送數(shù)據(jù)前需將MCU得到的16進制數(shù)轉碼成GBK碼,最后由語音合成芯片合成文本播放。因語音播報模塊已將ATmage328芯片原有的RXD、TXD引腳占用,藍牙模塊與ATmage328芯片的通訊,將借助Arduino庫中的SoftwareSerial函數(shù)庫,將芯片的8、9引腳作為RXD、TXD引腳,設置波特率為9600 Mpbs,在void setup程序中配mySerial.begin(9600)。在該庫的支持下,通過程序模擬將Atmage328p芯片的數(shù)字I/O引腳轉為串口通信引腳,實現(xiàn)通信功能。手機端軟件界面如圖6所示。
4 電路實物和重量采集測試結果
系統(tǒng)實物圖如圖7所示,當沒有物體放在秤盤上時,OLED屏顯示0.000Kg;當有物體放下時,屏幕顯示對應的數(shù)值。
放上標準砝碼測量,砝碼重量分別為5g、20g、50g、100g、150g、200g、500g、800g、1000g,重復測量三次,計算實際數(shù)據(jù)和標準砝碼之間的重量誤差,根據(jù)結果得出電子秤的稱重精度,實驗測試結果如表1所示。由實驗數(shù)據(jù)可知,電子秤的測量誤差僅為±1g,達到本次設計要求。
5 結束語
本文基于ATmage328的Arduino UNO單片機,以電阻應變式壓力傳感器為應用研究對象,進行智能電子秤系統(tǒng)的研究和設計。主要完成了對1 000g重量以下物品的精準測量,同時將重量數(shù)據(jù)以多種形式向外傳送:1) OLED屏顯示物體重量;2) 語音播報物體重量;3) 手機移動設備實時接收重量數(shù)據(jù)。本次設計主要借用XH711芯片為主的前級處理電路,將壓力傳感器的模擬信號轉換成穩(wěn)定準確數(shù)字信號,基于ATmage328芯片的性能和功能特點,令電子秤系統(tǒng)得以正常運行。
參考文獻:
[1] 尹雪,郝世豪,陳楠.電子秤檢定與稱量誤差補償方法的分析[J].設備管理與維修,2021(2):23-24.
[2] 王俊芳,王海斌,倪曉昌,等.基于電阻應變片式傳感器的電子秤設計與實現(xiàn)[J].智能計算機與應用,2016,6(6):121-123,126.
[3] 麥偉添,高寧,姚家前.基于稱重技術在蒸烤箱產(chǎn)品的應用研究[C]//2021年中國家用電器技術大會論文集.合肥,2021:1443-1447.
[4] 孫建來,付攀.基于Arduino Uno嵌入式系統(tǒng)的某型機起落架艙水平測量技術研究[J].電子設計工程,2021,29(7):143-146,151.
[5] 趙芳,趙子雯.稱重傳感器的基本原理及非線性誤差補償方法[J].農(nóng)機使用與維修,2019(2):16-17.
[6] 趙洪葳,張雪嬌.壓力傳感器在可計算價格電子秤中的應用[J].數(shù)碼世界,2019(1):219.
[7] 唐朝棟.單片機技術視角下智能電子秤的設計[J].電子技術與軟件工程,2021(22):91-93.
[8] 何華平,徐偉,何立蜓,等.一種基于運算放大器的高靈敏度惠斯通電橋[J].物理通報,2022(3):121-126.
[9] 梁芳芳.基于HX711多功能的智能電子秤的設計[J].工程技術研究,2021,6(15):136-140.
【通聯(lián)編輯:梁書】