藍(lán)奇 吳奕 李林政 邱欣怡 翟文博 蘇文錦 余倩倩



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