本發明涉及一種連續區間變加速步進電機速度控制方法及系統。
背景技術:
在啟動或加速時如果步進脈沖變化太快,轉子由于慣性而跟隨不上電信號的變化,產生堵轉或失步;在停止或減速時由于同樣原因則可能產生超步。為防止堵轉、失步和超步,提高工作頻率,要對步進電機進行升降速控制。
目前較為常見的有斬波恒流驅動、脈沖寬度調制驅動、電流矢量恒幅均勻旋轉驅動等技術,這些驅動技術雖能滿足特定場合的技術要求,但缺乏一定的靈活性。目前步進電機加減速的控制技術及缺點詳細介紹如下:
(1)階梯型加減速
將步進電機的升降過程離散為一個不連續的區間,控制器件所發出的驅動脈沖受階梯函數的控制,即步進電機的轉速每躍升1個臺階后,恒速運轉一段時間,通過回饋機制比較當前速度與目標速度是否一致,若不一致則相應的加或減一個脈沖檔位。這種方法的缺點是未充分利用步進電機的加速性能,而且在高頻段加速臺階高,步進電機在速度越階時會發生失步,而且存在較大的超調量。
(2)線性加減速
因為加速度恒定,所以存在階躍現象,加減速控制方法效果不是十分理想。這將影響電機和機械系統的使用壽命,所以適用于控制系統處理速度較慢且對升降速過程要求不高的場合,而且同樣存在較大的超調量。
(3)連續指數規律加減速
效果明顯,但是開始加速度最大,并且隨著速度的升高而逐漸減小,速度上升得越來越慢。指數型加減速的控制算法復雜,實現難度大。
技術實現要素:
本發明為了解決上述問題,提出了一種連續區間變加速步進電機速度控制方法及系統,本發明可以實現步進電機在高速運行中的加減速的平穩運行,具有很強的通用性。
為了實現上述目的,本發明采用如下技術方案:
一種連續區間變加速步進電機速度控制方法,基于系統時鐘分頻數控制的步進電機變加減速,根據當前時刻速率進行下一時刻點速率計算的離散化處理方式以實現步進電機細分控制驅動,使得步進電機在不同的恒速階段下有不同的加速度。
將步進電機的升降過程離散為一個不連續的區間,控制器件所發出的驅動脈沖受速率和分頻比的控制,即步進電機的轉速每躍升1個臺階后,根據當下的旋轉速度和分頻比產生一個新的驅動速率。
以系統時鐘為基礎進行步進電機的控制時間離散化處理。
進一步的,系統時鐘的頻率越高,離散化的分頻數越小。
任一時間段加速度值為該時間段加速后的脈沖頻率和上一時間段的脈沖頻率的差值與上一時間段的脈沖頻率對應的脈沖周期的比值。
任一時間段的加速時間為上一時間段脈沖頻率對應的周期的時間。
進一步的,所述上一時間段的脈沖頻率對應的脈沖周期為系統時鐘的倍數。
進一步的,任一時間段的分頻的脈沖頻率均與離散化的分頻數量相適配。
任意時間段的脈沖頻率v(n)的值為:
v(n)=(fclk/2)^2{ln[(n-m+1)/(n-m+2)]+ln[(m-2)/(m-1)]+2m/fclk},
其中,fclk是系統時鐘hz;m是分頻計數值,2(m-n)和2(m-n-1)是基于系統時鐘的分頻數。
基于上述控制方法的實現系統,包括主控模塊、驅動電路和步進電機,其中,所述主控模塊采用連續區間變加速步進電機速度控制方法控制驅動電路,驅動電路驅動步進電機,以實現步進電機在不同的恒速階段下有不同的加速度。
與現有技術相比,本發明的有益效果為:
(1)步進電機的數字離散化有效控制實現方案,更容易使用數字邏輯控制器件完成算法的實現,減小開發周期;
(2)實現了下一時刻點步進電機速率與系統時鐘分頻數和當前時刻速率相關的離散函數關系,達到不同的恒速階段下有不同的加速度,充分利用步進電機的加速性能,尤其在高頻段加速臺階平穩,而且步進電機在速度越階時不會發生失步;
(3)最大限度的模擬連續變加減速的控制方式,實現變臺階加速過程,解決了現有步進電機加減速方案的常見堵轉、失步和超步問題,而且具有更小的超調量。
附圖說明
構成本申請的一部分的說明書附圖用來提供對本申請的進一步理解,本申請的示意性實施例及其說明用于解釋本申請,并不構成對本申請的不當限定。
圖1是本發明的應用環境圖;
圖2是本發明的基于變分頻比加速控制算法的仿真曲線圖。
具體實施方式:
下面結合附圖與實施例對本發明作進一步說明。
應該指出,以下詳細說明都是例示性的,旨在對本申請提供進一步的說明。除非另有指明,本文使用的所有技術和科學術語具有與本申請所屬技術領域的普通技術人員通常理解的相同含義。
需要注意的是,這里所使用的術語僅是為了描述具體實施方式,而非意圖限制根據本申請的示例性實施方式。如在這里所使用的,除非上下文另外明確指出,否則單數形式也意圖包括復數形式,此外,還應當理解的是,當在本說明書中使用術語“包含”和/或“包括”時,其指明存在特征、步驟、操作、器件、組件和/或它們的組合。
正如背景技術所介紹的,現有技術中存在階梯型加減速未充分利用步進電機的加速性能,而且在高頻段加速臺階高,步進電機在速度越階時會發生失步、而線性加減速控制方式,因為加速度恒定,所以存在階躍現象,以及連續指數規律加減速,控制算法復雜,實現難度大,有一定的超調量的不足,為了解決如上的技術問題,本申請提出了一種連續區間變加速步進電機速度控制算法。
本發明采用步進電機細分變加速階梯型驅動方式,是將步進電機的升降過程離散為一個不連續的區間,控制器件所發出的驅動脈沖受速率和分頻比的控制,即步進電機的轉速每躍升1個臺階后,根據當下的旋轉速度和分頻比產生一個新的驅動速率。這種方法的實現簡單,不同的恒速階段下有不同的加速度,充分利用步進電機的加速性能,尤其在高頻段加速臺階平穩,而且步進電機在速度越階時不會發生失步。因此在不同的頻率臺階上,在滿足加速度的要求范圍內,實現變臺階加速過程,解決了現有步進電機加減速方案的常見堵轉、失步和超步問題;
由于是分頻比和當前速率的函數,離散化的處理方式更容易通過邏輯編程器件的控制實現,解決了邏輯器件算法實現的復雜程度。
連續加速的數字化模擬,解決其它方式下存在較大的超調量的問題。
a(n+1)=(v(n+1)-v(n))/δt(n)---------------------(1)
注:a(n+1)是下一個時間段加速度值,單位是hz/s;v(n+1)是下一個時間段加速后的脈沖頻率hz;v(n)是原來脈沖頻率hz;δt(n)是原來頻率對應的脈沖周期s,頻率速度由v(n)加速到v(n+1)用了一個v(n)周期的時間t(n)。
v(n)=fclk/2(m-n)-------------------------------(2)
v(n+1)=fclk/2(m-n-1)-------------------------------(3)
δt(n)=1/v(n)=2(m-n)/fclk-----------------------(4)
注:v(n),v(n+1)是加速前后分頻的脈沖頻率hz;fclk是系統時鐘hz;m是分頻計數值;初始速度v(0)=fclk/2m,2(m-n)和2(m-n-1)是基于系統時鐘的分頻數,即頻率越高分頻數越小。
將(2)(3)代入(1)可得:
a(n+1)=[fclk/2(m-1)-fclk/2m]/[2m/fclk]-----(5)
a(n+1)=[fclk/2(m-n)]^2/(m-n-1)-------------(6)
由公式(1)(6)進行積分運算,且考慮初始速度v(0)=fclk/2m,可以得到:
v(n)=(fclk/2)^2{ln[(n-m+1)/(n-m+2)]+ln[(m-2)/(m-1)]+2/fclk/m}--(7)
本申請的一種典型的實施方式中,如圖1所示,基于上述控制方法的實現系統,包括主控模塊、驅動電路和步進電機,其中,所述主控模塊采用連續區間變加速步進電機速度控制方法控制驅動電路,驅動電路驅動步進電機,以實現步進電機在不同的恒速階段下有不同的加速度。
圖2表示本方案的超調量為17%,低于現有技術中的23%-85%的超調量,而且算法控制實現更簡單。
因此以上公式,實現了下一時刻點步進電機速率與系統時鐘分頻數和當前時刻速率相關的離散函數關系,達到不同的恒速階段下有不同的加速度,充分利用步進電機的加速性能,尤其在高頻段加速臺階平穩,而且步進電機在速度越階時不會發生失步。
綜上,本發明可以實現:
(1)步進電機的離散化、簡單、有效控制實現方案,減小了算法的實現難度;
(2)不同的恒速階段下有不同的加速度,充分利用步進電機的加速性能,尤其在高頻段加速臺階平穩,而且步進電機在高速度越階時不會發生失步,實現了減小高速越階的失步問題。
(3)最大限度的模擬連續變加減速的控制方式,實現變臺階加速過程,解決了現有步進電機加減速方案的常見堵轉、失步和超步問題,實現了減小超調量的問題。
以上所述僅為本申請的優選實施例而已,并不用于限制本申請,對于本領域的技術人員來說,本申請可以有各種更改和變化。凡在本申請的精神和原則之內,所作的任何修改、等同替換、改進等,均應包含在本申請的保護范圍之內。
上述雖然結合附圖對本發明的具體實施方式進行了描述,但并非對本發明保護范圍的限制,所屬領域技術人員應該明白,在本發明的技術方案的基礎上,本領域技術人員不需要付出創造性勞動即可做出的各種修改或變形仍在本發明的保護范圍以內。