楊海光 劉文怡 朱思敏 張會(huì)新
(電子測(cè)試技術(shù)重點(diǎn)實(shí)驗(yàn)室1,山西 太原 030051;中北大學(xué)儀器科學(xué)與動(dòng)態(tài)測(cè)試教育部重點(diǎn)實(shí)驗(yàn)室2,山西 太原 030051)
步進(jìn)電機(jī)。系統(tǒng)總體結(jié)構(gòu)框圖如圖1所示。
隨著航空航天和飛行武器的快速發(fā)展,物體姿態(tài)的控制精度和反應(yīng)速度成為精確與快速打擊的關(guān)鍵因素。本文基于快速與精確調(diào)整設(shè)備姿態(tài)的目的,采用步進(jìn)電機(jī)配合傾角傳感器[1-2],實(shí)現(xiàn)了簡(jiǎn)易精確的姿態(tài)角度測(cè)量控制系統(tǒng),為低成本、高精度測(cè)控系統(tǒng)的發(fā)展提供了參考。
本文將傾角傳感器鑲嵌在步進(jìn)電機(jī)的轉(zhuǎn)軸上,控制計(jì)算機(jī)下發(fā)定位角度;通過(guò)FPGA將定位角度與當(dāng)前實(shí)際角度進(jìn)行對(duì)比運(yùn)算,以控制輸出脈沖個(gè)數(shù)的方式來(lái)控制角位移量,從而達(dá)到準(zhǔn)確定位的目的;并將傾角傳感器的實(shí)際測(cè)量值反饋給上位機(jī)進(jìn)行實(shí)時(shí)監(jiān)測(cè),進(jìn)而達(dá)到對(duì)電機(jī)轉(zhuǎn)軸偏轉(zhuǎn)水平面角度的測(cè)量。
圖1 系統(tǒng)總體結(jié)構(gòu)框圖Fig.1 The overall structure of system
ROB100上電(12 V)即工作,并立刻通過(guò)RS-232串口輸出傾角數(shù)據(jù),波特率為57600 bit/s,輸出的數(shù)據(jù)格式為每幀7個(gè)字節(jié)。數(shù)據(jù)幀格式如表1所示。
表1 數(shù)據(jù)幀格式Tab.1 Format of the data frame
本設(shè)計(jì)主要可分為5個(gè)部分,分別為數(shù)據(jù)產(chǎn)生單元——外接的數(shù)字式傾角傳感器、主控單元——FPGA、控制終端——上位機(jī)、驅(qū)動(dòng)單元——功率放大器(步進(jìn)電機(jī)驅(qū)動(dòng)芯片)、執(zhí)行單元——永磁式減速型
表1中,X軸方向表示橫滾角,Y軸方向表示俯仰角,本設(shè)計(jì)選用的是X軸方向的角度數(shù)據(jù)實(shí)現(xiàn)測(cè)量與定位的控制。經(jīng)試驗(yàn)證明,Y軸方向的控制與X軸的原理相同。
數(shù)據(jù)通過(guò)RS-232接口異步串行進(jìn)入FPGA。通過(guò)FPGA內(nèi)部邏輯運(yùn)算和處理,將實(shí)際測(cè)量角度反饋給上位機(jī)進(jìn)行實(shí)時(shí)監(jiān)測(cè)。上位機(jī)下發(fā)定位角度,將角度轉(zhuǎn)換的脈沖數(shù)通過(guò)脈沖分配器輸出;再經(jīng)電機(jī)驅(qū)動(dòng)芯片的功率放大后給到電機(jī)上,使電機(jī)旋轉(zhuǎn)到設(shè)定的位置,并在當(dāng)前位置保持動(dòng)態(tài)平衡。
外部電源給傳感器供電,供電電壓為12 V。傳感器上電后下發(fā)傾角數(shù)據(jù),通過(guò)串口逐位進(jìn)入MAX3232中。MAX3232將12 V的電平數(shù)據(jù)轉(zhuǎn)化為5 V的電平數(shù)據(jù)后串行進(jìn)入FPGA。RS-232串口通信原理圖如圖2所示。
圖2 RS-232串口通信原理圖Fig.2 Principle of RS-232 serial port communication
通過(guò)對(duì)底層邏輯程序的編寫,對(duì)串行進(jìn)入FPGA內(nèi)部的傾角數(shù)據(jù)進(jìn)行采集、編碼、計(jì)算,最終將傾角數(shù)據(jù)轉(zhuǎn)化為脈沖個(gè)數(shù),并根據(jù)電機(jī)工作原理重新分配輸出。FPGA將處理后的數(shù)據(jù)經(jīng)ULN2003電機(jī)驅(qū)動(dòng)芯片輸出給步進(jìn)電機(jī)。
驅(qū)動(dòng)電路如圖3所示。
圖3 驅(qū)動(dòng)電路Fig.3 Driving circuit
本設(shè)計(jì)選用的步進(jìn)電機(jī)型號(hào)為24BYJ48-5V,共有4對(duì)磁極即4相,5根線依次為紅、橙(A)、黃(B)、粉(C)、藍(lán)(D)五種顏色。其中藍(lán)線和黃線是一對(duì),橙線和粉線是一對(duì),紅線是這兩組線圈抽頭的公共線。藍(lán)線和黃線、橙線和粉線接控制脈沖輸出,所以只需要4個(gè)輸出接口。通過(guò)內(nèi)部邏輯程序的管腳分配,選用的是驅(qū)動(dòng)芯片的前4個(gè)管腳,輸出管腳即OUT1~OUT4。紅線接+5 V的直流電源。
步進(jìn)電機(jī)是純粹的數(shù)字控制電動(dòng)機(jī),是將電脈沖信號(hào)轉(zhuǎn)換成角位移的執(zhí)行元件。步進(jìn)電機(jī)轉(zhuǎn)子的轉(zhuǎn)角與輸入的電脈沖數(shù)成正比,其轉(zhuǎn)速與輸入的脈沖頻率成正比,而電動(dòng)機(jī)的旋轉(zhuǎn)方向則由脈沖的分配順序決定[4]。
2.2.1 步進(jìn)電機(jī)技術(shù)指標(biāo)
不同的步進(jìn)電機(jī)有不同的啟動(dòng)頻率和頻率上限,工作頻率應(yīng)介于兩者之間,電機(jī)才能在非過(guò)載的情況下正常旋轉(zhuǎn)。經(jīng)過(guò)多次計(jì)算和試驗(yàn),本設(shè)計(jì)將旋轉(zhuǎn)頻率設(shè)定為625Hz,選用的電機(jī)步距角為5.625°/64,所以旋轉(zhuǎn)一周需要4096個(gè)脈沖,每一個(gè)脈沖電機(jī)旋轉(zhuǎn)的角度約為0.088°。步進(jìn)電機(jī)的運(yùn)行方式為4相8拍,即A-ABB-BC-C-CD-D-DA-A,8個(gè)狀態(tài)為一個(gè)循環(huán)[5-7]。
2.2.2 傾角傳感器技術(shù)指標(biāo)
選用的傳感器量程為-90°~90°。傾角傳感器產(chǎn)生的是二進(jìn)制數(shù)據(jù),解碼方式如下。
①接收的16位整數(shù)≤32768時(shí),傾角值=16位整數(shù)×90/32768(正角)。
② 接收的16位整數(shù)>32768時(shí),傾角值=(16位整數(shù)-65535)×90/32768(負(fù)角)。
由于16位數(shù)每變化一位,角度值也會(huì)隨之變化,所以傾角傳感器的精度理論值為(1/32768)°。
2.2.3 角度與脈沖個(gè)數(shù)的轉(zhuǎn)換
由上述分析可知,步進(jìn)電機(jī)的精度為0.088°。為便于底層邏輯程序編寫時(shí)換算,將這個(gè)角度表示為N;傾角傳感器的精度為(1/32768)°,將這個(gè)角度表示為n,N/n約等于32。所以當(dāng)傾角傳感器產(chǎn)生的數(shù)據(jù)變化約32個(gè)精度單位時(shí),電機(jī)變化一個(gè)精度單位,即將產(chǎn)生的角度數(shù)據(jù)轉(zhuǎn)化成整數(shù)與32循環(huán)作差。當(dāng)數(shù)據(jù)減到小于32時(shí),停止作差循環(huán)。通過(guò)計(jì)數(shù)器將“32”的個(gè)數(shù)進(jìn)行累加,即為實(shí)際輸出的脈沖數(shù)。對(duì)于實(shí)際位置偏離參考面的上下兩側(cè),則通過(guò)控制步進(jìn)電機(jī)的旋轉(zhuǎn)方式來(lái)實(shí)現(xiàn)調(diào)整要求[8]。
本設(shè)計(jì)應(yīng)用VHDL作為邏輯程序編輯語(yǔ)言,在此重點(diǎn)介紹計(jì)算器和脈沖分配器的設(shè)計(jì)與實(shí)現(xiàn)。通過(guò)對(duì)底層邏輯程序編寫,經(jīng)綜合編譯后生成的頂層圖如圖4所示。
圖4 計(jì)算器和脈沖分配器邏輯程序頂層圖Fig.4 Top layer of the logical program of calculator and pulse distributor
3.1.1 計(jì)算器
計(jì)算模塊連接通信的主要引腳的功能如下。
clk表示時(shí)鐘信號(hào),使模塊正常工作的時(shí)鐘。rst表示復(fù)位信號(hào),低電平有效。復(fù)位后計(jì)算器處于初始狀態(tài)。datain表示傾角傳感器下發(fā)的數(shù)據(jù),計(jì)算器內(nèi)部進(jìn)行運(yùn)算處理。wrin表示寫數(shù)據(jù)信號(hào),每發(fā)生一次由低到高的變化就寫入一組數(shù)據(jù)。busy表示忙碌等待信號(hào),脈沖分配器反饋給計(jì)算器的信號(hào)。當(dāng)脈沖分配器處于工作執(zhí)行狀態(tài)時(shí),計(jì)算器停止數(shù)據(jù)的下發(fā)。cntoutX表示脈沖個(gè)數(shù)信號(hào)(最高位控制旋轉(zhuǎn)方向,剩下的為數(shù)據(jù)位),由計(jì)算器內(nèi)部計(jì)算轉(zhuǎn)換產(chǎn)生,輸出給脈沖分配器,再由脈沖分配器分配啟動(dòng)脈沖,最終由步進(jìn)電機(jī)執(zhí)行相應(yīng)的步數(shù)。
以上信號(hào)中,除cntoutX為輸出信號(hào)外,其余均為輸入信號(hào)。
3.1.2 脈沖分配器
脈沖分配模塊連接通信的主要引腳的功能如下。
clk32表示時(shí)鐘信號(hào),驅(qū)動(dòng)準(zhǔn)備時(shí)鐘1.25 MHz。rst表示復(fù)位信號(hào),低電平有效。復(fù)位后脈沖分配器處于初始狀態(tài)。cntin表示脈沖個(gè)數(shù)信號(hào),接收計(jì)算器給出的脈沖個(gè)數(shù)及旋轉(zhuǎn)方向。busy表示忙碌等待信號(hào),脈沖分配器產(chǎn)生,當(dāng)脈沖分配器處于忙碌狀態(tài)時(shí),輸出為高電平。data表示執(zhí)行信號(hào),脈沖分配器輸出給步進(jìn)電機(jī)時(shí)電機(jī)正常運(yùn)轉(zhuǎn)的執(zhí)行脈沖。
以上信號(hào)中,除data為輸出信號(hào)外,其余均為輸入信號(hào)。
為了直觀顯示,全面地表示出算法實(shí)現(xiàn)的過(guò)程,這里以45°所在的平面為參考平面,詳細(xì)介紹了算法的運(yùn)用與實(shí)現(xiàn)。角度示意圖如圖5所示。
傾角傳感器輸出的角度落在第一象限并且大于45°時(shí),用傳感器角度減去45°,即為調(diào)整角度,旋轉(zhuǎn)方向設(shè)定為順時(shí)針;當(dāng)傾角傳感器輸出的角度落在第一象限并且小于45°時(shí),用45°減去傳感器角度,即為調(diào)整角度,旋轉(zhuǎn)方向設(shè)定為逆時(shí)針;當(dāng)傾角傳感器輸出的角度落在第四象限時(shí),計(jì)算角度的方法為65535減去接收到的16位數(shù)據(jù),將這個(gè)數(shù)據(jù)轉(zhuǎn)化成角度,即為傾角傳感器在第四象限中的實(shí)際角度(符號(hào)忽略不計(jì)),再加上參考面設(shè)定的45°,即為需要調(diào)整的角度,旋轉(zhuǎn)方向設(shè)定為逆時(shí)針。
圖5 角度示意圖Fig.5 Schematic diagram of angle
通過(guò)對(duì)本設(shè)計(jì)的研究,將開(kāi)環(huán)器件步進(jìn)電機(jī)與傾角傳感器有效結(jié)合,最終實(shí)現(xiàn)了帶反饋的閉環(huán)可控系統(tǒng),提高了電機(jī)的實(shí)用性。
本設(shè)計(jì)邏輯簡(jiǎn)單、可靠性好,設(shè)計(jì)理念可以有效地應(yīng)用在各種需要維持動(dòng)態(tài)平衡狀態(tài)的擺翼或舵盤上,也可以根據(jù)需求測(cè)量出實(shí)際應(yīng)用中的俯仰角或橫滾角,具有廣泛的應(yīng)用情景。
[1]汪厚新.采用FPGA的步進(jìn)電機(jī)控制系統(tǒng)研究[D].成都:西南交通大學(xué),2006.
[2]張維勝.傾角傳感器原理和發(fā)展[J].傳感器世界,2002,8(1):18-21.
[3]陳曉鴿,昂軍.Protel 99SE標(biāo)準(zhǔn)實(shí)例教程[M].北京:機(jī)械工業(yè)出版社,2010:139-183.
[4]王美川,王紫婷.基于FPGA控制的步進(jìn)電機(jī)驅(qū)動(dòng)設(shè)計(jì)[J].電子測(cè)量技術(shù),2008,31(6):184-187.
[5]吳云,陸鍔,趙海洋,等.基于FPGA的步進(jìn)電機(jī)細(xì)分驅(qū)動(dòng)器的設(shè)計(jì)[J].自動(dòng)化儀表,2009,30(10):61-63.
[6]林海波.基于單片機(jī)的步進(jìn)電機(jī)均勻細(xì)分驅(qū)動(dòng)器的實(shí)現(xiàn)[J].自動(dòng)化儀表,2004,25(9):60-63.
[7]陳錫侯,陳濤,彭東林,等.基于時(shí)間細(xì)分技術(shù)的高精度自動(dòng)定位控制方法研究[J].自動(dòng)化儀表,2011,32(4):26-28.
[8]諶慧銘,湯曉華,郭小進(jìn).轉(zhuǎn)子微揚(yáng)度測(cè)量?jī)x的研制[J].自動(dòng)化儀表,2008,29(10):47-50.