我們已經分析了有關 步進馬達 您可以在Arduino項目中使用,但其中的一種電機在其他模型(例如Nema 17)中脫穎而出,因為它是一款非常精確的電機,具有多種應用程序,包括替換損壞的電機的應用程序一些打印機3D。
使用該步進電機,您將能夠非常精確地控制其軸的旋轉,以達到 做精確的動作 從而控制機器或機器人的運動。 並且在本指南中,您可以獲得與您近距離了解他並開始與他合作所需要的所有信息。
Nema 17的技術特徵
步進電機 Nema 17是雙極型,其步距角為1,8º,也就是說,它可以將每一轉分為200步。 其內部的每個繞組在1.2v的張力下均支持4A的強度,利用該繞組,它可以產生3.2 kg / cm的相當大的力。
另外,這個引擎 Nema 17堅固耐用這就是為什麼在諸如家用3D打印機和其他需要高度一致性的機器人等應用程序中使用它的原因。 Prusa是使用此引擎作為其運動基礎的打印機的一個示例。 它也用於激光切割機,CNC機器,拾取和放置機器等。
但是,並非所有都是該引擎的奇蹟和優勢,因為它是 更有力 因此,從這個意義上說,可靠的平衡並不是那麼平衡...
簡而言之, 技術特徵 聲音:
- 步進電機。
- NEMA 17模型
- 重量350克
- 尺寸42.3x48mm(不含軸)
- 軸徑5mm D
- 軸長25mm
- 每轉200步(1,8º/步)
- 每個繞組電流1.2A
- 電源電壓4v
- 每個線圈的電阻3.3歐姆
- 3.2 kg / cm電機扭矩
- 每個線圈的電感2.8 mH
引腳和數據表
El 這些步進電機的引腳排列 這很簡單,因為它們沒有太多的連接電纜,所以它們也有一個連接器,因此您可以更輕鬆地進行連接。 對於NEMA 17,您會發現一個如上圖所示的引腳。
但是,如果您需要了解有關NEMA 17可以使用的極限和範圍的更多技術和電氣詳細信息,則可以 搜索數據表 步進電機,從而獲得您正在尋找的所有補充信息。 在這裡你可以 下載PDF 舉個例子。
在哪裡購買和定價
你可以找到 以低廉的價格 在各種專門的電子商店和在線商店中。 例如,您可以在Amazon上使用它。 它們有不同的製造商和不同的銷售形式,例如,如果需要多個用於移動機器人的產品,則以3個或更多單位的包裝為一組,等等。 以下是一些超值優惠:
- NEMA 17電機,帶支架和螺釘
- 3 Nema包17單位
- 附件:
- 防振墊片,用於安裝
- 找不到產品。
如何開始使用Nema 17和Arduino的示例
一個簡單的例子開始使用 步進馬達NEMA 17 使用Arduino可以組裝這個簡單的原理圖。 我已經為DRV8825電機使用了驅動程序,但是如果您要更改項目並使其適應您的需要,則可以使用其他驅動器,甚至可以使用其他步進電機。 草圖代碼也會發生同樣的情況,您可以根據自己的喜好對其進行修改...
在使用驅動器的情況下,它可以承受45v和2A的強度,因此非常適合步進電機或中小型步進電機,例如NEMA 17雙極型。 但是,如果您需要“更重”的東西,那麼像 NEMA 23,則可以使用TB6600驅動程序。
該 連接數 總結如下:
- NEMA 17電機的GND和VMOT連接到電源。 圖像中的哪個與帶有射線和電容器的成分一起出現。 該源必須具有8至45v的電源,我添加的電容器可能為100µF。
- 步進器的兩個線圈分別連接到A1,A2和B1,B2。
- 潛水員的GND引腳連接到Arduino的GND。
- 驅動器的VDD引腳連接到Arduino的5v。
- 用於步進和方向的STP和DIR分別連接到數字引腳3和2。 如果您想選擇其他Arduino引腳,則只需相應地修改代碼即可。
- RST和SLP要重置和休眠驅動程序,您必須將它們連接到Arduino板的5v。
- EN或激活引腳可能會斷開,因為通過這種方式驅動器將處於活動狀態。 如果將其設置為HIGH而不是LOW,則會禁用驅動程序。
- 其他引腳將斷開連接...
至於 草圖代碼要使NEMA 17正常工作並開始使用,就像想要的那樣簡單...
#define dirPin 2 #define stepPin 3 #define stepsPerRevolution 200 void setup() { // Declare pins as output: pinMode(stepPin, OUTPUT); pinMode(dirPin, OUTPUT); } void loop() { // Set the spinning direction clockwise: digitalWrite(dirPin, HIGH); // Spin the stepper motor 1 revolution slowly: for (int i = 0; i < stepsPerRevolution; i++) { // These four lines result in 1 step: digitalWrite(stepPin, HIGH); delayMicroseconds(2000); digitalWrite(stepPin, LOW); delayMicroseconds(2000); } delay(1000); // Set the spinning direction counterclockwise: digitalWrite(dirPin, LOW); // Spin the stepper motor 1 revolution quickly: for (int i = 0; i < stepsPerRevolution; i++) { // These four lines result in 1 step: digitalWrite(stepPin, HIGH); delayMicroseconds(1000); digitalWrite(stepPin, LOW); delayMicroseconds(1000); } delay(1000); // Set the spinning direction clockwise: digitalWrite(dirPin, HIGH); // Spin the stepper motor 5 revolutions fast: for (int i = 0; i < 5 * stepsPerRevolution; i++) { // These four lines result in 1 step: digitalWrite(stepPin, HIGH); delayMicroseconds(500); digitalWrite(stepPin, LOW); delayMicroseconds(500); } delay(1000); // Set the spinning direction counterclockwise: digitalWrite(dirPin, LOW); //Spin the stepper motor 5 revolutions fast: for (int i = 0; i < 5 * stepsPerRevolution; i++) { // These four lines result in 1 step: digitalWrite(stepPin, HIGH); delayMicroseconds(500); digitalWrite(stepPin, LOW); delayMicroseconds(500); } delay(1000); }
更多信息,您可以參考編程課程 Arduino IDE 由Hwlibre。