??? 摘? 要: 介紹了一種新型的加速度傳感器" title="加速度傳感器">加速度傳感器性能測試系統,它由計算機分析平臺、數據采集" title="數據采集">數據采集子系統、數據交換" title="數據交換">數據交換子系統和直流調速子系統四個部分組成。系統通過串口" title="串口">串口控制直流調速系統改變轉盤的速度從而獲得變化的加速度曲線,再通過射頻芯片nRF2401進行相應的數據采集。上位機采用LabVIEW開發,其他3個子系統采用PIC單片機作為主控芯片實現。?
??? 關鍵詞: 加速度傳感器; 數據采集; 射頻通信; LabVIEW?
?
??? 傳感器是自動化系統和信息系統的關鍵性基礎器件,其技術水平直接影響到自動化系統和信息系統的水平,傳感器的好壞對系統質量起著決定性作用。其中加速度傳感器用途廣泛,目前加速度傳感器在汽車電子領域應用較為廣泛。它主要用在以下幾個方面:安全氣袋、翻轉檢測、碰撞檢測、車輛動態控制、剎車控制系統、駕駛者安全裝置。因為加速度傳感器的用途廣泛,所以加速度傳感器也越來越重要,產品在出廠之前必須經過嚴格的測試[1-2]。?
??? 本文介紹了一種基于虛擬儀器和射頻技術的新型加速度傳感器自動測試系統,它基于LabVIEW 圖形化開發環境,對汽車加速度傳感器的性能數據進行采集,利用其強大的數據分析功能對汽車加速度傳感器的性能進行分析。?
1 系統的整體結構設計?
??? 系統在數據采集上采用射頻技術解決旋轉部件與靜止部件的接線問題。圖1所示為本加速度傳感器性能自動測試臺的系統結構圖。系統由計算機、數據交換子系統、電機調速系統、電動機、采樣子系統、被測傳感器測試臺6個部分組成。采樣子系統與被測加速度傳感器一起轉動,而數據交換子系統與計算機處于靜止狀態。采樣子系統與數據交換子系統之間通過射頻進行信號傳輸。被測傳感器固定在測試臺的圓盤上,圓盤的半徑為0.2m。圓盤通過電動機驅動旋轉,電動機采用伺服電機,它由電機調速系統控制,計算機通過串口控制電動機的轉速。數據交換子系統通過射頻傳輸獲得采樣子系統的數據,并將該數據通過串口傳入計算機。
?
?
2 系統的硬件結構?
??? 測試臺的硬件部分由數據交換子系統與采樣子系統組成,其中數據交換子系統與計算機之間的數據傳輸采用串口通信,采樣子系統與數據交換子系統之間的數據傳輸采用射頻通信方式。 采樣子系統的作用是采集傳感器的信號并通過射頻收發電路實現數據的接收和發送。本系統采用MICROCHIP公司的PIC16F877A單片機為采樣子系統的處理器,其內部帶有10位8通道A/D" title="A/D">A/D轉換器,能一次性測量8個加速度傳感器,基本能滿足系統的精度要求[3]。為了解決數據采集中旋轉部分與靜止部分的接線困難問題[4],本設計中采用了射頻技術進行數據傳輸。射頻芯片采用Nordic公司的射頻收發芯片nRF2401,它是一個單片集成接收、發射器的芯片,工作頻率范圍為全球開放的2.4GHz 頻段,采用GFSK調制時的數據速率為1Mb/s,高于藍牙,具有高數據吞吐量。nRF2401 內置了CRC糾錯、檢錯硬件電路和協議。發射功率、工作頻率等所有工作參數全部通過軟件設置完成。每個芯片可以通過軟件設置最多40bit地址,只有收到本機地址時才會輸出數據且提供一個中斷指示,該芯片編程非常方便[5]。?
2.1采樣子系統的硬件實現?
2.1.1 電源電路?
??? 系統電源采用的模式是AC/DC-DC/DC,由于采樣子系統是隨測試臺一起旋轉,先采用一個AC/DC電源將電網上的220V電源轉換成DC48V電源,然后將DC48V電源通過一個碳刷和滑環接入到旋轉的采樣子系統電路上,而采樣子系統上的電源主要有32/24/16V、16/12/8V、5.3/5/4.7V、5V、3.3V這五路電源,其中前三路電源是給測試三種不同加速度傳感器時提供電源的,而5V、3.3V是給采樣子系統電路提供電源的,采樣子系統電源采用三端穩壓塊LM317來實現。?
2.1.2 傳感器電源與接地狀態切換電路?
??? 由于測試過程中加速度傳感器的電源和接地狀態要經常被改變,這里用繼電器來切換加速度傳感器的電源與接地狀態。本系統用到的繼電器為DC5V的小印制板繼電器,繼電器線圈的驅動電壓為+5V,驅動電流為40mA,在該電路中,繼電器的驅動采用集成了7路達林頓管的集成芯片MC1413。MC1413的每路驅動電流最高可達500mA,而且它內部集成了續流二極管,因此非常適合用于驅動小功率的繼電器。單片機的I/O口RD2、RD3、RD4、RC6和RC7分別用來控制5個繼電器的閉合與斷開。?
2.1.3? 射頻電路?
??? 在采樣子系統中,單片機的工作電源為5V,這主要考慮到系統要用到的單片機內部A/D轉換器必須采用+5V電源作為其參考電壓。但是nRF2401工作電源為3.3V。因此,單片機的I/O口不能與nRF2401直接相連,中間必須經過一個電平轉換電路將5V電平轉換成3.3V電平。本電路采用高速光耦6N137來實現電平轉換。6N137的最高開關速率可達到75ns,而本系統中采用的PIC16F877A的晶振為8MHz,即模擬的I/O時序中高低電平翻轉時間不可能小于1μs,因此6N137在這里能夠滿足要求。這里用到的單片機I/O口為RC0~RC5。本系統只用到nRF2401兩路通道中的頻道1。?
2.1.4 A/D采樣電路?
??? 由于加速度傳感器的輸出電壓有可能高于5V,該電路用了一個穩壓值為5.1V的穩壓二極管IN5338將傳感器的輸出電壓穩定在5.1V以內,然后接到單片機的A/D轉換引腳上。IN5338的功率為0.5W,即能夠承受的最大電流為100mA,該電路用了一個1kΩ的電阻起限流作用,以防止流過穩壓二極管的電流過大。?
2.1.5 直流伺服電機及DDS調速系統?
??? DDS直流電機調速系統以PIC16F877A為核心,采用數字方式,通過軟件PID調節,通過數字PWM輸出。系統調速范圍為1:500,調速精度為1%,直流電機選用70SZD06,其主要參數為轉速2 000r/s,轉矩0.72Nm。減速器型號PX40-8,輸出轉矩5Nm。?
2.2 數據交換子系統的硬件實現?
??? 該子系統也采用PIC16F877A作為系統的主控芯片,nRF2401接收數據,用MAX232作為RS-232的電平轉換芯片。?
3 系統的通信組成?
??? 本系統的數據通信分成三個部分:計算機與數據交換子系統采用串口1通信;數據交換子系統與采樣子系統,采用射頻通信;計算機與直流調速系統,采用串口2通信。本系統中計算機采用串口通信的方法,主要是考慮到接口硬件方便,易于實現。其中串口通信采用9 600b/s的波特率,傳輸的內容分命令和數據兩種,分別按照不同的固定格式加幀頭和CRC校驗組成。而射頻通信則以250Kb/s的速率進行數據傳輸,射頻芯片根據配置的內容自動加上4個字節的地址信息和2個字節的CRC校驗信息。為了配置方便,系統中射頻通信都是采用10個字節有效數據作為一幀信息發送,即超過10個字節的數據采用多幀發送,不足10個字節的數據自動在數據尾段補0X55湊足10個字節[6-7]。?
4 系統的軟件實現?
4.1系統的主要功能模塊?
??? 在主程序中包括用戶配置、自動測試、手動測試、數據統計、報表處理和帳號修改等6個主要的功能模塊。?
??? (1) 自動測試?
??? 自動測試為本系統的最重要的組成部分。自動測試程序流程圖如圖2所示。LabVIEW接收到傳感器的數據被從串口中讀出,數據是一個字符串,程序先將該字符串轉換成數值數組,將8個傳感器數據分別存放于8個數組中,一次自動測試得到的數據為8個二位數組,數組大小為10行5列。?
?
?
??? 自動測試時,數據交換子系統總共上傳1 000幀數據,每幀數據12B,其中有效數據即傳感器的電壓值為8B。它分50次發送,每次傳送的有效數據為160B,由于上傳的數據為A/D轉換的結果,還未將之轉換成電壓值,故要用2個字節存放1個電壓值數據,即每次傳送80個電壓值數據。?
??? (2) 手動測試?
??? 手動測試可以完成對某個傳感器的某個狀態下的性能測試。?
??? (3) 報表處理?
??? 測試產生的數據以文本格式保存在計算機硬盤中,同時為這些報表建立了一個索引表,索引文件中記錄了報表產生的時間信息和報表的批次號信息。因此在程序中提供了四種報表查詢方法:單報表按時間查詢、批報表按時間查詢、單報表按批次號查詢和批報表按批次號查詢。測試人員可以對查詢到的報表進行查看、移動、刪除和打印等操作。?
??? (4) 數據統計?
??? 系統提供了三種統計方式:自定義時間統計、月統計、年統計。合格產品數和合格率等統計結果以文字形式和柱形圖形式顯示在前面板上。在統計完畢之后,都將自動生成統計報表,測試人員可以對這些統計報表進行查看、打印等處理。?
??? (5) 帳號修改?
??? 提供了一個密碼修改和用戶注冊的功能。 ?
4.2 主要模塊程序實現?
4.2.1 讀取串口接收的數據?
??? 在向串口發送數據采集命令之后,數據交換子系統通過串口接收到該命令,然后將接收到的數據進行CRC運算。如果接收正確,則通過射頻模塊向采樣子系統轉發該命令,而采樣子系統在接收到命令后對命令進行解釋,然后根據命令內容采集數據,采集完畢后即向數據交換子系統發送數據,而數據交換子系統又通過串口將該數據轉發到計算機中。?
??? 在延時250ms之后,串口將接收到采樣子系統發送過來的傳感器測試數據,如圖3所示,通過VISA Read子VI可以讀取串口緩沖區里的數據和數據長度。將接收到的數據進行CRC校驗運算,如果校驗正確則認為該組數據被正確接收。
?
?
4.2.2 電機調速?
??? 要控制電機的轉速,需要通過串口向DDS調速系統發送速度值,命令在0000H~3FFFH之間為正轉,8001H~BFFFH之間為反轉。需要將實際轉速值換算成命令值,計算方法如下:?
??? 假設要使電機運行速度為X,則發送的命令值為其中3FFFH=16 383。?
??? 如果是反轉,還要將該數值加上32 769(8000H),然后將得到的值轉換成十六進制,提取每一位數據與30H相“與”,得到一個新的數組,再把該數組轉換成字符串,前面加上字符“V”后面加上空格字符向串口發送即可。如圖4所示為LabVIEW電機調速程序圖。?
?
?
4.2.3 測試數據分析模塊?
??? 程序可以根據標準曲線與測試曲線的吻合程度進行判斷并顯示其結果。在該界面中,用戶還可以對該組數據的某個點的值進行重新測試,將實測曲線在不同的標準下進行分析而得出結論。同時可以將某組數據進行刪除、保存等操作。?
??? 本系統采用了虛擬儀器測試技術,以VI為開發平臺進行開發設計。硬件上,系統采用計算機和單片機實現了加速度傳感器性能的測試;軟件上,NI LabVIEW的選用使系統的設計過程趨于簡便。該系統的關鍵在于數據通信的實現上,即計算機串口的RS-232數據與采樣系統的射頻數據的轉換,在軟件編寫過程中充分考慮了數據通信過程中的容錯性處理。目前系統采用計算機的串口接收的數據,其波特率為9 600b/s,而射頻模塊的傳送波特率高達1Mb/s,要提高整個系統的通信速率,可以采用計算機的USB口進行數據的采集。?
參考文獻?
[1] 張晉賓,周四維.現代傳感器技術發展的必要性及其動態[J]. 世界儀表與自動化, 2005,(9):37-38?
[2] 王文燕,張冰蔚. LabVIEW中遠程數據采集的實現[J].工業控制計算機,2006,19(9):8-9.?
[3] 劉篤仁.PIC軟硬件系統設計[M].北京:電子工業出版社,2005:27-267.?
[4] 卞春江,張天宏,鄧志偉,等. 面向旋轉構件的高速無線數據采集系統[J].傳感器技術,2004,(11):53-55.?
[5] Nordic VLSI ASA.nRF2401 single chip 2.4GHz radio transceiver[M].USA: Nordic Corporation,2003:1-37.?
[6] 王博,李迅,馬宏緒.基于nRF2401的無線數據傳輸系統.電子工程師,2004,(8):17-20.?
[7] 侯國屏,王坤,葉齊鑫.LabVIEW7.1編程與虛擬儀器設計[M].北京:清華大學出版社,2004.?