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