摘 要: 以研制的機器人多指靈巧手微型五維指尖力/力矩傳感器為基礎,基于單片機AT89C52設計了高性能的數據采集系統和數據處理系統,實現了與主計算機的RS422串行通訊,從而構成了一套完整的智能化的五維力/力矩測量系統。
關鍵詞: 傳感器 單片機 數據采集 串行通訊
多維力傳感器的發(fā)展已經有幾十年的歷史。以機器人的腕力傳感器為主要應用背景,國內外的很多公司制造了多種規(guī)格的多維力傳感器[1,2]。為了滿足醫(yī)療儀器、航空航天等領域對于微型多維力傳感器的需求,以研制的機器人多指靈巧手微型五維指尖力/力矩傳感器為基礎,研制了一種基于單片機AT89C52的智能微型五維力傳感器測量系統。
本文將首先介紹我們所研制的五維指尖力/力矩傳感器的本體和應用表面封裝技術設計的信號調理電路,然后著重介紹基于微處理器AT89C52的數據采集系統、數據處理系統和RS422串行通訊系統。
1 五維指尖力/力矩傳感器及信號調理電路簡介
為多指靈巧手所研制的微型五維指尖力/力矩傳感器基于電阻應變原理。利用有限元方法,設計了具有很小尺寸的傳感器彈性體結構(應變梁的厚度只有0.35mm)。將BLH公司生產的微型高阻金屬應變片SR-4貼在應變梁上組成五個應變半橋,用高精度的+5V電壓調節(jié)器給電橋供電,由此將傳感器所受的五維力(包括X,Y,Z方向的力Fx,Fy和 Fz以及X,Y兩個方向的力矩Mx,My)轉換成五路電壓輸出。采用表面貼裝技術設計了傳感器的信號調理電路,將小電路板內置于傳感器本體之中,實現了傳感器體積的微型化,整個傳感器的外形尺寸只有Φ19mm×12.5mm。三維力Fx,Fy和Fz的測量范圍是10N,二維力矩Mx和My 的測量范圍是0.2N·m。
用有限元方法對傳感器的彈性體進行應力分析,可以計算出,在+5V恒壓源供電的情況下,每路電壓輸出值不超過±25mV。因此,信號必須經過高性能的信號調理電路,才能達到較好地測量精度;同時,必須將電路板就近地放置在傳感器的本體之中,以避免噪聲的引入。為此,我們應用表面貼裝技術設計制作了以精密儀表放大器AD623為核心的信號調理電路板,通過高性能元器件的選擇、電路的高質量濾波以及電路板的合理布線,將五路電橋的輸出電壓信號放大到數據采集系統所要求的輸入范圍:0~5V。為了實現單電源供電的AD623對雙極性傳感器輸出電壓的放大,在AD623的參考電壓端加上2.5V的參考電壓,實現雙極性電壓的直流偏置。為了測量環(huán)境的溫度以便對傳感器的輸出進行溫度補償,在信號調理電路板上還放置了三腳SOT封裝的集成溫度傳感器LM50B。
2 基于單片機AT89C52的傳感器數據采集系統
和串行通訊系統的電路設計
為了實現五維指尖力/力矩傳感器的智能化,使之成為一個完整的力測量系統,選用了ATMEL公司生產的AT89C52微處理器作為傳感器數據采集和處理系統的核心。AT89C52的管腳和指令與傳統的MCS-51系列單片機完全兼容,并且芯片內部集成了8K的可編程Flash內存。對于本系統而言,只需很少的外圍芯片就可以構成一個單片機應用系統。
為了實現傳感器信號調理電路七路輸出信號(包括五路應變輸出信號、溫度輸出信號和參考電壓信號)的數據采集,我們選用了MAXIM公司生產的MAX197A作為A/D轉換芯片。MAX197A是12位的快速A/D轉換芯片,它有幾個顯著特點:單+5V電源供電;有八個模擬電壓輸入通道,每個輸入通道的量程范圍可用軟件獨立地設定;芯片內部集成了5MHz帶寬的采樣保持電路;有兩種節(jié)電工作方式,可以實現很低的功耗等。
為了實現AT89C52與上位機的串行通訊從而將傳感器的測量數據傳送給上位PC機,我們利用MAX491構成RS422串行通訊接口。與傳統的RS232C接口相比,RS422是差分傳輸,具有數據傳輸速率高(最大傳輸速率為10MB/s)和傳送距離長(在最大傳輸速率的情況下,電纜允許長度可達120m)等優(yōu)點。數據傳輸率的提高對減少整個測量系統的響應時間是至關重要的。
為了保證微處理器AT89C52的正常工作,我們使用了MAXIM公司生產的MAX708來實現整個系統的硬件監(jiān)控。MAX708有以下幾個主要功能:實現AT89C52的上電自動復位和手動復位;芯片內部集成有獨立的“看門狗”電路,這可以保證系統的可靠運行;內部有電源電壓監(jiān)視電路,可以用來實現系統的掉電保護。
數據采集系統和RS422串行通訊系統的電路原理框圖如圖1所示。
為了提高數據采集系統的精度,在電路板的設計中,將模擬地與數字地分開,在主要芯片的電源端就近地放置濾波電容,這些措施取得了很好的效果。
3 基于單片機AT89C52的微型五維力/力矩傳感器的軟件設計
系統軟件采用模塊化的設計方法,共分為四個模塊:系統初始化模塊、數據采集模塊、數據處理模塊和串行通訊模塊。主程序流程圖如圖2所示。
3.1 系統初始化模塊
系統初始化模塊包括串行通訊接口波特率、奇偶校驗、數據位個數等的初始化,A/D轉換器MAX197的初始化,MAX491接收、發(fā)送使能的初始化。
3.2 數據采集模塊
在系統初始化完成以后,等待上位機的開始工作命令,接收到開始命令以后,單片機系統開始數據采集,采集到的結果放入AT89C52的內部RAM中,系統進入數據處理模塊。需要說明的是,對A/D轉換結果的讀取是通過中斷方式來進行的,提高了系統的響應速度和微處理器的利用效率。
3.3 數據處理模塊
數據處理模塊的組成框圖如圖3所示。
我們用采集到的五路力傳感器輸出電壓減去同時采集到的2.5V參考電壓,實現了對參考電壓的實時補償,然后通過低通數字濾波進一步提高對噪聲的抑制能力,得到的數據根據當時的溫度情況進行補償。傳感器的溫度特性表離線測量后存儲在AT89C52的Flash存儲器中,查表后經過線性插值得到溫度修正值,經過修正以后的測量值乘以標定矩陣得到五維力和力矩。標定矩陣是由離線的靜態(tài)標定所得到的,也保存在AT89C52的Flash存儲器中。
3.4 串行通訊模塊
由數據處理模塊得到的五維力數據通過串行通訊傳輸給上位機。為了實現數據可靠準確的傳輸,我們采取了以下措施:對每個數據進行奇偶校驗;對每組數據進行累加和校驗。實驗表明,這些協議的采用取得了很好的效果。
為了進行整個系統的實驗,我們在PC機上利用可視化編程語言VC++的串行通訊控件編制了數據采集和串行通訊軟件。
實驗表明,該系統具有較好的精度和很強的可靠性,實現了設計要求。今后,在改進多指手指尖力傳感器彈性體結構的基礎上,我們將從硬件和軟件兩個方面進一步提高測量系統的動態(tài)響應,使之更好地滿足實際使用要求。
參考文獻
1 王國泰,易秀芳,王理麗.六維力傳感器發(fā)展中的幾個問題.機器人,1997;19(6):474~478
2 王軍,黃心漢.機器人六維腕力傳感器及其信號處理系統的研制.機器人,1995;17(1):17~20
3 何立民著.MCS-51系列單片機應用系統設計.北京:北京航天航天大學出版社,1993:369~416