免費下載建設(shè)銀行官方網(wǎng)站下載百度優(yōu)化
? ? ?引導(dǎo)一種模塊化(Module)設(shè)計思想,將傳統(tǒng)步進電機的控制器(controller)、驅(qū)動器(Driver)、運動算法(Arithmetic)三合一。
對比國內(nèi)外步進電機驅(qū)動原理和已有工作,結(jié)合各種硬件特性,改進或?qū)崿F(xiàn)了可實際移植并用于步進電機控制八大算法。本產(chǎn)品為步進電機實際控制算法實現(xiàn)源代碼,包括市面上常用的梯形加減速算法、SPTA算法、PWM專用通道算法、特征擬合算法、任意形狀的s形加減速七段法、s形logistics函數(shù)法、DMA算法、從定時器法??捎糜趯嶋H項目和相關(guān)研究之用。
1、T梯形加減速算法
梯形算法的速度輪廓是梯形,故而得名,對梯形求導(dǎo)數(shù)可以得到矩形,因此本算法直接從勾勒加速度曲線入手,進行數(shù)值積分得出速度輪廓,進而轉(zhuǎn)換為對應(yīng)的定時器預(yù)設(shè)值,從而控制電機的速度變化,達到想要的效果。
2、SPTA算法
SPTA算法根據(jù)用戶輸入的加速度和速度以及總脈沖數(shù),自動計算加減速過程所需的定時器裝載值,也不需要額外的RAM來存儲表格,算法效率高、靈活方便,特別適合移植到一些資源緊俏的單片機,比如51單片機等。
3、PWM專用通道加減速算法
一般來說,采用單片機控制步進電機的方法是在定時器的中斷處理函數(shù)中,對于特定的IO口進行操作來產(chǎn)生脈沖,這種方法的好處是靈活,可以方便的移植到各種類型的單片機,只要求該單片機具有定時器和多余的GPIO,幾乎所有的單片機都能滿足要求。
但是隨著單片機功能的不斷增強,CPU負擔逐漸增多,這種方式自身缺點也逐漸顯現(xiàn),那就是占用了較多的計算資源。替代的辦法就是采用定時器專用的PWM通道來產(chǎn)生所需的硬件脈沖,這樣在不經(jīng)常啟動停止的工況下,不再需要CPU的干預(yù),大大提高了效率。
4、特征擬合算法
該算法充分利用所選的步進電機特性曲線來選擇加減速輪廓,具有非常大化電機能力的優(yōu)點,而且算法占用的空間少,對于特定的步進電機具有帶載能力非常大化的優(yōu)點,在小負載測試中發(fā)現(xiàn),使用梯形加減速算法可以在3s內(nèi)完成無丟步的運動,換為該算法,可以實現(xiàn)2.2s無丟步加減速。
5、任意形狀的S形加減速
此為S形七段法。如果從加速度輪廓上看,梯形加減速的加速度是矩形的,而且在速度切換點,加速度從正一下子變?yōu)樨?#xff0c;會有明顯的響聲,因此,有必要開發(fā)更為平滑的算法。那就是S形加減速。針對S形加減速,具體做法有很多,比較簡單的做法是采用sigmoid函數(shù),一切有S形狀的函數(shù)都可以拿來做基礎(chǔ)S函數(shù),比如log函數(shù)的變形,sin函數(shù)。不過,這些函數(shù)在S曲線的計算公式上雖然簡單了,但是由于可調(diào)參數(shù)太少,導(dǎo)致了無法根據(jù)現(xiàn)實情況隨意更改S曲線形尸缺少靈活性。為此,本店在理論推導(dǎo)的基礎(chǔ)上推出任意形狀的S形曲線算法。首先規(guī)劃運動的加速度,然后積分得到速度輪廓,進而轉(zhuǎn)換為步進電機的頻率輪廓。
6、S形加減速logistic函數(shù)法
S曲線常見的方法是七段法,在很多論文中都有涉及,該方法的靈活性好,可以指定任意一段加速度以及斜率。但該方法也有缺點,即在于過于靈活導(dǎo)致參數(shù)眾多,本方法采用的logistic函數(shù)法,參數(shù)少,易于掌控。
7、DMA算法
DMA算法采用新的處理方式,只有在需要改變步進脈沖頻率的時候再進入中斷,這樣可以提高CPU的效率,讓CPU專注于執(zhí)行計算密集型的工作,給任務(wù)多、計算復(fù)雜的應(yīng)用提供了一種更好的解決方案。
8、從定時器法(SLAVER TIMER)
SLAVER算法是一種提升總線利用率的方法,使用兩個定時器,一個輸出PWM,一個工作在計數(shù)器模尸把PWM輸出的同時,讓計數(shù)器對其進行計數(shù),從而釋放了總線,提升了工程整體效率。