引言
硬度測(cè)量是工業(yè)生產(chǎn),特別是材料加工工業(yè)中廣泛應(yīng)用的傳統(tǒng)測(cè)試技術(shù)。
便攜式硬度計(jì)是一種較*的硬度測(cè)試儀器,具有體積小、重量輕、易攜帶、操作方便等特點(diǎn),尤其對(duì)一些大型、不可拆卸部件或精加工后要求復(fù)測(cè)硬度的零件的硬度測(cè)量特別有用。但由于一般便攜式硬度計(jì)在硬件和功能等方面存在局限,所以不能滿(mǎn)足生產(chǎn)過(guò)程中的復(fù)雜要求。
基于USB總線的數(shù)據(jù)通信具有安裝方便、可靠性高、數(shù)據(jù)不易丟失、抗*力強(qiáng)、便于數(shù)據(jù)傳輸和處理等優(yōu)點(diǎn),隨著USB應(yīng)用日益廣泛,已經(jīng)逐漸成為現(xiàn)代數(shù)據(jù)傳輸?shù)闹饕厔?shì)。
本文設(shè)計(jì)的便攜式硬度計(jì)數(shù)據(jù)通信系統(tǒng)實(shí)現(xiàn)方案,將USB通信技術(shù)應(yīng)用到硬度測(cè)量過(guò)程中,選用Philips公司的PDIUSBD12作為USB芯片,選用Atmel公司的ATmega128作為MCU,利用可靠的USB數(shù)據(jù)傳輸,將便攜式硬度計(jì)與PC機(jī)連接,由上位機(jī)完成所需功能的處理,滿(mǎn)足了測(cè)試現(xiàn)場(chǎng)的要求。
1、系統(tǒng)分析與設(shè)計(jì)
1.1硬度計(jì)的工作原理及實(shí)際工作要求
硬度是表征金屬在表面局部體積內(nèi)抵抗形變或破裂的能力。硬度表明材料的彈性變形和塑性變形,硬度計(jì)采用沖擊方式進(jìn)行檢測(cè)后,通過(guò)傳感器將所得到的沖擊量轉(zhuǎn)換成電信號(hào)交由電子設(shè)備進(jìn)行處理,受檢材料硬度值是通過(guò)硬度計(jì)配置的沖擊裝置得到的。目前通用的硬度計(jì)量標(biāo)準(zhǔn)有洛氏、里氏、維氏、布氏等,而便攜式硬度計(jì)以里氏硬度計(jì)居多。
里氏硬度值的定義如下:
式中:HL為里氏硬度值;vA為沖擊體距試樣表面1mm時(shí)的沖擊速度;vB為沖擊體距試樣表面1mm時(shí)的反彈速度。
在使用便攜式硬度計(jì)進(jìn)行測(cè)量工作時(shí),常常會(huì)對(duì)硬度測(cè)量提出一些要求,如表1所示。
由于便攜式硬度計(jì)數(shù)據(jù)存量相對(duì)有限、實(shí)現(xiàn)功能相對(duì)簡(jiǎn)單,在面對(duì)實(shí)際工作中遇到的表1所示的相對(duì)復(fù)雜需求時(shí),存在一定局限性,很難提高測(cè)后數(shù)據(jù)處理工作效率。因此,本文提出USB數(shù)據(jù)通信方案來(lái)解決這些問(wèn)題。
1.2便攜式硬度計(jì)USB數(shù)據(jù)通信系統(tǒng)硬件組成
USB(UniversalSerialBus)是一種快速、雙向、同步傳輸、即插即用的通用串行數(shù)據(jù)傳輸總線,以其方便穩(wěn)定、易于接入PC機(jī)、兼容性強(qiáng)、易于升級(jí)、成本低廉,得到了廣泛應(yīng)用。因此,為實(shí)現(xiàn)便攜式硬度計(jì)與PC機(jī)的通信,選用了USB通信方式。
便攜式硬度計(jì)USB數(shù)據(jù)通信系統(tǒng)結(jié)構(gòu)如圖1所示。
本方案選用微處理器ATmega128作為數(shù)據(jù)通信系統(tǒng)的控制器。
ATmega128為Atmel公司推出的8位AVR微處理器,具有很高的信價(jià)比,工作時(shí)zui高速度可以達(dá)到16MIPS,128KB的FLASH、4KB的E2PROM,足夠滿(mǎn)足方案中數(shù)據(jù)暫存的需要,另外,ATmega128具有53個(gè)可編程輸入/輸出口,可擴(kuò)展64KB的外部存儲(chǔ)器,便于實(shí)現(xiàn)多點(diǎn)硬度值數(shù)據(jù)采集的硬件擴(kuò)展。
在該系統(tǒng)中,MCUATmega128承擔(dān)著數(shù)據(jù)采集和USB數(shù)據(jù)通信的雙重任務(wù),主要完成采集多路數(shù)字量輸入、配合PC機(jī)控制USB通信電路完成硬件檢測(cè)、枚舉連接及數(shù)據(jù)的雙向傳輸;控制存儲(chǔ)電路完成數(shù)據(jù)的存取等控制功能。
本方案選用的USB芯片PDIUSBD12是Philips公司成熟且價(jià)格低廉的產(chǎn)品。片內(nèi)集成了高性能USB接口器件、FIFO存儲(chǔ)器、收發(fā)器以及電壓調(diào)整器等,支持USB2.O的全速模式。
為保證USB數(shù)據(jù)傳輸?shù)男?,本方案采用離線測(cè)量,定量傳送的實(shí)現(xiàn)方式。按工藝流程將一組產(chǎn)品硬度測(cè)量值臨時(shí)存入MCU的存儲(chǔ)器中,再將MCU存儲(chǔ)器中的臨時(shí)數(shù)據(jù)打包通過(guò)USB發(fā)給PC機(jī)并存入主機(jī)數(shù)據(jù)庫(kù),主機(jī)應(yīng)用程序需要時(shí)對(duì)數(shù)據(jù)進(jìn)行處理。
2、軟件系統(tǒng)實(shí)現(xiàn)
本方案要解決以下三個(gè)方面的工作:一是在MCU上設(shè)計(jì)USB固件程序;二是編寫(xiě)上位機(jī)的USB驅(qū)動(dòng)程序;三是實(shí)現(xiàn)上位機(jī)數(shù)據(jù)處理應(yīng)用程序。
2.1USB固件程序
固件設(shè)計(jì)主要完成設(shè)備枚舉、主機(jī)與設(shè)備的數(shù)據(jù)交換、設(shè)備端的數(shù)據(jù)處理和控制等工作,固件程序設(shè)計(jì)成前后臺(tái)模式,把設(shè)備端數(shù)據(jù)處理和控制作為MCU的前臺(tái)任務(wù),枚舉及枚舉成功之后的USB數(shù)據(jù)交換放在后臺(tái)進(jìn)行。實(shí)現(xiàn)設(shè)備與主機(jī)以zui大的傳輸速率通信。
設(shè)計(jì)時(shí)將USB端口1和端口2定義為普通輸入/輸出類(lèi)型,對(duì)應(yīng)于PDIUSBD12的模式0??刂贫丝?完成響應(yīng)USB標(biāo)準(zhǔn)請(qǐng)求的功能,輸入端口用于把數(shù)據(jù)采集電路采集并打包的硬度值數(shù)據(jù)送給USB主機(jī),輸出端口接收USB主機(jī)發(fā)送的包。
PDIUSBD12從USB收到一個(gè)數(shù)據(jù)包,就對(duì)MCU產(chǎn)生一個(gè)中斷請(qǐng)求,MCU立即響應(yīng)中斷,中斷服務(wù)子程序用來(lái)處理由PDIUSBD12引發(fā)的中斷,它將數(shù)據(jù)從PDIUSBD12的FIFO中取回到MCU存儲(chǔ)器中。各端點(diǎn)中斷處理程序如下:
在各端點(diǎn)的中斷處理程序中,MCU主要是通過(guò)對(duì)PDIUSBD12端點(diǎn)緩沖區(qū)寫(xiě)入或讀取數(shù)據(jù)包來(lái)完成處理過(guò)程的,其流程如圖2和圖3所示。
2.2USB上位機(jī)驅(qū)動(dòng)
采用DriverStudios開(kāi)發(fā)USB的WDM(WindowsDriverModel)驅(qū)動(dòng)程序。WDM支持即插即用、電源管理和WMI技術(shù)。
DriverStudio嵌入在VC6.0中,在DriverStudio中的DriverWorks提供了USB驅(qū)動(dòng)程序設(shè)計(jì)向?qū)?,只要按照向?qū)瓿上鄳?yīng)的操作和設(shè)置就可以設(shè)計(jì)出一個(gè)簡(jiǎn)單的USB驅(qū)動(dòng)程序,Driverwizard會(huì)根據(jù)設(shè)定給出一個(gè)WDM驅(qū)動(dòng)程序的框架。
在使用驅(qū)動(dòng)程序向?qū)н^(guò)程中,系統(tǒng)會(huì)提示用戶(hù)輸入U(xiǎn)SB設(shè)備的VendorID和ProductID,這時(shí)應(yīng)該注意與具體使用的芯片對(duì)應(yīng),這里PDIUSBD12對(duì)應(yīng)的VendorID為0471,ProductID為0888。向?qū)瓿珊?,在WDM驅(qū)動(dòng)程序的框架中添加需要實(shí)現(xiàn)的USB端口1和端口2的讀寫(xiě)功能代碼。然后編譯驅(qū)動(dòng)程序工程文件,生成需要的USB功能驅(qū)動(dòng)程序。
2.3上位機(jī)應(yīng)用程序
本方案中,硬度測(cè)量系統(tǒng)的上位機(jī)應(yīng)用程序集合了與設(shè)備進(jìn)行數(shù)據(jù)傳輸、數(shù)據(jù)查詢(xún)、參數(shù)設(shè)置、計(jì)量標(biāo)準(zhǔn)轉(zhuǎn)換、測(cè)量誤差修正、統(tǒng)計(jì)分析、及數(shù)據(jù)導(dǎo)出、數(shù)據(jù)打印等功能。該系統(tǒng)可以在單機(jī)工作模式或連接工作模式下使用,并設(shè)置了用戶(hù)認(rèn)證和密碼保護(hù)功能。
實(shí)現(xiàn)和USB控制器進(jìn)行數(shù)據(jù)的批量傳輸,主要在系統(tǒng)界面的“接收”頁(yè)面的控鍵的程序段中編寫(xiě)功能代碼,主要完成在設(shè)備驅(qū)動(dòng)程序中查找設(shè)備,以進(jìn)行USB通信傳輸,并將設(shè)備發(fā)送來(lái)的數(shù)據(jù)進(jìn)行顯示和保存。接收到的數(shù)據(jù)可以在頁(yè)面上直接顯示,并且可以在參數(shù)設(shè)置頁(yè)面中預(yù)先設(shè)置硬度值上下限,對(duì)接收到的超出范圍的數(shù)據(jù)自動(dòng)進(jìn)行識(shí)別和標(biāo)識(shí)。上位機(jī)應(yīng)用USB的數(shù)據(jù)接收界面如圖4所示。
在系統(tǒng)“接收”頁(yè)面下單擊“保存”,即可將其他硬度測(cè)量相關(guān)信息錄入硬度數(shù)據(jù)庫(kù)系統(tǒng),形成數(shù)據(jù)庫(kù)信息后,在系統(tǒng)的“查詢(xún)”頁(yè)面下,可以按照零件名稱(chēng)、測(cè)量日期進(jìn)行基本查詢(xún),也可以選擇測(cè)試者、所屬班組、產(chǎn)品編號(hào)、批次號(hào)、零件材料、爐批號(hào)、測(cè)量時(shí)使用的測(cè)試配件、沖擊裝置及測(cè)量點(diǎn)的曲率、沖擊方向等其他信息項(xiàng)在數(shù)據(jù)庫(kù)中進(jìn)行多條件查詢(xún)。
系統(tǒng)為滿(mǎn)足各種測(cè)試條件和環(huán)境,可根據(jù)配置的各種測(cè)試配件,對(duì)使用的沖擊裝置類(lèi)型進(jìn)行校準(zhǔn);對(duì)常用沖擊方向進(jìn)行硬度值修正。根據(jù)《GB/17394—1998》標(biāo)準(zhǔn),可以將測(cè)定的里氏硬度平均值代入通用的按材料大致分類(lèi)的換算表中,查出相應(yīng)的硬度值。用代表現(xiàn)場(chǎng)特定材料做試樣,對(duì)里氏硬度與其他硬度作對(duì)比試驗(yàn),將試驗(yàn)結(jié)果經(jīng)過(guò)數(shù)據(jù)處理,得出里氏硬度與其他硬度的對(duì)應(yīng)關(guān)系,通過(guò)程序進(jìn)行轉(zhuǎn)換誤差修正。
3、結(jié)語(yǔ)
隨著材料加工工業(yè)的不斷發(fā)展,傳統(tǒng)材料硬度測(cè)量方式已經(jīng)無(wú)法滿(mǎn)足生產(chǎn)工序中的快節(jié)奏要求。本文將USB通信技術(shù)引入材料加工硬度測(cè)量環(huán)節(jié),以提高硬度測(cè)量環(huán)節(jié)的效率。
本文所述的實(shí)現(xiàn)方案,以節(jié)約成本又兼顧方便操作為設(shè)計(jì)原則,在原有硬件設(shè)備基礎(chǔ)上,利用PDIUSBD12和ATmega128實(shí)現(xiàn)可靠的USB數(shù)據(jù)傳輸,將便攜式硬度計(jì)的現(xiàn)場(chǎng)硬度測(cè)量數(shù)據(jù)發(fā)送到PC機(jī)上,在PC機(jī)上建立應(yīng)用軟件,zui終形成了功能全面、使用方便的便攜式硬度計(jì)數(shù)據(jù)通信系統(tǒng)。