裝入CPLD/FPGA的步進(jìn)電機(jī)運(yùn)動控制器與驅(qū)動器
本設(shè)計實(shí)例進(jìn)一步拓展了以前將步進(jìn)電機(jī)驅(qū)動器集成到CPLD中的設(shè)計(參考文獻(xiàn)1)。本實(shí)例不僅集成了驅(qū)動器,而且還集成了一個簡單的單軸步進(jìn)電機(jī)運(yùn)動控制器。根據(jù)CPLD大小,可以將多個運(yùn)動控制器設(shè)計到單一設(shè)備中。例如,單軸運(yùn)動控制器采用68%或63%的可用宏單元設(shè)計到Xilinx XC95108中。運(yùn)動控制器以確定的速度與時間曲線順時針或逆時針旋轉(zhuǎn)步進(jìn)電機(jī)指定的步數(shù)。運(yùn)動開始時,控制器對電機(jī)加速,直到其達(dá)到巡航速度,然后減速直到停止(圖1)。
本文引用地址:http://m.butianyuan.cn/article/161186.htm控制器可將電機(jī)速度調(diào)節(jié)到16 個值,V=VMAX×speed/16, 其中速度值為0到16的整數(shù)。在加速階段,速度從1到16升高,在巡航階段,速度保持在16,最后,在減速階段,速度下降到1,直到停止??刂破髟谶_(dá)到巡航速度階段前如果沒有足夠的步數(shù),控制器可直接從加速階段進(jìn)入減速階段。在程序中利用恒定“加速”功能可以在1到255間調(diào)節(jié)加速/減速速度。較大值的加速會造成緩慢的加速/減速;低值就會得到較快的加速/減速。該CPLD步進(jìn)電機(jī)驅(qū)動器的輸入包括時鐘、方向、完全/半步長、復(fù)位、下一步、啟動和停止等。
時鐘輸入工作在正向時鐘脈沖邊沿上。最大電機(jī)速度為16 個時鐘一步。方向輸入確定了電機(jī)的旋轉(zhuǎn)方向。電機(jī)順時針或逆時針方向運(yùn)行,取決于該輸入的大小和電機(jī)的連接方式。該值在開始向高運(yùn)行后的第一上升時鐘邊沿鎖定。完全步長或半步長輸入決定了電機(jī)在每個時鐘脈沖內(nèi)的角旋轉(zhuǎn)。在低態(tài)時,電機(jī)在每個應(yīng)用的時鐘脈沖內(nèi)執(zhí)行完全步長,在高態(tài)時則需要執(zhí)行半步長。在復(fù)位輸入時較大的電流可將電機(jī)設(shè)定為已定義好的狀態(tài)。在復(fù)位輸入較大時,電機(jī)可忽略任何時鐘脈沖。16位的Nstep值定義了下一運(yùn)動將要執(zhí)行的步數(shù)。該值在開始向高運(yùn)行后的第一上升時鐘邊沿鎖定。開始輸入較高的電流可啟動運(yùn)動。較大的停止輸入電流可停止運(yùn)動,從而退出當(dāng)前的運(yùn)動。
該CPLD步進(jìn)電機(jī)驅(qū)動器的輸出為A、A_N、B和B_N(圖2)。A 和A_N 通過電源驅(qū)動器輸出控制一個電機(jī)線圈,B和B_N輸出通過電源驅(qū)動器控制電機(jī)的第二線圈。
CPLD/FPGA無法直接驅(qū)動電機(jī),所以需要外部驅(qū)動器。驅(qū)動器必須達(dá)到電機(jī)的額定電壓。每個驅(qū)動器輸出端的肖特基整流二極管允許在電機(jī)線圈中的電流續(xù)流。如果使用MOSFET驅(qū)動器,由于MOSFET有內(nèi)置的二極管,就不需要外部肖特基整流二極管了。Microchip TC4424A 雙驅(qū)動器可以驅(qū)動電機(jī)線圈達(dá)到18V和3A。
評論