葉蔚然,孫志斌,耿寶明
(1.中國科學院 空間科學與應用研究中心 北京 100190;2.中國科學院大學 北京 100049)
基于FPGA的三自由度精密激光轉臺控制系統
葉蔚然1,2,孫志斌1,耿寶明1,2
(1.中國科學院 空間科學與應用研究中心 北京 100190;2.中國科學院大學 北京 100049)
為了實時監控大型高海拔宇宙線觀測站內激光在大氣中傳輸衰減特性,設計一個精密激光轉臺向站內不同探測器指定方向發射激光脈沖。系統采用Actel FPGA為主控制器,A3977驅動兩相混合式步進電機工作,TR絕對值編碼器反饋3個方向上的角度數據,實現閉環控制,并將FPGA通過RS422接至本地PC,再接入互聯網即可與遠程控制端進行通信。最終實現激光轉臺每個方向均小于0.01°誤差的精確定位,且能通過互聯網實現遠程控制。關鍵詞:FPGA;A3977;激光轉臺;步進電機;絕對值編碼器
高能宇宙射線的觀測是天體物理學中新興的熱點話題,宇宙線粒子進入到大氣層后,會和大氣中的物質相互作用,產生次級粒子群,也就是廣延大氣簇射現象(Extensive Air Shower,EAS),簇射的粒子數可高達千億,并散布在數平方公里的面積上[1-2]。因此,在地面上只能通過構建大型的宇宙線探測陣列研究這些簇射粒子群,反演出宇宙線的組成、能量及方向等信息,實現對原初粒子的間接探測。然而,次級粒子在大氣中傳輸會受到大氣分子及氣溶膠散射衰減,使得宇宙線的重建變得更為復雜。對此,我們要對觀測站上空的大氣衰減特性進行實時監控,采用精密激光轉臺,向不同探測器指定方向發射激光,為了使監控實驗的順利進行,特制的激光轉臺將實現以下功能:
1)轉臺包括水平、俯仰及角位3個方向,為減小實驗重復性誤差,精度均小于0.01°;
2)遠程控制設定轉臺方向,及控制激光發射。
激光轉臺的結構如圖1所示,主要由底下的水平底座、中間的俯仰臺和用來調整光斑形狀的角位臺組成,要求能夠實現包括水平方向0~360°、俯仰方向0~90°、角位方向-45°~45°3個方向連續可調,并能精確定位,重復精度達到0.01°以內。

圖1 激光轉臺結構圖Fig.1 Structure of laser turntable
為了達到以上要求,選用Actel FPGA控制芯片,驅動控制轉臺的3個步進電機工作,并用角度編碼器反饋角度信息,實現閉環控制,另外,為了方便監控實驗的遠程操控,將FPGA通過RS422連到本地PC機,遠端PC通過互聯網與本地PC通信實現遠程控制。根據功能劃分,激光轉臺控制系統,主要分為以下4個部分:中央控制單元、電機驅動單元、角度反饋單元和通信網絡單元,如圖2所示。

圖2 控制系統框圖Fig.2 Diagram of control system
根據功能要求,硬件系統包括以下幾個模塊:FPGA及配置電路模塊、電機驅動模塊、編碼器信號采集模塊、RS422通信模塊以及電源模塊。

圖3 系統硬件構成框圖Fig.3 Structure of hardware system
2.1 FPGA及配置電路模塊
本系統中,FPGA作為控制芯片,其作用至關重要。首先,要給A3977提供控制信號用以驅動步進電機工作;其次,采集絕對值編碼器CMV22的角度數據,實現閉環控制;最后,負責和上位機通信,執行上位機的控制命令,并反饋轉臺的運行狀態。
FPGA選用APA600,APA600是ACTEL公司基于Flash工藝的FPGA器件,此系列的FPGA為ACTEL公司的第二代產品,憑借其宇航級品質,此系列FPGA一直應用在我國軍工、航天領域,并發揮重大作用,系統門數為60萬門,具有126K的內嵌RAM,可以滿足本系統的設計要求。FPGA需要I/O電源3.3 V和內核電源1.5 V,均由電源模塊提供。
此外,本系統選用頻率為16 MHz的外部有源晶振,為FPGA提供時鐘,MAX706提供硬件復位信號。
2.2 電機驅動模塊
轉臺的3個方向均采用兩相混合式步進電機[3],采用28 V的電壓,用FPGA通過Allegro公司的A3977驅動控制電機工作。
A3977是一種用于雙極型步進電機的微步進電機驅動集成電路,其內部集成了步進和直接譯碼接口、正反轉控制電路、雙H橋驅動,電流輸出2.5 A,最大輸出功率可接近90 W。由于采用了內置譯碼器技術,A3977可以很容易的使用最少的控制線對步進電機實施微步進控制[4-5]。由FPGA提供的步進控制信號有步進輸入(STEP)、步進模式邏輯輸入(MS1,MS2)以及方向控制信號(DIR)以及電機運轉使能控制信號(EN),如圖4所示。圖中A+、A-和B+、B-分別接至步進電機的兩路線圈中,通過電流按一定規律變化,就會使電機做出相應的轉動。

圖4 電機驅動電路原理框圖Fig.4 Block diagram of the motor driving circuit
在工作時,EN管腳處于低電平時有效,此時當STEP輸入的上升沿到來后,內置譯碼器將根據步進邏輯的輸入值(步進模式見表1)控制H橋的輸出,使電機在當前步進模式下產生1次步進。

表1 步進細分控制真值表Tab.1 Microstep resolution truth table
2.3 編碼器信號采集模塊
本系統中,對于角度的精確度具有極高的要求,我們采用德國TR的多圈絕對值編碼器CMV22讀取角度信號,絕對編碼器具有斷電記憶的功能,此編碼器單圈分辨率4096,即最小分辨率約為0.087 9°,最多可以讀取256圈,再加上轉臺三個方向減速器機構傳動比(俯仰傳動比最小1:90,水平轉臺傳動比1:180,角位轉臺傳動比1:352),那么換算過來俯仰、水平、角位的最小分辨率分別為0.000 977°、0.000 488°和0.000 250°。
絕對值編碼器輸出的脈沖信號采用同步串行接口(Synchronous Serial Interface,簡稱SSI接口),SSI接口是高精度絕對值角度編碼器中一種較常用的接口方式,基于RS422的通信技術,包含一對時鐘信號及一對數據輸出信號,采用主機主動式讀出方式,即在主控者發出的時鐘脈沖的控制下,從最高有效位(MSB)開始同步傳輸,如圖5所示。
2.4 RS422通信模塊和電源模塊
RS422通信模塊采用TEXAS INSTRUMENTS公司生產的DS26LV31AT和DS26LV32AT,分別把FPGA發送、接收信號轉化成差分信號,通過TXEN和RXEN可以對發送接收使能控制,再將RS422通過轉換器轉為RS232協議與上位機通信。所需的時鐘、使能和輸出使能信號均由FPGA提供。
系統電源部分,主要包括28 V、3.3 V和1.5 V。其中28 V為系統直流輸入電源,為外部的電機和編碼器供電;3.3 V通過DC/DC轉化得到,為FPGA供電,并與28 V電源完全隔離;1.5 V由3.3 V通過三端穩壓芯片產生,為FPGA內核供電。為了防止前端大功率電路影響到后端的控制和信號傳輸部分,將28 V電源隔離與后端隔離,28 V采用一次地,3.3 V和1.5 V共用二次地,電路如圖7所示。

圖5 SSI協議時序圖Fig.5 Timing diagram of SSI protocol

圖6 RS422電路原理圖Fig.6 Schematic of RS422

圖7 電源模塊電路原理框圖Fig.7 Block diagram of the power supply module circuit
本系統的FPGA程序使用硬件描述語言Verilog HDL編寫,FPGA程序工作流程圖如下圖所示。轉臺的3個方向依次運動到設定的位置,當達到指定位置時電機停止,然后轉動下一個方向的電機直到轉臺的3個方向設定完畢,然后就可控制發射激光打向預定的位置。當監控實驗結束后,轉臺用相同的方法,回轉到初始位置。FPGA的功能模塊主要包括422串行通信和電機閉環控制。
3.1 422串行通信
RS422負責與上層工控機通信,接收上位機的控制指令,發送轉臺的狀態參數、工程參數,實現信息互通。RS422異步串行接口的波特率為115.2 kbps,其頻率由系統時鐘16.384 MHz經過計數器分頻得到,數據幀格式由1位起始位、8位數據位、1位校驗位(奇校驗)和1位停止位構成。

圖8 FPGA程序工作流程圖Fig.8 Flow chart of FPGA software
串行通信模塊可分為發送子模塊和接收子模塊,均由狀態機實現。發送子模塊,FPGA按照軟件配置的數據包發送間隔,將內部寄存器按地址順序依次組包發送;接收子模塊,首先對輸入的數據進行3取2處理,處理后的串行數據按照RS422鏈路層協議進行串并轉換,解析出有效數據的同時完成數據的奇校驗,并寫入寄存器接口模塊。如果校驗結果不正確,則錯計數寄存器計數,進行錯誤統計。
3.2 電機閉環控制
該模塊負責對3臺電機的分時控制,根據配置的參數選擇對應電機工作,產生控制電機運行的驅動信號,控制電機以一定速度運轉至預定位置。
為了保證轉臺控制系統的功率不至于太高,控制的3臺電機使能信號互斥,通過使能信號依次選擇啟動某一個電機運轉,結束一次運行過程后,再切換至下一個電機。通用驅動控制FPGA根據上位機設定的角度預先配置電機閉環行程設置寄存器,電機開始運行,當電機閉環行程輸出寄存器與閉環行程設置寄存器一致時,則表示本次設置的轉動結束,反饋電機運行狀態標志位。
本系統硬件原理圖和PCB均采用Cadence軟件繪制,FPGA開發環境為Libero,綜合工具為Synplify Pro,仿真工具采用ModelSim。制板、程序調通后,并配合相應的上位機及通過網絡連接的遠端控制機,測試轉臺精度是否滿足設計要求。
將激光打到距離激光發射器3 m遠處的墻上,通過設定轉臺3個坐標值,并用坐標紙做標記,轉臺歸零重啟后,重新打到預先標記的點,定位點基本重合,誤差在0.5 mm以內,對于3 m的距離,也就是<0.01°,激光轉臺控制系統滿足設計要求。
文中設計了一種基于FPGA[7-8]和A3977的精密激光轉臺控制系統,能夠很好地滿足高海拔宇宙線觀測站的惡劣環境,具有非常高的轉臺定位精度,為觀測站多個探測器監控大氣狀況實驗時,提供了非常可靠、重復性誤差極小的穩定光源,為大氣監控提供保障,從而大大提高了宇宙射線信息重建的準確性。
[1] 孫志斌,黃振,葉蔚然,等.深空,自由空間,非可視散射和水下激光光子通信[J].紅外與激光工程,2012,41(9):2424-2431.
SUN Zhi-bin,HUANG Zhen,YE Wei-ran,et al.Overview of the photonic communication in deep space,free space,and underwater communication[J].Infrared and Laser Engineering,2012,41(9):2424-2431.
[2] 曹臻.ARGO-YBJ:豐富多彩的宇宙線觀測[J].自然雜志,2012,34(5):284-290.
CAO Zhen.ARGO-YBJ:Fruitful Cosmic Ray Observations [J].Chinese Journal of Nature,2012,34(5):284-290.
[3] 花同.步進電機控制系統設計[J].電子設計工程,2011,19(15):13-15.
HUA tong.Design of stepping motor control system [J].Electronic Design Engineering,2011,19(15):13-15.
[4] 張玉更,王晉.基于 AVR 的 PCB 板雕刻機的設計[J].電子設計工程,2011,19(6):143-145.
ZHANG Yu-geng,WANG Jin.Design of a PCB board engraving machine based on AVR [J].Electronic Design Engineering,2011,19(6):143-145.
[5] 楊旭強,吳紅星.電機控制集成電路的選用第二十講內置譯碼器的步進電機微步進驅動芯片 A3977[J].微電機,2002(4):14.YANG Xu-qiang,WU Hong-xing.Optional motor control IC(Lecture 20),The built-in decoder micro-stepping stepper motor driver chip7[J].Technical lecture,2002(4):14.
[6] 曾繁泰,陳美金.VHDL 程序設計[M].北京:清華大學出版社,2000.
[7] 葛昀,吳寧.基于FPGA的高精度頻率電壓轉換系統設計實現[J].電子科技,2014(4):112-114,117.
GE Yun,WU Ning.Design and implementation of high precision voltage frequency conversion system based on FPGA[J].Electronic Science and Technology,2014(4):112-114,117.
[8] 陳亮,劉金學.基于DSP和FPGA的導航計算機系統設計[J].現代電子技術,2012(2):1-3,6.
CHEN Liang,LIU Jin-xue.Design of navigation computer system based on DSP and FPGA[J].Modern Electronics Technique,2012(2):1-3,6.
Three freedom degrees precision laser turntable control system based on FPGA
YE Wei-ran1,2,SUN Zhi-bin1,GENG Bao-ming1,2
(1.Center for Space Science and Applied Research,Chinese Academy of Sciences,Beijing 100190,China;2.University of Chinese Academy of Sciences,Beijing 100049,China)
In order to monitor the atmospheric aerosol attenuation of the Large High Altitude Comic Ray Observatory,we design a precision laser turntable to emit laser pulses for various detectors in certain directions.We take Actel FPGA as the main controller for the control system of the turntable,A3977 to drive three two-phase hybrid stepping motors,and TR absolute encoder to collect angle data of three directions.And we implement a closed-loop control.And then,we connect to a local PC via RS422,through which we can control the system anywhere with internet.Eventually,the laser turntable achieve precise positioning less than 0.01 ° error in each direction,and can achieve remote control via the Internet.
FPGA;A3977;laser turntable;stepping motor;absolute encoder
TN99
A
1674-6236(2014)11-0015-04
2014-03-14 稿件編號:201403156
國家自然科學基金(61274024);國家自然科學青年科學基金(40804032)
葉蔚然(1989—),男,浙江建德人,碩士研究生。研究方向:智能檢測與控制技術。