仇存凱,姜海洋,張曉慧,岑啟峰,付培華
(1.上海航天控制技術(shù)研究所·上海·201109;2.上海慣性工程技術(shù)研究中心·上?!?01109)
在軌補加功能是長期在軌運行的航天器的重要組成部分,為航天器進行姿態(tài)調(diào)整和軌道控制提供能源支持。由電機驅(qū)動的浮動連接機構(gòu)安全可靠地運行是實現(xiàn)在軌補加功能的關(guān)鍵?;诓竭M電機具有啟停響應迅速、運行精度高等特點,本文設計方案采用兩相混合式步進電機驅(qū)動浮動連接機構(gòu)。
步進電機是一種可將電脈沖信號轉(zhuǎn)換為角位移或直線位移的機電執(zhí)行元件,每輸入一個脈沖,電機隨之轉(zhuǎn)過一定角度,從而可以通過控制電脈沖輸入個數(shù)來控制電機運行的位置。步進電機每轉(zhuǎn)過一周,其位置回到上一周起始位置,位置誤差不會無限累積,但步進電機同樣存在易失步、振動大等缺點。
此外,對于步進電機相電流的控制,文獻[6-8]采用基于空間矢量的PID控制算法,文獻[9]采用基于細分技術(shù)的PID控制算法,具有較高的控制精度。但PID控制算法各參數(shù)之間存在較為復雜的耦合性,且參數(shù)整定復雜,不利于產(chǎn)品調(diào)試和軟件移植。
本文針對上述問題,提出了步進電機相電流自適應閉環(huán)控制方案。方案采用細分技術(shù),由現(xiàn)場可編程門陣列(Field Programmable Gate Array, FPGA)根據(jù)硬件比較結(jié)果實現(xiàn)步進電機恒流斬波控制,在降低軟件設計復雜度的基礎上,將步進電機相電流誤差限定在10%范圍內(nèi),以提高步進電機驅(qū)動的平穩(wěn)性,保證浮動連接機構(gòu)的可靠運行。
細分技術(shù)是指對步進電機每一個單步進行細分,將每一單步細分成步,稱為細分。通過對步進電機進行細分控制,可以提高步進電機分辨率、減輕電機振動、降低噪聲、減小失步概率,從而使電機運行更加平穩(wěn)。
以兩相步進電機為例,對步進電機進行細分控制。通常按正弦規(guī)律設定各相電流,使電機總電流處于恒定狀態(tài)。兩相電流矢量圖如圖1所示。
圖1 步進電機兩相電流隨角度變化示意圖Fig.1 Schematic diagram of stepper motor two phases current changing with angle
電機工作在恒流狀態(tài)下,圖1中總電流為恒值,各相電流計算如式( 1 )所示。
(1)
式中,、、、分別表示步進電機總電流、A相電流、B相電流、偏轉(zhuǎn)角,其中偏轉(zhuǎn)角定義為步進電機每運行一步,轉(zhuǎn)子偏離初始位置的角度。
對兩相步進電機進行兩細分驅(qū)動控制,電機每相繞組通電一周,電機轉(zhuǎn)子運行八拍,運行規(guī)律如圖2所示。
根據(jù)式(1)可知,步進電機工作在恒流狀態(tài)下,每一拍對應的各相電流在當前拍保持恒定。當轉(zhuǎn)子位置變化時,各相電流隨偏轉(zhuǎn)角變化波形如圖3所示,通過對每一相電流分別進行恒流斬波控制,即可實現(xiàn)步進電機總電流恒定。
(a)A相電流波形
為實現(xiàn)在軌補加浮動連接機構(gòu)步進電機的恒流控制,本文系統(tǒng)采用斬波的方式調(diào)節(jié)各相繞組通電時間,以控制繞組電流大小,其硬件設計架構(gòu)如圖4所示。
圖4 步進電機驅(qū)動控制硬件設計架構(gòu)Fig.4 Hardware design architecture of stepper motor driving control
圖4中,F(xiàn)PGA接收中央處理器(Central Processing Unit, CPU)步進電機控制指令,分別輸出A、B相的方向信號、剎車信號,以及脈沖寬度調(diào)制(Pluse Width Modulation, PWM)信號至18200驅(qū)動芯片,由18200分別輸出A、B相驅(qū)動信號驅(qū)動步進電機。同時,FPGA根據(jù)圖3所示相電流變化規(guī)律給定步進電機運行在相應位置時的電流數(shù)據(jù),經(jīng)DA轉(zhuǎn)換后得到相電流設定值。由18200輸出的A、B相采樣電流經(jīng)采樣電阻轉(zhuǎn)換成電壓信號后分別輸出至各自電壓比較器,與相電流設定值進行比較,并將比較結(jié)果反饋至FPGA,由FPGA進行斬波處理,實現(xiàn)電流閉環(huán)控制。
斬波控制原理如下所述:當A相或B相在當前拍通電時,F(xiàn)PGA根據(jù)比較器輸出信號對輸出的A相或B相PWM信號進行斬波。以A相為例,當相電流實際值小于設定值時,比較器輸出未過流信號(高電平),F(xiàn)PGA檢測到未過流信號后,輸出高電平PWM信號,繞組通電,相電流上升;當相電流實際值超過設定值時,比較器將輸出過流信號(低電平),此時FPGA輸出低電平PWM信號,繞組斷電,相電流下降;當相電流實際值低于設定值時,繞組再次通電,相電流上升,如此循環(huán)往復,從而實現(xiàn)步進電機恒流控制。
基于FPGA現(xiàn)場可編程、并行處理的優(yōu)勢,本系統(tǒng)采用FPGA作為處理器,構(gòu)建圖5所示狀態(tài)機,實現(xiàn)在軌補加步進電機兩細分驅(qū)動控制。
圖5 步進電機兩細分驅(qū)動控制狀態(tài)機Fig.5 Two subdivision control state machine of stepper motor
圖5中,狀態(tài)機初始狀態(tài)為IDLE狀態(tài),每檢測到一個有效的步頻脈沖step_pulse_p,狀態(tài)機根據(jù)方向信號m_dir_c向不同方向跳轉(zhuǎn)一次,在系統(tǒng)復位或因異常跳出狀態(tài)機后重新進入初始狀態(tài)。m_dir_c = ′1′,電機方向定義為正轉(zhuǎn);m_dir_c = ′0′,電機方向定義為反轉(zhuǎn)。狀態(tài)機各狀態(tài)說明如表1所示。
表1 步進電機兩細分控制狀態(tài)機狀態(tài)說明
各狀態(tài)下,由FPGA輸出相電流設定值至DA,經(jīng)硬件電路處理后,由比較器反饋電流比較結(jié)果至FPGA。FPGA接收比較器反饋值,判斷電機是否過流,并根據(jù)判斷結(jié)果對通電繞組PWM信號進行斬波輸出,其控制流程如圖6所示。
圖6所示流程為步進電機控制狀態(tài)機處于每一動作狀態(tài)時,F(xiàn)PGA根據(jù)當前所處狀態(tài)進行繞組通電判斷,繞組通電時,使能PWM信號輸出,否則無輸出。PWM使能輸出情況下,F(xiàn)PGA判斷通電相數(shù),根據(jù)通電相數(shù)更新相電流設定值并輸出至DA芯片。經(jīng)硬件電路處理并反饋后,F(xiàn)PGA對電機過流狀態(tài)進行判斷,電機未過流,PWM輸出有效電平,否則置無效,由此實現(xiàn)步進電機兩細分恒流斬波閉環(huán)控制。
圖6 步進電機PWM信號斬波控制流程Fig.6 Control process of stepper motor PWM signal chopping
采用Modelsim仿真工具,對步進電機PWM信號斬波過程進行仿真,仿真結(jié)果如圖7所示。
圖7 步進電機PWM信號斬波仿真圖Fig.7 Simulation diagram of stepper motor PWM signal chopping
圖7中:clk_i、rst_n_i、cur_A_i(1)、m2_pwm_o(0)、cur_B_i(1)、m2_pwm_o(1)、curr_powerswitch_state分別定義為時鐘信號(16MHz)、復位信號、A相過流信號(高電平有效)、A相PWM信號、B相過流信號(高電平有效)、B相PWM信號、兩細分控制狀態(tài)機當前狀態(tài)。
從仿真圖7中可以看出,在不同狀態(tài)下,當繞組通電時,PWM信號輸出電平跟隨繞組過流狀態(tài)變化,即各相繞組過流時,對應相PWM信號輸出無效電平(低電平),反之輸出有效電平(高電平),實現(xiàn)了步進電機PWM信號斬波輸出。
為驗證PWM信號斬波后對步進電機相電流的控制效果,搭建圖8所示實驗平臺。
圖8 在軌補加步進電機驅(qū)動實驗平臺示意圖Fig.8 Schematic diagram of the in-orbit refueling stepper motor experimental platform
圖8中,在軌補加控制系統(tǒng)接收上位機電機控制指令,解析控制指令后經(jīng)驅(qū)動電路輸出驅(qū)動信號至步進電機,并反饋遙測信號至上位機。為分析不同設定值下相電流的變化情況,通過示波器記錄波形,具體如圖9所示。
(a) 相電流設定值1A
根據(jù)示波器測量結(jié)果計算相電流誤差百分比(誤差最大值/設定值×100%),相電流設定值分別為1A、2A、3A時,對應的誤差百分比分別為8%、4%、4%,控制結(jié)果符合需求。
本文提出了一種步進電機相電流自適應閉環(huán)控制方案,該方案通過比較器對相電流設定值和實際值進行比較,并將比較結(jié)果反饋給FPGA,由FPGA根據(jù)反饋值對電機PWM驅(qū)動信號進行斬波處理。這有效降低了FPGA軟件控制流程的設計復雜性,同時省去了電流閉環(huán)控制參數(shù)調(diào)整環(huán)節(jié),極大方便了步進電機恒流控制調(diào)試過程。
本文基于上述方法進行了系統(tǒng)軟硬件設計,通過Modelsim仿真工具對FPGA輸出的PWM信號斬波過程進行仿真,并搭建了實驗平臺對步進電機斬波控制效果進行測試驗證。測試結(jié)果表明,采用FPGA、DA芯片、比較器、電機驅(qū)動芯片等器件構(gòu)建閉環(huán)回路對電機PWM驅(qū)動信號進行斬波,實現(xiàn)了步進電機恒流控制,保證了浮動連接機構(gòu)在恒轉(zhuǎn)矩驅(qū)動下平穩(wěn)進行在軌補加,為航天器長期穩(wěn)定地工作奠定了堅實基礎。