趁著端午節連續假期,將家裡的一些廢紙及回收物品拿到資源回收站去賣,剛好看到幾個 42型的步進馬達,線頭都被剪斷了。問一下老闆可以賣,當下就挑了 6個,以及2部DVD 光碟機。這 6個步進馬達的型號都不太一樣,電壓也不同,但有一個共同的特色就是都是兩相六線式的機種。如果可用,要自製 CNC雕刻機,可節省一點預算。
先挑了一個KH42JM2B140C,電壓 5.16V,由於電子材料行找不到可連接的排線,只好自己買了連接器的銅片及電線自行製作連接頭,只要測試可用,再焊接牢固一點。
有了連接線還不行,因為不知道六條線該如何接?於是找了網路上的一些文章參考,找的測量的方法:
(1) 用三用電表量電阻值,A跟B兩群線路的電阻為無限大
(2) 找出A、B兩群各三條線,分別量電阻,A & COM 及 /B & COM兩組的電阻值相同,我量得的電阻約 4.4 歐姆。A & B 之間的電阻值約 8.9 歐姆。
(3) COM 的兩條線接電池正極 (+5V)。
偷懶想將步進馬達接 Arduino 的 5V電源使用,但是只要轉動幾下,Arduino就會發生不穩定的現象,不是重開機,就是當機,只好加上兩顆 18650電池,電壓 7.4V,用降壓模組降到 5V,外接電源後,步進馬達的轉動狀況就正常了。
參考一下先前寫的文章 Arduino筆記(八):控制步進馬達 ,將程式改寫一下進行測試,一個直接改變電位值,讓步進馬達轉動。另一個則呼叫 Stepper 函式庫。
先挑了一個KH42JM2B140C,電壓 5.16V,由於電子材料行找不到可連接的排線,只好自己買了連接器的銅片及電線自行製作連接頭,只要測試可用,再焊接牢固一點。
有了連接線還不行,因為不知道六條線該如何接?於是找了網路上的一些文章參考,找的測量的方法:
(1) 用三用電表量電阻值,A跟B兩群線路的電阻為無限大
(2) 找出A、B兩群各三條線,分別量電阻,A & COM 及 /B & COM兩組的電阻值相同,我量得的電阻約 4.4 歐姆。A & B 之間的電阻值約 8.9 歐姆。
(3) COM 的兩條線接電池正極 (+5V)。
偷懶想將步進馬達接 Arduino 的 5V電源使用,但是只要轉動幾下,Arduino就會發生不穩定的現象,不是重開機,就是當機,只好加上兩顆 18650電池,電壓 7.4V,用降壓模組降到 5V,外接電源後,步進馬達的轉動狀況就正常了。
[連接電路圖]
參考一下先前寫的文章 Arduino筆記(八):控制步進馬達 ,將程式改寫一下進行測試,一個直接改變電位值,讓步進馬達轉動。另一個則呼叫 Stepper 函式庫。
[程式範例]
// 定義 L298N模組的pin輸出 int Pin_A = 8; int Pin_AA = 7; int Pin_B = 6; int Pin_BB = 5; int delayTime = 5; // 設定旋轉速度, 數值越小速度越快 void setup() { pinMode(Pin_A, OUTPUT); pinMode(Pin_AA, OUTPUT); pinMode(Pin_B, OUTPUT); pinMode(Pin_BB, OUTPUT); } // 持續正轉 void loop() { digitalWrite(Pin_A, LOW); digitalWrite(Pin_AA,HIGH); digitalWrite(Pin_B, HIGH); digitalWrite(Pin_BB,LOW); delay(delayTime); digitalWrite(Pin_A, LOW); digitalWrite(Pin_AA,HIGH); digitalWrite(Pin_B, LOW); digitalWrite(Pin_BB,HIGH); delay(delayTime); digitalWrite(Pin_A, HIGH); digitalWrite(Pin_AA,LOW); digitalWrite(Pin_B, LOW); digitalWrite(Pin_BB,HIGH); delay(delayTime); digitalWrite(Pin_A, HIGH); digitalWrite(Pin_AA,LOW); digitalWrite(Pin_B, HIGH); digitalWrite(Pin_BB,LOW); delay(delayTime); }
[程式二]
#include <Stepper.h> // 定義步進馬達轉一圈所需的步數及輸出的腳位 Stepper stepper(200, 8, 7, 6, 5); void setup() { // 將馬達速度設定為每分鐘80轉(RPM) stepper.setSpeed(80); } void loop() { // 馬達行進步數 stepper.step(100); //正半圈 delay(1000); stepper.step(-100); //反半圈 delay(1000); stepper.step(200); //正1圈 delay(1000); stepper.step(-200); //反1圈 delay(1000); }
請問哪邊的資源回收場可以買的到這種馬達,謝謝
回覆刪除張貼留言