趁著端午節連續假期,將家裡的一些廢紙及回收物品拿到資源回收站去賣,剛好看到幾個 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);
}



請問哪邊的資源回收場可以買的到這種馬達,謝謝
回覆刪除張貼留言