基于ARM內核、12864液晶顯示屏、HX711A/D轉換器和ZigBee無(wú)線(xiàn)通信技術(shù),設計了多秤 盤(pán)高精度智能系統。給出了系統的組成及工作原理,闡述了系統主要硬件和軟件的設計。該系統采用多秤 盤(pán)作為Zi g B e e無(wú)線(xiàn)組網(wǎng)的節點(diǎn),與協(xié)調器之間進(jìn)行信息交互。用無(wú)線(xiàn)替代了傳統的線(xiàn)纜連接秤盤(pán)方式,實(shí) 現了1個(gè)電子秤同時(shí)對多種商品稱(chēng)重的功能。
0.引言
近年來(lái),電子稱(chēng)重越來(lái)越多涉及數據處理和過(guò) 程控制?,F代稱(chēng)重技術(shù)和數據系統已經(jīng)成為工藝 技術(shù)、儲運技術(shù)、預包裝技術(shù)、收貨業(yè)務(wù)及商業(yè)銷(xiāo)售 領(lǐng)域中不可缺少的組成部分。在此介紹的是基于 STM32單片機控制的多秤盤(pán)電子秤系統,每一路 稱(chēng)重傳感器對物品的重量進(jìn)行檢測,然后通過(guò)模數 轉換芯片HX711將數據采集,最后將這一路的信 息通過(guò)ZigBee網(wǎng)絡(luò )上傳到協(xié)調器。其余幾路對稱(chēng) 重信息也是同樣的處理,協(xié)調器對多路數據進(jìn)行整 理,通過(guò)串口上傳到STM32,并實(shí)時(shí)顯示到液晶屏 上。系統在完成稱(chēng)重的同時(shí),還提供了一些計算功 能。對于商品價(jià)格的設定,可以通過(guò)按鍵輸入,或 者由上位機去設定,實(shí)現了較高的稱(chēng)重精度,打破 了傳統的一個(gè)CPU對應一個(gè)秤盤(pán)的局限,提高了 電子秤的靈活性,同時(shí)降低了其成本。在一個(gè)顯 示屏上可以同時(shí)顯示各個(gè)秤盤(pán)的商品重量與價(jià)格, 具有很大的實(shí)用性,給用戶(hù)帶來(lái)了很大的便捷,具 有很好的商業(yè)前景。
1.系統總體設計
系統通過(guò)協(xié)調器把各個(gè)節點(diǎn)模塊組合在一起, 自動(dòng)將各個(gè)托盤(pán)的質(zhì)量除去,實(shí)現上電自動(dòng)校零功 能。對于每一路秤盤(pán),當有物體放在托盤(pán)的時(shí)候, 壓力式傳感器發(fā)生形變,使電橋失去平衡輸出一個(gè)電壓值,hx71 1將這個(gè)電壓采集放大,得到一個(gè)對 應的數字信號,節點(diǎn)將這個(gè)信號通過(guò)ZigBee網(wǎng)絡(luò )上傳到協(xié)調器。協(xié)調器通過(guò)串口與STM32單片機通 信,最后,STM 3 2對各路信息處理后在液晶顯示屏 指定位置上顯示出物品重量。通過(guò)這樣的方式實(shí) 現多路秤盤(pán)同時(shí)稱(chēng)重功能,與此同時(shí),當物品指示 燈閃爍則表示托盤(pán)上有物體。系統不僅實(shí)現了稱(chēng) 重功能,而且還能夠計算和存儲。通過(guò)按鍵或者上 位機設置各路物品單價(jià)和數量,顯示出商品的價(jià) 格。具有價(jià)格低廉,使用方便等優(yōu)點(diǎn)。其中系統的 總體結構如圖1所示。
2.系統硬件設計
2.1傳感器模塊
本設計選擇的傳傳器模塊是電阻應變式壓力 傳感器,其中最主要的核心是電阻應變片。電阻應 變片是一種將被測量器件的應變變化轉換為一種 電信號的敏感器件。在實(shí)際使用的時(shí)候,通常是將 應變片通過(guò)特殊的粘合劑緊密地粘合在受力產(chǎn)生 形變的物體表面。當被測物體受力產(chǎn)生應力變化 的時(shí)候,電阻應變片也相應地跟著(zhù)拉伸。這樣就會(huì ) 導致電阻阻值的變化,然后反映在加在電阻上面的 電壓變化。電阻變化是很微小的,將應變片組成橋 式的結構[3]。通過(guò)信號放大等處理,傳送給STM32 單片機執行相應的操作。各路傳感器模塊的電路 如圖2所示。
圖2傳感器模塊 橋式測量電路中有4個(gè)電阻,電橋對角接入工 作電壓,另一個(gè)對角是輸出電壓。在此電橋電路 中,當4個(gè)橋臂達到電橋平衡的關(guān)系時(shí),輸出的電壓 就應該為0。如果失去平衡就會(huì )輸出一個(gè)電壓,靈 敏檢流計能夠檢測出該信號,或者將該信號放大后 檢測。所以電橋能夠很精確地檢測出微小的電阻 變化,也就是微小的形變也能檢測出來(lái),靈敏度很 高。在全橋測量電路中,將受力性質(zhì)相同的兩片應 變片接入電橋對邊。輸出靈敏度比半橋提高了 1 倍,非線(xiàn)性誤差和溫度均得到了改善。
2. 2 A/D轉換模塊設計
HX711是一款專(zhuān)為高精度電子秤而設計的24 位A/D轉換器芯片。該芯片集成了穩壓電源、片 內時(shí)鐘振蕩器。具有集成度高、響應速度快和抗干 擾性強等優(yōu)點(diǎn)。部分電路如圖3所示。
圖3 A/D轉換模塊 對每一路的電壓信息進(jìn)行高精度采集,然后通 過(guò)ZigBee網(wǎng)絡(luò )將采集的壓力信號發(fā)送給協(xié)調器。 CPU把這個(gè)信號轉變成重量,在LCD指定位置進(jìn) 行顯示。同時(shí),用戶(hù)可以通過(guò)按鍵方式對每個(gè)秤盤(pán) 的重量、價(jià)格等信息進(jìn)行計算。
2 .3 CC2530 模塊
本設計是將每一路秤盤(pán)節點(diǎn)采集的壓力信息, 通過(guò)ZigBee網(wǎng)絡(luò )上傳到CC2530協(xié)調器。協(xié)調器 采用星型網(wǎng)絡(luò )與各節點(diǎn)間實(shí)現通信。ZigBee是基 于IEEE802. 15. 4標準的低功耗局域網(wǎng)協(xié)議,是一 種短距離、低功耗的無(wú)線(xiàn)通信技術(shù)。該模塊選用 了 TI公司的CC2530芯片來(lái)設計,在片內集成了 8 位的8051MCU。該模塊性?xún)r(jià)比高,而且使用壽 命長(cháng)。
協(xié)調器設備被激活后,首先進(jìn)行對物理層所默 認的有效信道進(jìn)行能量掃描,以檢測可能存在的網(wǎng) 絡(luò )重疊及PAN ID沖突干擾。并對檢測到的信道按 能量值進(jìn)行信道排序。然后執行主動(dòng)掃描過(guò)程,以 選擇唯一的16位PAN ID,建立自己的網(wǎng)絡(luò )。
為構建一個(gè)完整的ZigBee協(xié)調器,外圍電路 需要32 MHz晶振XTAL1為內部微處理器提供時(shí) 鐘源,射頻部分需要有高精度的電感、電容和PCB 微波傳輸線(xiàn),來(lái)匹配RF輸入輸出的阻抗。
2.4液晶顯示模塊
液晶顯示器的主要原理是以電流刺激液晶分 子產(chǎn)生點(diǎn)、線(xiàn)、面,并配合背部燈管構成畫(huà)面。本次 設計采用帶字庫的12864液晶顯示屏,這個(gè)模塊實(shí) 現了物重的實(shí)時(shí)顯示,把物重的重量、價(jià)格和一些 必要信息展現出來(lái),如圖4所示。
2.5 STM32 模塊
系統采用STM32系列的處理器,它以 STM32F103ZET6為核心,主控芯片采用的是基于 Cortex-M3架構的微控制器。它是32位的ARM 單片機,具有豐富的增強I/O端口和強大的外設資 源。STM32內部SRAM比很多51單片機的Flash 還多,其他外設就更不用說(shuō)了,STM32具有絕對的 優(yōu)勢。并且STM32的價(jià)格與51也是相差不多,性 價(jià)比高,功能也很強大,所以本設計選擇了 STM32 作為主控芯片。
節點(diǎn)采集到秤盤(pán)信息后,上傳到協(xié)調器,協(xié)調 器通過(guò)串口將各路秤盤(pán)信息送給STM32,單片機將 各路信息進(jìn)行處理并實(shí)時(shí)顯示。
3.軟件總體設計
基于STM32控制的多秤盤(pán)無(wú)線(xiàn)智能電子秤, 要實(shí)現稱(chēng)重、顯示物重和計算總價(jià)等智能化功能。 為此,設計了本次程序總的軟件流程,如圖5所示。
3. 1 ZigBee協(xié)調器的工作流程
本設計用了 TI公司免費提供的Z-Stack2006 協(xié)議棧,作為CC2530協(xié)調器的開(kāi)發(fā)平臺。Z- Stack2006協(xié)議棧的開(kāi)發(fā)主要是對應用框架層(AF 層)和應用支持子層(APS層)的修改,并相應地添 加自己的驅動(dòng)程序網(wǎng)絡(luò )層是以庫的形式提供,通 過(guò)調用接口函數可以加入網(wǎng)絡(luò )和查詢(xún)網(wǎng)絡(luò )的狀態(tài), MAC層和物理層也不需改動(dòng)。
ZigBee無(wú)線(xiàn)傳感網(wǎng)絡(luò )協(xié)調器上電后,首先對 CC2530進(jìn)行初始化,然后創(chuàng )建一個(gè)無(wú)線(xiàn)網(wǎng)絡(luò ),選定 一個(gè)PAN ID作為協(xié)調器的網(wǎng)絡(luò )標識,創(chuàng )建路由表, 然后對外發(fā)布廣播幀,通知傳感器節點(diǎn)可以加入該 網(wǎng)絡(luò )。當有子節點(diǎn)申請加入時(shí),為每一個(gè)子節點(diǎn)分 配地址。當需要進(jìn)行數據采集時(shí),網(wǎng)絡(luò )協(xié)調器發(fā)出 數據采集指令,之后等待接收采集到的數據,并將 數據發(fā)送到STM32處理器。網(wǎng)絡(luò )協(xié)調器節點(diǎn)軟件 流程如圖6所示。
3.2稱(chēng)重程序設計流程
本次設計的主要功能是稱(chēng)重,然后計算物體的總 價(jià),稱(chēng)重這個(gè)模塊用到了 2個(gè)很重要的元件。一個(gè)是 電阻應變式壓力傳感器,當被測量物體放在傳感器上 面,傳感器就會(huì )產(chǎn)生機械變形,帶動(dòng)粘合在上面的應 變片變形,這樣橋式的電橋就失去電橋平衡輸出一個(gè) 模擬量電壓。另外一個(gè)是HXH1芯片,該芯片是專(zhuān) 門(mén)為稱(chēng)重而設計的24位A/D轉換芯片。
4.結束語(yǔ)
設計了電子秤控制器,實(shí)現了上電自動(dòng)清零校 正,能夠達到0.01 g的測量精度,并且實(shí)時(shí)地將物 體重量信息顯示在液晶屏上,可以通過(guò)按鍵或者上 位機軟件去設定物品單價(jià)以及數目,具有稱(chēng)重和計 算功能。
ZigBee技術(shù)作為一種新的信息獲取和處理技 術(shù),將其與ARM7架構的STM32單片機相結合。把電子秤做得更加智能化,脫離了傳統的有線(xiàn)、單 秤盤(pán)的局限性,通過(guò)組網(wǎng)的方式就可以實(shí)現系統秤 盤(pán)的增加與減少;用戶(hù)可以很方便地通過(guò)實(shí)際需求 修改秤盤(pán)數量,也就是組網(wǎng)數量。
本設計通過(guò)對無(wú)線(xiàn)傳感器網(wǎng)絡(luò )的應用,以智能 電子秤為應用對象,設計了基于STM32處理器的 ZigBee無(wú)線(xiàn)多秤盤(pán)電子秤,完成了基于ZigBee網(wǎng)關(guān) 的I/O模塊的硬件原理設計;通過(guò)對ZgBee協(xié)議棧 的分析并結合CC2530的應用,進(jìn)行了系統的整體 軟件設計。實(shí)現了對采集到的重量數據進(jìn)行實(shí)時(shí) 傳輸與計算。解決了多顧客可以同時(shí)進(jìn)行商品的 買(mǎi)賣(mài),不再需要長(cháng)時(shí)間排隊等待的問(wèn)題,大大提高 了賣(mài)家出售商品的效率。這套系統具有很大的實(shí) 際應用價(jià)值,投入市場(chǎng)將會(huì )帶來(lái)很大的經(jīng)濟效益。