0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

基于FPGA的步進(jìn)電機(jī)控制實現(xiàn)

西西 ? 來源:博客園 ? 作者:logic3 ? 2020-09-10 16:34 ? 次閱讀

1、步進(jìn)電機(jī)概述

步進(jìn)電機(jī)是一種能夠?qū)㈦娒}沖信號轉(zhuǎn)換成角位移或線位移的機(jī)電元件,它實際上是一種單相或多相同步電動機(jī)。單相步進(jìn)電動機(jī)有單路電脈沖驅(qū)動,輸出功率一般很小,其用途為微小功率驅(qū)動。多相步進(jìn)電動機(jī)有多相方波脈沖驅(qū)動,用途很廣。使用多相步進(jìn)電動機(jī)時,單路電脈沖信號可先通過脈沖分配器轉(zhuǎn)換為多相脈沖信號,在經(jīng)功率放大后分別送入步進(jìn)電動機(jī)各相繞組。每輸入一個脈沖到脈沖分配器,電動機(jī)各相的通電狀態(tài)就發(fā)生變化,轉(zhuǎn)子會轉(zhuǎn)過一定的角度(稱為步距角)。正常情況下,步進(jìn)電機(jī)轉(zhuǎn)過的總角度和輸入的脈沖數(shù)成正比;連續(xù)輸入一定頻率的脈沖時,電動機(jī)的轉(zhuǎn)速與輸入脈沖的頻率保持嚴(yán)格的對應(yīng)關(guān)系,不受電壓波動和負(fù)載變化的影響。由于步進(jìn)電動機(jī)能直接接收數(shù)字量的輸入,所以特別適合于微機(jī)控制。

2、步進(jìn)電機(jī)的種類

目前常用的步進(jìn)電機(jī)有三類:

(1)反應(yīng)式步進(jìn)電動機(jī)(VR):它的結(jié)構(gòu)簡單,生產(chǎn)成本低,步距角可以做的相當(dāng)小,但動態(tài)性能相對較差。

(2)永磁式步進(jìn)電動機(jī)(PM):它的出力大,動態(tài)性能好;但步距角一般比較大。

(3)混合步進(jìn)電動機(jī)(HB):它綜合了反應(yīng)式和永磁式兩者的優(yōu)點,步距角小,出力大,動態(tài)性能好,是性能較好的一類步進(jìn)電動機(jī)。

如果還想做更深入的了解,自行查找相關(guān)資料。

實驗使用的電機(jī)如下

5V減速步進(jìn)電機(jī)(5線4相)

型號:28BYJ-48

尺寸:28mm(直徑)

電壓:5V

步進(jìn)角度:5.625 x 1/64

減速比:1/64

應(yīng)用:適用于51/AVR/ARM等各種平臺。

電機(jī)驅(qū)動電路

基于FPGA的步進(jìn)電機(jī)控制實現(xiàn)

3、步進(jìn)電機(jī)控制的實現(xiàn)

我們實驗中所使用的步進(jìn)電機(jī)為四相步進(jìn)電機(jī)。轉(zhuǎn)子小齒數(shù)為64。系統(tǒng)中采用四路I/O進(jìn)行并行控制,FPGA直接發(fā)出多相脈沖信號,在通過功率放大后,進(jìn)入步進(jìn)電機(jī)的各相繞組。這樣就不再需要脈沖分配器。脈沖分配器的功能可以由純軟件的方法實現(xiàn)。

四相步距電機(jī)的控制方法有四相單四拍,四相單、雙八拍和四相雙四拍三種控制方式。步距角的計算公式為:

其中:m為相數(shù),控制方法是四相單四拍和四相雙四拍時C為1,控制方法是四相單、雙八拍時C為2,Zk為轉(zhuǎn)子小齒數(shù)。本系統(tǒng)中采用的是四相單、雙八拍控制方法,所以步距角為360°/512。但步進(jìn)電機(jī)經(jīng)過一個1/8的減速器引出,實際的步距角應(yīng)為360°/512/8。

試驗中使用EXI/O的高四位控制四相步進(jìn)電機(jī)的四個相。按照四相單、雙八拍控制方法,電機(jī)正轉(zhuǎn)時的控制順序為A→AB→B→BC→C→CD→D→DA。 參見表如下:

基于FPGA的步進(jìn)電機(jī)控制實現(xiàn)

反轉(zhuǎn)時,只要將控制信號按相反的順序給出即可。

步進(jìn)電機(jī)的頻率不能太快,也不能太慢。在200Hz附近最好。頻率太快是轉(zhuǎn)動不起來的。

注:為什么步進(jìn)電機(jī)高于一定速度就無法啟動:

步進(jìn)電機(jī)有一個技術(shù)參數(shù):空載啟動頻率,即步進(jìn)電機(jī)在空載情況下能夠正常啟動的脈沖頻率,如果脈沖頻率高于該值,電機(jī)不能正常啟動,可能發(fā)生丟步或堵轉(zhuǎn)。在有負(fù)載的情況下,啟動頻率應(yīng)更低。如果要使電機(jī)達(dá)到高速轉(zhuǎn)動,脈沖頻率應(yīng)該有加速過程,即啟動頻率較低,然后按一定加速度升到所希望的高頻(電機(jī)轉(zhuǎn)速從低速升到高速)。

4、設(shè)計原理圖

基于FPGA的步進(jìn)電機(jī)控制實現(xiàn)

clk接時鐘;Dir接按鍵,控制正轉(zhuǎn)還是反轉(zhuǎn); rst接復(fù)位信號;StepDrive接步進(jìn)電機(jī)的4個引腳。

電路板連接

電源連接

基于FPGA的步進(jìn)電機(jī)控制實現(xiàn)

FPGA IO連接

仿真

必須用Quartus 9.0版本軟件

工程文件

代碼文件

仿真波形文件

仿真結(jié)果

修改步進(jìn)電機(jī)的速度請在這里修改:

// 此處的數(shù)值為200000,因為實驗中所使用的晶振時鐘頻率是50MHz,

// 這樣我們?yōu)椴竭M(jìn)電機(jī)提供了250Hz的頻率,使之能正常工作。

仿真驗證正確。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • FPGA
    +關(guān)注

    關(guān)注

    1630

    文章

    21777

    瀏覽量

    604724
  • 步進(jìn)電機(jī)
    +關(guān)注

    關(guān)注

    151

    文章

    3115

    瀏覽量

    147658
  • 微機(jī)控制
    +關(guān)注

    關(guān)注

    0

    文章

    23

    瀏覽量

    8530
收藏 人收藏

    評論

    相關(guān)推薦

    步進(jìn)電機(jī)如何自適應(yīng)控制步進(jìn)電機(jī)如何細(xì)分驅(qū)動控制?

    是一種智能控制方法,它可以根據(jù)系統(tǒng)參數(shù)的變化和外部干擾自動調(diào)整控制策略,以實現(xiàn)對系統(tǒng)的穩(wěn)定和精確控制。在步進(jìn)
    的頭像 發(fā)表于 10-23 10:04 ?696次閱讀

    步進(jìn)電機(jī)轉(zhuǎn)速怎么控制高低

    步進(jìn)電機(jī)是一種將電脈沖信號轉(zhuǎn)換為角位移或線位移的開環(huán)控制元件。在非超載的情況下,電機(jī)的轉(zhuǎn)速、停止的位置只取決于脈沖信號的頻率和脈沖數(shù),而不受負(fù)載變化的影響,當(dāng)
    的頭像 發(fā)表于 10-22 15:55 ?711次閱讀

    步進(jìn)電機(jī)控制技術(shù)及發(fā)展概況有哪些?

    電脈沖信號時,步進(jìn)電機(jī)的定子繞組會產(chǎn)生磁場,使轉(zhuǎn)子產(chǎn)生扭矩,從而實現(xiàn)轉(zhuǎn)動。步進(jìn)電機(jī)的轉(zhuǎn)動角度與輸入的電脈沖數(shù)成正比,因此可以通過
    的頭像 發(fā)表于 10-22 11:50 ?287次閱讀

    步進(jìn)電機(jī)伺服控制系統(tǒng)的作用

    步進(jìn)電機(jī)伺服控制系統(tǒng)是一種精密的電機(jī)控制系統(tǒng),它通過精確控制
    的頭像 發(fā)表于 09-04 09:46 ?721次閱讀

    步進(jìn)電機(jī)控制原理與應(yīng)用實例

    步進(jìn)電機(jī),作為一種特殊的電機(jī)類型,在現(xiàn)代工業(yè)控制系統(tǒng)中占據(jù)著重要的地位。其獨特的控制方式和廣泛的應(yīng)用領(lǐng)域,使得
    的頭像 發(fā)表于 06-25 14:34 ?1045次閱讀

    步進(jìn)電機(jī)控制器電路圖 步進(jìn)電機(jī)控制器的分類及其特點

      步進(jìn)電機(jī)控制器是一種專門用于控制步進(jìn)電機(jī)的設(shè)備,它通過發(fā)出脈沖信號來驅(qū)動
    的頭像 發(fā)表于 06-24 17:12 ?3526次閱讀
    <b class='flag-5'>步進(jìn)</b><b class='flag-5'>電機(jī)</b><b class='flag-5'>控制</b>器電路圖 <b class='flag-5'>步進(jìn)</b><b class='flag-5'>電機(jī)</b><b class='flag-5'>控制</b>器的分類及其特點

    什么是步進(jìn)電機(jī)控制器?步進(jìn)電機(jī)控制器電路圖

    步進(jìn)電機(jī)控制器是一種專門用于控制步進(jìn)電機(jī)運行的裝置。步進(jìn)
    的頭像 發(fā)表于 06-20 16:14 ?2109次閱讀
    什么是<b class='flag-5'>步進(jìn)</b><b class='flag-5'>電機(jī)</b><b class='flag-5'>控制</b>器?<b class='flag-5'>步進(jìn)</b><b class='flag-5'>電機(jī)</b><b class='flag-5'>控制</b>器電路圖

    步進(jìn)電機(jī)控制系統(tǒng)是什么意思

    步進(jìn)電機(jī)控制系統(tǒng),作為現(xiàn)代工業(yè)自動化和精密控制領(lǐng)域的重要組成部分,其工作原理和實現(xiàn)方式一直受到廣泛關(guān)注。
    的頭像 發(fā)表于 06-18 18:12 ?1140次閱讀

    步進(jìn)電機(jī)的正反轉(zhuǎn)實現(xiàn)方法

    步進(jìn)電機(jī),作為一種將電脈沖信號轉(zhuǎn)換為角位移或線位移的精密控制電機(jī),其正反轉(zhuǎn)的實現(xiàn)對于許多應(yīng)用至關(guān)重要。本文將深入探討
    的頭像 發(fā)表于 06-14 09:58 ?2941次閱讀

    步進(jìn)電機(jī)通過什么控制轉(zhuǎn)動角度

    步進(jìn)電機(jī)是一種電磁驅(qū)動的旋轉(zhuǎn)電機(jī),它具有精確控制轉(zhuǎn)動角度的特性。步進(jìn)電機(jī)的工作原理是通過改變線圈
    的頭像 發(fā)表于 06-12 09:49 ?1697次閱讀

    步進(jìn)電機(jī)控制器怎么調(diào)速度

    引言 步進(jìn)電機(jī)是一種將電脈沖信號轉(zhuǎn)換為角位移的電機(jī),具有控制精度高、響應(yīng)速度快、結(jié)構(gòu)簡單等優(yōu)點。在自動化設(shè)備、機(jī)器人、數(shù)控機(jī)床等領(lǐng)域得到了廣泛應(yīng)用。
    的頭像 發(fā)表于 06-12 09:17 ?2234次閱讀

    什么是步進(jìn)電機(jī)的細(xì)分控制?步進(jìn)電機(jī)為什么要細(xì)分,如何細(xì)分?

    什么是步進(jìn)電機(jī)的細(xì)分控制步進(jìn)電機(jī)為什么要細(xì)分,如何細(xì)分? 步進(jìn)
    的頭像 發(fā)表于 02-18 09:39 ?7908次閱讀

    arduino控制步進(jìn)電機(jī)代碼

    中,我們將詳細(xì)介紹如何使用Arduino來控制步進(jìn)電機(jī)的代碼。 步進(jìn)電機(jī)通常用于需要精確控制角度
    的頭像 發(fā)表于 02-14 16:29 ?2106次閱讀

    步進(jìn)電機(jī)控制方法 步進(jìn)電機(jī)和伺服電機(jī)的區(qū)別

    步進(jìn)電機(jī)控制方法 步進(jìn)電機(jī)是一種將電信號轉(zhuǎn)化為機(jī)械轉(zhuǎn)動的電動機(jī),其輸出轉(zhuǎn)角是按照電脈沖控制信號的
    的頭像 發(fā)表于 01-22 17:18 ?1226次閱讀

    步進(jìn)電機(jī)控制方法 步進(jìn)電機(jī)控制器參數(shù)設(shè)置

    步進(jìn)電機(jī)是一種在控制系統(tǒng)中常見的電機(jī)類型,它以步進(jìn)角度為單位進(jìn)行旋轉(zhuǎn),并且可以精確控制位置和速度
    的頭像 發(fā)表于 01-19 10:50 ?3103次閱讀