當(dāng)前位置:首頁 > 公眾號精選 > 嵌入式云IOT技術(shù)圈
[導(dǎo)讀]點擊上方「嵌入式云IOT技術(shù)圈」,選擇「置頂公眾號」第一時間查看嵌入式筆記!步進電機梯形加減速電機的控制方式一般分為開環(huán)控制與閉環(huán)控制兩種控制方式,其中開環(huán)控制原理框圖如下:????這種種控制方式的特點是:控制簡單、實現(xiàn)容易、價格較低,這種開環(huán)控制方式,負載位置對控制電路沒有反饋...

點擊上方「嵌入式云IOT技術(shù)圈」,選擇「置頂公眾號」第一時間查看嵌入式筆記!

步進電機梯形加減速

電機的控制方式一般分為開環(huán)控制與閉環(huán)控制兩種控制方式,其中開環(huán)控制原理框圖如下:????這種種控制方式的特點是:控制簡單、實現(xiàn)容易、價格較低,這種開環(huán)控制方式,負載位置對控制電路沒有反饋。

????對于步進電機,控制脈沖的輸入并不依賴于轉(zhuǎn)子的位置,而是按一固定的規(guī)律發(fā)出控制脈沖,如果勵磁變化太快,電機不能移動到新的位置,那么實際負載位置與理想位置就會產(chǎn)生一個偏差,就有可能出現(xiàn)失步或者過沖現(xiàn)象,所以需要使用加減速算法。

梯形加減速算法,S加減速算法等就是步進電機開環(huán)控制的應(yīng)用。

????使用步進電機驅(qū)動器驅(qū)動步進電機。當(dāng)脈沖提供給驅(qū)動器時,在過于短的時間里,控制系統(tǒng)發(fā)出的脈沖數(shù)太多,也就是脈沖頻率過高,將導(dǎo)致步進電機堵轉(zhuǎn)。要解決這個問題,一般采用加減速的辦法。

????就是說,在步進電機起步時,要給逐漸升高的脈沖頻率,減速時的脈沖頻率需要逐漸降低。

????加速過程,是由基礎(chǔ)頻率(低于步進電機的直接啟動的最高頻率)與跳變頻率(逐漸加快的頻率)組成加速曲線(降速過程反之)。跳變頻率是指步進電機在基礎(chǔ)頻率上逐漸提高的頻率,此頻率不能太大,否則會產(chǎn)生堵轉(zhuǎn)和丟步。

????加減速曲線一般為直線(梯形)、指數(shù)或者S型曲線等。


梯形加減速和S型曲線比較

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

????“S”型曲線定義:加速/減速開始時速度比較緩慢,然后逐漸加快。在加速/減速接近結(jié)束時速度再次減慢下來,從而使移動較為穩(wěn) 定。S 字加減速的類型有 Sin 曲線、2 次曲線、循環(huán)曲線、3 次曲線。

如何產(chǎn)生PWM波及TIMx定時器配置

????假設(shè)選型完畢,使用步進電機驅(qū)動器驅(qū)動步進電機,細分?jǐn)?shù)為32,步進電機步距角為1.8°,即200個脈沖轉(zhuǎn)動一圈。

????使用定時器來產(chǎn)生PWM波:定時器計數(shù)器,計數(shù)小于num值時,輸出高電平,大于num值小于2*num值時,輸出低電平。這樣就產(chǎn)生了一個脈沖。

????定時器配置模式可以選擇輸出比較模式,使用此模式輸出PWM波,簡單來說就是當(dāng)計數(shù)器與捕獲/比較寄存器當(dāng)前值匹配時,輸出比較功能做出不同的動作。比如:當(dāng)計數(shù)器比捕獲/比較寄存當(dāng)前值小時,輸出高電平,達到比較值(捕獲/比較寄存器當(dāng)前值)后,翻轉(zhuǎn)電平輸出低電平。再重新設(shè)置新的比較值,如此反復(fù),即可輸出PWM波。

梯形加減速算法原理分析

1.梯形加減速

????為讓步進電機盡量不出現(xiàn)丟步和過沖情況,在電機啟動和停止過程使用加減速是非常有必要的。在加減速階段,加速度、速度、和位置對應(yīng)關(guān)系如圖1所示:

圖 1 加速度、速度和位置對應(yīng)關(guān)系


????δt是兩個脈沖之前的時間間隔,所以它的大小將決定著步進電機轉(zhuǎn)速,為讓電機轉(zhuǎn)速符合加減速曲線,一個非常重要的步驟是計算合適時間間隔δt,在加減速階段,δt可以認(rèn)為是線性變化的,而在平穩(wěn)速度階段δt也是平穩(wěn)不變的。使用定時器的計數(shù)頻率來離散步進控制步進電機運動和處理時間間隔,見圖2:

圖2 速度曲線與步進電機脈沖/速度

2.步進電機基礎(chǔ)方程

????如果要步進電機以恒定的速度旋轉(zhuǎn),我們就需要以固定的頻率發(fā)送脈沖,
我們通過控制器的定時器功能來實現(xiàn)脈沖的發(fā)送,如圖3所示:

圖 3 步進電機控制脈沖


??? t0 為脈沖發(fā)送的起始時刻,t1 為發(fā)送第二個脈沖的時刻,t2 為發(fā)送第三個脈沖的時刻。t0 與t1 之間的時間間隔(時間延時)為 ,其中C0 為定時器在t0 與t1 這段時間的定時器計數(shù)值, 為定時器的計數(shù)周期。t1 與t2 之間的時間間隔為δt =C1tt,其中C1 為定時器在t1 與t2 這段時間的計數(shù)值,tt為定時器的計數(shù)周期。


????比如說我們在程序中配置定時器預(yù)分頻器為35,那定時器時鐘頻率為72MHz/(35 1)=2MHz,那么周期值 就是1/2M,C就是以 為基本單位的一個完整步進脈沖的定時器計數(shù)值。

????假定產(chǎn)生脈沖的定時器的計數(shù)頻率為ft,那么 = 1/ft,可以推出以下公式(中括號里邊為單位,下同):

公式 1 脈沖時間間隔

公式 2 步距角、位置和速度計算方法

其中:
spr:steps per round,
步進電機旋轉(zhuǎn)一圈脈沖數(shù),
為與電機相關(guān)常數(shù)
n:脈沖數(shù)
rad:弧度單位
1rad/sec = 60/2π ≈ 9.55rpm
rpm:轉(zhuǎn)每分鐘(rounds per minutes),
常用轉(zhuǎn)速單位

3.精確計算步進時間間隔

某個時刻的速度可以由加速度來求得:
公式 3 加速度求出速度

對應(yīng)的電機旋轉(zhuǎn)角度(即位置)也是可以求得:
公式 4 旋轉(zhuǎn)角度(位置)計算


????第 n 個步進脈沖后產(chǎn)生的軸偏移角度θ= nα所以前 n 個脈沖的總時間和第 n 個步進脈沖的脈沖周期時間:
公式 5 第n個脈沖相關(guān)時間計算

最終,可以求得第 n 個脈沖實際需求的定時器計數(shù)值:
公式 6 第n個脈沖實際需求的定時器計數(shù)值

那么,第1個脈沖的定時器計數(shù)值為 :
公式 7 第1和n個脈沖的定時器計數(shù)值

????由于一般控制器的計算能力是有限的,連續(xù)兩次計算開方根會很費時,因此考慮使用多項式來展開來減少運算。根據(jù)泰勒公式的一個特例:麥克勞林公式:
公式 8 麥克勞林公式

????根據(jù)上式,可以對Cn進行一些轉(zhuǎn)換出來,以期用簡單的計算方法得出Cn:
公式 9 Cn轉(zhuǎn)換計算

最后,可以得到Cn:
公式 10 第n個脈沖實際需求的定時器計數(shù)值

????這個公式比連續(xù)開兩次方的計算方式快很多,但是代入原式時發(fā)現(xiàn)當(dāng)n=1時有 0.4485的偏差,我們可以將C0乘一個系數(shù)0.676來解決這個誤差。

4. 加速度的變化

????????如果需要改變加速度或者減速度,那么就要重新計算一個n值。時間tn和脈沖數(shù)n(步數(shù))作為加速度 、速度ω和步距角α的參數(shù),反過來我們可以得到:

公式 11 時間tn和脈沖數(shù)n

聯(lián)合上面兩個式子,可以得到:
公式 12 達到最大速度需要的步數(shù)與加速度成反比

????這個式子表示當(dāng)達到給定的最大速度時需要的步數(shù)與加速度成反比,由于電機加速到最大時跟電機開始減速時的速度是一樣的,我們可以得到(減速過程從右往左看,建立新的坐標(biāo),也是一個加速過程):
公式 13 加速到最大速度等于開始減速速度

????這樣我們只需要改變n的值就可以改變加速度的值。其中n1、n2為加速步數(shù)和減速步數(shù),加速度1和減速度w(點)2都為正值((w(點)2)為正值而非常規(guī)的負值,是因為從右往左看建立新的坐標(biāo),減速過程變成了加速過程)。公式13推導(dǎo)方法可以由下面的不受最大速度限制的加減速曲線得來(將加速部分和減速部分拼在一起就和不受最大速度限制的加減速曲線一樣,所以放在下面一起推導(dǎo)了)。公式13對應(yīng)曲線圖4為:

圖 4 受最大速度限制的加減速曲線

圖 5為不受最大速度限制的加減速曲線。黃線對應(yīng)的為最大速度speed。

圖 5 加減速斜線

其中n1為加速步數(shù),n2為減速步數(shù)。


????步進電機旋轉(zhuǎn)給定的步數(shù),必須在適當(dāng)?shù)牟綌?shù)時開始減速,使其結(jié)束的時候速度為 0。

????在圖5這樣的加減速曲線中,由于不受最大速度限制,總步數(shù)僅由加速步數(shù)和加減速步數(shù),沒有勻加速步數(shù)存在。分析圖中圖像,以n1和n2為界限砍成兩個圖像,右邊的減速圖像,從右往左看建立坐標(biāo),它也是一個加速過程所以斜率標(biāo)注加速度w(點)2為正值而不是常規(guī)理解的負值,需要切成兩個圖像從右往左看成加速過程。由斜率公式(K)=y/x推出y=K*x,兩個三角形高相等,對高列方程,聯(lián)立可解得:

這說明了斜率(加速度)和脈沖數(shù)(步數(shù))的關(guān)系。等式兩邊同加?

做一個變換可以得到公式14:
公式 14 加速段脈沖數(shù)

????此時總步數(shù)等于n1 n2,公式14是為了計算方便,列出了加速步數(shù)n1和總步數(shù)的關(guān)系。公式12計算的到達最大速度的步數(shù)n值和公式14的n1值(加速步數(shù))作比較,可以判斷曲線是情況1:勻加速、勻速、勻減速,受到最大速度限制。

????還是情況2:勻加速、勻減速,受制于減速的開始,加速階段無法到達最大速度。

算法實現(xiàn)

????結(jié)合前幾點的數(shù)學(xué)模型,控制步進電機運動,在給定步數(shù)的情況下:
????速度從0開始開始加速,到達最大速度后勻速,運動到一定步數(shù)后減速,最后停下來到達指定步數(shù)。
????為實現(xiàn)梯形加減速控制,需要四個參數(shù)來描述:

step:步數(shù) accel:加速度 decel:減速度 speed:最大速度


????算法實現(xiàn)主要參考主要參考《AVR446_Linear speed control of stepper motor》。該文檔代碼中把速度speed、加速度accel以及減速度decel做了放大100倍處理。accel、decel為正值,即decel為正值,不帶符號。從右往左看,減速過程也是一個加速的過程。

場景區(qū)分:

  1. 持續(xù)加速直到達到所需的速度。

  2. 未達到所需的速度就要開始減速。

場景1:持續(xù)加速直到達到所需的速度

????已知參數(shù):step、加速度accel、減速度decel 和 speed,

????待求參數(shù):max_s_lim、accel_lim、減速距離decel_val。

??? max_s_lim 是加速到最大速度所需步數(shù),根據(jù)公式12可得。

??? accel_lim 是減速開始之前的步數(shù)(忽略最大速度限制),根據(jù)公式14可得。即前面原理分析提到過的場景區(qū)分,結(jié)合圖片更清晰。其中:‘

????

分母乘以100是為了保持放大倍數(shù)平衡。

如果max_s_lim<accel_lim,加速度受制于最大速度speed,由公式13可以推出減速距離decel_val。

添加一個負號使得減速距離為負值,和總步數(shù)相加即可得到減速開始時候的步數(shù)。


場景2:未達到所需的速度就要開始減速
第二種場景是運行的步數(shù)不足以進行加速到最大速度就要開始減速。

如果max_s_lim>accel_lim,加速度受制于減速的開始,無法加速到最大速度,減速距離decel_val為:

若加速度等于減速度,有

????添加一個負號使得減速距離為負值,和總步數(shù)相加即可得到減速開始時候的步數(shù)。

定時器中斷處理
????定時器中斷產(chǎn)生步脈沖并且只有在步進電機移動時進入。這個中斷處理速度屬性的四個不同的狀態(tài),分別為stop-accel-run-decel-stop。

????速度的這種行為通過狀態(tài)機在定時器中斷中實現(xiàn)。如圖所示。start為開始狀態(tài),accel為加速狀態(tài),run為勻速狀態(tài),decel為減速狀態(tài)。

程序流程圖

計算部分流程圖:

定時器比較中斷流程圖:

往期精彩

步進電機驅(qū)動在3D打印應(yīng)用的學(xué)習(xí)筆記(一)

ST7789 SPI LCD硬件垂直滾動功能的使用

光固化3D打印懸空和支撐講解

防坑指南: 楊工告訴你免聯(lián)考國際碩士到底是個什么梗?

覺得本次分享的文章對您有幫助,隨手點[在看]并轉(zhuǎn)發(fā)分享,也是對我的支持。

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險,如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉