陳周牛,桑文龍
(1.重慶人文科技學(xué)院 機(jī)電與信息工程學(xué)院,重慶 401524;2.西南大學(xué) 物理科學(xué)與技術(shù)學(xué)院,重慶 400715)
步進(jìn)電動機(jī)是一種將脈沖信號轉(zhuǎn)化為直線位移和角位移的執(zhí)行器。根據(jù)工作形式可以分為直線型和旋轉(zhuǎn)型,步進(jìn)電機(jī)在勵磁脈沖的驅(qū)動下,可以以旋轉(zhuǎn)或直線的方式運(yùn)行[1]。其中,二相直流步進(jìn)電動機(jī)是一種能夠與直流電源直接連接的步進(jìn)電動機(jī),因而在許多行業(yè)得到了廣泛的應(yīng)用。
在對速度要求較高的控制系統(tǒng)中,需要控制步進(jìn)電機(jī)在高速運(yùn)行時(shí)不會發(fā)生堵塞和失步,并最大限度地提高步進(jìn)電動機(jī)的工作效率。通過兩相直流步進(jìn)電機(jī)升速自動控制方法的優(yōu)化,改變脈沖的發(fā)射頻率,從而完成步進(jìn)電機(jī)轉(zhuǎn)速的控制。
步進(jìn)電機(jī)的控制模式有開環(huán)和閉環(huán)兩種,開環(huán)控制是將電機(jī)的相位劃分為階梯型正弦波,從而降低電機(jī)的步進(jìn)角,閉環(huán)控制系統(tǒng)可以直接或間接地探測到步進(jìn)電機(jī)的轉(zhuǎn)子位置,并利用反饋過程,根據(jù)輸出脈沖的順序,自動調(diào)節(jié)步進(jìn)電機(jī)的位置,使其保持在合適的角度,從而實(shí)現(xiàn)對轉(zhuǎn)動速度的控制?,F(xiàn)階段發(fā)展較為成熟的升速控制方法主要包括:基于STM32和FPGA的控制方法和基于無超調(diào)算法的控制方法,然而上述傳統(tǒng)控制方法主要作用于單相直流步進(jìn)電機(jī)上,因此在兩相直流步進(jìn)電機(jī)升速控制過程中容易出現(xiàn)堵塞和失步的情況,且存在明顯的控制效果差的問題,主要體現(xiàn)在速度運(yùn)行穩(wěn)定性和速度控制差異等方面。為了解決上述傳統(tǒng)控制方法存在的問題,引入可編程邏輯控制器。
PLC是一種在工業(yè)環(huán)境下自動化控制而設(shè)計(jì)的數(shù)字運(yùn)算操作電子系統(tǒng)。在兩相直流步進(jìn)電機(jī)升速自動控制方法的優(yōu)化設(shè)計(jì)中,通過PLC的應(yīng)用以期能夠提升電機(jī)的控制效果。
利用PLC對步進(jìn)電機(jī)的驅(qū)動控制器進(jìn)行改裝,改裝后的控制器結(jié)構(gòu)如圖1所示。
圖1 升速自動控制器內(nèi)部結(jié)構(gòu)圖
圖1所示的控制器與PLC通過PCI總線進(jìn)行通訊,而輸入電機(jī)則是SH-20403驅(qū)動。在結(jié)構(gòu)上,PLC控制器具有一個(gè)單獨(dú)的控制模塊,它能為步進(jìn)電機(jī)的驅(qū)動和方向控制,并具有5個(gè)數(shù)字信號輸入信道,步進(jìn)電機(jī)的控制是可編程的直線速度控制[2]。另外,該系統(tǒng)還設(shè)有16個(gè)數(shù)字輸入和16個(gè)數(shù)字輸出。該驅(qū)動控制器可以提供整步、改進(jìn)半步等工作方式,在實(shí)際的兩相直流步進(jìn)電機(jī)升速控制過程中,驅(qū)動控制器設(shè)備接收電機(jī)控制對象的實(shí)時(shí)運(yùn)行數(shù)據(jù)以及控制指令,根據(jù)需要,生成每一相的接通或斷開的信號,由此實(shí)現(xiàn)電機(jī)在不同工作狀態(tài)之間的切換,并且將該信號輸入到信號放大器和處理單元。信號放大器和處理器模塊會對接收到的信號進(jìn)行放大,并將其輸入到推進(jìn)級中。推進(jìn)級模塊能夠?qū)⑿⌒盘柗糯鬄橐粋€(gè)能夠有效地控制功率放大器輸出的輸入信號。電機(jī)的各個(gè)相繞組連接到功率放大器上,通過驅(qū)動級輸出的信號來控制電機(jī)繞組的開、關(guān),并且可以對線圈的電壓和電流進(jìn)行控制,間接的實(shí)現(xiàn)對電機(jī)速度的控制。
圖2為各個(gè)元件組成的兩相直流步進(jìn)電機(jī)結(jié)構(gòu)。
圖2 兩相直流步進(jìn)電機(jī)結(jié)構(gòu)圖
在兩相直流步進(jìn)電機(jī)結(jié)構(gòu)中,電動機(jī)的工作原理和電磁性能由電動機(jī)的定子結(jié)構(gòu)和定子線圈組成,其它部件則由電動機(jī)的結(jié)構(gòu)特點(diǎn)決定。步進(jìn)電動機(jī)是由電磁力驅(qū)動的,由一個(gè)特定的轉(zhuǎn)子上電,形成一個(gè)磁場,使轉(zhuǎn)子受到最大的磁導(dǎo),從而使其旋轉(zhuǎn)[3]。結(jié)合兩相直流步進(jìn)電機(jī)的結(jié)構(gòu)組成以及工作原理,構(gòu)建相應(yīng)的數(shù)學(xué)模型。兩相直流步進(jìn)電機(jī)是一種具有高非線性、強(qiáng)耦合的機(jī)電裝置,在不考慮永磁體回路漏磁的條件下,兩相直流步進(jìn)電機(jī)電壓處于平衡,其平衡方程如式(1)所示:
式(1)中變量Va、Vb、Ia和Ib分別為a、b兩相的電壓值和電流值,ωr和θ對應(yīng)的是電機(jī)機(jī)械角速度和旋轉(zhuǎn)角度,L和R為電機(jī)繞組部分的電感值和電阻值,變量Nr為轉(zhuǎn)子齒數(shù),κt表示反電動勢系數(shù),取值為常數(shù)。由此可以得出兩相直流步進(jìn)電機(jī)的基本電路方程,如式(2)所示。
式(2)中ψa和ψb代表a、b兩相繞組的磁鏈,該變量的計(jì)算公式為:
式(3)中i取值為a或b,Lii、ψMi和θe分別對應(yīng)的是任意一相繞組的自感、轉(zhuǎn)子永磁體在a、b相繞組上產(chǎn)生的磁鏈以及轉(zhuǎn)子齒中心線位置相對于定子相中間齒的夾角。將式(3)的求解結(jié)果代入到式(2)中,并與式(1)聯(lián)立,即可得出兩相直流步進(jìn)電機(jī)的數(shù)學(xué)模型表達(dá)式。
優(yōu)化設(shè)計(jì)的升速控制方法需要采集步進(jìn)電機(jī)的繞組電流以及速度作為PLC驅(qū)動控制器的輸入,在構(gòu)建的數(shù)學(xué)模型下,采用兩個(gè)模擬-數(shù)字轉(zhuǎn)換器,對步進(jìn)電機(jī)a、b兩相線圈的電流進(jìn)行實(shí)時(shí)的變換,并將其轉(zhuǎn)化為16比特的編碼,然后送至FPGA[4]。待采集的步進(jìn)電機(jī)速度主要指的是a、b兩相轉(zhuǎn)子的角速度,采集結(jié)果可以表示為:
式(4)中D為單位時(shí)間轉(zhuǎn)子移動的角度,t為時(shí)間。將數(shù)據(jù)采集程序連接到兩相直流步進(jìn)電機(jī)的啟動程序中,并設(shè)置數(shù)據(jù)采集的時(shí)間間隔為0.5s,由此即可在步進(jìn)電機(jī)運(yùn)行的同時(shí)實(shí)現(xiàn)實(shí)時(shí)數(shù)據(jù)的自動采集。
步進(jìn)電動機(jī)的工作需要滿足一定的時(shí)間序列,電磁力的大小取決于線圈上的電流,當(dāng)線圈內(nèi)的電流不再是正方波形,而是一個(gè)由n級組成的近似階梯形波,電動機(jī)的每一級都會旋轉(zhuǎn)一次?;谝陨显?,步進(jìn)電動機(jī)的控制不能立即斷開或打開,而應(yīng)循序漸進(jìn)地逐步打開的方式,也就是階梯規(guī)律控制方式,該方式下步進(jìn)電機(jī)升速運(yùn)行曲線如圖3所示。
圖3 步進(jìn)電機(jī)階梯型升速運(yùn)行曲線
在階梯型升速控制信號作用下,步進(jìn)電機(jī)中的線圈就會形成一種新的磁場,使轉(zhuǎn)子在原有的步距角度上移動,使其在新的磁場中保持平衡。步進(jìn)電動機(jī)的細(xì)分傳動能夠使步距變得更小,控制精度也得到很大的提高,并且能在升速控制過程中減少或消除振動、噪聲和轉(zhuǎn)矩的波動。將實(shí)時(shí)采集的兩相直流步進(jìn)電機(jī)運(yùn)行數(shù)據(jù)輸入到安裝的PLC控制器中,對控制器中的溢出值進(jìn)行參數(shù)化處理,如果控制器的計(jì)數(shù)值為x0FFF,則把載頻同步驅(qū)動信號設(shè)定為高,在其他條件下設(shè)定為低,由此獲得一個(gè)具有10KHz的時(shí)鐘周期的高電平驅(qū)動控制信號[5]。最后,將驅(qū)動控制脈沖信號與載波計(jì)數(shù)值同步輸出。
步進(jìn)掃描頻率是影響步進(jìn)電機(jī)速度控制范圍的一個(gè)重要因素,它可以通過調(diào)整步進(jìn)頻率和微分來控制電機(jī)達(dá)到所需速度。步進(jìn)電機(jī)兩相繞組的電壓階梯波頻率和掃描頻率的關(guān)系如下:
式(5)中n為轉(zhuǎn)子的數(shù)量。由此可見,步進(jìn)電機(jī)掃描頻率和轉(zhuǎn)子數(shù)量的組合調(diào)速只有在兩相繞組電流階梯波頻率域值范圍內(nèi)才有效。
在步進(jìn)電機(jī)升速域值范圍內(nèi),根據(jù)兩相直流步進(jìn)電機(jī)實(shí)時(shí)速度的檢測結(jié)果,計(jì)算電機(jī)升速控制量為:
式(6)中v和vcurrent分別為步進(jìn)電機(jī)的運(yùn)行速度期望值和實(shí)時(shí)速度檢測結(jié)果。將控制量計(jì)算結(jié)果與生成的驅(qū)動信號輸入到PLC驅(qū)動控制器中,按照圖4流程實(shí)現(xiàn)兩相直流步進(jìn)電機(jī)的升速控制。
圖4 兩相直流步進(jìn)電機(jī)升速控制流程圖
根據(jù)兩相直流步進(jìn)電機(jī)的工作原理,對其速度的控制實(shí)際上就是對其工作頻率的控制,具體的控制過程可以量化表示為:
式(7)中Zr為兩相步進(jìn)電機(jī)的轉(zhuǎn)子齒速,m和n為步進(jìn)電機(jī)的定子相數(shù)和細(xì)分?jǐn)?shù)。最終在升速驅(qū)動控制信號的驅(qū)動下,通過PLC控制器的運(yùn)行,實(shí)現(xiàn)兩相直流步進(jìn)電機(jī)的穩(wěn)步升速控制,在控制過程中需保證兩相電流與電壓的工作頻率一致。當(dāng)檢測到當(dāng)前電機(jī)轉(zhuǎn)速達(dá)到目標(biāo)轉(zhuǎn)速時(shí),PLC控制器立即停止工作。
為了檢驗(yàn)優(yōu)化設(shè)計(jì)基于PLC的兩相直流步進(jìn)電機(jī)升速自動控制方法的可行性以及性能優(yōu)勢,以Softune Workbench軟件作為開發(fā)環(huán)境,設(shè)計(jì)測試實(shí)驗(yàn)。利用Softune Workbench可以對控制方法的程序進(jìn)行在線調(diào)試,大大提高了軟件開發(fā)的過程,同時(shí)也有益于提高實(shí)驗(yàn)的執(zhí)行效率。通過測試實(shí)驗(yàn)與分析,驗(yàn)證優(yōu)化設(shè)計(jì)的控制方法是否完成預(yù)期效果。
選擇110BYG350B型號的兩相直流步進(jìn)電機(jī)作為實(shí)驗(yàn)的研究對象,電機(jī)a、b兩相的電感值和電阻值分別為8mH和0.6Ω,繞組電感和繞組電阻分別為4mH和0.4Ω,保持轉(zhuǎn)矩為8.5T/N·m,轉(zhuǎn)動慣量為1500J/(g/cm2),內(nèi)部包含50對相極,轉(zhuǎn)子磁鏈幅值為0.002Wb,額定電流為3.5A。在開始實(shí)驗(yàn)之前,需要對選擇的步進(jìn)電機(jī)設(shè)備進(jìn)行安裝與調(diào)試,確保選擇的控制對象能夠正常通電,并在實(shí)驗(yàn)環(huán)境中正常運(yùn)行。
為了降低實(shí)驗(yàn)中的偶然事件對實(shí)驗(yàn)結(jié)果產(chǎn)生的影響,實(shí)驗(yàn)設(shè)置多個(gè)升速控制任務(wù),具體的控制要求如表1所示。
表1 步進(jìn)電機(jī)升速控制任務(wù)設(shè)置表
在實(shí)際控制與測試過程中,將表1中的數(shù)據(jù)作為控制目標(biāo)數(shù)據(jù)輸入到控制器以及控制程序中。通過與表1中設(shè)置數(shù)據(jù)的對比,驗(yàn)證設(shè)計(jì)方法的控制效果。
由于實(shí)驗(yàn)中應(yīng)用了PLC設(shè)備,因此需要將其連接到步進(jìn)電機(jī)控制對象上,通過調(diào)式判斷PLC設(shè)備能否在控制對象上正常運(yùn)行。具體的調(diào)試內(nèi)容包括控制脈沖信號是否能夠正常生成、設(shè)備初始化等??刂泼}沖生成調(diào)試需要利用示波表對脈沖信號進(jìn)行頻率監(jiān)控,以保證最終的信號符合設(shè)計(jì)要求。同時(shí),在PLC器件的初始化過程中,還需要對相關(guān)的外部硬件組件進(jìn)行配置,比如定時(shí)器、串口、中斷,雙向GPIO端口的初始化等。配置與調(diào)試結(jié)果如圖5所示。
圖5 PLC控制器設(shè)備配置與調(diào)試結(jié)果
從圖5中可以看出,上位機(jī)界面能夠正常輸出PLC控制器設(shè)備的運(yùn)行數(shù)據(jù),由此證明設(shè)備調(diào)試成功。
充分考慮到兩相直流步進(jìn)電機(jī)不同的工作狀態(tài),此次實(shí)驗(yàn)在兩種工況下進(jìn)行,分別為空載工況和負(fù)載工況,空載工況就是步進(jìn)電機(jī)上不連接任何機(jī)械驅(qū)動設(shè)備,而負(fù)載工況中設(shè)置的負(fù)載轉(zhuǎn)矩為2.5Nm。在無控制情況下,步進(jìn)電機(jī)a、b兩相的轉(zhuǎn)速情況如圖6所示。
圖6 初始狀態(tài)下步進(jìn)電機(jī)工作速度曲線
實(shí)驗(yàn)中,通過設(shè)定控制循環(huán)周期為200ms,逐步增大旋轉(zhuǎn)角,得到了給定的速度曲線梯形和拋物線的最大不丟步角。編碼器對電動機(jī)的角度位移進(jìn)行了實(shí)時(shí)的記錄,PLC設(shè)備將對該信號進(jìn)行同步處理,由控制器外部的邏輯分析儀將該信號實(shí)時(shí)存儲,并將該信號以可視的形式輸出。圖7為C1控制任務(wù)的響應(yīng)結(jié)果。
圖7 兩相直流步進(jìn)電機(jī)升速自動控制結(jié)果
為了實(shí)現(xiàn)對升速控制效果的量化判斷,實(shí)驗(yàn)分別設(shè)置速度控制誤差、升速波動系數(shù)以及升速任務(wù)執(zhí)行時(shí)間三個(gè)指標(biāo)作為實(shí)驗(yàn)的量化測試指標(biāo),其中控制誤差的數(shù)值結(jié)果為:
其中vtarget、vstable分別為升速目標(biāo)值和控制穩(wěn)定后的轉(zhuǎn)速值。升速波動系數(shù)計(jì)算公式如式(9)所示:
式中vi+1和vi分別表示i+1和i時(shí)刻的電機(jī)轉(zhuǎn)速值,nt為采樣點(diǎn)數(shù)量,t為控制時(shí)間。另外控制任務(wù)執(zhí)行時(shí)間的數(shù)值結(jié)果為:
式(10)中tstabke和trelease分別為控制任務(wù)發(fā)布時(shí)間和控制穩(wěn)定的時(shí)間。最終計(jì)算得出速度控制誤差εv的值越小、升速任務(wù)執(zhí)行時(shí)間γ越短、升速波動系數(shù)越趨近于0,則說明對應(yīng)控制方法的控制效果越優(yōu)。因此要求優(yōu)化設(shè)計(jì)控制方法的速度控制誤差不得高于5.0r/min,升速任務(wù)執(zhí)行時(shí)間不得高于5500ms,升速波動系數(shù)不得超過±0.5。
經(jīng)過兩相直流步進(jìn)電機(jī)升速控制任務(wù)的執(zhí)行與輸出結(jié)果的提取,得出反映設(shè)計(jì)方法控制誤差的測試結(jié)果,如表2所示。
將表1和表2中的數(shù)據(jù)代入到式(8)中,得出兩種工況下,優(yōu)化設(shè)計(jì)方法升速控制的平均誤差分別為2.63r/min和3.75r/min,均低于5.0r/min。另外通過式(9)、式(10)的計(jì)算,得出另兩個(gè)指標(biāo)的測試結(jié)果,如圖8所示。
表2 步進(jìn)電機(jī)升速控制誤差測試結(jié)果數(shù)據(jù)表
圖8 設(shè)計(jì)控制方法的指標(biāo)測試結(jié)果
從圖8中可以直觀的看出,優(yōu)化設(shè)計(jì)方法的升速波動系數(shù)始終在區(qū)間[-0.5,0.5]內(nèi)波動,且最大控制執(zhí)行時(shí)間為5100ms,低于預(yù)設(shè)值。由此證明,優(yōu)化設(shè)計(jì)的基于PLC的兩相直流步進(jìn)電機(jī)升速自動控制方法具有良好的控制效果。
通過PLC設(shè)備的應(yīng)用,有效提高了對步進(jìn)電機(jī)升速的控制效果,對步進(jìn)電機(jī)的應(yīng)用與推廣起到積極作用。