Re: [問題] 步進馬達的一點小問題
※ 引述《sanbis (方正無法達成,那麼有沒H)》之銘言:
: ※ [本文轉錄自 Printer3D 看板 #1L5_kRsI ]
: 作者: sanbis (方正無法達成,那麼有沒H) 看板: Printer3D
: 標題: [問題] 步進馬達的一點小問題
: 時間: Sun Mar 29 21:18:16 2015
: 步進馬達都是雙向?
: 還是有分單向?
: 最近在測試步進馬達驅動晶片 ULN 2003 ,
: 下面是測試的程式~
: 但是應該正向轉後再反向轉回原位,
: 結果卻是不斷正向轉個不停?
: #include <Stepper.h>
: #define STEPS 200
: Stepper stepper(STEPS, 11, 10, 9, 8);
: void setup()
: {
: stepper.setSpeed(140);
: }
: void loop()
: {
: stepper.step(100);//正半圈
: delay(1000);
: stepper.step(-100);//反半圈
: delay(1000);
: }
我之前在用也覺得很怪,怎轉都同向
int val;
Stepper stepperC(STEPS,8,9,10,11);
Stepper stepperU(STEPS,11,9,8,10);
int dir=1;
// 定义变量用来存储历史读数
int previous = 0;
//int val;
int laserpin=3;
//int moto=3;
void setup()
{
Serial.begin(9600);
pinMode(laserpin,OUTPUT);
stepperC.setSpeed(3600);
stepperU.setSpeed(3600);
}
後來乾脆設二種,就可以作到正反向了~_~
https://www.youtube.com/watch?v=L9x5Cu6YbEw
只是轉起來覺得好像不是很準,角度不一樣多
不知道哪邊寫錯
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 123.110.45.216
※ 文章網址: https://www.ptt.cc/bbs/Electronics/M.1427648287.A.DD7.html
→
03/30 01:06, , 1F
03/30 01:06, 1F
推
04/21 02:40, , 2F
04/21 02:40, 2F
→
04/21 02:42, , 3F
04/21 02:42, 3F
→
04/21 02:43, , 4F
04/21 02:43, 4F
程式碼補完
#include <Stepper.h>
// 这里设置步进电机旋转一圈是多少步
#define STEPS 5
// attached to 设置步进电机的步数和引脚
int val;
Stepper stepperC(STEPS,8,9,10,11);
Stepper stepperU(STEPS,11,9,8,10);
int dir=1;
// 定义变量用来存储历史读数
int previous = 0;
//int val;
int laserpin=3;
//int moto=3;
void setup()
{
Serial.begin(9600);
pinMode(laserpin,OUTPUT);
stepperC.setSpeed(3600);
stepperU.setSpeed(3600);
}
void loop()
{
val=Serial.read();
if(val=='A')
{
Serial.write("ON");
digitalWrite(laserpin,HIGH);// 移动步数为当前读数减去历史读数
}
if(val=='B')
{
digitalWrite(laserpin,LOW);// 移动步数为当前读数减去历史读数
}
if(val=='C')
{
stepperC.step(100);// 移动步数为当前读数减去历史读数
}
if(val=='D')
{
stepperU.step(-100);// 移动步数为当前读数减去历史读数
}
//delay(1000);
}
※ 編輯: shadowjohn (140.134.48.249), 06/02/2015 15:15:29
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 6 篇):