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