怎樣控制步進電機

2020-12-14 電子發燒友

為什麼要使用步進電機?

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

雖然這使得步進電機的驅動更加複雜,但與無刷直流電機相比具有一個主要優勢:它們的角位置可以非常精確地指定。例如,如果您希望電機正好旋轉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

打開APP閱讀更多精彩內容

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容圖片侵權或者其他問題,請聯繫本站作侵刪。 侵權投訴

相關焦點

  • 步進電機的單片機控制
    本設計採用凌陽16 位單片機SPCE061A對步進電機進行控制,通過IO口輸出的具有時序的方波作為步進電機的控制信號,信號經過晶片L298N驅動步進電機;同時,用4X4的鍵盤來對電機的狀態進行控制,並用數碼管顯示電機的轉速,採用74LS164作為4位單個數碼管的顯示驅動,從單片機
  • 伺服電機控制能否代替步進電機控制,交流伺服電機與步進電機的區別...
    步進電機是一種感應電機,它的工作原理是利用電子電路,將直流電變成分時供電的,多相時序控制電流,用這種電流為步進電機供電,步進電機才能正常工作,驅動器就是為步進電機分時供電的,多相時序控制器。  雖然步進電機已被廣泛地應用,但步進電機並不能像普通的直流電機,交流電機在常規下使用。它必須由雙環形脈衝信號、功率驅動電路等組成控制系統方可使用。
  • 如何控制步進電機?
    在控制電機時如果需要對電機轉動角度進行定位,步進電機是非常合適的選擇。下面是對單極和雙極步進電機以及如何從微控制器控制它們做詳細的介紹。閱讀下面的這些內容,可以先了解電機是如何工作的、微控制器是如何工作的、如何使用電晶體來控制大電流負載以及直流電動機是如何工作的。
  • 怎樣用樹莓派和L298N電機驅動器模塊控制步進電機
    概述 如果您還記得以前的Raspberry Pi教程,我們已經看到如何使用RASPBERRY PI控制直流電機以及如何使用RASPBERRY PI控制伺服電機。 步進電機可以分為伺服電機和直流電機,因為您可以控制角度位置軸以及沿任一方向自由旋轉軸。
  • 基於ARM的步進電機控制系統
    關鍵詞:ARM;L298N;電機控制;步進電機 在現代的工業控制系統中步進電機是一個重要的執行器件,其被廣泛地應用於自動化工業控制系統和機電一體化的產品。在現代的大部分電子產品和工業產品中都是以步進電機為動力核心,如工業機器人、印表機、數控工具機、繪圖儀等。隨著對產品的要求越來越高,對其控制也要求越來越高,以前的步進電機控制系統的控制能力無法滿足現在的要求,因此,提出一種更高效、實用性更強的控制系統變得更加重要。
  • 步進驅動器工作原理_步進電機驅動器上撥碼開關怎樣設置
    打開APP 步進驅動器工作原理_步進電機驅動器上撥碼開關怎樣設置 ceasia-china.com 發表於 2020-05-21 10:51:32
  • 步進電機及驅動器連接_步進電機驅動器接法_步進電機驅動器怎麼調
    打開APP 步進電機及驅動器連接_步進電機驅動器接法_步進電機驅動器怎麼調 發表於 2017-08-11 16:47:23
  • 什麼是步進電機?步進電機類型
    大多數步進器,因為它們也是已知的,可以在音頻上步進,允許它們快速旋轉,並且使用合適的控制器,它們可以在受控的方向上「開始」和「停止」。  對於某些應用,可以選擇使用伺服電機和步進電機。兩種類型的電機都提供了類似的精確定位機會,但它們在許多方面有所不同。伺服電機需要某種類型的編碼器反饋控制系統。
  • 【考拉工作室】第四講:步進電機的原理和控制
    怎樣才能知道究竟哪兩條線對應著電機裡的同一個線圈呢?不需要把電機拆開,只要手頭有萬用表,用「導通測試」檔位測試,接到同一組線圈上時會有聲響。或者用「歐姆」檔位測試,線圈電阻應該非常小。實際使用的步進電機都不是4步轉一圈的,因為這樣一方面精度差,另一方面低速性能也很差。我們常用的步進電機一般在結構上設計為200步轉一圈,也就是說一步轉動360/200=1.8°,我們把這個1.8°稱為步進電機的步距角。步距角是步進電機生產出來就確定的參數。好,知道了這麼多之後,我們首先要解決的問題是,怎麼用電控制步進電機線圈的通電和斷電。
  • L297/L298晶片步進電機的單片機控制實現
    步進電動機把電脈衝信號變換成角位移以控制轉子轉動的微特電機。在自動控制裝置中作為執行元件。每輸入一個脈衝信號,步進電動機前進一步,故又稱脈衝電動機。步進電動機多用於數字式計算機的外部設備,以及印表機、繪圖機和磁碟等裝置。 在數字控制系統中具有精度高,運行可靠。如採用位置檢測和速度反饋,亦可實現閉環控制。
  • 步進電機都有哪些分類?反應式步進電、永磁式步進電機、混合式步進...
    步進電機從其結構形式上可分為反應式步進電機(VariableReluctance,VR)、永磁式步進電機PermanentMagnet,PM)、混合式步進電機(HybridStepping,HS)、單相步進電機、平面步進電機等多種類型
  • 基於STM32F4單片機對步進電機的控制
    步進電機簡介步進電機是將電脈衝控制信號轉變為角位移或線位移的一種常用的數字控制執行元件,又稱為脈衝電機。在驅動電源的作用下,步進電機受到脈衝的控制,其轉子的角位移量和速度嚴格地與輸入脈衝的數量和脈衝頻率成正比。步進電機每接收一個電脈衝,轉子就轉過一個相應的角度(步距角)。
  • 步進電機的基本工作原理及發熱原理是怎樣的呢?
    步進電機電磁損耗小,轉換效率高,動態特性好,控制方案集成度高,設計靈活,控制穩定,定位準確等特點,正是由於這些優點的存在,所以在日常生活中應用比較廣泛,那麼步進電機的工作原理和發熱原理是怎樣的呢?步進電機工作原理通常,電動機的轉子是永磁體,當電流流過定子繞組時,定子繞組會產生矢量磁場,磁場將驅動轉子旋轉一個角度,以使轉子的一對磁場方向與定子的磁場方向一致,當定子的矢量磁場旋轉一個角度時,轉子也與磁場旋轉一個角度,每次輸入電脈衝時,電動機都會旋轉角度向前移動一步,其輸出角位移與輸入脈衝數成正比,速度與脈衝頻率成正比
  • 步進電機與伺服電機
    傳統步進電機與伺服電機的基本區別在於電機類型及其控制方式。步進電機通常使用50到100極無刷電機,而典型的伺服電機只有4到12極。極點是電機的一個區域,其中北極或南極磁極是由永磁體磁鐵或通過繞組的線圈通過電流產生的。
  • SAST Weekly | 精準控制入門——步進電機
    在出色的設計中【精準】是必不可少的如果寫字機械臂不夠精準寫出的字就會歪歪扭扭如果手術機械臂不夠精準病人就會瑟瑟發抖步進電機是一種將電脈衝信號轉換成相應角位移或線位移的電動機。每輸入一個脈衝信號,轉子就轉動一個角度或前進一步,其輸出的角位移或線位移與輸入的脈衝數成正比,轉速與脈衝頻率成正比。
  • 步進電機是怎樣工作的?它有哪些特點?
    本文是付費專欄《S7-200 SMART運動控制之步進電機》的第一節,可免費閱讀。步進電機是一種基於電磁感應原理、把電脈衝信號轉換為角位移或線位移的開環控制電機,是工業控制系統中一種常見的執行機構(註:工業控制系統由控制器、控制元件、傳感器及執行機構組成)。
  • 單片機控制步進電機正反轉
    步進電機模塊:id=47在ME300B上使用時,可從J7上引出5V電源到步進電機模塊J1上。將J1(ICE)上的P1.0-P1.3用杜邦頭實驗連接線連接到步進電機模塊J2上。Qz = Qn×N = 7.5×4=30度 (齒距角)Z=2π/Qz = 360/30 = 12 (轉子的齒數)四相步進電機有三種運行狀態:1、步進電機為四相單四拍運行狀態:當電機繞組通電時序為A-B-C-D時為正轉,通電時序為D-C-B-A時為反轉。
  • 步進電機接線圖,8線步進電機接線圖圖解
    步進電機是將電脈衝信號轉變為角位移或線位移的開環控制元件。在非超載的情況下,電機的轉速、停止的位置只取決於脈衝信號的頻率和脈衝數,而不受負載變化的影響,即給電機加一個脈衝信號,電機則轉過一個步距角。步進電機是將電脈衝信號轉變為角位移或線位移的開環控制電機,是現代數字程序控制系統中的主要執行元件,應用極為廣泛。
  • 步進電機將何去何從?
    ,因而只要控制脈衝的數量、頻率和電機繞組的相序,即可獲得所需的轉角、速度和方向。 它輸出的角位移與輸入的脈衝數成正比、轉速與脈衝頻率成正比,改變繞組通電的順序,電機就會反轉,所以可用控制脈衝數量、頻率及電動機各相繞組的通電順序來控制步進電機的轉動。 五、發熱原理
  • 步進電機小知識
    通俗一點講:當步進驅動器接收到一個脈衝信號,它就驅動步進電機按設定的方向轉動一個固定的角度(及步進角)。您可以通過控制脈衝個數來控制角位移量,從而達到準確定位的目的;  同時您可以通過控制脈衝頻率來控制電機轉動的速度和加速度,從而達到調速的目的。  2.步進電機分哪幾種?