<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>
關(guān) 閉

新聞中心

EEPW首頁(yè) > 工控自動(dòng)化 > 設計應用 > 基于FPGA的步進(jìn)電機優(yōu)化控制

基于FPGA的步進(jìn)電機優(yōu)化控制

作者: 時(shí)間:2016-10-15 來(lái)源:網(wǎng)絡(luò ) 收藏

摘要:隨著(zhù)控制技術(shù)以及(Stepper Motor)的發(fā)展,現代工業(yè)的許多領(lǐng)域對的需求也越來(lái)越大。但是傳統的多以單片機等微處理器為基礎,往往具有控制電路體積大、控制效率低、穩定性差等缺點(diǎn)。利用控制速度快、可靠性強等特點(diǎn),利用等步距,設計出了高靈活性、可人機交互、分辨率高的步進(jìn)電機。仿真和實(shí)驗證明,該高效可靠。

本文引用地址:http://dyxdggzs.com/article/201610/306817.htm

0 引言

步進(jìn)電機是將電脈沖信號轉變?yōu)榻俏灰苹蚓€(xiàn)位移的開(kāi)環(huán)控制電機,輸入脈沖總數控制步進(jìn)電機的總旋轉角度,電機的速度由每秒輸入脈沖數目所決定,因此易實(shí)現機械位置的精準控制。而且由于步進(jìn)電機價(jià)格低廉、可控性強等特點(diǎn),使其在數控機床傳送控制等自動(dòng)控制領(lǐng)域中得到了廣泛的應用。但隨著(zhù)技術(shù)的發(fā)展以及企業(yè)生產(chǎn)的要求,步進(jìn)電機傳統的以單片機等微處理器為核心單元的控制系統暴露出了如下缺點(diǎn):控制策略單一不利于實(shí)現人機交互,而且控制電路復雜、控制精度低、生產(chǎn)成本高,系統穩定性不夠,步進(jìn)分辨率低、缺乏靈活性,低頻時(shí)的振蕩和噪聲大,而且受步進(jìn)電機機械結構和空間的限制,步進(jìn)電機的步距角不可能無(wú)限的小,難以滿(mǎn)足高精度開(kāi)環(huán)控制的需求。由于編程方式簡(jiǎn)單,開(kāi)發(fā)周期短,可靠性高,使其在工業(yè)控制領(lǐng)域的應用越來(lái)越廣泛。本文在總結的分頻技術(shù)以及步進(jìn)電機細分控制原理的基礎上,通過(guò)來(lái)提高步進(jìn)電機的分辨率,仿真和實(shí)驗表明,本文采取的措施有效地實(shí)現步進(jìn)電機控制的高效、精確控制。

1 步進(jìn)電機細分控制原理

步進(jìn)電機的工作原理如圖1所示,對四相步進(jìn)電機而言,按照一定的順序對各相繞組通電即可控制電機的轉動(dòng)。例如,當開(kāi)關(guān)B與電源導通而其他開(kāi)關(guān)斷開(kāi)時(shí),在磁力線(xiàn)的作用下B相磁極和轉子0,3號對齊;當開(kāi)關(guān)C與電源導通而其他開(kāi)關(guān)斷開(kāi)時(shí),在磁力線(xiàn)的作用下,轉子轉動(dòng),1,4號齒和C相繞組的磁極對齊。同理,依次向A,B,C,D四相繞組供電,電機就會(huì )沿著(zhù)A,B,C,D方向轉動(dòng)。

基于FPGA的步進(jìn)電機優(yōu)化控制

為了理解步進(jìn)電機的不足,還需了解步進(jìn)電機的步距角。步距角的定義為:

θ步距=360°/(kmzn) (1)

式中:km為步進(jìn)電機的工作節拍系數;zn為齒數。

受步進(jìn)電機的拍數和轉子齒數的限制,步進(jìn)電機的步距角不可能非常小,即每一單步控制的轉動(dòng)量相對比較大,在許多精密控制領(lǐng)域,步進(jìn)電機的功能達不到使用要求。因此為了提高步進(jìn)電機的分辨率,需采用細分控制技術(shù)對其進(jìn)行優(yōu)化控制。細分控制類(lèi)似于插值,其基

本原理就是將電機繞組中的電流細分,在兩個(gè)控制電流之間增加許多中間狀態(tài)的電流,使得步進(jìn)電機可以工作在許多中間的狀態(tài),從而使得步進(jìn)電機的每一步得到細分,其步距角更小,系統的分辨得到提高,性能得到優(yōu)化。而細分控制通常有兩種細分方式,一是使電流按線(xiàn)性規律變化來(lái)細分,二是按等步距角細分。為了比較兩種細分方式的優(yōu)劣,還需要了解步進(jìn)電機工作時(shí)的靜態(tài)距角特征。

M=-Mksinθ=-kti2sinθ (2)

式中:M為電磁轉矩;Mk為一定繞組電流時(shí)的最大靜轉矩;對于反應式步進(jìn)電機,當不考慮磁路飽和時(shí),可以認為Mk與電流i的平方成正比,負號表示電磁轉矩與定子磁場(chǎng)之間為楞次關(guān)系,即電磁轉矩總是阻礙轉子離開(kāi)磁場(chǎng)最小磁阻的位置。

現以三相反應式步進(jìn)電機來(lái)分析兩種細分方式。三相反應式步進(jìn)電機三相繞組分別通電時(shí),其矩角特性為彼此相差120°電角度的正弦曲線(xiàn),如圖2所示。

基于FPGA的步進(jìn)電機優(yōu)化控制

當A、B兩相通電時(shí),設電流分別為iA、iB,相應的靜轉矩為MA、MB,忽略磁路之間的影響,其合成矩角特性為二者相疊加,如式(3)所示:

基于FPGA的步進(jìn)電機優(yōu)化控制

由公式(3)和(4)可知,當步進(jìn)電機的電流按照線(xiàn)性規律變化時(shí),其距特性如圖3(a)所示。由于距角特征幅值因通電電流的不同而各不相等,因此各細分步的步距角就不能保持一致。理想的細分電流波形應使各通電狀態(tài)下的步距角特性的幅值、形狀均相等,如圖3(b)所示。

基于FPGA的步進(jìn)電機優(yōu)化控制

因此電流按線(xiàn)性規律變化的細分方式使得細分后的每一小步的控制精度不相等。而如果按等步距角細分,則細分后的步距角為:

基于FPGA的步進(jìn)電機優(yōu)化控制

如果在控制電路中嚴格按照電流分配系數來(lái)控制各個(gè)通電狀態(tài),則能夠保證細分后的每一小步的控制精度相等。因此本文采用按等步距角的細分方式。

2 步進(jìn)電機細分控制硬件的實(shí)現

為了實(shí)現步進(jìn)電機的等步距角細分,本文采用脈沖寬度調制(PWM)的方式來(lái)實(shí)現。PWM就是對逆變電路開(kāi)關(guān)器件的通斷進(jìn)行控制,使輸出端得到一系列幅值相等的脈沖。這些脈沖綜合在一起即可形成等效的正弦波、方波等預期的波形。而等效輸出波形的質(zhì)量與脈沖的步距有關(guān),即同一時(shí)刻輸出的PWM路數越多,則脈沖密度越高,則輸出等效波形的質(zhì)量就越好。而傳統的步進(jìn)電機控制系統多采用單片機作為微處理器,而單片機是單線(xiàn)程的微處理器,同一時(shí)刻只能執行一條命令,也即是同一時(shí)刻只能產(chǎn)生一路PWM信號,因此輸出波形質(zhì)量較差,從而導致步進(jìn)電機的控制精度偏低。而FPGA的運算速度遠遠高于單片機的運算速度,且通過(guò)模塊化設計可以使其處于多線(xiàn)程工作模式,即可以同時(shí)產(chǎn)生多路PWM信號,提高了輸出等效波形的質(zhì)量。本文中選取Altera公司2004年推出了新款CycloneⅡ系列FPGA器件作為開(kāi)發(fā)平臺,同時(shí)輸出8路PWM信號,控制實(shí)現四相步進(jìn)電機的16細分。同時(shí)利用串口模塊與上位機相連以實(shí)現人機交互。系統原理圖如圖4所示。

基于FPGA的步進(jìn)電機優(yōu)化控制

該控制系統中采用總線(xiàn)控制方式,利用片選信號依次控制4路PWM鎖存器的通斷,這樣可以簡(jiǎn)化硬件電路和軟件設計。以A相控制為例,當片選A為高電平而其他幾路片選為低時(shí),A路PWM鎖存器工作而其他幾路PWM鎖存器休眠。根據公式(8)計算出細分的電流分配系數,進(jìn)而轉化成控制PWM信號的占空比,同時(shí)開(kāi)通幾路鎖存器,通過(guò)鎖存器輸出驅動(dòng)步進(jìn)電機。

3 步進(jìn)電機細分控制軟件的設計

本設計中采用QuartusⅡ軟件開(kāi)發(fā)平臺和Verilog設計語(yǔ)言進(jìn)行控制軟件的設計。系統中需要在FPGA內利用線(xiàn)性反饋移位寄存器(Linear Feedback Shift Registers)來(lái)實(shí)現隨機數的產(chǎn)生,控制步進(jìn)電機的隨機取樣轉動(dòng),本系統中最核心的PWM控制模塊設計如下:

基于FPGA的步進(jìn)電機優(yōu)化控制

4 系統測試

系統設計完成后,對整個(gè)系統進(jìn)行測試和檢驗。PWM控制系統的仿真結果如圖5所示,觀(guān)察仿真輸出波形可知控制脈沖輸出正確。將程序固化到FPGA硬件中之后,將被控的四相反應式步進(jìn)電機連接上,并通過(guò)串口將FPGA與上位機相連,由上位機輸出命令控制步進(jìn)電機的轉速、轉向、轉動(dòng)角度等。

基于FPGA的步進(jìn)電機優(yōu)化控制

5 結語(yǔ)

驗證結果表明,該控制系統實(shí)現了步進(jìn)電機等步距角的16級細分,并通過(guò)人機交互實(shí)現了任意改變各相順序的主要技術(shù)指標,控制精度高,可靠性強。



評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>