穆悠 黃偉
(四川大學,四川 成都 610065)
激光跟蹤測量系統在工業大尺寸非接觸測量中有著廣泛的應用[1]。它將二軸轉臺[2]與激光測距儀結合在一起,形成了可以測量三維空間點位置的裝置。作為激光跟蹤測量系統中跟蹤測量合作目標的裝置,二軸轉臺應具有轉角控制精度與分辨率高、響應速度快等特點。
二軸轉臺電控系統主要由2 路帶諧波減速器的五相步進電機、步進電機驅動器、2 路24 位軸角編碼器、偏移測量模塊、4 路光電限位開關、主控器等組成。其總體結構如圖1所示。

圖1 電控系統組成
轉臺電機常采用伺服電機[3],但為了簡化設計、降低控制難度,本設計選用步距角為0.72°,并帶有減速比為1:100 的諧波減速器的五相步進電機RKS543AC 和RKS564AC。并選用與之配套的驅動器RKSD503、RKSD507,驅動器只需輸入脈沖即可驅動步進電機轉動,當設置驅動器細分數為250 時,對應單步轉動角度為0.1"。由于步進電機驅動器輸入最高脈沖頻率為500KHz,則單軸最大轉動速度為14.4°/s。
24 位軸角編碼器采用定制增量式編碼器,其刻線為32400 線,經 512 細 分 后 分 辨 率 為0.078125",為便于后續控制電路進行信號處理,將該信號乘1.28 后得到分辨率為0.1"的角度值再輸出。編碼器信號輸出接口采用RS422,通訊波特率為460800bps,編碼器每毫秒輸出1 次當前角度值。由于編碼器為增量式,系統啟動后需進行一次“找零”操作以確定系統零點。
偏移量測量模塊由四象限光電池及測量電路組成,它將反射光斑的偏移量轉換為數字量后再傳輸給控制器。為便于設計,該模塊與控制器之間的通訊也采用與編碼器相同的RS422 方式,通訊波特率為460800bps,偏移量測量模塊每毫秒輸出1 次當前偏移量。
電控系統還具有與上位機通訊功能,可通過上位機對系統進行設置及控制。與上位機通訊也采用RS422 方式,通訊波特率為115200bps。為提高抗干擾能力,通訊采用了電磁隔離。
轉臺電控系統常采用DSP、FPGA 作為控制核心[4]。隨著電子技術發展,單片機也得到了飛速發展,特別是ARMCortex-M 系列單片機,CortexM4 就已經有了較強的運算能力,同時加入了浮點運算、DSP 指令集等,能滿足電機控、工業自動化等應用需求。本設計選用了帶雙精度浮點運算的STM32F767 單片機作為核心,加上串行通訊接口、電機驅動電路、限位開關接口、EEPROM 存儲等電路設計了二軸轉臺電控系統主控器。
電機轉動控制采用雙脈沖方式,STM32F767 定時器1 通道1、2 或定時器8 通道3、4 輸出的兩路脈沖信號CTRL_CW、CTRL_CCW 分別控制電機正轉或反轉,電機驅動器每接收到一個脈沖信號就控制電機正轉或反轉1 步。為提高電機轉動最大速度,轉動控制信號采用5V 差動輸出方式,此時,電機驅動器最大輸入脈沖頻率可達到500KHz,是開路集電極信號輸入頻率的1 倍。除CTRL_CW、CTRL_CCW信號外,STM32F767 還通過輸出信號 CTRL_AWO、CTRL_FREE、CTRL_A_RST、CTRL_CS 等信號用于控制電機。同時電機運行信息通過CTRL_READY、CTRL_ALM、CTRL_TIM 三條信號線輸入控制器。具體控制電路如圖2 所示,單片機輸出3.3V 信號經電平轉換芯片74LVC4245 轉換為5V 信號,其中脈沖信號經AM26C31 轉換為差動信號控制電機驅動器。其余控制信號通過三極管2N3904 驅動電機驅動器內的光電耦合器。由電機驅動器輸出信號經光電耦合器TLP291 和PC817 隔離后連接到單片機的I/O 口。

圖2 電機驅動電路
電控系統中2 路編碼器及偏移量測量模塊均采用RS422 串行通訊口與主控器通訊。具體電路如圖3 所示,STM32F767 的USART1、USART3 以及UART5 的輸出信號UART_A_TXD、UART_B_TXD、UART_C_TXD 經過TXB0104轉換為5V 后再經AM26C31 轉換為差動信號連接到2 個編碼器和偏移量測量模塊。它們的差分輸入信號E_A_A 與E_A_B、E_B_A 與E_B_B、E_C_A 與E_C_B 經AM26C32 轉換為單端對地信號后,再經TXB0104 轉換為3.3V,輸入到STM32F767 的USART1、USART3 以及UART5 輸入端。編碼器及偏移量測量模塊需要的5V 電源也由主控器分別通過圖3 中J1、J2、J3 提供。

圖3 編碼器及偏移量測量模塊串口通訊電路
主控器與上位機通訊同樣也采用RS422 串行通訊方式。由于可能受干擾影響,加入了隔離電路。具體電路如圖4 所示,STM32F767 的USART2 輸出信號UART_TX 經電磁隔離芯片ISO7221 隔離后送入MAX490 轉換為差分信號PC_R22Y、PC_R22Z 連接到上位機。上位機輸入信號PC_R22A、PC_R22B 經MAX490 轉換為單端對地信號后再經電磁隔離芯片ISO7221 輸入到USART2 的輸入口。

圖4 上位機串口通訊電路
由于編碼器、偏移量測量模塊、光電限位開關等均需由主控器供電,且需要3.3V、5V、12V、隔離5V 等多組電源,系統采用12V50W 開關電源,經DCDC 輸出5V,再由低壓差線性穩壓器(LDO)LM1117 輸出3.3V,隔離電源模塊B0505S 輸出隔離的5V。圖5 為12V 經DCDC 輸出5V 的電路,其中TPS5430 最大可輸出3A 電流,效率最高達95%,完全能夠滿足要求。

圖5 5V 電源電路
主控器軟件也采用模塊化設計,其主要結構如圖6 所示,主要的模塊有:電機驅動與控制、偏移量測量數據處理、編碼器數據處理、運動控制算法、錯誤處理等。其中電機和編碼器只畫出了一組。

圖6 主控器軟件結構
其中編碼器信號輸入、偏移量測量模塊信號輸入、上位機通訊等均采用DMA 完成,電機控制脈沖的產生采用高級定時器PWM 輸出完成。
軟件中最重要的部分為電機控制信號的生成。在工作過程中,電機運動分為兩種模式,一種為定位模式,另一種為跟蹤模式。定位模式即電機根據上位機發出的命令移動到相應的位置。此時電機的控制以編碼器輸出為基準。運轉過程中要求電機運轉速度平穩、加減速過程曲線連續平滑,為此采用了正弦曲線作為加減速度變化曲線[5,6,7],電機運行過程中不存在加速度及加加速度突變點。
跟蹤模式即電機根據偏移量測量模塊輸出的偏差信號進行轉動,使偏差信號趨近于零。由于偏移量測量模塊每毫秒輸出1 次當前偏差值,跟蹤模式采用的控制策略為:接收到偏移量測量模塊輸出的偏差信號后,計算對應的電機轉動步數N 和方向,再計算單片機定時器TIM1、TIM8 下次1ms 內發出脈沖的周期T,并將T、N 和運行方向保存在內存中。當定時器完成上次1ms 脈沖輸出后根據內存中的T 值對定時器周期進行設置,并將定時器的重復次數設置成N,再根據運行方向使能相應的輸出通道,使定時器按新設定值繼續運行。其中定時器TIM1、TIM8 的重復次數設置成N 后,定時器會在發出N 個脈沖后再產生中斷,可不用專門進行輸出脈沖計數以減小單片機負擔。需要注意的是,前面計算出的T和N 都有可能不是整數,需要進行舍入,會帶來一定誤差。N出現誤差會使電機轉動角度出現偏差,但該誤差不會累積,會疊加在下次測量的偏差信號中。但隨著設置次數的增加T的誤差可能會累積,使定時器與偏移量測量模塊輸出信號同步出現問題,為此需再用一個定時器測量接收到偏移量測量模塊信號與定時器輸出信號完成之間的時間差,當發現時間差發生較大變化時修改T 的大小使時間差回到正常范圍內。
本二軸轉臺電控系統的硬件與軟件均采用模塊化設計,具有結構簡單、控制精度與分辨率高等特點。由于采用模塊化設計,能較方便地進行模塊的增減,形成三軸或單軸轉臺的電控系統。同時,本轉臺中采用的正弦曲線加減速算法也能較方便的移植到其它步進電機控制系統中,在本課題組設計的單星模擬器設計[8]中的步進電機控制也采用該算法,使定位速度和精度得到了提高。
將本課題組設計的帶絕對測距功能的干涉儀搭載在其上后進行綜合測試,測試環境為實驗室,恒溫20 度,同時采用多組反射鏡延長測量距離。經測試得到:測量最大距離達到35m,絕對測距精度達到30μm/10m,干涉測距精度達到10μm/m,轉臺兩軸最大轉動速度為14.4°/s,最大加速度為30°/s2,定位分辨率為0.1",以編碼器輸出為基準的定位精度小于1",達到了設計要求。