《基于FPGA的激光轉(zhuǎn)臺控制系統(tǒng)》由會員分享,可在線閱讀,更多相關(guān)《基于FPGA的激光轉(zhuǎn)臺控制系統(tǒng)(3頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、基于FPGA的激光轉(zhuǎn)臺控制系統(tǒng)
基于FPGA的激光轉(zhuǎn)臺控制系統(tǒng)
2014/08/14
《電子設(shè)計工程雜志》2014年第十一期
1硬件系統(tǒng)設(shè)計
根據(jù)功能要求,硬件系統(tǒng)包括以下幾個模塊:FPGA及配置電路模塊、電機驅(qū)動模塊、編碼器信號采集模塊、RS422通信模塊以及電源模塊。
1.1FPGA及配置電路模塊本系統(tǒng)中,F(xiàn)PGA作為控制芯片,其作用至關(guān)重要。首先,要給A3977提供控制信號用以驅(qū)動步進電機工作;其次,采集絕對值編碼器CMV22的角度數(shù)據(jù),實現(xiàn)閉環(huán)控制;最后,負
2、責(zé)和上位機通信,執(zhí)行上位機的控制命令,并反饋轉(zhuǎn)臺的運行狀態(tài)。FPGA選用APA600,APA600是ACTEL公司基于Flash工藝的FPGA器件,此系列的FPGA為ACTEL公司的第二代產(chǎn)品,憑借其宇航級品質(zhì),此系列FPGA一直應(yīng)用在我國軍工、航天領(lǐng)域,并發(fā)揮重大作用,系統(tǒng)門數(shù)為60萬門,具有126K的內(nèi)嵌RAM,可以滿足本系統(tǒng)的設(shè)計要求。FPGA需要I/O電源3.3V和內(nèi)核電源1.5V,均由電源模塊提供。此外,本系統(tǒng)選用頻率為16MHz的外部有源晶振,為FPGA提供時鐘,MAX706提供硬件復(fù)位信號。
1.2電機驅(qū)動模塊轉(zhuǎn)臺的3個方向均采用兩相混合式步進電機[3],采用28V的電壓,用F
3、PGA通過Allegro公司的A3977驅(qū)動控制電機工作。A3977是一種用于雙極型步進電機的微步進電機驅(qū)動集成電路,其內(nèi)部集成了步進和直接譯碼接口、正反轉(zhuǎn)控制電路、雙H橋驅(qū)動,電流輸出2.5A,最大輸出功率可接近90W。由于采用了內(nèi)置譯碼器技術(shù),A3977可以很容易的使用最少的控制線對步進電機實施微步進控制[4-5]。由FPGA提供的步進控制信號有步進輸入(STEP)、步進模式邏輯輸入(MS1,MS2)以及方向控制信號(DIR)以及電機運轉(zhuǎn)使能控制信號(EN),如圖4所示。圖中A+、A-和B+、B-分別接至步進電機的兩路線圈中,通過電流按一定規(guī)律變化,就會使電機做出相應(yīng)的轉(zhuǎn)動。在工作時,EN
4、管腳處于低電平時有效,此時當(dāng)STEP輸入的上升沿到來后,內(nèi)置譯碼器將根據(jù)步進邏輯的輸入值(步進模式見表1)控制H橋的輸出,使電機在當(dāng)前步進模式下產(chǎn)生1次步進。
1.3編碼器信號采集模塊本系統(tǒng)中,對于角度的精確度具有極高的要求,我們采用德國TR的多圈絕對值編碼器CMV22讀取角度信號,絕對編碼器具有斷電記憶的功能,此編碼器單圈分辨率4096,即最小分辨率約為0.0879,最多可以讀取256圈,再加上轉(zhuǎn)臺三個方向減速器機構(gòu)傳動比(俯仰傳動比最小1:90,水平轉(zhuǎn)臺傳動比1:180,角位轉(zhuǎn)臺傳動比1:352),那么換算過來俯仰、水平、角位的最小分辨率分別為0.000977、0.000488和0.00
5、0250。絕對值編碼器輸出的脈沖信號采用同步串行接口(SynchronousSerialInterface,簡稱SSI接口),SSI接口是高精度絕對值角度編碼器中一種較常用的接口方式,基于RS422的通信技術(shù),包含一對時鐘信號及一對數(shù)據(jù)輸出信號,采用主機主動式讀出方式,即在主控者發(fā)出的時鐘脈沖的控制下,從最高有效位(MSB)開始同步傳輸,如圖5所示。
1.4RS422通信模塊和電源模塊RS422通信模塊采用TEXASINSTRUMENTS公司生產(chǎn)的DS26LV31AT和DS26LV32AT,分別把FPGA發(fā)送、接收信號轉(zhuǎn)化成差分信號,通過TXEN和RXEN可以對發(fā)送接收使能控制,再將RS42
6、2通過轉(zhuǎn)換器轉(zhuǎn)為RS232協(xié)議與上位機通信。所需的時鐘、使能和輸出使能信號均由FPGA提供。系統(tǒng)電源部分,主要包括28V、3.3V和1.5V。其中28V為系統(tǒng)直流輸入電源,為外部的電機和編碼器供電;3.3V通過DC/DC轉(zhuǎn)化得到,為FPGA供電,并與28V電源完全隔離;1.5V由3.3V通過三端穩(wěn)壓芯片產(chǎn)生,為FPGA內(nèi)核供電。為了防止前端大功率電路影響到后端的控制和信號傳輸部分,將28V電源隔離與后端隔離,28V采用一次地,3.3V和1.5V共用二次地,電路如圖7所示。
2FPGA邏輯設(shè)計
本系統(tǒng)的FPGA程序使用硬件描述語言VerilogHDL編寫,F(xiàn)PGA程序工作流程圖如下圖所示。轉(zhuǎn)
7、臺的3個方向依次運動到設(shè)定的位置,當(dāng)達到指定位置時電機停止,然后轉(zhuǎn)動下一個方向的電機直到轉(zhuǎn)臺的3個方向設(shè)定完畢,然后就可控制發(fā)射激光打向預(yù)定的位置。當(dāng)監(jiān)控實驗結(jié)束后,轉(zhuǎn)臺用相同的方法,回轉(zhuǎn)到初始位置。FPGA的功能模塊主要包括422串行通信和電機閉環(huán)控制。
2.1422串行通信RS422負責(zé)與上層工控機通信,接收上位機的控制指令,發(fā)送轉(zhuǎn)臺的狀態(tài)參數(shù)、工程參數(shù),實現(xiàn)信息互通。RS422異步串行接口的波特率為115.2kbps,其頻率由系統(tǒng)時鐘16.384MHz經(jīng)過計數(shù)器分頻得到,數(shù)據(jù)幀格式由1位起始位、8位數(shù)據(jù)位、1位校驗位(奇校驗)和1位停止位構(gòu)成。串行通信模塊可分為發(fā)送子模塊和接收子模塊,
8、均由狀態(tài)機實現(xiàn)。發(fā)送子模塊,F(xiàn)PGA按照軟件配置的數(shù)據(jù)包發(fā)送間隔,將內(nèi)部寄存器按地址順序依次組包發(fā)送;接收子模塊,首先對輸入的數(shù)據(jù)進行3取2處理,處理后的串行數(shù)據(jù)按照RS422鏈路層協(xié)議進行串并轉(zhuǎn)換,解析出有效數(shù)據(jù)的同時完成數(shù)據(jù)的奇校驗,并寫入寄存器接口模塊。如果校驗結(jié)果不正確,則錯計數(shù)寄存器計數(shù),進行錯誤統(tǒng)計。
2.2電機閉環(huán)控制該模塊負責(zé)對3臺電機的分時控制,根據(jù)配置的參數(shù)選擇對應(yīng)電機工作,產(chǎn)生控制電機運行的驅(qū)動信號,控制電機以一定速度運轉(zhuǎn)至預(yù)定位置。為了保證轉(zhuǎn)臺控制系統(tǒng)的功率不至于太高,控制的3臺電機使能信號互斥,通過使能信號依次選擇啟動某一個電機運轉(zhuǎn),結(jié)束一次運行過程后,再切換至下一
9、個電機。通用驅(qū)動控制FPGA根據(jù)上位機設(shè)定的角度預(yù)先配置電機閉環(huán)行程設(shè)置寄存器,電機開始運行,當(dāng)電機閉環(huán)行程輸出寄存器與閉環(huán)行程設(shè)置寄存器一致時,則表示本次設(shè)置的轉(zhuǎn)動結(jié)束,反饋電機運行狀態(tài)標志位。
3實驗結(jié)果
本系統(tǒng)硬件原理圖和PCB均采用Cadence軟件繪制,F(xiàn)PGA開發(fā)環(huán)境為Libero,綜合工具為SynplifyPro,仿真工具采用ModelSim。制板、程序調(diào)通后,并配合相應(yīng)的上位機及通過網(wǎng)絡(luò)連接的遠端控制機,測試轉(zhuǎn)臺精度是否滿足設(shè)計要求。將激光打到距離激光發(fā)射器3m遠處的墻上,通過設(shè)定轉(zhuǎn)臺3個坐標值,并用坐標紙做標記,轉(zhuǎn)臺歸零重啟后,重新打到預(yù)先標記的點,定位點基本重合,誤差在
10、0.5mm以內(nèi),對于3m的距離,也就是4結(jié)論
文中設(shè)計了一種基于FPGA和A3977的精密激光轉(zhuǎn)臺控制系統(tǒng),能夠很好地滿足高海拔宇宙線觀測站的惡劣環(huán)境,具有非常高的轉(zhuǎn)臺定位精度,為觀測站多個探測器監(jiān)控大氣狀況實驗時,提供了非??煽?、重復(fù)性誤差極小的穩(wěn)定光源,為大氣監(jiān)控提供保障,從而大大提高了宇宙射線信息重建的準確性。
作者:葉蔚然孫志斌耿寶明單位:中國科學(xué)院空間科學(xué)與應(yīng)用研究中心中國科學(xué)院大學(xué)
上一個文章: 機電設(shè)備備件需求預(yù)測下一個文章: HDLC協(xié)議IP核的設(shè)計