基于MC9S12DGl28單片機的快速位置伺服系統的設計
O 引言
本設計要求對某火炮的水平和高低角進行控制,達到快速位置伺服系統的要求。而這個火炮角度控制系統首先要求有快速性,它的反應時間大于或等于12°/s;角度轉動控制精度小于或等于1’,水平角轉動范圍從一120°~+120°,高低角轉動范圍從0°~+85°;最后系統要有很好的穩定性和動態性能。
由于位置伺服系統一般是以足夠的位置控制精度、位置跟蹤精度和足夠快的跟蹤速度作為它的主要控制目標,系統運行時要求能以一定的精度隨時跟蹤指令的變化。所以對于這種快速位置伺服系統,要求整個系統各部分配合良好,其中的關鍵是控制器的選擇,綜合考慮高精度、抗干擾能力、靈活性、可靠性、實時性、性價比等各因素的情況下。選擇了Frees―cale公司的MC9Sl2DGl28B作為控制器。MC9Sl2DGl28B芯片是一款16位的單片機,功能強大,性能優越。本文采用該型號的單片機保證了所設計系統的穩定可靠。
1 系統控制方案
由于設計的角度伺服系統的負載比較大,而且相對于工業控制要求而言系統精度和快速性要求高,所以整個系統采用混合閉環的控制結構,所謂混合閉環的控制結構,就是系統內同時存在半閉環和閉環。半閉環起到控制作用,而全閉環只用于穩態誤差補償,兩者相結合可獲得較高的位置控制精度和跟蹤速度。包括:MJX40―14型光電編碼器、90LCX一3直流伺服電機、12A8型PWM直流伺服電機驅動器、單片機控制系統。單片機控制系統由MC9Sl2DGl28B單片機實現,使用Code Warrior for HCl2 V4.6編譯器,采用C語言編程。由于水平角和高低角的控制是一樣的,而且共用一個單片機,以角度控制方框圖(圖1)來說明。
如圖1所示,系統的任務是使光電編碼器測得的炮架轉動角度θ2與給出的指令θ1相等。當θ1≠θ2時,θ1一θ2的偏差信號在單片機里進行處理,放大后輸入到PWM直流伺服電機驅動器,由PWM驅動器驅動直流伺服電機,伺服電機帶動減速器,驅動炮架向著減少偏差的方向移動,直到θ1=θ2,電機停止轉動,達到目標。同時,炮架要準確的跟蹤目標,必須減少在跟蹤過程中可能出現的速度變化(如風速等原因),因為直流伺服電機本身帶有測速機端,可以把速度反饋信號進行負反饋輸入到PWM伺服電機驅動器,這樣使轉動機械的轉速度變化很小,起著穩速的作用。
2 硬件系統設計
2.1 總體設計
整個硬件系統采用模塊化思想設計,硬件系統框圖如圖2所示,分為單片機CPU最小系統、鍵盤/顯示控制模塊、直流伺服電機驅動電路、系統輸入模塊、光電編碼器等。設計時,各個模塊可相對獨立設計調試,最后集成為整個系統。
2.2 模塊結構和功能簡要說明
CPU最小系統:系統的主控模塊,用以控制和協調其它模塊工作。
鍵盤/顯示控制:由鍵盤及LED管理芯片CH451控制。系統輸入模塊:用通用8155芯片做數據采集,獲取光電編碼器所測得的火炮當前角度(位置)值,并傳給主控芯片。伺服電機驅動電路:用帶有緩沖基準輸入的雙路12位電壓輸出數字一模擬轉換器(TLC5618)作為單片機的一個外圍的D/A接口;當系統把偏差值算好后,利用PID算法得出的數據量輸出到兩路TLC5618,再通過驅動器去驅動水平和高低角的伺服電機,精確控制火炮的高低角和水平角位置和速度。
SCI通信:通過串行通信模塊。系統可以與上位機連接,方便對系統軟件的更新和升級,且可通過上位機進行控制角度控制,監視單片機的輸入與輸出。光電編碼器:用于得到炮架的轉動角度。
2.3 主要模塊設計
伺服電機相關文章:伺服電機工作原理
評論