摘 要: 介紹了幾種數字式手柄控制器的優缺點,針對某數字伺服系統實際需求,設計了一種具有CAN總線通信功能的新型數字式手柄控制器。根據角速度積分原理,詳細討論各部分硬件組成電路,給出軟件流程。通過實驗比較和效果分析,該手柄不僅能輸出任意角位置,還能實現跟蹤角速度命令的連續變化。其結構易于實現,開發成本低,有較高靈活性和穩定性,充分發揮軟硬件結合的潛力作用。在雷達跟蹤、周視監控等數字式伺服控制中有巨大應用前景。
關鍵詞: 伺服控制;角位置;角增量
角位置伺服控制系統應用于飛行器姿態控制和檢測導彈制導控制、雷達天線跟蹤系統,也在工業機器人、數控機床等方面廣泛應用。隨著高速處理器的發展,原有伺服系統的模擬控制器件逐漸被高性能數字式控制器取代。以DSP為控制核心和數字化接口的測角元件組成的數字角位置伺服控制系統具有精度高、速度快、穩定性好以及計算機接口簡單等優點,極大地提高了系統的整體性能。線性連續變化輸入的數字式手柄控制器替代了原先的輸出模擬信號的手柄控制器,成為數字伺服系統中人機交互的重要組成部分[1-2]。本文利用數字式器件準確、抗干擾能力強的特點,結合模擬式器件控制信號平滑變化、連續性好的優點,設計出一種速度可變的數字式手柄控制器。
1 設計方案
1.1 手柄介紹
在數字伺服控制系統中,角度用數碼表示。測角裝置將圓周等分成2n個,每個等分單位角是δ=360°/2n。n越大,單位角δ越小,說明分辨率越高。一旦δ確定,每個輸出角位置的編碼值對應一個角度值。通常將數字式測角裝置的二進制位數X做為數字式角位置伺服系統的運算位數n,所以一般取手柄輸入角位置數字量位數也等于n。例如,某數字伺服控制系統選用16位的測角裝置,其輸出軸旋轉一周,角度從0~360°變化,則編碼值從0000H~FFFFH,再回到0000H。此數字控制系統的運算位數就是16位,手柄輸入角也是16位。
許多老式模擬角位置伺服系統的手柄控制桿是電位器形式,通過操縱桿的偏轉角度改變電位器輸入的電信號,實現角位置手動控制。其中選用的電位器調節精度必須非常高,才能使角度轉位穩定與準確,這無疑提高了手柄的成本。在新一代的數字式角位置伺服控制系統中手柄輸入有以下幾種方法:(1)電信號經過A/D轉換成離散數字信號;(2)電信號經V/f或I/f變換后由加減法計數器形成數字信號。這兩種方法由電信號的強弱來控制數字信號大小,一般國內高精度的電位器造價非常昂貴,若選用普通電位器其電信號不能穩定輸出,也不能達到理想效果;(3)加減法計數器直接形成數字信號。它通過數值積分獲得數字信號大小;(4)直接使用高精度角位置傳感器輸出數字量。由于成本較高,該方法也不宜采用。
1.3 技術方案
由于某數字伺服系統的角位置數字量是16位數,所以設計一個16位計數器輸出手柄角位置命令。設計的計算機采樣系統不斷采集由電位器輸出的可變的模擬電信號,將其轉化成離散數字量,用來表示本周期內的角增量?茲并累加到16位計數器中。由于每個周期的角增量可以任意變化,只要采樣周期選取合適,任意角位置命令都可以快速發出。也實現了可變的角速度命令與加速度命令實時輸出。采用CAN總線通信方式實現手柄對伺服系統的控制。CAN總線即控制器局域網,是目前國際上應用最廣泛的現場總線之一,它是一種多主方式的串行通信總線設計規范,具有高位速率、高抗電磁干擾性、低成本、極高的總線利用率等特性,最大通信速率為1 Mb/s,最大傳輸距離達10 km。
2 手柄設計
2.1 硬件電路
手柄電路由單片機系統、A/D采集、CAN總線通信、鍵盤與顯示電路等組成。其原理圖如圖1所示。以高速單片機為控制核心的單片機系統,主要控制采集兩路幅值可變的雙極性模擬電壓信號,并將其轉變成對應的數字量,作為本周期內的角增量值Δθ累加到16位計數器中。循環發送計數器中的數據,通過CAN總線告知數字伺服系統不斷更新當前的方位與俯仰角位置命令。
MCU選用LPC932芯片,它是單片封裝的增強型8051微控制器,采用高性能處理器結構,指令執行時間只需2~4個時鐘周期[3]。執行代碼速率是標準8051芯片的6倍。它繼承了許多系統級的功能,適合于高集成度、低成本、低功耗的場合,可以滿足多方面的性能要求。
A/D采集芯片選用Analog Device的AD976A。它是一款單路高速、低功耗、16位的并行ADC,片內帶有采樣保持器和輸出緩存。采樣速率最高可達到200 KS/s,采用5 V單電源供電,可對輸入雙極性±10 V范圍內模擬電信號進行轉換。本設計用2片AD976A分別對方位、俯仰兩路模擬電信號進行轉換,使用FPGA作為選通轉換數據、發出轉換命令,并且對其他功能電路有邏輯控制的作用,方便、準確、可靠性高。
通信部分采用PHILIPS公司的CAN控制器芯片SJA1000和CAN總線驅動器PCA82C50。CAN總線通信具有Basic CAN和Peli CAN兩種工作模式。Basic CAN工作在CAN2.0A協議,Peli CAN工作在CAN2.0B協議。在本設計中考慮到通信節點不多,故采用了Basic CAN工作模式。設置總線通信波特率為200 KB/s,總線的驅動器選用PCA82C50,它是協議控制器和物理傳輸線路間的接口芯片,此器件對總線上的數據提供差動發送與接收能力。在控制器和收發器之間采用高速光電耦合器6N137,提高了系統的抗干擾性能和安全性能[4]。
顯示電路采用8279芯片驅動兩個4位LED顯示,用來實時輸出顯示方位和俯仰角命令值,以便及時與數字伺服控制系統中人機界面的實際方位、俯仰角位置進行比較,分析其伺服控制性能。角位置命令也可由鍵盤輸入,用來測試數字伺服系統的階躍信號響應。
2.2 軟件設計
根據對手柄控制器方位、俯仰角位置輸出量的技術要求,結合硬件電路構成,系統軟件主要實現以下功能:
(1)模擬電信號的快速A/D采集,通過極性判斷后,獲得單位周期內的角增量Δθ,將其累加入角位置命令寄存器。
(2)CAN總線通信初始化、CAN總線數據發送及配置鍵盤中斷、驅動顯示模塊。
軟件總體設計流程圖如圖2所示。流程圖包括系統初始化、單位周期內角增量測量、計算方位、俯仰角位置命令和CAN總線數據通信。
3 實驗分析
普通電位器的調節精度和穩定性較差,并且受到電源電路的紋波影響,使得電位器輸出模擬電信號的紋波較大,在±30 mV之間。而AD976A的轉換精度是0.3 mV,這樣得到的16位數字量不停跳變,難以達到功能要求。所以將轉換的數字量取高8位表示角增量?駐θ,犧牲A/D采集轉換精度來換取穩定、不跳變的數字量。
雖然表示單位周期角增量的范圍降低到-256~+255,測得采樣周期是5 ms,但它可以提供的角速度命令最高可達280°/s,在角位置伺服跟蹤系統中已滿足最高速度要求。所以本設計方案克服了普通電位器調節精度差和電源紋波大的影響。
圖3(a)是用加減法計數器設計的角位置命令。圖3(b)是設計出的16位數字式手柄控制器用示波器測試角增量變化和角位置命令數字量D/A轉換后的曲線圖。角位置命令是0000H,電壓是-5 V,當角位置命令連續變化到FFFFH時,電壓是+5 V,超過此位置電壓又重新回到-5 V,即在0000H。角位置變化曲線的斜率即是角速度。
從圖中角位置變化曲線看出,用此方案設計的手柄控制器只能實現角速度恒定的角位置命令變化。比較兩圖可以分析得出,本文設計的手柄控制器不僅可以輸出任意角位置量,還可輸出連續變化的跟蹤角速度。
本文依據角速度積分原理,選用高性能增強型單片機與高速率的轉換芯片,設計出一種新型數字式手柄控制器。在角位置數字伺服控制系統中,既能輸出任意角位置命令,又能實現跟蹤角速度命令的連續可變。具有結構簡單、集成度高、系統抗電磁干擾能力強、數字量輸出穩定等優點。并且應用先進的CAN總線技術,優化了通信平臺,為進一步拓展手柄控制功能和實現網絡化伺服系統的控制與管理奠定基礎。適于在雷達跟蹤、周視監控等領域廣泛應用。
參考文獻
[1] 盧志剛,吳杰,吳潮.數字伺服控制系統與設計[M].北京:機械工業出版社,2007.
[2] 叢爽,李澤湘.實用運動控制技術[M].北京:電子工業出版社,2006.
[3] 周立功.LPC900系列單片機及應用技術[M].北京:北京航空航天大學出版社,2004.
[4] 李正軍.現場總線及其應用技術[M].北京:機械工業出版社,2005.