什么是步進電機?
步進電機是一種將電脈沖信號轉換成相應角位移或線位移的電動機。
對于步進電機,每輸入一個脈沖信號,轉子就轉動一個角度或前進一步。其輸出的角位移或線位移與輸入的脈沖數(shù)成正比,轉速與脈沖頻率成正比。因此,步進電動機又稱脈沖電動機。
雙極步進電機有四根電線和兩個線圈。要使其旋轉,需要通過線圈發(fā)送電流。每根電線都需要能夠被高低驅動。以下是如何驅動電流使步進電機旋轉。
要理解為什么這樣做,請考慮一個只有四個步驟的簡單步進電機。在第一階段,它將磁體與第一線圈對齊。下一步將磁體旋轉90度。通過第一線圈反向發(fā)送電流會反轉磁體極性。相反的線圈被連接,但相對于中心磁體產(chǎn)生相反的磁場。
當然,大多數(shù)步進電機的步數(shù)超過4步。你的標準步進電機每轉200步。以這種方式旋轉電機稱為全步進。一旦你完成了全步工作,半步是非常簡單的。你可以同時通過兩個線圈發(fā)送電流,這將使分辨率加倍。步進電機驅動器也可以使用微步進,微步進調(diào)節(jié)通過線圈的電流。典型的電機控制器可以在每一個完整的步驟中執(zhí)行16個微步驟。一些芯片負責調(diào)制電流,但較舊的芯片需要為其驅動的步進電機“調(diào)諧"。微步進進一步將整個步進劃分為256微步進,使典型的200步進電機變成51200步進電機!微步進還降低了電機的噪音,使其運行更平穩(wěn)、更高效。
如何控制線圈中的電流
控制通過繞組的電流的最常見設置是使用所謂的H橋。它是一組四個晶體管,可以將每條導線拉高或拉低。你也可以用MOS管代替晶體管,但布線會有點不同。該圖顯示了如何通過H橋向任意方向發(fā)送電流。你只需要打開路徑中的晶體管。
你必須確保同一側的兩個晶體管不能同時導通。這將通過提供從電源到接地的低電阻路徑使電路短路。你還應注意,晶體管可能需要一段時間才能從接通切換到斷開。除非你知道自己在做什么,否則不建議快速切換通過線圈的電流。
圖 6 . 必須確保同一側的兩個晶體管不能同時導通這仍然不是全貌。旋轉電機將產(chǎn)生電壓。為了保護晶體管,最好放置二極管。這將防止電機產(chǎn)生高壓,這可能會破壞晶體管甚至驅動器。如果驅動步進電機的電壓高于MCU輸出的電壓,則需要添加另一個晶體管來控制PNP晶體管。當你打開額外的NPN晶體管時,它將允許電流從PNP晶體管的基極(引腳1)流出,從而打開它。現(xiàn)在所需要的只是所有NPN晶體管基極上的限流電阻。就是這樣!該H橋將控制通過其中一個繞組的電流。由于有兩個繞組,我們需要將這個電路加倍。現(xiàn)在,你可以很好地計算所需的組件。使用雙H橋并不是驅動步進電機的方法。你也可以購買步進電機驅動器,它將內(nèi)置雙H橋(盡管驅動器通常使用MOS管和其他技巧)。如果你想減少BOM數(shù)量(有時獲得更多功能),我建議你看看步進電機驅動器。你需要查看數(shù)據(jù)表以了解芯片提供的功能。一些芯片只提供晶體管和二極管,而其他芯片則控制通過線圈的電流。
控制器:Arduino Mega 2560是一款基于ATmega2560的微控制器板。它有54個數(shù)字輸入/輸出引腳(其中15個可以用作PWM輸出)、16個模擬輸入、4個UART(硬件串行端口)、一個16 MHz晶體振蕩器、一個USB連接、一個電源插座、一個ICSP頭和一個復位按鈕。它包含支持微控制器所需的一切;只需用USB電纜將其連接到計算機,或用交流到直流適配器或電池為其供電即可開始使用。
步進電機驅動板:TMC5130是一個集成的步進電機驅動器和控制器系統(tǒng),允許從任何微控制器遠程控制步進電機。它在硬件上實現(xiàn)了所有實時關鍵任務。一旦配置,電機可以通過給出目標位置、命令歸航序列或給出目標速度來驅動。使用TMC5130的好處包括:易于使用,使用256微步的電機精度,低電機噪聲(無噪聲隱藏斬波器),無傳感器失速檢測(stallGuard2),無階躍損耗,dcStep和coolStep、UART或SPI控制接口的高效率,高電壓范圍,小形狀因數(shù),以及低部件數(shù)量。
1. 確保Arduino Mega與TMC5130-EVAL有電壓匹配
如果Arduino是5V控制板,則必須將TMC5130-EVAL上的一個電阻從位置R3重新定位到R8。這將TMC5130的邏輯電平設置為+5V。