• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

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

      2009-08-13 06:18:04金建勛戴志堅
      現(xiàn)代電子技術(shù) 2009年10期
      關(guān)鍵詞:直流電機(jī)

      吳 凡 金建勛 戴志堅

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

      關(guān)鍵詞:位置控制;直流電機(jī);FPGA;VHDL

      中圖分類號:TP274文獻(xiàn)標(biāo)識碼:B

      文章編號:1004-373X(2009)10-013-03

      Application of FPGA in Position Control of Direct Current Motor

      WU Fan,JIN Jianxun,DAI Zhijian

      (School of Automation Engineering,University of Electronic Science & Technology of China,Chengdu,610054,China)

      Abstract: Direct current motor has characters of excellent controlling performance,high precise and great efficiency,smooth timing in wide range,so it′s widely used in metallurgy,enginery and other industry.In this design,FPGA is used as control device of direct current smotor,that charge signal processing.The method of realizing position control of direct current motor by using FPGA is introduced.It describes the design and realization of block of position control of motor and uses VHDL language to program FPGA to complete all kinds of control of direct current motor.

      Keywords:position control;direct current motor;FPGA;VHDL

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

      1 電機(jī)位置控制模塊的設(shè)計

      1.1 直流電機(jī)位置控制的方法

      在此,使用maxon直流電機(jī),通過與其配套的行星齒輪箱和磁編碼器,能夠?qū)崿F(xiàn)從轉(zhuǎn)速到位移的轉(zhuǎn)換。其工作原理如下:電機(jī)轉(zhuǎn)動時,編碼器開始輸出反饋脈沖,反饋脈沖的頻率與電機(jī)的轉(zhuǎn)速成正比,最高可達(dá)20 kHz。電機(jī)軸每旋轉(zhuǎn)一圈,編碼器就輸出16個反饋脈沖,通過計算得出每個脈沖代表電機(jī)所帶負(fù)載產(chǎn)生0.006 14 mm的位移。這樣就可以把要控制的位移量用反饋脈沖的個數(shù)來表示,作為FPGA中位置控制模塊給定值,當(dāng)電機(jī)轉(zhuǎn)動時,FPGA中的計數(shù)器會把反饋脈沖計數(shù)并保存,位置控制模塊不斷讀取計數(shù)器里的計數(shù)值,并與位置控制模塊中的給定值比較。當(dāng)它們相等的時候,位置控制模塊發(fā)出停止信號,從而控制電機(jī)剎車。電機(jī)停止運(yùn)動后,再讀取計數(shù)器中的計數(shù)值,與給定值做比較,計算出差值。如果差值在控制精度范圍內(nèi),則此次控制結(jié)束;如果不在范圍內(nèi),將差值作為下一次控制的給定值,繼續(xù)控制電機(jī)運(yùn)動,直至達(dá)到要求的精度范圍為止。

      1.2 位置控制模塊的組成

      位置控制模塊由3部分組成:比較模塊、驅(qū)動模塊和延時模塊。比較模塊的作用是將編碼器反饋的脈沖個數(shù)與給定的脈沖個數(shù)做比較,當(dāng)它們相等時,給出電機(jī)停止信號。驅(qū)動模塊的作用是根據(jù)輸入的控制信號控制電機(jī)的運(yùn)動。延時模塊的作用是防止丟失反饋脈沖,確保準(zhǔn)確讀回編碼器反饋的脈沖個數(shù)。接下來將重點(diǎn)介紹各個模塊的具體實(shí)現(xiàn)。

      1.2.1 比較模塊

      圖1中,data_in[15..0]為給定的反饋脈沖個數(shù);EN為電機(jī)工作使能信號;inclk為工作時鐘;feedback[15..0]為電機(jī)運(yùn)行時計數(shù)器的計數(shù)值;stopinter為電機(jī)停止時的模塊內(nèi)部傳遞信號;“0”表示無效,“1”表示有效。比較模塊的工作原理如下:

      比較模塊在接收到給定值后,也就是根據(jù)要控制的位移量所計算出的反饋脈沖的個數(shù),將其鎖存。在工作時鐘的作用下,模塊會不斷地檢測EN信號是否有效,如果EN信號有效,模塊將開始讀取反饋計數(shù)值,并與給定值做比較;如果相等,模塊認(rèn)為電機(jī)所帶負(fù)載的運(yùn)動到達(dá)指定位置,這時輸出的stopinter信號有效,控制電機(jī)剎車;否則stopinter信號無效,電機(jī)繼續(xù)運(yùn)動。

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

      1.2.2 驅(qū)動模塊

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

      在工作時鐘的作用下,驅(qū)動模塊會不斷地檢測EN信號和stopinter信號是否有效,如果EN有效,并且stopinter無效的時候,模塊的輸出control_outA,contorl_outB取決于電機(jī)控制輸入信號derect[1..0]的狀態(tài),當(dāng)derect[1..0]為“01”時,control_outA輸出為“0”;control_outB輸出為“1”,表示控制電機(jī)反轉(zhuǎn)。當(dāng)derect[1..0]為“10”時,control_outA輸出為“1”;control_outB輸出為“0”,表示控制電機(jī)正轉(zhuǎn)。驅(qū)動控制模塊一旦檢測到stop信號有效,control_outA和control_outB的輸出都為“0”,表示控制電機(jī)剎車并停止。在EN和stop信號都無效的時候,control_outA和control_outB的輸出都為“1”,表示對電機(jī)不做任何控制。

      如圖4所示,當(dāng)EN和stopinter 信號都為“0”時,模塊的輸出control_outA,contorl_outB都為“1”,對電機(jī)不做任何控制。當(dāng)EN信號變?yōu)椤?”時,表示電機(jī)開始運(yùn)動,模塊的輸出control_outA為“0”,Contorl_outB為“1”,與direction[1..0]中的值“01”相同,此時電機(jī)反轉(zhuǎn)。當(dāng)stopinter信號變?yōu)椤?”時,模塊的輸出control_outA為“0”;contorl_outB也為“0”,此時電機(jī)剎車并停止。當(dāng)EN信號為“1”,stopinter信號再次為“0”時,電機(jī)再次開始運(yùn)動,模塊的輸出control_outA為“1”;contorl_outB為“0”,與direction[1..0]中的值“10”相同,此時電機(jī)反轉(zhuǎn)。

      1.2.3 延時模塊

      圖4中,EN為延時的使能信號,也就是計數(shù)比較模塊的輸出信號stopinter;inclk為工作時鐘;stop為電機(jī)停止信號對外部的輸出信號。延時模塊(如圖5所示)的工作原理如下:

      當(dāng)延時模塊檢測到stopinter信號為“1”時,模塊內(nèi)的計數(shù)器開始工作,計數(shù)器時鐘即模塊的工作時鐘10 kHz,當(dāng)記滿300后,模塊輸出信號為“1”。延時模塊檢測到stopinter信號為“0”時,模塊內(nèi)計數(shù)器不工作,模塊輸出信號為“0”。

      當(dāng)電機(jī)剎車時,由于存在慣性,電機(jī)不會立即停止,會有一段滑行的過程,在這個過程中,電機(jī)仍然會通過磁編碼器返回反饋脈沖,只是因?yàn)殡姍C(jī)的轉(zhuǎn)速下降,反饋脈沖的頻率大大降低。當(dāng)stopinter信號變?yōu)椤?”時,電機(jī)開始剎車,如果此時立刻讀取feedback[15..0]端口上的反饋脈沖數(shù)值,計算出電機(jī)所帶負(fù)載的位置,那么必然會丟失掉滑行過程中的反饋脈沖。這樣就會導(dǎo)致讀回的反饋脈沖數(shù)與實(shí)際電機(jī)返回的反饋脈沖數(shù)不相等,從而嚴(yán)重地影響控制精度,所以必須在stopinter信號變?yōu)椤?”后,延長一段時間,確保電機(jī)停止不動后,再給出STOPTEST信號,作為讀取反饋脈沖數(shù)值的有效信號,這時用讀回的反饋脈沖數(shù)值計算出負(fù)載的實(shí)際位置是準(zhǔn)確的。

      通過實(shí)驗(yàn),在電機(jī)以最高轉(zhuǎn)速運(yùn)行時,讓電機(jī)剎車,用邏輯分析儀抓出反饋脈沖的波形,找出反饋脈沖頻率開始突然下降直到反饋脈沖消失的那段時間,就是所需要的延時。通過反復(fù)進(jìn)行實(shí)驗(yàn),測試出這段時間為30 ms,其間的反饋脈沖個數(shù)為20個。因此把要控制的位移量換算成反饋脈沖的個數(shù)后,用這個值減去20作為比較模塊給定值,就可以抵消滑行過程中增加的20個脈沖。這樣對電機(jī)的控制能夠達(dá)到一次到位,不需要進(jìn)行再次調(diào)節(jié)。延時模塊仿真圖如圖6所示。

      2 結(jié) 語

      現(xiàn)場可編程門陣列(FPGA)器件體積小、速度快、集成度高,能夠用硬件電路來實(shí)現(xiàn)算法。使用FPGA控制電機(jī),能夠保證控制的實(shí)時性和可靠性。它作為一種有效的數(shù)字化控制方法必將廣泛地為人們所接受和使用。

      參考文獻(xiàn)

      [1]李鐵才.電機(jī)控制技術(shù)[M].哈爾濱:哈爾濱工業(yè)大學(xué)出版社,2000.

      [2]陳耀和.VHDL語言設(shè)計技術(shù)[M].北京:電子工業(yè)出版社,2004.

      [3]潘松,黃繼光.EDA技術(shù)實(shí)用教程[M].北京:科學(xué)出版社,2002.

      [4]爾桂花,竇曰軒.運(yùn)動控制系統(tǒng)[M].北京:清華大學(xué)出版社,2002.

      [5]黃任.VHDL入門?解惑?經(jīng)典實(shí)例?經(jīng)驗(yàn)總結(jié)[M].北京:北京航空航天大學(xué)出版社,2004.

      [6]胡壽松.自動控制原理[M].北京:科學(xué)出版社,2000.

      [7]于海生.微型計算機(jī)控制技術(shù)[M].北京:清華大學(xué)出版社,1998.

      [8]侯伯亨,顧新.VHDL硬件描述語言與數(shù)字邏輯電路設(shè)計[M].西安:西安電子科技大學(xué)出版社,1998.

      [9]劉和平.DSP原理及電機(jī)控制應(yīng)用:基于TMS320LF240X系列[M].北京:北京航空航天大學(xué)出版社,2006.

      [10]王鑒光.電機(jī)控制系統(tǒng)[M].北京:機(jī)械工業(yè)出版社,1994.

      猜你喜歡
      直流電機(jī)
      基于模糊PID的無刷直流電機(jī)速度控制系統(tǒng)的設(shè)計與仿真
      基于FPGA的雙繞組無刷直流電機(jī)軟件設(shè)計
      電子制作(2017年1期)2017-05-17 03:54:12
      基于模糊神經(jīng)網(wǎng)絡(luò)PID的無刷直流電機(jī)控制系統(tǒng)研究
      基于HHT的直流電機(jī)換向電流分析
      一種改進(jìn)的無刷直流電機(jī)控制方法
      電動汽車直流電機(jī)再生制動控制方式
      河南科技(2014年14期)2014-02-27 14:11:59
      易门县| 荆门市| 贞丰县| 青田县| 嘉善县| 塘沽区| 偏关县| 洛川县| 南康市| 会同县| 信宜市| 苏州市| 广灵县| 济源市| 隆德县| 葫芦岛市| 霍州市| 明水县| 资源县| 旬邑县| 昌图县| 江安县| 镶黄旗| 肇源县| 宁波市| 日土县| 安西县| 兴义市| 社会| 富顺县| 策勒县| 杭锦后旗| 卓资县| 雅江县| 武城县| 靖边县| 元江| 河津市| 武穴市| 舒兰市| 定南县|