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