在HCS08系列MCU上用軟件實(shí)現儀表步進(jìn)電機的驅動(dòng)
電機轉動(dòng)的加減速
本文引用地址:http://dyxdggzs.com/article/109228.htm步進(jìn)電機在轉動(dòng)時(shí),因為轉子、傳動(dòng)齒輪和負載的轉動(dòng)慣量,使它從一個(gè)位置轉動(dòng)到下一個(gè)位置(一個(gè)分步或微步)需要一定的時(shí)間。如果在轉子轉動(dòng)到下一個(gè)位置之前,驅動(dòng)信號就又往前走了一步的話(huà),那么轉子的磁場(chǎng)方向和定子線(xiàn)圈產(chǎn)生的氣隙磁場(chǎng)方向之間的夾角就會(huì )超過(guò)一個(gè)分步或微步所對應的角度。只要轉子的旋轉速度跟不上驅動(dòng)信號的變化速度,這個(gè)夾角就會(huì )越來(lái)越大,當夾角超過(guò)180°時(shí),磁場(chǎng)對轉子的作用力的方向就會(huì )變得跟原來(lái)的方向相反。結果就是轉子所轉過(guò)的角度和氣隙磁場(chǎng)所轉過(guò)的角度不相等了,也就是轉子所轉過(guò)的步數和驅動(dòng)信號走過(guò)的步數不相等了,人們常把這種現象叫做“失步”。同樣的,當要使步進(jìn)電機從高速的旋轉中停下來(lái)的時(shí)候,如果驅動(dòng)信號的變化過(guò)快,轉子就有可能在慣性的作用下繼續旋轉超過(guò)180°,從而也產(chǎn)生失步。另外,由于轉子軸承、傳動(dòng)齒輪和負載上都有一定的摩擦阻力,因此電機在連續轉動(dòng)時(shí)的速度也是有限的,如果驅動(dòng)信號的變化速度超過(guò)了電機能達到的最大轉速的話(huà),電機也會(huì )失步。
那么,如果讓驅動(dòng)信號一直保持較慢的變化速度,是不是就沒(méi)有問(wèn)題了呢?答案當然是否定的。這是因為步進(jìn)電機作為儀表的顯示部件,我們要求它能夠將被測信號的變化實(shí)時(shí)地顯示出來(lái);而電機轉動(dòng)如果比較慢,那么儀表的顯示就無(wú)法跟上被測信號的變化。
為了讓步進(jìn)電機既不會(huì )失步,又能轉得盡可能快,那么就要讓驅動(dòng)信號
的變化速度和轉子轉動(dòng)的速度保持基本一致。當電機啟動(dòng)的時(shí)候,轉子做加速轉動(dòng),這時(shí)第一步的持續時(shí)間要比較長(cháng),然后每一步的持續時(shí)間逐漸變短,對應的轉動(dòng)速度變化如圖3所示。電機停止的過(guò)程則與之相反。在VID29系列步進(jìn)電機的數據手冊上給出了電機啟動(dòng)/停止時(shí)允許的驅動(dòng)信號的變化速度(啟動(dòng)頻率)和電機連續轉動(dòng)時(shí)允許的驅動(dòng)信號的變化速度(最大驅動(dòng)頻率),我們可以根據它們計算出第一步的持續時(shí)間和加速過(guò)程結束后的每一步的持續時(shí)間。
步進(jìn)電機和MCU的硬件連接
在LG32 Cluster Reference Design中,MCU和步進(jìn)電機之間的連接如圖4所示。其中使用了一片74ACT125作為電流放大驅動(dòng),這是因為MC9S08LG32的I/O口輸出的電流最大只有10mA,而VID29步進(jìn)電機需要的驅動(dòng)電流最大可達20mA。使用TPM模塊的兩個(gè)PWM輸出通道驅動(dòng)步進(jìn)電機兩個(gè)線(xiàn)圈的正極,兩個(gè)普通I/O口驅動(dòng)兩個(gè)線(xiàn)圈的負極。TPM模塊的兩個(gè)通道也可以設置成普通I/O口,這樣就可以根據需要使用微步方式驅動(dòng)或者分步方式驅動(dòng)。
在MC9S08LG32中集成了兩個(gè)TPM模塊,其中TPM1有2個(gè)通道,TPM2有6個(gè)通道。在這里選擇TPM1來(lái)驅動(dòng)步進(jìn)電機,是因為當把一個(gè)TPM模塊的某一個(gè)通道設置為PWM輸出時(shí),此TPM模塊公用的模數(MOD)寄存器將被設成一個(gè)比較特殊的值,這樣就會(huì )給它的其它通道的功能使用造成很多限制。所以為了更加充分地利用MCU的資源,這里選擇了通道較少的TPM1,而把通道較多的TPM2留作他用。
pwm相關(guān)文章:pwm是什么
評論