精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

怎樣控制步進電機

454398 ? 來源:工程師吳畏 ? 2019-07-26 09:32 ? 次閱讀

為什么要使用步進電機

步進電機是帶有許多內齒的無刷直流電機,通過周圍的銅線圈磁性鎖定到位。與無刷電機不同,為步進電源供電電機不會轉動。相反,它鎖定到給定輸入指定的位置,順時針或逆時針轉一小步。

雖然這使得步進電機的驅動更加復雜,但與無刷直流電機相比具有一個主要優勢:它們的角位置可以非常精確地指定。例如,如果您希望電機正好旋轉270度,那么使用普通直流無刷電機(沒有某種形式的反饋)幾乎是不可能的,但使用步進電機會很輕松。

步進電機需要多個步進脈沖才能到達您想要的位置。此外,步進電機線圈始終通電,大大增加了保持轉矩,但強制轉動則很困難。這些優勢解釋了為什么步進電機常用于許多應用,包括CNC機床和CD/DVD驅動器

步進電機電動機分為兩個階段:單極和雙極。單極電機包含連接所有線圈的公共電源,而雙極電機具有分離的線圈。

本文僅介紹單極電機,因為雙極電機需要以不同的方式驅動。

怎樣控制步進電機

由Digikey提供(原理圖)

單極輸入和步進

單極電機通常有5根輸入線 - 兩根成對線控制線圈,第五根線連接到為每個線圈提供公共分接頭。

雖然線路顏色因電機而異,但這里有連接在本文中使用:

下表顯示了如何驅動每個輸入以旋轉電機。向前移動(即從步驟1到2)使電機順時針轉動,而向后移動則使電機逆時針轉動。

表1.電機旋轉狀態

步進電機可能需要的電流遠遠超過微控制器的限制,這就是微控制器必須從不直接連接到電機的原因。電機還可能產生反電動勢,可能會損壞I/O端口,并且絕對必須使用鉗位二極管

然而,驅動帶有四個分立晶體管的步進電機會浪費和笨重,這就是為什么必須使用ULN2003步進驅動器IC 。該IC包含七個達林頓晶體管,每個晶體管都包含二極管保護,能夠提供500mA,50V輸出(實際上比Arduino Uno可以處理的更多)。

編碼步進電機

步進電機的編碼步驟可以通過switch語句和一些I/O位完成,但有一種更簡單的方法:使用內置的Stepper Library!

雖然Arduino是一個方便而簡單的平臺,但它的庫支持使它成為最好的平臺之一市場上的模塊通過Arduino庫兼容。對于步進電機,我們可以使用步進器庫輕松控制它們,無需對每一步進行編碼。

#include

#define STEPS_PER_REV 513

// Create our stepper motor object

Stepper motor(STEPS_PER_REV, 2, 3, 4, 5);

void setup() {

motor.setSpeed(10); // Motor speed of 10 RPM

}

void loop()

{

motor.step(STEPS_PER_REV); // Step clockwise one whole revolution

motor.step(STEPS_PER_REV / 2); // Step clockwise half revolution

motor.step(-STEPS_PER_REV); // Step counter clockwise one whole revolution

}

要使用步進電機庫我們首先要包括步進電機庫頭:

#include

下一步(可選但推薦)是定義電機在一整圈內旋轉的步數。本教程中使用的電機有32個步驟,并連接到比率為1:16的減速齒輪,因此一次旋轉的步數為513.

#define STEPS_PER_REV 513

現在我們有了定義的步數,我們需要創建一個步進電機對象。該對象初始化為五個變量:每轉的步數和連接步進電機的四個引腳。

Stepper motor(STEPS_PER_REV, 2, 3, 4, 5);

在設置功能中,我們可以定義速度(以RPM為單位)我們希望我們的電機轉動。對于這個例子,我們將RPM設置為10.

void setup() {

motor.setSpeed(10); // Motor speed of 10 RPM

}

主循環包含轉動電機所需的代碼。正數表示電機等于前進的次數,而負數表示電機向相反方向旋轉。

此示例中的三行代碼顯示STEPS_PER_RPM如何用于將電機轉動已知量。

motor.step(STEPS_PER_REV); // Step clockwise one whole revolution

motor.step(STEPS_PER_REV / 2); // Step clockwise half revolution

motor.step(-STEPS_PER_REV); // Step counter clockwise one whole revolution

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 步進電機
    +關注

    關注

    150

    文章

    3095

    瀏覽量

    147346
  • Arduino
    +關注

    關注

    187

    文章

    6464

    瀏覽量

    186650
收藏 人收藏

    評論

    相關推薦

    行星減速步進電機步進電機的區別

    步進電機是一種將電脈沖信號轉變為角位移或線位移的開環控制電機。其工作原理是通過電子電路將直流電分為多相序控制電流,使用這種電流給
    的頭像 發表于 11-16 15:11 ?140次閱讀
    行星減速<b class='flag-5'>步進</b><b class='flag-5'>電機</b>與<b class='flag-5'>步進</b><b class='flag-5'>電機</b>的區別

    步進電機如何自適應控制步進電機如何細分驅動控制

    步進電機是一種將電脈沖信號轉換為角位移或線位移的電機,廣泛應用于各種自動化控制系統中。為了提高步進電機
    的頭像 發表于 10-23 10:04 ?329次閱讀

    步進電機轉速怎么控制高低

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

    步進電機控制技術及發展概況有哪些?

    步進電機是一種將電脈沖信號轉換為角位移或線位移的執行元件,廣泛應用于各種自動化控制系統中。步進電機控制
    的頭像 發表于 10-22 11:50 ?190次閱讀

    步進電機伺服控制系統的作用

    步進電機伺服控制系統是一種精密的電機控制系統,它通過精確控制
    的頭像 發表于 09-04 09:46 ?575次閱讀

    步進電機控制原理與應用實例

    步進電機,作為一種特殊的電機類型,在現代工業控制系統中占據著重要的地位。其獨特的控制方式和廣泛的應用領域,使得
    的頭像 發表于 06-25 14:34 ?780次閱讀

    步進電機控制器電路圖 步進電機控制器的分類及其特點

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

    什么是步進電機控制器?步進電機控制器電路圖

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

    步進電機控制系統是什么意思

    步進電機控制系統,作為現代工業自動化和精密控制領域的重要組成部分,其工作原理和實現方式一直受到廣泛關注。步進
    的頭像 發表于 06-18 18:12 ?884次閱讀

    步進電機通過什么控制轉動角度

    步進電機是一種電磁驅動的旋轉電機,它具有精確控制轉動角度的特性。步進電機的工作原理是通過改變線圈
    的頭像 發表于 06-12 09:49 ?1318次閱讀

    什么是步進電機的細分控制步進電機為什么要細分,如何細分?

    什么是步進電機的細分控制步進電機為什么要細分,如何細分? 步進
    的頭像 發表于 02-18 09:39 ?7167次閱讀

    arduino控制步進電機代碼

    Arduino是一種開放源代碼的電路板平臺,它可以用于控制各種不同的電子設備,包括步進電機步進電機是一種電動機,可以通過下達特定的指令來
    的頭像 發表于 02-14 16:29 ?1885次閱讀

    步進電機控制方法 步進電機和伺服電機的區別

    步進電機控制方法 步進電機是一種將電信號轉化為機械轉動的電動機,其輸出轉角是按照電脈沖控制信號的
    的頭像 發表于 01-22 17:18 ?1109次閱讀

    步進電機控制方法 步進電機控制器參數設置

    步進電機是一種在控制系統中常見的電機類型,它以步進角度為單位進行旋轉,并且可以精確控制位置和速度
    的頭像 發表于 01-19 10:50 ?2712次閱讀

    步進電機控制方法及需要哪些控制信號

    步進電機是一種將電子信號轉化為機械運動的電動機,廣泛應用于機器人、打印機、數碼相機等領域。步進電機由于其精度高、固有扭矩大、容易控制等特點,
    的頭像 發表于 12-20 11:21 ?3258次閱讀