由于中小型企業(yè)在稱量與結(jié)算工資方面一般采用手寫方式記錄,這不僅增加了工作量,也會(huì)造成工資的誤算。針對(duì)上述問(wèn)題,我們?cè)O(shè)計(jì)并完成了集稱量與結(jié)算的 一體化設(shè)備。方案采用20位AD芯片ADS1230對(duì)物重進(jìn)行精確稱量,通過(guò)物重計(jì)算出具體工資,再利用RFID技術(shù)的射頻讀寫器將重量與工資儲(chǔ)存至非接觸式IC卡,并顯示 至LCD,完成工資結(jié)算。
引言
生產(chǎn)加工的自動(dòng)化己經(jīng)成為當(dāng)今的潮流, 稱重與工資結(jié)算通過(guò)電子器件將其結(jié)合,有利 于生產(chǎn)的高效性及減少人工計(jì)算差錯(cuò)。本設(shè)計(jì) 采用STM32系列芯片,具有高性能、低成本、 低功耗的嵌入式應(yīng)用專門設(shè)計(jì)的ARM Cortex-M3 內(nèi)核,時(shí)鐘頻率可達(dá)72M,內(nèi)置32K到128K的閃 存,價(jià)格同比其他32位產(chǎn)品更低。因此本設(shè)計(jì) 采用STM32F103RBT6作為主控制芯片,對(duì)數(shù)據(jù) 進(jìn)行采集,存儲(chǔ),顯示,收送。
2.整體設(shè)計(jì)
整個(gè)電路可分為4個(gè)模塊:?jiǎn)纹瑱C(jī)主控 器、測(cè)量模塊、IC卡讀寫模塊、OLED顯示模 塊。具體電路如圖1所示。
2.1測(cè)量模塊
為了實(shí)現(xiàn)高精度測(cè)量,采用TI公司生產(chǎn) 的20位AD芯片ADS1230,對(duì)壓力傳感器進(jìn)行電 壓采樣,實(shí)現(xiàn)稱重的數(shù)字化,由STM32讀取數(shù) 據(jù),通過(guò)均值濾波得到精確的模擬量,最后通過(guò)校準(zhǔn)儀器校準(zhǔn)。
設(shè)備使用LM2940穩(wěn)壓5V芯片供電,輸出噪 聲150MVrms,能滿足設(shè)計(jì)要求。采用兩路供電 方式為芯片供電,以減少電源紋波。ADS1230 芯片數(shù)字端供電5V,模擬端供電5V,模擬信號(hào) 通過(guò)AINP與AINN兩個(gè)差分信號(hào)輸入端輸入, 在內(nèi)部PGA放大128倍原始信號(hào),采樣速率是 10SPS,最后通過(guò)AD—DOT、AD—SCLK、PDMN三個(gè) 數(shù)字引腳讀取采樣信號(hào)模擬量。J1、J3是壓力 傳感器信號(hào)輸出端,J4、J6為傳感器供電端。 20位的AD采樣精度達(dá)到0. 0001%,按照實(shí)際情 況傳感器的精度必須小于0.0001%。本設(shè)計(jì) 采用的傳感器精度是C3 (1/3000),量程0— 2000g,使用5V供電,精度可達(dá)到0.01g。如圖 2所示。
圖3表示出ADS1230讀數(shù)據(jù)的時(shí)序,SCLK是 AD芯片數(shù)據(jù)的時(shí)鐘控制線,在時(shí)鐘下降沿采樣 DOUT數(shù)據(jù);DOUT是AD芯片的數(shù)據(jù)線,當(dāng)一次采 樣結(jié)束后,DOUT端會(huì)輸出一個(gè)脈沖信號(hào),表示 芯片己準(zhǔn)備好數(shù)據(jù)發(fā)送,信號(hào)從高19位開始傳 輸,到達(dá)0位后,繼續(xù)傳輸4個(gè)時(shí)鐘信號(hào)。
2.2RFID智能卡
此模塊采用RC522芯片進(jìn)行射頻讀寫,MF RC522利用了先進(jìn)的調(diào)制和解調(diào)概念,完全集成 了在13. 56MHz下所有類型的被動(dòng)非接觸式通信 方式和協(xié)議,支持ISO14443A的多層應(yīng)用。其內(nèi) 部發(fā)送器部分可驅(qū)動(dòng)讀寫器天線與ISO 14443A/ MIFARE卡和應(yīng)答機(jī)的通信,無(wú)需其它的電路。 接收器部分提供一個(gè)堅(jiān)固而有效的解調(diào)和解碼 電路,用于處理ISO14443A兼容的應(yīng)答器信號(hào)。 數(shù)字部分處理ISO14443A幀和錯(cuò)誤檢測(cè)(奇偶 &CRC)。此外,它還支持快速CRYPTO1加密算 法,用于驗(yàn)證MIFARE系列產(chǎn)品。MFRC522支持 MIFARE更高速的非接觸式通信,雙向數(shù)據(jù)傳輸 速率高達(dá)424kbit/s。
M1卡容量為8K位EEPROM,總共有16個(gè)扇 區(qū),如圖4所示。從0扇區(qū)到15扇區(qū),一個(gè)扇區(qū) 中有4個(gè)塊,每塊16個(gè)字節(jié),以塊為存取單位, 每一個(gè)扇區(qū)都有一組密碼及訪問(wèn)控制。在0扇 區(qū)0塊位置為32位的只讀卡號(hào),讀寫距離10mm以 內(nèi)。智能卡在工作時(shí),通過(guò)電磁感應(yīng)原理將M1 內(nèi)數(shù)據(jù)讀取,M1卡讀取內(nèi)部數(shù)據(jù)時(shí)先需要密碼 驗(yàn)證,驗(yàn)證成功則可以進(jìn)一步讀取各塊數(shù)據(jù)。
RC522芯片采用SPI方式通信,通過(guò)MFSDA、 MFSCK、MFMOSI、MFMISO、MFRST 5個(gè)引腳讀寫 數(shù)據(jù),保證單片機(jī)快速讀取及穩(wěn)定性。圖5為 RC522射頻讀寫電路,軟件讀取步驟:
1)復(fù)位RC522: RC—Reset ()
2)尋卡,得到卡片類型:RC—Request(尋卡 方式,卡片類型代碼)
3)防沖撞,得到卡片序列號(hào):RC—Anticoll (卡片序列號(hào))
4)選定卡片:RC—Select(卡片序列號(hào))
5)驗(yàn)證卡片密碼:RC—AuthState (密碼驗(yàn) 證模式,塊地址,密碼,卡片序列號(hào))
6-1)讀取M1卡一塊數(shù)據(jù):RC—Read(塊地 址,讀出的數(shù)據(jù))
6-2)寫入M1卡一塊數(shù)據(jù):RC—Write(塊地 址,寫入的數(shù)據(jù))
7)命令卡片進(jìn)入休眠狀態(tài):RC—Halt()
2.3OLED顯示模塊
OLED顯示技術(shù)具有自發(fā)光的特性,采用非 常薄的有機(jī)材料涂層和玻璃基板,當(dāng)有電流通 過(guò)時(shí),這些有機(jī)材料就會(huì)發(fā)光,而且OLED顯示 屏幕可視角度大,并且工作電流5mA,節(jié)約電能。
OLED顯示模塊的數(shù)據(jù)寫入方式可以分5種, IIC、3-Wire SPI、4-Wire SPI、8-bit 68XX Parallel、8-bit 80XX Parallel。我們采用 4-Wire SPI模式,兩位命令控制位CS、DC,兩 位數(shù)據(jù)控制位D0、Dl0Lro的分辨率是行128個(gè) 點(diǎn),列是64個(gè)點(diǎn),具有顯示保持功能。
在OLED屏幕上顯示用戶卡號(hào)、稱重值、 及當(dāng)前得到的工資,按上下鍵可以切換當(dāng)前狀 態(tài),顯示總工資,上次得到的工資,上次稱重 值等。
3.軟件設(shè)計(jì)
高精度智能電子秤需要完成測(cè)量物重、 讀寫卡片數(shù)據(jù),顯示相關(guān)信息三個(gè)部分。通過(guò) 主程序完成初始化單片機(jī)時(shí)鐘,配置ADS1230 測(cè)量模塊與單片機(jī)相連的引腳,配置RC522讀 寫射頻模塊與單片機(jī)相連的引腳,最后配置按鍵、OLED與單 片機(jī)相連的引腳。配置結(jié)束后,測(cè)量電子秤無(wú) 物重時(shí)的AD數(shù)值,但是由于系統(tǒng)需要一端時(shí) 間保持穩(wěn)定,所以計(jì)算連續(xù)2次物重差是否小 于0.01g,連續(xù)小于0.01g計(jì)數(shù)10次后,確定此 時(shí)值為無(wú)物重值,作為原點(diǎn)。接著初始化定時(shí) 器,最后進(jìn)入空閑狀態(tài),等待定時(shí)中斷。主流 程如圖6所示。
ADS1230的測(cè)量速率比較慢,速率只有 10SPS,又需要通過(guò)軟件進(jìn)行一次濾波。為使 測(cè)量準(zhǔn)確,在稱重時(shí)需要采集4個(gè)測(cè)量數(shù)據(jù), 去除最大最小的之后取留下兩個(gè)數(shù)的平均值做 為最后的AD測(cè)量值,所以測(cè)量一個(gè)物重需要耗 時(shí)400ms左右。設(shè)定定時(shí)器定時(shí)時(shí)間為100ms, 在前500ms之內(nèi)進(jìn)行讀取AD測(cè)量值,然后在接 下的100ms內(nèi)讀取卡號(hào),接下來(lái)的100ms內(nèi)進(jìn)行 顯示物重與卡號(hào),接著判斷用戶是否確定當(dāng)前 信息。若按下按鍵,表示確定信息,則將物重 數(shù)據(jù),工資數(shù)據(jù)寫入卡號(hào),回到測(cè)量物重;若 無(wú)按鍵按下,則繼續(xù)測(cè)量物重。具體定時(shí)中斷 流程如圖7所示。
4.結(jié)束語(yǔ)
通過(guò)實(shí)物制作,實(shí)驗(yàn)結(jié)果表明測(cè)量結(jié)果可 以精確到0.01g,且測(cè)量結(jié)果在0-2000g之內(nèi)基 本無(wú)偏差。
通過(guò)市場(chǎng)調(diào)研,表明高精度智能電子秤可 以使用于各種中小型企業(yè)的物重稱量工資結(jié)算 方面,如對(duì)水晶,珍珠等的測(cè)量工資結(jié)算,對(duì) 企業(yè)加快工作效率有明顯的效果。