徐玉彪,陳 進,姜佳威,張家斌
(上海第二工業大學 工學部,上海 201209)
隨著現代高科技的發展,各種形式轉臺的應用越來越廣泛:在軍事方面,火炮、坦克的瞄準系統離不開轉臺;在工業方面,各種機床、機器都與各種形式的轉臺密切相連;在航天、航空等領域,轉臺在進行半實物的仿真與測試等方面也起著關鍵作用[1]。總之轉臺的運用無處不在。
轉臺控制系統軟、硬件運行得穩定與否直接關乎轉臺控制功能的實現及精度的可靠性[2]。文中所涉及的二軸轉臺為上海聯誼自主研制,用于某產品的掃描測試。該轉臺包含升降軸和旋轉軸,要求如下:開環控制下轉臺各軸能實現速度可設定下的點動、相對定位、絕對定位、定速往返、歸零、停止及實時狀態顯示等功能;升降軸上下位移重復定位精度達到0.01 mm;旋轉軸水平旋轉重復定位精度達到0.01°。在此重點介紹轉臺控制系統的設計。
二軸轉臺控制系統以2臺兩相四線步進電機為驅動執行電機,下位機采用STC15W4K56S4單片機,具有抗干擾能力強,不需要外部晶振和外部復位,高速、高可靠,超低功耗等優點[3];上位機為工業PC,基于LabVIEW軟件開發應用程序。上位機與下位機通信方式有RS-232串口和TCP/IP協議2種可選,設計相關的控制指令通信協議,通過PC對轉臺進行直接控制。
控制對象為雙軸精密定位轉臺,其升降軸的行程為 0~650 mm,旋轉軸的行程為-60°~60°。 轉臺控制系統的設計采用人機交互界面的形式,實現了控制指令的收發并將雙軸狀態數據進行實時顯示。
步進電機作為執行單元,將電脈沖信號轉變為角位移或線位移,在一定的電流驅動且不超載的情況下,轉速和運動的位移分別由脈沖的頻率和數量決定,而不受負載變化的影響。步進驅動器作為驅動步進電機運動的驅動單元,每接收到1個脈沖信號,就驅動電機按已經設定的方向轉動1個步距角,其旋轉以步距角一步一步運行。因此,可以通過計算到達給定位置所需脈沖數達到準確定位的目的,調速方面則把所需速度轉換為脈沖頻率。故此該系統采用開環控制結構,如圖1所示,以STC15W4K56S4單片機為核心處理芯片,采用由PC和單片機板組成的集散型控制方式。

圖1 轉臺控制系統總體結構Fig.1 Overall structure of turntable control system
轉臺控制系統主要由以下3部分組成:
(1)上位機PC端軟件平臺 實現人機交互功能,設定電機驅動器運行參數,完成用戶操作指令的響應,轉臺實時位置及速度等狀態信息的實時顯示。
(2)下位機控制器——轉臺控制系統的核心驅動部分 接收并解析上位機控制指令,繼而執行相關算法,發出控制信號驅動轉臺運動,并且在系統運行過程中,周期性獲取位置、速度等轉臺狀態信息發送給給上位機;監測限位開關信號并進行限位保護處理,斷電保存轉臺位置值。
(3)步進電機系統——轉臺的執行機構借助減速器、絲桿等傳動機構驅動轉臺,按照控制器控制信號進行運動,實現各種定位功能。
上位機PC端通過串口或以太網與控制器通信,向控制器發送控制指令;單片機根據接收到的指令,計算出脈沖頻率,并根據轉臺當前的位置值計算出應向驅動器發送的脈沖數及方向信號,繼而輸出脈沖驅動電機運動,實現對轉臺的實時控制;單片機還能實時捕捉轉臺的限位開關信號狀態,防轉臺運動超限。
系統所采用的兩相步進電機驅動器為DM860H,以單軸轉臺為例,驅動器端口接線如圖2所示。

圖2 驅動器端口連接Fig.2 Driver port connection
驅動器既可以采用18~80 V AC,也可以采用24~110 V DC供電,在此采用48 V DC供電。步進電機驅動器3類控制信號的具體功能如下:
(1)脈沖信號 PUL+(+5 V)和 PUL-。 PUL-脈沖上升沿有效,高電平時4~5 V,低電平時0~0.5 V。步進電機的驅動控制采用細分技術,細分后的實際步距角為基本步距角的幾分之一。如電機的基本步距角為1.8°,如果沒有細分,則1個脈沖轉動1.8°,200個脈沖旋轉1周。該系統步進電機驅動器設置為32細分,即1個脈沖電機轉動0.05625°,單片機發送脈沖的頻率則決定電機運轉的速度。
(2)方向信號 DIR+(+5 V)和 DIR-。 DIR-高電平時4~5 V,低電平時0~0.5 V,對應電機正反轉。接線方面,互換任一相繞組(A+與A-互調,或B+與B-互調)可以改變電機運行的初始方向。
(3)使能信號 ENA+(+5 V)和 ENA-。ENA-為低電平時驅動器不能工作,懸空時自動使能。在此,系統默認使能,不接ENA+和ENA-。
轉臺旋轉軸和升降軸均安裝了光電限位開關,用于限位信號的輸入。當安裝在運動部位的擋塊運動至限位開關處時,光線被擋住,光電開關動作,單片機可據此判斷轉臺運動是否超限,并做出相應的限位控制。
經測試,光電開關導通時信號線電壓為0 V,未導通時處于懸空狀態,通過示波器觀察發現光電開關未導通時輸出信號有擾動,會對單片機對限位信號的識別產生干擾。故此采用光耦芯片TLP521-4隔離的方式,以提高控制的穩定性。光電限位信號隔離電路如圖3所示,光電開關的供電電壓與光耦輸入端的電壓應相同,均為12 V DC,且由同一電源供電。

圖3 光電限位輸入信號隔離電路Fig.3 Photoelectric limiting input signal isolation circuit
為了在斷電后控制器能夠保存轉臺各軸的位置,避免每次重新上電后需再次歸零進行重新標定位置,設計了依據斷電檢測電路的單片機E2PROM保存轉臺位置值的功能。如圖4所示,單片機采用可調開關電源供電,保險絲RX的熔斷電流為500 mA;電容的規格為0.47 F/5.5 V,上電時存儲足夠電量,斷電時釋放電量,保證掉電后單片機對轉臺位置值存儲程序的運行;低壓檢測芯片為HT7050A-1,當VCC<5.3 V時P4.0為低電平,當VCC≥5.3 V時為高電平,單片機根據P4.0是否為低電平去判斷是否進行E2PROM的寫功能。使用時將可調開關電源調至5.4 V,留出一定的低壓檢測裕量。

圖4 低壓檢測電路Fig.4 Low voltage detecting circuit
轉臺控制系統的軟件設計是轉臺系統正常運行的關鍵,其設計是否合理直接影響轉臺系統各控制功能的實現。利用軟件編程算法通過對脈沖數的計算進行轉臺實時位置的判斷,省去了使用編碼器、光柵尺等測量反饋傳感器的成本。
轉臺控制系統中,上位機PC端軟件提供良好的人機交互功能,用于配置系統控制參數,輸入控制命令。考慮到在實際運用中,需要系統具有遠距離網絡通信功能,系統配有RS-232串口和TCP/IP協議2種通信方式可選。考慮到LabVIEW可以提供包括TCP,UDP,串口通信,等在內的多種通信編程接口,且為圖形化編程軟件,編程簡單直觀,故此PC端上位機軟件選用LabVIEW編寫。
為了保證上位機與下位機通信過程中指令的正確解析且使系統具有良好的可維護性,同時保證指令接收的可靠性,系統自定義了通信協議,單條協議指令為由標志頭、內容、尾校驗碼和結束符4個部分組成的16進制字符串,如圖5所示。

圖5 協議指令格式Fig.5 Protocol instruction format
圖中,標志頭約定為A5xx xx,作為指令功能的識別碼,由于上位機發給下位機的指令分為控制參數設置、正負點動、相對定位、絕對定位、定速往返等多個類型,因此需要根據標志頭的第2,3個字節的值確定類型;指令內容的字符串長度變長,根據類型的不同,分別包含轉臺運動的給定速率、位置等詳細信息;尾校驗碼為1個字節長度,是標志頭和內容的累加和的末2位;指令結束符為0x0D,用于判斷指令的接收結束。
根據上位機的功能要求,采用模塊化設計思想,各功能模塊如下:①通信配置模塊,配置界面如圖6a所示,啟動軟件初始彈出此界面,用于選擇通信方式及配置通信參數。②控制參數設置模塊,用于設置轉臺運動的螺距、傳動比、細分數、最大速度等4個主要參數,設置界面如圖6b所示。③控制操作模塊,用于輸入用戶命令,發送指令給下位機,控制轉臺進行相關運動及運動狀態顯示。其控制界面如圖6c所示。

圖6 各功能模塊的界面Fig.6 Interface of various functional modules
下位機軟件是上位機控制指令的執行軟件,用于調度控制過程,發出控制信號,驅動轉臺運動。其主要任務是接收、解析控制指令,執行控制算法,獲取轉臺實時狀態信息,并周期性地以約定的指令協議格式發送給上位機解析并顯示。
轉臺驅動的關鍵是控制脈沖發送的頻率及個數,分別對應于轉臺運動的速率和距離。該系統利用單片機16位外設定時器發送脈沖,并控制發送脈沖的頻率。
當轉臺需要運動到某一位置時,結合轉臺當前位置,根據要運動的距離和速率,分別計算出需要發送的脈沖個數、定時初值,然后啟動定時器。定時時間每到1次就進入相應定時器中斷,單片機脈沖輸出引腳電平反向1次,發送的脈沖個數減1,并更新1次定時初值,如此往復,直至脈沖個數減為0,轉臺運動到位,關閉定時器。
旋轉軸和升降軸各占用1個定時器。以旋轉軸為例,旋轉軸螺距為0,設傳動比為r,即步進電機每旋轉r角則轉臺旋轉1°;電機步距角為1.8°。轉臺每旋轉1°所需脈沖數、旋轉一定角度所需總脈沖數以及決定速率的定時初值可通過以下公式分別進行計算:

式中:N0為轉臺每旋轉1°所需的脈沖數;n為細分數;r為傳動比。

式中:s為轉臺需旋轉的角度,°;N為轉臺旋轉s角所需的總脈沖數。

式中:T為決定速率的定時初值;f為單片機運行頻率,Hz,在此設置f=11.0592 MHz;v為目標旋轉速度,°/s。
由于脈沖高電平有效,式(1)中的N0實際上是定時器的定時中斷次數,為每旋轉1°實際所需脈沖數的2倍。
對于升降軸,傳動比rs的含義為轉臺每升/降1個螺距,步進電機轉動rs周。同樣可以計算出

式中:N0s為轉臺每升降1 mm所需的脈沖數;d為螺距,mm。其余2個公式與旋轉軸一樣。
下位機軟件也采用模塊化編程的思路,便于程序調試和和后期的維護,程序功能模塊及程序流程如圖7所示。


圖7 下位機程序的功能模塊和流程Fig7 Function module and flow chart of lower computer program
轉臺控制系統利用嵌入式技術,控制器采用STC15W4K56S4單片機編程,抗干擾能力強,相比使用可編程控制器PLC節約了硬件成本。設計有I/O信號的光電隔離電路和低壓檢測電路。上位機軟件操作簡單,能完成多種精確定位功能,且配有參數配置功能,可用于基于兩相步進電機傳動的、具有不同傳動比及螺距的其它一軸或雙軸平臺的控制,具有泛用性。系統采用模塊化的設計思想,開放度高,擴展性強,方便后續的系統維護和控制功能升級,在實際應用中運行良好。目前已應用于上海聯誼自主研制的、用于產品仿真掃描測試的二維轉臺控制中,結合減速器及機械絲桿的精度,實測旋轉軸定位精度達到0.01°,升降軸定位精度達到0.01 mm,具備行業應用前景。
參考文獻:
[1]施豪杰,侯俊,楊海馬,等.基于LabVIEW的二維轉臺遠程控制系統[J].信息技術,2013,37(12):162-165.
[2]李昂,張迪,王少亮,等.轉臺控制系統的概述[J].黑龍江科技信息,2012,16(35):79.
[3]徐愛鈞,徐陽.STC15單片機原理與應用[M].北京:高等教育出版社,2016.
[4]孫建忠,劉鳳春.電機與拖動[M].2版.北京:機械工業出版社,2014.
[5]張雷,孟瑩.高精度轉臺控制系統的研制及應用[J].電子世界,2014,36(12):88-89.
[6]劉鳳芹,張國玉,王凌云,等.基于單片機的兩軸轉臺控制系統[J].長春理工大學學報:自然科學版,2008,31(4):87-90.
[7]潘瑩玉.虛擬儀器及其應用[J].電力自動化設備,1999,19(1):44-46.