劉曉杰,王 鋼
(1.中國(guó)科學(xué)院光學(xué)天文重點(diǎn)實(shí)驗(yàn)室(國(guó)家天文臺(tái)),北京 100012;2.中國(guó)科學(xué)院大學(xué),北京 100049)
基于單片機(jī)的LAMOST光纖定位單元碰撞處理系統(tǒng)仿真
劉曉杰1,2,王 鋼1
(1.中國(guó)科學(xué)院光學(xué)天文重點(diǎn)實(shí)驗(yàn)室(國(guó)家天文臺(tái)),北京 100012;2.中國(guó)科學(xué)院大學(xué),北京 100049)
由于超區(qū)工作,郭守敬望遠(yuǎn)鏡(LAMOST)光纖定位單元,在定位過(guò)程中可能發(fā)生碰撞。為了安全運(yùn)行提高效率,需要有一個(gè)硬件碰撞識(shí)別處理系統(tǒng)。提出了一種采用脈沖信號(hào)計(jì)數(shù)的方法。利用延時(shí)程序在單片機(jī)1的I/O口產(chǎn)生3種同頻率不同相位的脈沖。將這3種脈沖分別加在相鄰的3個(gè)光纖單元的光纖架上,由單片機(jī)2的計(jì)數(shù)器累計(jì)在設(shè)定的時(shí)間段內(nèi)光纖架上的脈沖數(shù),計(jì)數(shù)結(jié)果由單片機(jī)2處理,如果計(jì)數(shù)結(jié)果在未發(fā)生碰撞的理論值范圍內(nèi),則電機(jī)繼續(xù)沿原方向旋轉(zhuǎn),否則說(shuō)明光纖定位單元發(fā)生碰撞,電機(jī)將按原方向的反向進(jìn)行轉(zhuǎn)動(dòng)。對(duì)此進(jìn)行了仿真實(shí)驗(yàn)。
單片機(jī);LAMOST;光纖定位單元;AT89C51;脈沖計(jì)數(shù)
CN53-1189/P ISSN1672-7673
郭守敬望遠(yuǎn)鏡(LAMOST)是我國(guó)正在運(yùn)行的大視場(chǎng)和大口徑的反射式施密特天文望遠(yuǎn)鏡[1-2]。如圖1,在直徑為1.75 m的球冠形焦面板上呈蜂窩狀分布著4 000個(gè)光纖定位單元[3],每個(gè)光纖單元由兩個(gè)步進(jìn)電機(jī)驅(qū)動(dòng)。每根光纖的有效覆蓋區(qū)域?yàn)棣?3 mm的圓,任意兩個(gè)相鄰圓面的中心距為25.6 mm,這樣確保整個(gè)焦面無(wú)盲區(qū)。光纖定位單元[4]采用雙回轉(zhuǎn)的運(yùn)動(dòng)方式,由可運(yùn)轉(zhuǎn)360°的中心回轉(zhuǎn)和180°的偏心回轉(zhuǎn)組成。單元原理如圖2。光纖定位單元沒(méi)有編碼器,光纖位置通過(guò)步進(jìn)電機(jī)計(jì)步得到。每個(gè)回轉(zhuǎn)有一個(gè)電零位。通過(guò)光纖回零消除光纖定位誤差的累積。由于光纖超區(qū)工作(工作區(qū)域大于光纖定位單元間隔),當(dāng)相鄰的光纖定位單元同時(shí)運(yùn)轉(zhuǎn)到重疊區(qū)域時(shí),就會(huì)發(fā)生碰撞,發(fā)生碰撞后如果不及時(shí)處理不但造成光纖定位單元系統(tǒng)的損壞還大大降低了望遠(yuǎn)鏡的工作效率。目前,LAMOST采用軟件計(jì)算的方法使光纖定位單元在一定的安全距離之外運(yùn)行,避免光纖碰撞,這會(huì)降低光纖的利用率。當(dāng)操作不當(dāng)或計(jì)算錯(cuò)誤時(shí)會(huì)導(dǎo)致軟保護(hù)失效,這樣光纖定位單元仍會(huì)發(fā)生碰撞。因此需要一個(gè)能實(shí)時(shí)處理光纖定位單元之間碰撞問(wèn)題的碰撞處理系統(tǒng),保證光纖定位的安全運(yùn)行。
處理碰撞問(wèn)題,需要對(duì)碰撞加以識(shí)別。圖3是光纖定位單元的工作區(qū)域的示意圖??梢詫⒐饫w定位單元分成A,B,C 3種,并給它們加上不同的信號(hào),當(dāng)檢測(cè)到非本單元的信號(hào)時(shí)表明碰撞發(fā)生了。中國(guó)科技大學(xué)曾就光纖單元碰撞問(wèn)題提出過(guò)兩種方案[5-6]:電位差方案中,給3種單元分別加上不同電壓,當(dāng)發(fā)生碰撞時(shí),電壓改變?yōu)閮煞N單元電壓的中值;波形對(duì)比方案中,給3種單元加上不同的調(diào)制信號(hào),與參考信號(hào)對(duì)比。碰撞時(shí)2種或3種信號(hào)疊加,有別于參考信號(hào)。本文提出了脈沖計(jì)數(shù)的方案,給3種單元分別加上有一定相位差的同頻率的脈沖信號(hào)。當(dāng)碰撞發(fā)生時(shí),在設(shè)定時(shí)間內(nèi)所計(jì)的脈沖將增加至正常運(yùn)轉(zhuǎn)時(shí)的2到3倍。理想的碰撞處理系統(tǒng)應(yīng)當(dāng)能夠在電機(jī)每走一步就可以檢測(cè)碰撞問(wèn)題。這樣不會(huì)損傷光纖定位單元,甚至可以保持光纖定位單元的位置,不丟步。消除碰撞后可以直接定位。
圖1 焦面板示意圖Fig.1 Illustration of optical-fiber positioning units on the focal-plane plate
圖2 光纖單元原理圖Fig.2 A schematic diagram of an optical-fiber positioning unit of two-shaft rotation
圖3 重疊區(qū)域示意圖Fig.3 Illustration of regions of three types and their overlaps involved in observation
用于檢測(cè)是否碰撞的3種脈沖信號(hào)由單片機(jī)1[7]產(chǎn)生,即單片機(jī)1的P0口3個(gè)I/O端口由內(nèi)部延時(shí)程序產(chǎn)生同頻率不同相位的脈沖,將這3種脈沖分別加在3組光纖定位單元的光纖架上。由單片機(jī)1的延時(shí)程序產(chǎn)生的脈沖占空比可調(diào)性強(qiáng);脈沖周期可在1 μs到1 s之間由實(shí)驗(yàn)需要任意選??;并且應(yīng)用光電隔離芯片,可將1片單片機(jī)產(chǎn)生的3種脈沖加在4 000個(gè)光纖定位單元的偏心回轉(zhuǎn)軸上。單片機(jī)2作為驅(qū)動(dòng)光纖定位單元步進(jìn)電機(jī)的微控制器,設(shè)定500 μs的中斷,由計(jì)數(shù)器計(jì)算在設(shè)定時(shí)間段內(nèi)光纖單元偏心回轉(zhuǎn)軸的光纖架上的脈沖個(gè)數(shù)。由單片機(jī)1發(fā)出的脈沖設(shè)定的周期是100 μs,碰撞未發(fā)生則脈沖個(gè)數(shù)等于計(jì)數(shù)時(shí)間段/脈沖周期,當(dāng)發(fā)生碰撞,脈沖信號(hào)疊加,設(shè)定時(shí)間段內(nèi)的脈沖數(shù)會(huì)有所增加。若是兩個(gè)光纖定位單元發(fā)生碰撞,那么脈沖數(shù)應(yīng)該是設(shè)定值的兩倍,若是3個(gè)光纖碰撞到一起那么脈沖數(shù)應(yīng)該是設(shè)定范圍的3倍。
碰撞處理仿真系統(tǒng)的結(jié)構(gòu)如圖4,由單片機(jī)1產(chǎn)生脈沖信號(hào)加載于光纖架上,單片機(jī)2(A)、2(B)和2(C)用來(lái)驅(qū)動(dòng)A,B,C 3類(lèi)光纖單元的偏心回轉(zhuǎn)軸上的步進(jìn)電機(jī),計(jì)數(shù)脈沖識(shí)別碰撞,處理碰撞問(wèn)題。
圖4 硬件系統(tǒng)框圖Fig.4 The block diagram of the hardware system
現(xiàn)代計(jì)算機(jī)的處理速度越來(lái)越快,需要處理的問(wèn)題也越來(lái)越復(fù)雜,仿真在自動(dòng)控制系統(tǒng)中的作用變得越來(lái)越重要,Proteus的ISIS是一款電路分析失誤仿真系統(tǒng)[8],可仿真各種電路和IC。為了驗(yàn)證光纖定位單元碰撞處理系統(tǒng)實(shí)際電路的可行性,用Proteus對(duì)此處理系統(tǒng)進(jìn)行仿真。
由單片機(jī)AT89C51作為處理器的碰撞處理系統(tǒng)利用Proteus繪制的電路原理圖如圖5。由電路圖可知,該處理系統(tǒng)主要由兩片單片機(jī)組成,單片機(jī)1用來(lái)產(chǎn)生周期為100 μs 3種不同相位的脈沖,單片機(jī)2用來(lái)在設(shè)定時(shí)間內(nèi)采集單片機(jī)1產(chǎn)生的脈沖信息,控制偏心回轉(zhuǎn)軸電機(jī)的啟動(dòng)和停止。除此以外,系統(tǒng)還設(shè)有LED數(shù)碼管用來(lái)顯示單片機(jī)2采集的脈沖數(shù)量。
圖5 碰撞系統(tǒng)原理圖Fig.5 The system diagram of the circuit for simulating optical-fiber collision
3.1 AT89C51單片機(jī)
AT89C51單片機(jī)是一種低電壓、高性能CMOS 8位微處理器。AT89C51采用ATMEL高密度非易失存儲(chǔ)器制造技術(shù)制造,與工業(yè)標(biāo)準(zhǔn)的MCS-51指令集和輸出管腳相兼容。AT89C51是一種高效微控制器,能夠?qū)⒍喙δ?位中央處理器和閃爍存儲(chǔ)組合在單個(gè)芯片中,也為很多嵌入式控制系統(tǒng)提供了一種靈活性高且廉價(jià)的方案。本文采用AT89C51主要是提供碰撞檢測(cè)和處理以及驅(qū)動(dòng)光纖定位單元電動(dòng)機(jī)所需的脈沖。由于光纖定位單元的驅(qū)動(dòng)電機(jī)頻率是510 Hz,為了保證偏心回轉(zhuǎn)軸的電機(jī)在每個(gè)轉(zhuǎn)動(dòng)周期內(nèi)都能檢測(cè)是否發(fā)生碰撞,所以將單片機(jī)2 T0的定時(shí)時(shí)間設(shè)置為500 μs,而單片機(jī)1產(chǎn)生的脈沖周期設(shè)為100 μs。
3.2 LED顯示
顯示器用一位LED十六進(jìn)制的共陰極數(shù)碼管,它顯示單片機(jī)2的定時(shí)器T1在500 μs內(nèi)計(jì)數(shù)器T0所計(jì)的脈沖數(shù)。因?yàn)樵O(shè)定的脈沖周期是100 μs,所以一位LED數(shù)碼管就能顯示所計(jì)脈沖的正確個(gè)數(shù)。由于LED是十六進(jìn)制的,所以即使相鄰光纖定位單元發(fā)生碰撞,疊加后的脈沖顯示值也不會(huì)溢出。因?yàn)槭且黄瑔纹瑱C(jī)控制一個(gè)光纖定位單元的偏心回轉(zhuǎn)軸,I/O端口有剩余,所以直接用單片機(jī)2的P0口驅(qū)動(dòng)LED數(shù)碼管的8個(gè)引腳。
4.1 碰撞處理系統(tǒng)軟件結(jié)構(gòu)
由光纖定位單元的結(jié)構(gòu)可知光纖被安裝在偏心回轉(zhuǎn)軸的頂端圓域內(nèi)(如圖2),碰撞只可能發(fā)生在偏心回轉(zhuǎn)軸上,所以單片機(jī)2的主要任務(wù)是完成對(duì)加在偏心回轉(zhuǎn)軸上脈沖信號(hào)的檢測(cè)。根據(jù)反饋到單片機(jī)2的檢測(cè)結(jié)果給偏心回轉(zhuǎn)軸電機(jī)相應(yīng)的指令,確保光纖運(yùn)轉(zhuǎn)單元處于正常運(yùn)行的狀態(tài)。單片機(jī)2的程序主要分為3部分:第1部分是單片機(jī)2計(jì)數(shù)器T0在定時(shí)器T1設(shè)定的時(shí)間內(nèi)對(duì)單片機(jī)1產(chǎn)生的脈沖進(jìn)行計(jì)數(shù)。第2部分是在定時(shí)器T1產(chǎn)生中斷子程序中判斷T0計(jì)數(shù)結(jié)果,如果計(jì)數(shù)結(jié)果在4~6個(gè)范圍內(nèi)則證明光纖定位單元沒(méi)有發(fā)生碰撞,否則,說(shuō)明光纖定位單元發(fā)生了碰撞;第3部分是設(shè)定一個(gè)碰撞標(biāo)識(shí)符返回主函數(shù),主函數(shù)用來(lái)驅(qū)動(dòng)光纖定位單元的偏心回轉(zhuǎn)軸電機(jī),如果接到了光纖定位單元碰撞指令,則對(duì)偏心回轉(zhuǎn)軸電機(jī)現(xiàn)行的運(yùn)轉(zhuǎn)方向取反。程序流程如圖6。
圖6 程序流程圖Fig.6 The flowchart of the software
4.2 仿真過(guò)程
(1)在KEIL C51μVsion編譯環(huán)境下設(shè)置斷點(diǎn)、單步、跳步運(yùn)行、復(fù)位等方式進(jìn)行調(diào)試,生成.HEX文件。
(2)在Proteus中左鍵雙擊AT89C51彈出“Edit Component”窗口,并在“Program File”中添加生成的.HEX文件路徑。
(3)單擊原理圖中的運(yùn)行按鈕,進(jìn)行仿真,在工具欄中的Virtual Instruments Mode處添加OSCILOSCOPE示波器,觀察各路脈沖。
5.1 仿真結(jié)果分析
如圖7,示波器顯示的3種脈沖分別由單片機(jī)1利用延時(shí)程序在P00、P01、P02 3個(gè)I/O口產(chǎn)生。從上到下第4個(gè)脈沖為接在單片機(jī)2T0口的計(jì)數(shù)脈沖。在仿真中將疊加后的脈沖信號(hào)接入單片機(jī)2中模擬相鄰光纖定位單元碰撞現(xiàn)象,相鄰的兩個(gè)單元碰撞后仿真結(jié)果如圖8(a),3個(gè)相鄰單元碰撞后的仿真結(jié)果如圖8(b)。疊加后的碰撞信號(hào)為圖中第4列脈沖,從圖中可看出疊加后的脈沖數(shù)是原來(lái)的兩到三倍,當(dāng)脈沖疊加時(shí),步進(jìn)電機(jī)轉(zhuǎn)動(dòng)方向取反。因?yàn)樘幚碇袛啻a所用時(shí)間是25 μs,選用的51單片機(jī)的機(jī)器周期是1 μs,本套仿真系統(tǒng)可以對(duì)頻率510 Hz的光纖單元步進(jìn)電機(jī)進(jìn)行每步檢測(cè)。理論上能夠?qū)︻l率為1 MHz進(jìn)行計(jì)數(shù),可以對(duì)每一步進(jìn)行檢測(cè)的步進(jìn)電機(jī)最高運(yùn)轉(zhuǎn)頻率是40 KHz。
5.2 實(shí)驗(yàn)電路可行性分析
由于每個(gè)光纖定位單元碰撞處理系統(tǒng)之間是相互獨(dú)立的,對(duì)于每一個(gè)光纖定位單元來(lái)說(shuō),發(fā)生碰撞與正常運(yùn)轉(zhuǎn)之間的差別只在于碰撞脈沖信號(hào)是否發(fā)生了疊加,所以只仿真了一個(gè)光纖單元。實(shí)際電路中光纖架上的碰撞信號(hào)疊加的原因:由于光纖架是金屬的,當(dāng)加入脈沖信號(hào)時(shí),整個(gè)偏心回轉(zhuǎn)軸上都有了電脈沖信號(hào),當(dāng)相鄰光纖單元碰撞接觸時(shí),彼此的電脈沖信號(hào)就會(huì)疊加,相碰撞的2個(gè)或3個(gè)單元的光纖架的脈沖會(huì)發(fā)生變化。設(shè)想的實(shí)際碰撞系統(tǒng)方案如下:第一,由單片機(jī)1產(chǎn)生3種碰撞信號(hào),經(jīng)過(guò)光電隔離和驅(qū)動(dòng)器進(jìn)行驅(qū)動(dòng)后,再連接到A,B,C 3類(lèi)光纖單元的光纖架上,需要經(jīng)過(guò)幾級(jí)驅(qū)動(dòng),要在實(shí)際電路中加以確定;第二,每個(gè)光纖定位單元的碰撞處理系統(tǒng)是由一片單片機(jī)2用來(lái)控制偏心回轉(zhuǎn)軸上的步進(jìn)電機(jī),單片機(jī)2從光纖定位單元實(shí)時(shí)收取脈沖信號(hào)的信息,當(dāng)光纖定位單元沒(méi)有發(fā)生碰撞時(shí),在單片機(jī)2設(shè)定的500 μs的定時(shí)中斷內(nèi)所計(jì)的周期為100 μs的單片機(jī)1的脈沖數(shù)為5。整個(gè)硬件碰撞系統(tǒng)的搭建都在后臺(tái)完成,光纖單元結(jié)構(gòu)上只是多了一條加載到光纖架上的脈沖導(dǎo)線。每個(gè)單片機(jī)2的工作目標(biāo)旨在讀取它所控制的回轉(zhuǎn)軸光纖架上的脈沖數(shù),與其他光纖單元無(wú)關(guān),任意的光纖單元電機(jī)控制器都是相互獨(dú)立的。
圖7 偏心回轉(zhuǎn)軸上的3種脈沖Fig.7 Simulated pulses of three patterns on the off-center shaft
因?yàn)樵趯?shí)際運(yùn)行中步進(jìn)電機(jī)的頻率是510 Hz,為了能對(duì)電機(jī)的每一步都進(jìn)行是否碰撞的檢測(cè),就要求處理程序在2 ms內(nèi)完成。脈沖頻率由于是延時(shí)程序產(chǎn)生,所以頻率的變化范圍可以從100 KHz到幾百赫茲。考慮到芯片資源的合理利用和實(shí)驗(yàn)的可靠行,選擇了每個(gè)中斷時(shí)間5個(gè)脈沖的仿真實(shí)驗(yàn)。經(jīng)過(guò)多次仿真實(shí)驗(yàn)表明,頻率在100 μs左右的脈沖信號(hào)能夠達(dá)到準(zhǔn)確檢測(cè)碰撞事件的要求。本文提出的這種基于Proteus仿真的單片機(jī)對(duì)步進(jìn)電機(jī)運(yùn)轉(zhuǎn)控制的仿真方法,構(gòu)建的仿真系統(tǒng)能處理光纖定位單元碰撞問(wèn)題。單片機(jī)2根據(jù)光纖定位單元的狀態(tài)發(fā)送預(yù)設(shè)的指令,可以對(duì)光纖定位單元的偏心回轉(zhuǎn)軸電機(jī)進(jìn)行停止、正反轉(zhuǎn)處理。該碰撞處理系統(tǒng)可以在相鄰的光纖定位單元間發(fā)生碰撞時(shí)令其向反方向轉(zhuǎn)動(dòng),這樣避免故障的進(jìn)一步發(fā)生。通過(guò)KEIL C51uVsion3程序設(shè)計(jì)與Proteus硬件方針實(shí)現(xiàn)了所期望的控制過(guò)程。
圖8 (a)碰撞前的系統(tǒng)圖案;(b)碰撞后的系統(tǒng)圖案Fig.8 Simulation results of optical-fiber collision.(a)Pulses before collision;(b)Pulses after collision
[1] Wang S G,Su D Q,Chu Y Q,et al.Special configuration of a very large Schmidt telescope for extensive astronomical spectroscopic observation[J].Applied Optics,1996,35(25):5155-5161.
[2] LAMOST工程指揮部.LAMOST可行性研究報(bào)告[R].北京:LAMOST工程指揮部,1997.
[3] 李為民,胡紅專(zhuān),俞巧云,等.LAMOST并行可控式光纖定位單元及其控制技術(shù)研究[J].國(guó)內(nèi)科技,2000(4):33-34+38.
Li Weimin,Hu Hongzhuan,Yu Qiaoyun,et al.The research on the positioning unit and its control method of parallel controllable optical fiber positioning system for LAMOST[J]. Demestic Science and Technology,2000(4):33-34+38.
[4] 邢曉正,胡紅專(zhuān),杜華生,等.用于LAMOST的并行可控式光纖定位系統(tǒng)[J].中國(guó)科學(xué)技術(shù)大學(xué)學(xué)報(bào),1997,27(4):492-493.
Xing Xiaozheng,Hu Hongzhuan,Du Huasheng,et al.A parallel controllable optical fiber positioning system for LAMOST[J].Journal of China University of Science and Technology,1997,27(4):492-493.
[5] 顏芳,翟超,舒釗,等.利用脈沖比對(duì)方法實(shí)現(xiàn)LAMOST光纖定位單元碰撞檢測(cè)[J].儀器儀表學(xué)報(bào),2008,29(8):1638-1642.
Yan Fang,Zhai Chao,Shu Zhao,et al.Collision avoidance device on fiber positioning units in LAMOST based on pulse comparison[J].Chinese Journal of Scientific Instrument,2008,29(8):1638-1642.
[6] 顏芳,翟超,舒釗,等.LAMOST光纖定位單元防碰撞系統(tǒng)[J].機(jī)械與電子,2007(8):3-6.
Yan Fang,Zhai Chao,Shu Zhao,et al.The collison avoidance device on the fiber positioning units of LAMOST[J].Machinery&Electronics,2007(8):3-6.
[7] 劉文淘.MCU-51單片機(jī)培訓(xùn)課程(C51版)[M].北京:電子工業(yè)出版社,2005:20-128.
[8] 潘萬(wàn)平,徐剛,張勁松.基于Proteus的步進(jìn)電機(jī)閉環(huán)控制的仿真[J].煤礦機(jī)械,2010,31 (2):46-47+48.
Pan Wanping,Xu Gang,Zhang Jinsong.Proteus-based closed-loop control of stepper motor simulation[J].Coal Mine Machinery,2010,31(2):46-47+48.
Simulations of Collision between Optical-Fiber Positioning Units of the LAMOST Using Single-Chip Microprocessors
Liu Xiaojie1,2,Wang Gang1
(1.Key Laboratory of Optical Astronomy,National Astronomical Observatories,Chinese Academy of Sciences,Beijing 100012,China,2.University of Chinese Academy of Sciences,Beijing 100049,China,Email:liuxiaojie10@m(xù)ails.ucas.ac.cn)
To avoid missing survey areas,the light-collection areas of focal-plane optical fibers of the LAMOST(Large sky Area Multi-Object Fiber Spectroscopic Telescope)are set to overlap.Collision between adjacent optical-fiber positioning units may thus occur during their adjustments and affect the instrumental work efficiency.We propose a system based on AT89C51 microprocessors to reverse instrumental state changes caused by collision.During positioning each optical fiber is driven by two stepping motors,which control its central shaft and off-center shaft,respectively.Pulses generated by a delay procedure run in one SCM(Single-Chip Microprocessor)of the system have three patterns which have the same frequency but different phases. Such pulses serve as signals for detecting collision.The counter in each SCM controlling an optical-fiber positioning unit accumulates counts of pulses during a step of the stepping motor.A collision between two units causes pulses to be double counted,which triggers the SCMs to stop the two units and drive them backward. This collision-processing system has succeeded in boosting the work efficiency of optical fibers and improving the LAMOST observation efficiencies.As reported in the paper,we have carried out simulations to test the feasibility of the system using a PROTEUS software package.
MCU;LAMOST;Optical-fiber positioning system;AT89C51;Pulse count
TN707;TH75
A
1672-7673(2014)04-0423-07
2013-11-24;
2014-01-16
劉曉杰,女,博士.研究方向:LAMOST碰撞處理系統(tǒng)設(shè)計(jì).Email:liuxiaojie10@m(xù)ails.ucas.ac.cn
王 鋼,男,研究員.研究方向:天文儀器領(lǐng)域研究.Email:WG@lamost.org