關(guān) 閉

新聞中心

EEPW首頁 > 工控自動化 > 設(shè)計應(yīng)用 > FPGA在直流電機位置控制中的應(yīng)用

FPGA在直流電機位置控制中的應(yīng)用

作者: 時間:2009-07-03 來源:網(wǎng)絡(luò) 收藏

摘要:由于具有速度易,精度和效率高,能在寬范圍內(nèi)實現(xiàn)平滑調(diào)速等特點而在冶金、機械加工制造等行業(yè)中得到廣泛。該設(shè)計采用作為器件,負(fù)責(zé)信號處理,速度快、可靠性高。介紹進行的方法,給出控制模塊的設(shè)計和實現(xiàn),使用 VHDL語言進行編程完成了對直流電機的各種控制。
關(guān)鍵詞:控制;直流電機;;VHDL

本文引用地址:http://butianyuan.cn/article/163762.htm


在直流電機控制系統(tǒng)中,被控制量一般都是電機的轉(zhuǎn)速,控制的目的是保持電機的轉(zhuǎn)速在所需要的定值上。但在實際生產(chǎn)過程中,電機帶動生產(chǎn)機械或者其他負(fù)載運動的表現(xiàn)不一定都是轉(zhuǎn)速,也可能是使生產(chǎn)機械或其機構(gòu)產(chǎn)生一定的位置變化,這時需要的控制量就不再是電機的轉(zhuǎn)速,而是控制對象的直線位移,因此需將電機的轉(zhuǎn)速輸出轉(zhuǎn)換為電機的位移輸出。

1 電機位置控制模塊的設(shè)計
1.1 直流電機位置控制的方法
在此,使用maxon直流電機,通過與其配套的行星齒輪箱和磁編碼器,能夠?qū)崿F(xiàn)從轉(zhuǎn)速到位移的轉(zhuǎn)換。其工作原理如下:電機轉(zhuǎn)動時,編碼器開始輸出反饋脈沖,反饋脈沖的頻率與電機的轉(zhuǎn)速成正比,最高可達(dá)20 kHz。電機軸每旋轉(zhuǎn)一圈,編碼器就輸出16個反饋脈沖,通過計算得出每個脈沖代表電機所帶負(fù)載產(chǎn)生0.006 14 mm的位移。這樣就可以把要控制的位移量用反饋脈沖的個數(shù)來表示,作為FPGA中位置控制模塊給定值,當(dāng)電機轉(zhuǎn)動時,F(xiàn)PGA中的計數(shù)器會把反饋脈沖計數(shù)并保存,位置控制模塊不斷讀取計數(shù)器里的計數(shù)值,并與位置控制模塊中的給定值比較。當(dāng)它們相等的時候,位置控制模塊發(fā)出停止信號,從而控制電機剎車。電機停止運動后,再讀取計數(shù)器中的計數(shù)值,與給定值做比較,計算出差值。如果差值在控制精度范圍內(nèi),則此次控制結(jié)束;如果不在范圍內(nèi),將差值作為下一次控制的給定值,繼續(xù)控制電機運動,直至達(dá)到要求的精度范圍為止。
1.2 位置控制模塊的組成
位置控制模塊由3部分組成:比較模塊、驅(qū)動模塊和延時模塊。比較模塊的作用是將編碼器反饋的脈沖個數(shù)與給定的脈沖個數(shù)做比較,當(dāng)它們相等時,給出電機停止信號。驅(qū)動模塊的作用是根據(jù)輸入的控制信號控制電機的運動。延時模塊的作用是防止丟失反饋脈沖,確保準(zhǔn)確讀回編碼器反饋的脈沖個數(shù)。接下來將重點介紹各個模塊的具體實現(xiàn)。
1.2.1 比較模塊
圖1中,data_in[15..O]為給定的反饋脈沖個數(shù);EN為電機工作使能信號;inclk為工作時鐘;feedback[15..0]為電機運行時計數(shù)器的計數(shù)值;stopinter為電機停止時的模塊內(nèi)部傳遞信號;“O”表示無效,“1”表示有效。比較模塊的工作原理如下:比較模塊在接收到給定值后,也就是根據(jù)要控制的位移量所計算出的反饋脈沖的個數(shù),將其鎖存。在工作時鐘的作用下,模塊會不斷地檢測EN信號是否有效,如果EN信號有效,模塊將開始讀取反饋計數(shù)值,并與給定值做比較;如果相等,模塊認(rèn)為電機所帶負(fù)載的運動到達(dá)指定位置,這時輸出的stopinter信號有效,控制電機剎車;否則 stopinter信號無效,電機繼續(xù)運動。

如圖2所示,假設(shè)給定的計數(shù)值為7。當(dāng)使能信號EN有效時,模塊開始讀端口feedback[15..O]中的值(電機運行時通過磁編碼器反饋回來的脈沖個數(shù)),與data_in[15..0]中給定的脈沖個數(shù)做比較。當(dāng)它們相等的時候,表示電機所帶的負(fù)載運動到了指定位置,此時stopinter信號有效,開始控制電機剎車并停止。

1.2.2 驅(qū)動模塊
圖3中,derect[1..O]為電機的控制輸入信號;EN為電機工作使能信號,“0”表示無效,“1”表示有效;inclk為工作時鐘; stopinter為電機停止信號的模塊內(nèi)部傳遞信號;control_outA,control_outB為控制電機的輸出信號,這兩個控制信號直接連接電機的驅(qū)動芯片。驅(qū)動模塊的工作原理如下:


上一頁 1 2 下一頁

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉