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