比較幾種步進電機加減速控制方案

2021-09-29 05:55:29 字數 2548 閱讀 9145

加減速演算法是運動控制中的關鍵技術之一,也是實現高速、高效率的關鍵因素之一。在工業控制中,一方面要求加工的過程平滑、穩定,柔性衝擊小;另一方面需要響應時間快,反應迅速。在保證控制精度的前提下來提高加工效率,實現機械運動平滑穩定,是目前工業加工中一直要解決的關鍵問題。當前運動控制系統中常用的加減速演算法主要有:梯形曲線加減速、s形曲線加減速、指數曲線加減速、拋物線曲線加減速等。

定義:指按直線方式(從啟動速度到目標速度的加減速),以一定的比例進行加速/減速

圖1: 「梯形」加減速速度及加速度曲線

計算公式:

優缺點:梯形曲線其特點是演算法簡便,占用時少、響應快、效率高,實現方便。但勻加速和勻減速階段不符合步進電機速度變化規律,在變速和勻速轉折點不能平滑過渡。所以這種演算法主要應用在對公升降速過程要求不高的場合。

定義:指按指數函式方式進行加減速。

圖2: 「指數型」加減速速度及加速度曲線

計算公式

優缺點:指數曲線克服了梯形加減速的速度不平穩問題,運動精度得到了提高,但初始加速度大,容易引起機械部件的衝擊,在加減速的起點仍然存在加減速突變,限制了加速度的提高。

定義:加速/減速開始時速度比較緩慢,然後逐漸加快。在加速/減速接近結束時速度再次減慢下來,從而使移動較為穩定。s 字加減速的型別有sin 曲線、2次曲線、迴圈曲線、3 次曲線

圖3: 「s型」加減速速度及加速度曲線

計算公式:

優缺點:s曲線加減速是一種柔性程式較好的控制策略,能讓電機效能得到充分的發揮,衝擊振動小,但是實現過程比較複雜,計算量相對較大,並且加減速效率不高。

1、機械運動軌跡及位置誤差應該盡量的小

2、機械運動過程平穩、抖動小,且響應迅速

3、加減速演算法應該盡量簡單,便於實現,能夠滿足控制的實時性要求

採用「梯形」加減速演算法,在運動過程中分成以下四個狀態:空閒狀態,加速狀態,勻速狀態與減速狀態。

圖2 加減速實現演算法

脈衝產生單元:用來產生指定頻率的脈衝訊號。

脈衝計數單元:用來記錄各個運動狀態下輸出的脈衝個數。

脈寬計算單元:根據總的脈衝個數及記錄的各個運動狀態下的脈衝輸出個數,進行狀態跳轉及速度計算。

初始化stm32定時器,在定時器中斷裡面,翻轉io口,輸出脈衝訊號。

//初始化定時器功能,用來翻轉io訊號,產生脈衝輸出訊號

void tim3_int_init(u16 arr,u16 psc)

//設定定時器值,用來產生指定頻率的脈衝訊號

void motor0timeset(unsigned int arr,bool timeenable)

//翻轉io

void tim3_irqhandler(void) //tim3中斷

}

用來記錄各個階段輸出的脈衝訊號;根據設定的值和輸出脈衝進行加減速狀態切換。

圖 3  加減速狀態切換

void motorrunstate(motor_ctrl *motor)

} if(motor->nowstate.sysstate)motor->timeset_call_back(motor->nowstate.timecountnum,true);//設定下一次脈衝輸出頻率

}

根據當前處於電機加減速的那個狀態,進行速度計算。採用定時1ms計算一次速度的方式。

圖 4 速度計算模組

void motorcalculatespeed(motor_ctrl *motor)

if(motor->nowstate.busy)

}

步進電機的加減速控制

對於步進電機的點 位控制系統,從起點至終點的執行速度都有一定要求。如果要求執行的速度小於系統的極限啟動頻率,則系統可以以要求的速度直接啟動,執行至終點後可立即停發脈衝串而令其停止。系統的系統頻率是比較低的,而要求的執行速度往往較高。如果系統以要求的速度直接啟動,可能發生丟步或根本不執行的情況。系統執...

步進電機和減速電機的區別

摘要 在回答這個問題之前,先來了解下什麼是步進電機和減速電機?步進電機是將電脈衝訊號轉變為角位移或線位移的開環控制元步進電機件。在非超載的情況下,電機的轉速 停止的位置只取決於脈衝訊號的頻率和脈衝數,而不 在回答這個問題之前,先來了解下什麼是步進電機和減速電機?步進電機是將電脈衝訊號轉變為角位移或線...

步進電機和交流伺服電機效能比較

步進電機是一種離散運動的裝置,它和現代數字控制技術有著本質的聯絡。在目前國內的數字控制系統中,步進電機的應用十分廣泛。隨著全數字式交流伺服系統的出現,交流伺服電機也越來越多地應用於數字控制系統中。為了適應數字控制的發展趨勢,運動控制系統中大多採用步進電機或全數字式交流伺服電機作為執行電動機。雖然兩者...