在HCS08系列MCU上用軟件實現(xiàn)儀表步進電機的驅(qū)動
步進電機由于具有角位移和輸入脈沖數(shù)成正比并且沒有累積誤差的特點,而被廣泛地用作汽車儀表的顯示部件。在多數(shù)情況下,人們會使用專用的驅(qū)動芯片來驅(qū)動步進電機,主控制器只需要給出方向控制信號和控制轉(zhuǎn)動步數(shù)的脈沖就行了。另外,也有集成了步進電機驅(qū)動電路的MCU(微控制器),如Freescale的MC9S12HY系列,其使用方法也比較簡單。然而,在很多較低端的汽車儀表,如微型車、農(nóng)用車、三輪貨車和摩托車的儀表上,人們?yōu)榱私档统杀?,希望能夠不用專用?qū)動芯片或相對較貴的帶驅(qū)動電路的MCU,而是用普通的MCU直接去驅(qū)動步進電機。本文介紹了在Freescale的HCS08系列MCU上,如何用軟件來實現(xiàn)對VID29系列步進電機的直接驅(qū)動。本文所附帶的程序,已經(jīng)在Freescale的LG32 Cluster Reference Design演示板上運行驗證過。
本文引用地址:http://2s4d.com/article/109228.htm分步驅(qū)動和微步驅(qū)動
步進電機的驅(qū)動通常有分步方式和微步方式兩種。分步方式的優(yōu)點是驅(qū)動信號的幅度只有0和電源電壓(5V)兩種,與數(shù)字信號的低電平和高電平完全一一對應(yīng),因此只要使用MCU的普通數(shù)字I/O口(GPIO)就可以產(chǎn)生驅(qū)動信號,驅(qū)動程序也比較簡單。但是由于分步方式下,定子線圈產(chǎn)生的氣隙磁場的方向在每走一步的過程中都發(fā)生一個較大的跳變——對于VID29系列步進電機而言是60°的跳變,定子磁場從原來的方向跳變到下一個平衡位置的方向,轉(zhuǎn)子則在磁力的作用下加速向下一個平衡位置轉(zhuǎn)動,當(dāng)它到達平衡位置的瞬間,速度達到最大值,而磁場力則變?yōu)榱?只考慮切向力,不考慮徑向力,因為徑向力與轉(zhuǎn)動無關(guān)。下同);然后,如果驅(qū)動信號沒有變化的話,轉(zhuǎn)子就會在慣性的作用下繼續(xù)往前轉(zhuǎn)動,偏離平衡位置,這時磁場力將會增大,而其方向卻變成跟剛才相反,于是就使轉(zhuǎn)子減速,當(dāng)轉(zhuǎn)子與平衡位置的偏離達到最大時,其速度減為零,然后在磁場力作用下往回加速轉(zhuǎn)動;當(dāng)轉(zhuǎn)子轉(zhuǎn)回平衡位置時,磁場力又變?yōu)榱?,而速度不為零,于是在慣性的作用下繼續(xù)轉(zhuǎn)動偏離平衡位置……如此反復(fù),只要驅(qū)動信號還沒有再次改變,轉(zhuǎn)子就會象蕩秋千一樣在平衡位置附近來回振蕩,并在摩擦力的作用下幅度逐漸減小。這種振蕩還會產(chǎn)生一定的噪聲,所以用分步方式驅(qū)動時,步進電機的噪聲和抖動會比較大。
為了減小步進電機運行時的噪聲和抖動,人們設(shè)法讓定子線圈的磁場方向的跳變幅度變小,把一個分步一次的大跳變分成若干次較小的跳變來完成,于是就有了微步驅(qū)動方式,也叫細分驅(qū)動方式。
根據(jù)矢量合成的原理,當(dāng)步進電機中的兩個線圈各自產(chǎn)生的磁場的強度按照正/余弦規(guī)律變化的時候,它們的合成磁場的方向就會勻速旋轉(zhuǎn),而合成磁場的強度保持不變,如圖1所示。線圈產(chǎn)生的磁場強度與通過它的電流大小成正比,因此微步驅(qū)動方式就是讓通過線圈的驅(qū)動電流不是像分步方式那樣在0和最大值之間跳變,而是按照正/余弦規(guī)律分成幾個階梯逐步變化,如圖2所示。
那么如何來產(chǎn)生階梯變化的驅(qū)動電流呢?通常的做法是將一個PWM波形電壓信號施加到線圈上,以PWM的占空比來控制通過線圈的平均電流。對每個階梯電流,我們事先計算出所需的PWM脈沖的占空比,并做成查找表存放在FLASH中。在驅(qū)動步進電機轉(zhuǎn)動的時候,每走一個微步就從表中取出相應(yīng)的占空比來對PWM模塊進行設(shè)置,然后在當(dāng)前的這一步結(jié)束之前不再改變PWM脈沖的占空比。
pwm相關(guān)文章:pwm是什么
評論