Arduino入門14: 步進電機的控制

2021-02-19 愛上Arduino


前一篇實驗了如何用電位器控制舵機。今天我們繼續了解另一種常見的電機—步進電機。

    什麼是步進電機    

步進電機(Stepper/Step/Stepping Motor),主要是依靠定子線圈序列通電,順次在不同的角度形成磁場,推拉定子旋轉。接觸步進電機時會有很多容易混淆的概念。比如單極性、雙極性、兩相八線、四相八線等等。主要是由於線圈的接法不同,我們先簡單地辯析一下:

按照電機驅動架構可分為單極性 (unipolar) 和雙極性 (bipolar) 步進電機。所謂的極性,就是電流通過線圈繞組產生磁場的極性,單極性就是只有一個磁極,雙極就是有兩個磁極。四相,八相是指步進電機的相數,即步進電機內部的線圈組數。電機的相數不同,步進電機接收到每個脈衝信號的角度也不同。通過不同的極性,不同的相數,線圈接法會得到不同的電機性能。

    步進電機和伺服電機、舵機的區別    

伺服電機不算是一種電機,而通常是包含電機、傳感器和控制器的電機系統。舵機是個俗稱,適用於航模上,其實是一種低端的但最常見的伺服電機系統,價格低廉但精度較低。

    驅動晶片    

步進電機往往需要特定的驅動系統來提供並控制電流脈衝。本教程中我們實驗的步進電機屬於功率較小的,我們使用一個ULN2003晶片和Arduino配合驅動。ULN2003是由7個矽NPN複合電晶體組成,其主要作用就是把小電流變成大電流,ULN2003可以承受較高的工作電壓和電流。

ULN2003一共有16個引腳,根據datasheet,有七個輸入(IN)和對應的七個輸出(OUT),pin8接地,pin9接12V或者5V。

    準備材料    

Arduino UNO 1塊

當然你也可以使用Arduino其它版本,比如Arduino Leonardo, Arduino Duemilanove。

Arduino USB線 1根

一端是A型,一端是B型的USB連接線,用來連接Arduino和電腦


迷你麵包板 1塊(可選)


麵包線/跳線 若干根

兩頭都是針頭的公對公麵包線若干

電位器 1個


步進電機 1個

ULN2003晶片 1顆

裝有Arduino IDE的Mac/PC/Linux 1臺

若沒有安裝,請參考《Arduino入門3: 安裝和熟悉Arduino IDE》安裝。

    連接電路    

按照圖示連接好電路:

    代碼    

可以直接在File> Examples> Stepper> MotorKnob導入示例代碼。我們要稍微修改一下代碼。熟悉要根據電機參數調整布局電機轉一圈的參數。我們使用的28BYJ-48步進電機STEPS為64,最高速度大概設置為500或以下。

Stepper.h是Arduino IDE自帶的控制步進電機的標準庫。

Stepper(steps, pin1, pin2)Stepper(steps, pin1, pin2, pin3, pin4)

Stepper函數是用來創建步進電機實例的,共有兩種以上用法。steps代表電機轉一圈所用的步數。這個一般是步進電機出廠是就固定的。也可以通過步距角計算得出:

轉一圈的步數 = 360 / 步距角

pin1,pin2,pin3,pin4是連接至步進電機的引腳。根據電機的引線數確定,pin3,pin4是可選的。

setSpeed(rpms)函數是用來設置步進電機的速度,即每分鐘該轉的步數。

根據實例代碼,當你轉動電位器,步進電機也會轉動一定角度。

Arduino電子書和視頻教程獲取方式

也想要一份我們套件附送的Arduino電子書和各種視頻教程麼?

掃描下方二維碼加關注後,回復「福利

戳閱讀原文,購買Arduino入門學習套件

相關焦點

  • 二相步進電機和三相步進電機的性能區別
    二相步進電機和三相步進電機不同的相數會有怎麼樣的特性?1)解析度高根據步距角為180°/PN,故相數P越大,角解析度越高。
  • Arduino入門15: 串口監視器的使用
    在《Arduino入門14: 步進電機的控制》裡,我們初步了解了步進電機的基礎,以及如何通過Arduino和ULN2003晶片驅動步進電機。本篇教程在上一篇的電路上改動一下代碼,來學習一下如何使用串口監視器。
  • STM32實例-步進電機的速度控制
    項目需求    在製作一個使用全向輪的機器人底盤,對於全向輪,電機的精度是影響效果的重要因素
  • 步進電機驅動設計詳細講解
    隨著數位化技術發展,數字控制技術得到廣泛應用。作為將數位訊號轉化為角位移、線位移的控制驅動元件,步進電機以其系統結構簡單、價格低廉,能滿足大部分工業控制、醫療器件、攝像數碼、計算機外圍設備等實際需求。 典型的步進電機控制系統,由控制器發出脈衝信號,為環形分配器提供脈衝序列,經過功率放大器放大加載到驅動電源的各項輸入端,最終以驅動步進電機的轉動。
  • 步進電機和伺服電機的區別
    隨著全數字式交流伺服系統的出現,交流伺服電機也越來越多地應用於數字控制系統中。為了適應數字控制的發展趨勢,運動控制系統中大多採用步進電機或全數字式交流伺服電機作為執行電動機。雖然兩者在控制方式上相似(脈衝和方向信號),但在使用性能和應用場合上存在著較大的差異。今天小編重點講解下伺服電機與步進電機之間究竟有哪些區別,我們將從雙方各自的原理和驅動器原理入手進行詳細的講解。
  • 步進電機的原理與使用說明
    二.了解:兩相混合式步進電機工作原理三.準備:步進電機的型號選擇四.使用:步進電機的控制方法五.其他   一.步進電機的應用步進電機是將脈衝信號轉換成角位移的開環控制器件,簡單來說就是能夠按照特定角度以累計旋轉方式運動的位置控制型電動機,其工作在正常情況(非過載情況)下時,轉過的角度與其接收到的脈衝數量成正比
  • 步進電機工作原理
    每輸入一個衝信號,該電動機就轉過一定的角度(有的步進電動機可以直接輸出線位移,稱為直線電動機)。因此步進電動機是一種把脈衝變為角度位移(或直線位移)的執行元件。  步進電動機的轉子為多極分布,定子上嵌有多相星形連接的控制繞組,由專門電源輸入電脈衝信號,每輸入一個脈衝信號,步進電動機的轉子就前進一步。由於輸入的是脈衝信號,輸出的角位移是斷續的,所以又稱為脈衝電動機。
  • 手把手教你,讓步進電機動起來~
    步進電機特點:它是通過輸入脈衝信號來進行控制的電機的總轉動角度由輸入脈衝數決定電機的轉速由脈衝信號頻率決定步進電機主要用於一些有定位要求、進行精確控制的場合。步進電機在工業機器人中的應用步進電機相關概念:相關問題:問題:有一步進電機參數,如下: [電壓 12VDC   相數 4   減速比 1/64   步距角 1.8° /64  驅動方式 四相八拍 ]  請問: 步距角1.8°/64 ,
  • 步進電機和伺服電機的區別,一次搞清楚!
    概述:步進電機主要是依相數來做分類,而其中又以二相、五相步進電機為目前市場上所廣泛採用。二相步進電機每轉最細可分割為400等分,五相則可分割為1000等分,所以表現出來的特性以五相步進電機較佳、加減速時間較短、動態慣性較低。隨著全數字式交流伺服系統的出現,交流伺服電機也越來越多地應用於數字控制系統中。
  • 線性步進電機工作原理
  • 乾貨 | 一次性搞清楚步進電機和伺服電機的區別!
    步進電機作為控制用的特種電機,是將電脈衝轉化為角位移的執行機構。當步進驅動器接收到一個脈衝信號,它就驅動步進電機按設定的方向轉動一個固定的角度(稱為「步距角」),它的旋轉是以固定的步進角度一步一步運行的。
  • 兩相步進電機接線及電流設置方法
    ,只好加大步進電機的尺寸和標稱電流,以滿足動力要求。其實有的時候並不是電機的問題,而是在步進電機選擇或驅動器工作電流的設定上有不妥之處,沒有發揮出步進電機的最大效率。    所以在選用驅動器和步進電機時出現電流匹配問題。正確的方法是應將驅動器的輸出電流設定為步進電機額定相電流的0.7倍(也不是通常認為串聯起來的電流減半)。舉例,比如一個帶中心抽頭的兩相步進電機,標稱電流是3A,驅動器電流應該設定為3*0.7=2.1A。所以就出現你儘管選了3A的步進電機,實際上它的功率相當於兩相四線制的2.1A步進電機。
  • 好望角丨使用ULN2003驅動控制28BYJ-48步進電機
    (28BYJ-48步進電機內部原理圖)如圖所示,中間6齒的類似於齒輪結構的結構就是轉子,28BYJ-48步進電機轉子上的每個齒(圖中標註的0-5)都是永磁體,具有一定的磁性。外圈的就是定子,定子有8個齒,每個齒就是一個繞組,它們兩兩相對,每一對我們稱為一相,那這就是我們稱它為四相的原因。
  • 步進電機驅動器系統設計,這些難點不可不知!
    有時從一些舊設備上拆下的步進電機(這種電機一般沒有損壞)要改作它用,一般需自己設計驅動器。該步進電機為一四相步進電機,採用單極性直流電源供電。只要對步進電機的各相繞組按合適的時序通電,就能使步進電機步進轉動。圖1是該四相反應式步進電機工作原理示意圖。
  • 如何理解步進電機的失步和過衝?
    步進電機的運行性能與控制方式有密切的關係,步進電機控制系統從其控制方式來看,可以分為以下三類:開環控制系統、閉環控制系統、半閉環控制系統。半閉環控制系統在實際應用中一般歸類於開環或閉環系統中。反應式:定子上有繞組、轉子由軟磁材料組成。結構簡單、成本低、步距角小,可達1.2°、但動態性能差、效率低、發熱大,可靠性難保證。
  • 直流電機控制電路集錦
    電機工作原理1. 步進電機的基本工作原理步進電機有兩種基本的形式:可變磁阻型和混和型。步進電機的基本工作原理,結合圖1的結構示意圖進行敘述。電機步長(步距角)是步進電機的主要性能指標之一,不同的應用場合,對步長大小的要求不同。改變控制繞組數(相數)或極數(轉子齒數),可以改變步長的大小。它們之間的相互關係,可由下式計算:  Lθ=360 P×N   式中:Lθ為步長;P為相數;N為轉子齒數。在圖1中,步長為15°,表示電機轉一圈需要24步。2.
  • DIY 自平衡Arduino機器人-【單片機教程-創客】
    如果機器人向後傾斜時,電機也會向後旋轉並將傾斜角校正為零,則會發生相同的情況。在這裡,我鑽了一些孔,以便步進電機,然後將M3桿插入所有三個MDF板上。然後,我切成兩片20mm x 20mm鋁角,尺寸為42mm,用於安裝帶有平臺的步進電機。
  • 來製作一個Arduino麥克納姆輪機器人吧
    並會使用四個步進電機連接到該平臺,麥克納姆車輪連接到電機軸上麥克納姆輪如何工作的麥克納姆輪是一個車輪,在其圓周上有滾輪。接下來,使用3毫米鑽頭和25毫米Forstner鑽頭,我們在側板上做了開口,用於連接步進電機。準備好後,我們繼續組裝,使用木膠和一些螺絲去固定它們。這裡最重要的是精確製造電機的開口,以便所有的車輪隨後都能與表面接觸。
  • 用Python控制Arduino
    當我們使用Python語言通過串口控制Arduino讀取設備狀況並實施控制的時候,就構成了上位機下位機系統。安裝有Python之類軟體實施控制的計算機成為上位機,能夠控制設備並獲取設備狀況的Arduino成為下位機,它們相互之間可以通過串行口或無線的方式進行通訊,進而實現控制與被控制。
  • 利用XECU和雷射雷達快速搭建入門級的自動駕駛小車
    利用XECU和雷射雷達快速搭建入門級的自動駕駛小車1 簡介如果關注過我們之前的推文和視頻演示,相信大家對我們的XECU應該已經很熟悉了。那麼今天就向大家介紹一下,如何利用我們的XECU和雷射雷達快速搭建自己的入門級自動駕駛小車。