《電子技術(shù)應用》
您所在的位置:首頁 > 可編程邏輯 > 設(shè)計應用 > 裝入CPLD/FPGA的步進電機運動控制器與驅(qū)動器
裝入CPLD/FPGA的步進電機運動控制器與驅(qū)動器
EDN China
Stephan Roche等
摘要: 本設(shè)計實例進一步拓展了以前將步進電機驅(qū)動器集成到CPLD中的設(shè)計(參考文獻1)。本實例不僅集成了驅(qū)動器,而且還集成了一個簡單的單軸步進電機運動控制器。根據(jù)CPLD大小,可以將多個運動控制器設(shè)計到單一設(shè)備中。例如,單軸運動控制器采用68%或63%的可用宏單元設(shè)計到Xilinx XC95108中。運動控制器以確定的速度與時間曲線順時針或逆時針旋轉(zhuǎn)步進電機指定的步數(shù)。運動開始時,控制器對電機加速,直到其達到巡航速度,然后減速直到停止(圖1)。
關(guān)鍵詞: CPLD FPGA 步進電機 運動控制器
Abstract:
Key words :

本設(shè)計實例進一步拓展了以前將步進電機驅(qū)動器集成到CPLD中的設(shè)計(參考文獻1)。本實例不僅集成了驅(qū)動器,而且還集成了一個簡單的單軸步進電機運動控制器。根據(jù)CPLD大小,可以將多個運動控制器設(shè)計到單一設(shè)備中。例如,單軸運動控制器采用68%或63%的可用宏單元設(shè)計到Xilinx XC95108中。運動控制器以確定的速度與時間曲線順時針或逆時針旋轉(zhuǎn)步進電機指定的步數(shù)。運動開始時,控制器對電機加速,直到其達到巡航速度,然后減速直到停止(圖1)。

控制器可將電機速度調(diào)節(jié)到16 個值,V=VMAX×speed/16, 其中速度值為0到16的整數(shù)。在加速階段,速度從1到16升高,在巡航階段,速度保持在16,最后,在減速階段,速度下降到1,直到停止??刂破髟谶_到巡航速度階段前如果沒有足夠的步數(shù),控制器可直接從加速階段進入減速階段。在程序中利用恒定“加速”功能可以在1到255間調(diào)節(jié)加速/減速速度。較大值的加速會造成緩慢的加速/減速;低值就會得到較快的加速/減速。該CPLD步進電機驅(qū)動器的輸入包括時鐘、方向、完全/半步長、復位、下一步、啟動和停止等。

時鐘輸入工作在正向時鐘脈沖邊沿上。最大電機速度為16 個時鐘一步。方向輸入確定了電機的旋轉(zhuǎn)方向。電機順時針或逆時針方向運行,取決于該輸入的大小和電機的連接方式。該值在開始向高運行后的第一上升時鐘邊沿鎖定。完全步長或半步長輸入決定了電機在每個時鐘脈沖內(nèi)的角旋轉(zhuǎn)。在低態(tài)時,電機在每個應用的時鐘脈沖內(nèi)執(zhí)行完全步長,在高態(tài)時則需要執(zhí)行半步長。在復位輸入時較大的電流可將電機設(shè)定為已定義好的狀態(tài)。在復位輸入較大時,電機可忽略任何時鐘脈沖。16位的Nstep值定義了下一運動將要執(zhí)行的步數(shù)。該值在開始向高運行后的第一上升時鐘邊沿鎖定。開始輸入較高的電流可啟動運動。較大的停止輸入電流可停止運動,從而退出當前的運動。

該CPLD步進電機驅(qū)動器的輸出為A、A_N、B和B_N(圖2)。A 和A_N 通過電源驅(qū)動器輸出控制一個電機線圈,B和B_N輸出通過電源驅(qū)動器控制電機的第二線圈。

CPLD/FPGA無法直接驅(qū)動電機,所以需要外部驅(qū)動器。驅(qū)動器必須達到電機的額定電壓。每個驅(qū)動器輸出端的肖特基整流二極管允許在電機線圈中的電流續(xù)流。如果使用MOSFET驅(qū)動器,由于MOSFET有內(nèi)置的二極管,就不需要外部肖特基整流二極管了。Microchip TC4424A 雙驅(qū)動器可以驅(qū)動電機線圈達到18V和3A。

參考文獻

1. Roche, Stephan, “Implement a stepper-motor driver in a CPLD,” EDN, Feb 15, 2007, pg 90.

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。