怎樣控制步進電機

2021-01-09 電子發燒友

為什麼要使用步進電機?

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

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

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

相關焦點

  • 伺服電機與步進電機的區別差異,步進電機控制能否用伺服電機控制代替
    步進電機是一種將數字脈衝信號轉化為角位移的執行機構。也就是說,當步進驅動器接收到一個脈衝信號,它就驅動步進電機按設定的方向轉動一個固定的角度(即步進角、步距角)。您可以通過控制脈衝個數來控制角位移量,從而達到準確定位的目的;同時您可以通過控制脈衝頻率來控制電機轉動的速度和加速度,從而達到調速的目的。一般步進電機的精度為步進角的3-5%,且不累積。
  • 怎樣用樹莓派和L298N電機驅動器模塊控制步進電機
    概述 如果您還記得以前的Raspberry Pi教程,我們已經看到如何使用RASPBERRY PI控制直流電機以及如何使用RASPBERRY PI控制伺服電機。 步進電機可以分為伺服電機和直流電機,因為您可以控制角度位置軸以及沿任一方向自由旋轉軸。
  • 步進驅動器工作原理_步進電機驅動器上撥碼開關怎樣設置
    打開APP 步進驅動器工作原理_步進電機驅動器上撥碼開關怎樣設置 ceasia-china.com 發表於 2020-05-21 10:51:32
  • 如何用plc控制步進電機
    plc作為一種工業控制計算機,具有模塊化結構、配置靈活、高速的處理速度、精確的數據處理能力、PLC對步進電機也具有良好的控制能力,利用其高速脈衝輸出功能或運動控制功能,即可實現對步進電機的控制。  對於那些在運行過程中移動距離和速度均確定的具體設備,電工論壇小編認為採用PLC通過步進電機驅動器來控制步進電機的運轉是一種理想的技術方案。  步進電機的特點:(1)步進電機的角位移與輸入脈衝數嚴格成正比,電機運轉一周後沒有累積誤差,具有良好的跟隨性。(2)由步進電機與驅動器電路組成的開環數字控制系統,既非常簡單、廉價,又非常可靠。
  • 51單片機控制四相步進電機
    這幾天給自己的任務就是搞定步進電機的單片機控制。以前曾看過有關步進電機原理和控制的資料,畢竟自己沒有做過,對其具體原理還不是很清楚。地線與四線接觸的順序相反,電機的轉向也相反。如果用單片機來控制此步進電機,則只需分別依次給四線一定時間的脈衝電流,電機便可連續轉動起來。通過改變脈衝電流的時間間隔,就可以實現對轉速的控制;通過改變給四線脈衝電流的順序,則可實現對轉向的控制。
  • 步進電機的基本工作原理及發熱原理是怎樣的呢?
    步進電機電磁損耗小,轉換效率高,動態特性好,控制方案集成度高,設計靈活,控制穩定,定位準確等特點,正是由於這些優點的存在,所以在日常生活中應用比較廣泛,那麼步進電機的工作原理和發熱原理是怎樣的呢?步進電機工作原理通常,電動機的轉子是永磁體,當電流流過定子繞組時,定子繞組會產生矢量磁場,磁場將驅動轉子旋轉一個角度,以使轉子的一對磁場方向與定子的磁場方向一致,當定子的矢量磁場旋轉一個角度時,轉子也與磁場旋轉一個角度,每次輸入電脈衝時,電動機都會旋轉角度向前移動一步,其輸出角位移與輸入脈衝數成正比,速度與脈衝頻率成正比
  • 什麼是步進電機?步進電機類型
    大多數步進器,因為它們也是已知的,可以在音頻上步進,允許它們快速旋轉,並且使用合適的控制器,它們可以在受控的方向上「開始」和「停止」。  對於某些應用,可以選擇使用伺服電機和步進電機。兩種類型的電機都提供了類似的精確定位機會,但它們在許多方面有所不同。伺服電機需要某種類型的編碼器反饋控制系統。
  • S7-200對步進電機的控制
    S7-200與步進電機驅動器HB-4020的接線,實現正轉、反轉、連鎖、啟動、停止等功能。軟體編程:1.輸入輸出點I0.1啟動按鈕,I0.2停止按鈕,I0.3正反轉選擇按鈕Q0.0步進電機Cp脈衝,Q0.2正反轉脈衝2.主要程序脈衝輸出PTO初始化。在程序的第一個掃描周期,脈衝輸出功能PTO輸出脈衝周期為500微秒,脈寬為0,輸出40000個脈衝,把中斷程序0分配給中斷事件19,允許中斷。
  • SAST Weekly | 精準控制入門——步進電機
    在出色的設計中【精準】是必不可少的如果寫字機械臂不夠精準寫出的字就會歪歪扭扭如果手術機械臂不夠精準病人就會瑟瑟發抖步進電機是一種將電脈衝信號轉換成相應角位移或線位移的電動機。每輸入一個脈衝信號,轉子就轉動一個角度或前進一步,其輸出的角位移或線位移與輸入的脈衝數成正比,轉速與脈衝頻率成正比。
  • 步進電機驅動器調速方法_步進電機驅動器的作用
    步進電機驅動器通過調節輸入驅動器的脈衝頻率以及驅動器的細分參數來達到調節步進電機轉速的作用,其實就是控制單位時間內步進電機的步數。   一、改變極對數調速:優點:①無附加轉差損耗,效率高;②控制電路簡單,易維修,價格低;③與定子調壓或電磁轉差離合器配合可得到效率較高的平滑調速。
  • ...反應式步進電、永磁式步進電機、混合式步進電機各有什麼特點
    步進電機從其結構形式上可分為反應式步進電機(VariableReluctance,VR)、永磁式步進電機PermanentMagnet,PM)、混合式步進電機(HybridStepping,HS)、單相步進電機、平面步進電機等多種類型
  • 步進電機有沒有編碼器?步進電機如何加編碼器
    改變繞組通電的順序,電機就會反轉。所以可用控制脈衝數量、頻率及電動機各相繞組的通電順序來控制步進電機的轉動。   通常見到的各類電機,內部都是有鐵芯和繞組線圈的。   步進電機是執行原件,編碼器屬於反饋系統,編碼器配合步進電機使用,用PLC控制其運行。按照原理來講是PLC發送脈衝指令給步進驅動器,驅動器給步進電機提供相應電流使其運行,當編碼器檢測到步進電機運行到需要到達的位置的時候會反饋信號給PLC,PLC安裝反饋的信號停止發送脈衝信號給步進驅動器,當步進電機沒有了電動原提供電流當然也會立刻停止運行。
  • 樹莓派控制步進電機-TB6600-Java版本
    樹莓派通過脈衝寬度調製可以控制電機的速度。實際上在精度要求不是非常高的情況下,普通引腳也可以通過軟體模擬來控制電機,實現pwm一樣的功能。pwm功能可以控制直流電機的速度,同時,也可以控制步進電機的步數。
  • 步進電機與伺服電機區別
    步進電機和伺服電機是工控領域應用最廣泛的兩類產品,而它們的核心分別是步進電機控制器與伺服電機控制器,本文將給大家講解這兩種器件不一樣的地方。
  • 步進電機簡介
    1.什麼是步進電機?步進電機是一種將電脈衝轉化為角位移的執行機構。通俗一點講:當步進驅動器接收到一個脈衝信號,它就驅動步進電機按設定的方向轉動一個固定的角度(及步進角)。您可以通過控制脈衝個數來控制角位移量,從而達到準確定位的目的;同時您可以通過控制脈衝頻率來控制電機轉動的速度和加速度,從而達到調速的目的。
  • 步進電機和伺服電機的區別
    在目前國內的數字控制系統中,步進電機的應用十分廣泛。隨著全數字式交流伺服系統的出現,交流伺服電機也越來越多地應用於數字控制系統中。為了適應數字控制的發展趨勢,運動控制系統中大多採用步進電機或全數字式交流伺服電機作為執行電動機。雖然兩者在控制方式上相似(脈衝和方向信號),但在使用性能和應用場合上存在著較大的差異。
  • 步進電機工作原理
    步進電機 步進電機又稱脈衝電機,它是一種感應電機,涉及到機械、電機、電子及計算機等許多專業知識。步進電機作為執行元件,是機電一體化的關鍵產品之一,廣泛應用在各種自動化控制系統中。隨著微電子和計算機技術的發展,步進電機的需求量與日俱增,在各個國民經濟領域都有應用。
  • 二相步進電機和三相步進電機的性能區別
    二相步進電機和三相步進電機不同的相數會有怎麼樣的特性?1)解析度高根據步距角為180°/PN,故相數P越大,角解析度越高。
  • 用AT89C52單片機作為控制器,設計簡單實用的步進電機控制系統
    1 引言作為工業領域廣泛應用的控制電機,步進電機具有出色的開環性能,易於實現數位化、智能化控制。步進電機組成的控制系統具有結構簡單、性能穩定、造價便宜等特點,在工業控制領域中得到了廣泛的應用。單片機對步進電機的控制成本低、操作靈活,在步進電機的控制中得到了廣泛的應用。
  • 步進電機控制器原理_步進電機控制器編程實例
    步進電機控制器原理   步進電機控制器是一種能夠發出均勻脈衝信號的電子產品,它發出的信號進入步進電機驅動器後,會由驅動器轉換成步進電機所需要的強電流信號,帶動步進電機運轉。步進電機控制器能夠準確的控制步進電機轉過每一個角度。