劉西平+劉錦輝
摘要:智能電子秤給人們的經(jīng)濟生活帶來了極大的便利,受到廣大用戶的青睞。本文以MSP430單片機為核心,通過一系列軟硬件設計,實現(xiàn)了小重量物體的稱重功能,并通過液晶顯示模塊和基于ISD1760的語音模塊實現(xiàn)稱重數(shù)字化顯示并精確語音播報功能。系統(tǒng)以編程后的單片機為控制核心,物體的重量通過HX711傳感器稱重模塊轉化為電信號,并經(jīng)由AD轉換,將信號輸送給LCD液晶顯示模塊和ISD1760語音播報模塊,從而將實際稱得的重量實時通過LCD顯示并語音播報。
關鍵詞:傳感器;HX711;單片機;語音模塊
中圖分類號:TP391 文獻標識碼:A 文章編號:1009-3044(2016)10-0255-02
智能電子秤按照設計要求,應分為數(shù)據(jù)采集模塊、控制器模塊、人機交互液晶顯示界面三大模塊。在功能擴展上,還可以增加一個語音播報功能使電子秤的設計更人性化智能化。基于此,本系統(tǒng)的實現(xiàn)包含硬件和軟件設計兩大部分,具體以MSP430 單片機為核心控制器,以電阻應變式壓力傳感器后接HX711模塊實現(xiàn)信號轉換、采集和放大,從而將物體重量轉換成單片機可處理的電壓信號。將處理好的電壓信號送到LCD顯示模塊和基于ISD1760的語音播報模塊,在這之前需要先將合成的語音片段按地址存入到ISD1760芯片中,記錄每一個語音片段的地址,從而通過程序調用,實現(xiàn)按照實際稱重值進行語音播報。
1 系統(tǒng)硬件設計方案
1.1系統(tǒng)硬件工作原理
該系統(tǒng)硬件主要包括單片機最小系統(tǒng)、基于HX711傳感器稱重模塊、LCD顯示模塊和基于ISD1760的語音播報模塊,其中,單片機最小系統(tǒng)板是M430G2553開發(fā)板,傳感器稱重模塊采用雙孔懸臂平行梁應變式稱重傳感器。顯示模塊采用INEX-GLCD5110,語音模塊采用ISD1760芯片加外圍擴展構成。系統(tǒng)硬件控制電路總體框圖如下圖1所示:
系統(tǒng)的工作原理為:首先通過USB線給整個系統(tǒng)供電,然后將寫好的程序寫入M430單片機中,將單片機的引腳信號加載到稱重模塊、LCD顯示模塊和語音播報模塊,從而使整個系統(tǒng)工作起來。當有物體放到秤臺上時,即可顯示并播報重量。
1.2系統(tǒng)硬件設計
1.2.1單片機最小系統(tǒng)模塊
MSP430 系列單片機是一個16 位的單片機,采用了精簡指令集(RISC )結構,具有豐富的尋址方式(7 種源操作數(shù)尋址、4 種目的操作數(shù)尋址);大量的寄存器、片內數(shù)據(jù)存儲器及高效的查表處理指令使其具有較高的處理速度,在8MHz 晶體驅動下指令周期為125 ns,這些特點保證了可編制出高效率的源程序。
1.2.2基于HX711的傳感器稱重模塊
1)基本器件介紹
HX711傳感器模塊由帶128 倍增益的24bit AD 模塊、20Kg壓力傳感器組成,通過對應端口連接到單片機的控制端,實現(xiàn)對物體重量的測量。各模塊與HX711連接示意圖如下圖2所示:
2)基本原理講解
①20kg 傳感器
滿量程輸出電壓=激勵電壓*靈敏度2.0mv/v
②HX711模塊對產(chǎn)生的5mV電壓進行采樣。
步驟1:如何計算傳感器供電電壓
HX711可以在產(chǎn)生VAVDD 和AGND電壓,即HX711模塊上的E+和E-電壓。
該電壓通過VAVDD=VBG(R1 +R2 )/R2計算。
步驟2:如何計算AD輸出最大值
在4.3V的供電電壓下20Kg 的傳感器最大輸出電壓是4.3v*2mv/V = 8.6mV
經(jīng)過128倍放大后,最大電壓為8.6mV*128 = 1100.8mV
經(jīng)過AD 轉換后輸出的24bit 數(shù)字值最大為:550.4mV*224/4.3V ≈ 4294967
步驟3:程序中數(shù)據(jù)如何轉換
程序中通過HX711_Buffer = HX711_Read();獲取當前采樣的AD 值,最大4294967,存放在long 型變量HX711_Buffer中,因 long 型變量計算速率和存放空間占用資源太多,固除以100,縮放為int 型,便于后續(xù)計算。
Weight_Shiwu = HX711_Buffer/100;Weight_Shiwu 最大為42949。
步驟4:如何將AD值反向轉換為重力值。
假設重力為x Kg,(x<20Kg),測量出來的AD值為y
20Kg傳感器輸出,發(fā)送給AD模塊兒的電壓為A Kg * 8.6mV / 20Kg = 0.43A mV
經(jīng)過128倍增益后為128 * 0.43A = 55.04AmV
轉換為24bit 數(shù)字信號為55.04 A mV * 224 / 4.3V = 214748.3648A
所以y = 214748.3648A /100 = 2147.483648 A
因此得出A = y / 2147.483648 Kg ≈ y / 2.15 g
連接好的稱重模塊如下圖3所示。
1.2.3基于ISD1760的語音播報模塊
ISD1700 系列芯片內部包括:麥克風前置擴大器、自動增益控制、揚聲器驅動線路、振蕩器與內存等全方位整合系統(tǒng)功能。
在本設計中,為實現(xiàn)語音播報功能須事先將需要的聲音通過線錄的方式存入芯片內,當將此模塊連進系統(tǒng)后則可直接通過程序調用語音。連接好的語音播報模塊實物圖如下圖4所示。
2 系統(tǒng)軟件設計方案
2.1 軟件功能設計目標
稱重是系統(tǒng)的核心,語音播報是亮點。因此本次軟件開發(fā)在Windows系統(tǒng)TI CCS平臺下采用模塊化設計,包括主程序,傳感器處理子程序,LCD液晶顯示子程序及ISD1760語音芯片驅動子程序等。
稱重傳感器數(shù)據(jù)處理子程序是通過稱重傳感器的模擬信號進行放大,AD轉換來讀取稱重值。LCD顯示子程序主要用來直觀顯示稱重值。語音播報程序是在獲得稱重值之后將稱重值報讀出來,主要是通過SPI總線對語音芯片ISD1760進行操作。程序流程結構如上圖5所示。
2.2系統(tǒng)軟件設計
2.2.1 Altium Designer 軟件使用
使用Altium Designer 繪制單片機最小系統(tǒng)、稱重模塊、LCD顯示模塊電路原理圖、PCB圖:
如圖7、8所示。
2.2.2用CCS軟件編寫單片機控制程序
1)程序中主要變量和函數(shù)
//5110IO口初始化
voidio_initial(void)
{ P1DIR |= BIT6+BIT7;//設置為輸出
2DIR |= BIT0+BIT3+BIT4+BIT5;
}
//獲取毛皮質量
voidGet_Maopi()
{HX711_Buffer = HX711_Read();
Weight_Maopi=HX711_Buffer/100;}
voidGet_Weight()
{ Weight_Shiwu=0;
HX711_Buffer = HX711_Read();
HX711_Buffer= HX711_Buffer/100;
Weight_Shiwu = HX711_Buffer;
//獲取實物的AD采樣數(shù)值Weight_Shiwu=(unsigned int)((float)Weight_Shiwu/2.15+0.5);}
//芯片IO初始化
voidIO_initial(void)
{ P2DIR &=~ BIT2;//設置為輸入
P2DIR |= BIT0+BIT1;
P1DIR |= BIT5;//設置為輸出
DISENISD1760_SS;
ISD1760_SCLK_H;
ISD1760_MOSI_L;
}
3 系統(tǒng)測試及總結
3.1系統(tǒng)測試方案
msp430采用TI MSP430 LunchPad 最小系統(tǒng)板,不必進行測試。對ISD1760語音模塊測試,焊接了由STC89C51RC(調試及錄音用)與ISD1760芯片組成的語音板, 利用上位機軟件進行了ISD1760器件復位,上電,錄音,獲取錄音地址,播放錄音等調試,以便將SPI通信移植到MSP430上。系統(tǒng)整體硬件連接實物圖如上圖6所示。
3.2項目總結
經(jīng)過多次20kg以下重物稱重測試,該系統(tǒng)重復稱重精度能達到III類標準,液晶顯示功能正常,語音播報及時準確,較好的達到了預期效果。存在的不足是傳感器有時信號傳遞不穩(wěn)定,稱重誤差較大。如果改用高精密度的傳感器,效果定會明顯改善。
該系統(tǒng)操作簡單,性能穩(wěn)定,硬件選配合理,價格低廉,且易于擴展。軟件部分加入了人性化設計,如超重報警,語音播報等特色功能,智能化、自動化程度較高。同時該系統(tǒng)可擴展性較強,通過對軟硬件的修改或擴展,如添加鍵盤等,即能設計出富有特色的計價秤、電子臺秤等,因此具備一定的工業(yè)應用價值。
參考文獻:
[1] 程林.超省電型電子秤的設計方案[D]. 福州:福建省計量科學技術研究所,2008.
[2] 趙茂泰.電子測量儀器設計[M].武漢: 華中科技大學出版社. 2010.