提出了一種基于MSP430單片機(jī)與LabVIEW的電子稱量系統(tǒng),包括稱量硬件與LabVIEW上位機(jī)兩部分。硬件執(zhí)行機(jī)構(gòu)包括電阻式平 行梁稱重傳感器、HX711AD轉(zhuǎn)換電路、LCD12864顯示屏、4X4薄膜鍵盤等模塊;LabVIEW上位機(jī)可顯示稱重重量值、物品單價(jià)、金額信息 以及超重報(bào)警等。稱量系統(tǒng)支持傳感器換裝改變最大稱重量,具有測量簡單、精度高、便于攜帶等優(yōu)點(diǎn)。
引言
電子秤,生產(chǎn)生活中十分常見的一種測量工具,主要用 來進(jìn)行計(jì)量質(zhì)量,其使用領(lǐng)域廣泛。電子稱的使用已經(jīng)融 入生活的方方面面,現(xiàn)代電子秤向小型化、智能化方向發(fā)展, 且具有成本低、集成度高、速度快、量程寬、精度高等優(yōu)點(diǎn), 極大地了方便生產(chǎn)生活,收到人們的歡迎。
本文提出的基于MSP430與LabVIEW的電子稱量系統(tǒng), 實(shí)現(xiàn)了傳統(tǒng)電子秤與現(xiàn)代虛擬儀器技術(shù)相結(jié)合,具有精度 高、顯示功能豐富等特點(diǎn)。
1.系統(tǒng)框架與流程
基于MSP430與LabVIEW的電子稱量系統(tǒng)按照設(shè)計(jì) 要求由下位機(jī)執(zhí)行機(jī)構(gòu)與LabVIEW上位機(jī)兩級結(jié)構(gòu)組成。 兩級結(jié)構(gòu)之間通過RS-232串口進(jìn)行通信。下位機(jī)電阻式 壓力傳感器將被測物體轉(zhuǎn)換為傳感器模擬信號,信號經(jīng)過 濾波整形后通過HX711模塊進(jìn)行模數(shù)轉(zhuǎn)換,將模擬信號 轉(zhuǎn)換為數(shù)字信號,并將數(shù)據(jù)傳給MSP430單片機(jī)。本文所 用MSP430單片機(jī)為MSP430F5529LP單片機(jī)。單片機(jī) 通過外接4X4薄膜鍵盤與LCD12864進(jìn)行本地人際交互。 MSP430F5529對HX711模塊傳來的數(shù)據(jù)進(jìn)行處理,得到 被測物體的重量值,并將重量數(shù)值發(fā)送給LabVIEW上位機(jī)。 LabVIEW上位機(jī)支持?jǐn)?shù)據(jù)遠(yuǎn)程訪問等擴(kuò)展功能。特點(diǎn)具有 網(wǎng)絡(luò)化、智能化特點(diǎn)?;?/span>MSP430與LabVIEW的電子稱 量系統(tǒng)組成如圖1所示,系統(tǒng)工作流程如圖2所示。
2.下位設(shè)計(jì)實(shí)現(xiàn)
數(shù)據(jù)采集部分由稱重傳感器、信號放大和A/D轉(zhuǎn)換部 分組成。稱重傳感器為電阻式平衡梁稱重傳感器,信號放 大和A/D轉(zhuǎn)換部分主要由專用型高精度24位AD轉(zhuǎn)換芯片 HX711實(shí)現(xiàn)。
2.1電阻式平衡梁稱重傳感器
實(shí)驗(yàn)電子秤、郵政電子秤、廚房電子秤等一般選用雙孔 懸臂平行梁應(yīng)變式稱重傳感器。它具有精度高、易加工、結(jié) 構(gòu)簡單緊湊、抗偏載能力強(qiáng)、固有頻率高等特點(diǎn)。
將電阻式應(yīng)變片粘貼到受力的力敏型彈性元件上,當(dāng)彈 性元件受力產(chǎn)生變形時(shí),應(yīng)變片將隨之產(chǎn)生相應(yīng)的應(yīng)變,轉(zhuǎn) 化成電阻變化。應(yīng)變片按如圖3所示的電路原理圖進(jìn)行連接, 力引起的電阻變化將轉(zhuǎn)換為測量電路的電壓變化。
電橋的四個(gè)臂上接工作應(yīng)變片,都參與機(jī)械變形,同處 一個(gè)溫度場,溫度影響相互抵消,電壓輸出靈敏度高。
2.2 HX711 AD 轉(zhuǎn)換
HX711是一款專為高精度稱重傳感器而設(shè)計(jì)的24位 A/D轉(zhuǎn)換器芯片⑷。與同類型其它芯片相比,該芯片集成了 包括穩(wěn)壓電源、片內(nèi)時(shí)鐘振蕩器等其它同類型芯片所需要的 外圍電路,具有集成度高、響應(yīng)速度快、抗干擾性強(qiáng)等優(yōu)點(diǎn)。 降低了電子枰的整機(jī)成本,提高了整機(jī)的性能和可靠性。該 芯片與后端MCU芯片的接口和編程非常簡單,所有控制信 號由管腳驅(qū)動,無需對芯片內(nèi)部的寄存器編程。輸入選擇開 關(guān)可任意選取通道A或通道B,與其內(nèi)部的低噪聲可編程 放大器相連。通道A的可編程增益為128或64,對應(yīng)的滿 額度差分輸入信號幅值分別為±20mV或±40mV。通道B 則為固定的32增益,用于系統(tǒng)參數(shù)檢測。芯片內(nèi)提供的穩(wěn) 壓電源可以直接向外部傳感器和芯片內(nèi)的A/D轉(zhuǎn)換器提供 電源,系統(tǒng)板上無需另外的模擬電源。芯片內(nèi)的時(shí)鐘振蕩器 不需要任何外接器件。上電自動復(fù)位功能簡化了開機(jī)的初始 化過程。
2.3 MSP430F5529 單片機(jī)
MSP430F5529單片機(jī)配置集成的USB層和物理層支 持USB 2.0,4個(gè)16位定時(shí)器,一個(gè)高性能的12位模擬數(shù)字 轉(zhuǎn)換器(ADC),兩個(gè)通用串行通信接口(USCI),硬件乘法器、 DMA、實(shí)時(shí)時(shí)鐘模塊與報(bào)警功能,和63個(gè)I/O 口線。具有 較強(qiáng)的數(shù)據(jù)處理功能以及豐富I/O資源,方便支持外部設(shè)備 的接入。
MSP430系列單片機(jī)具有低功耗的特點(diǎn),在CPU無 工作需要時(shí),可進(jìn)入低功耗模式,降低單片機(jī)功耗。綜 合考慮成本、便攜度以及數(shù)據(jù)處理能力,本文系統(tǒng)采用 MSP430F5529LP單片機(jī)作為下位機(jī)執(zhí)行機(jī)構(gòu)處理器。其中, MSP430F5529獲取HX711數(shù)字信號關(guān)鍵查詢?nèi)缦拢?/span>
HX711_Read(void) //增益選擇128,25個(gè)數(shù)據(jù)周期 {
unsignedchar i;
SCKLOW;
count=0;
while(P2IN&BIT3);
for(i=0;i<24;i++)
{
SCKHIGH;
count=count<<1;
SCKLOW;
if(P2IN&BIT3)
16 |電子制作2017年7月
count++;
}
SCKHIGH;
count=countA0x800000;
SCKLOW;
return(count);
}
當(dāng)HX711模塊DOUT口從高電平變低電平后,單片機(jī) 向HX711 CLK 口輸入25個(gè)時(shí)鐘脈沖。其中第一個(gè)時(shí)鐘脈 沖的上升沿將讀出輸出24位數(shù)據(jù)的最高位(MSB),直至 第24個(gè)時(shí)鐘脈沖完成,24位輸出數(shù)據(jù)從最高位至最低位逐 位輸出完成。
3.LabVIEW上位機(jī)設(shè)計(jì)
LabVIEW通過RS-232串口與MSP430下位機(jī)進(jìn)行通 信,獲取執(zhí)行機(jī)構(gòu)測量數(shù)據(jù)。LabVIEW工作流程如圖4所示, 其LabVIEW上位機(jī)部分程序框圖如圖5所示悶。
LabVIEW上位機(jī)程序啟動后將檢測當(dāng)前PC連接的VISA資源。用戶通過選擇VISA資源,并進(jìn)行波特率、數(shù)據(jù) 校驗(yàn)、停止位等VISA配置資源,對VISA進(jìn)行調(diào)用。上位 機(jī)系統(tǒng)成功調(diào)用VISA后,讀取VISA緩沖區(qū)內(nèi)數(shù)據(jù),并將 數(shù)據(jù)存入隊(duì)列(FIF〇,First in first out),以保證數(shù)據(jù)在 內(nèi)存中不會丟失。通過隊(duì)列元素出隊(duì)列,對下位機(jī)傳來的數(shù) 據(jù)進(jìn)行數(shù)據(jù)格式匹配解析得到測量結(jié)果。
4.系統(tǒng)測試與分析
系統(tǒng)采用 MSP430F5529LP 單片機(jī),為 MSP430F5529
單片機(jī)最小板,系統(tǒng)設(shè)計(jì)小巧緊湊,使用無需進(jìn)行測試。外 部輸入、顯示設(shè)備通過I/O資源輸入MSP430單片機(jī)對其 進(jìn)行控制,使用方便。
MSP430單片機(jī)與LabVIEW上位機(jī)通過PL2302USB 轉(zhuǎn)RS-232模塊進(jìn)行通信。LabVIEW通過數(shù)據(jù)隊(duì)列對數(shù)據(jù)進(jìn)行保存處理,保證了數(shù)據(jù)無丟失現(xiàn)象。
該系統(tǒng)操作簡便,性能穩(wěn)定,精度高,成本低,人際交 互性能好,且易于擴(kuò)展。系統(tǒng)設(shè)計(jì)智能化、自動化程度較高, 具備一定的實(shí)驗(yàn)、工業(yè)應(yīng)用價(jià)值。