求救....步進馬達不動
我是新手一個,剛買了四個 28BYJ-48 連ULN2003APG,在網上找了幾個編碼測試,四顆指示燈閃動,但馬達全無反應,就連一點聲音也沒有,次序也反覆掉換試了幾次還是不動,四個馬達也不動,求高人指點 确认步进马达的驱动方式,很多电机走步方式不一样滴。。。 问卖家要驱动信号的资料,比如我买的The sequence of control signals for 4 control wires is as follows:
Step C0 C1 C2 C3
11000
20100
30010
40001
驱动函数就是
void Stepper::stepMotor(int thisStep)
{
if (this->pin_count == 2) {
switch (thisStep) {
case 0: /* 01 */
digitalWrite(motor_pin_1, LOW);
digitalWrite(motor_pin_2, HIGH);
break;
case 1: /* 11 */
digitalWrite(motor_pin_1, HIGH);
digitalWrite(motor_pin_2, HIGH);
break;
case 2: /* 10 */
digitalWrite(motor_pin_1, HIGH);
digitalWrite(motor_pin_2, LOW);
break;
case 3: /* 00 */
digitalWrite(motor_pin_1, LOW);
digitalWrite(motor_pin_2, LOW);
break;
}
}
if (this->pin_count == 4) {
switch (thisStep) {
case 0: // 1000
digitalWrite(motor_pin_1, HIGH);
digitalWrite(motor_pin_2, LOW);
digitalWrite(motor_pin_3, LOW);
digitalWrite(motor_pin_4, LOW);
break;
case 1: // 0100
digitalWrite(motor_pin_1, LOW);
digitalWrite(motor_pin_2, HIGH);
digitalWrite(motor_pin_3, LOW);
digitalWrite(motor_pin_4, LOW);
break;
case 2: //0010
digitalWrite(motor_pin_1, LOW);
digitalWrite(motor_pin_2, LOW);
digitalWrite(motor_pin_3, HIGH);
digitalWrite(motor_pin_4, LOW);
break;
case 3: //0001
digitalWrite(motor_pin_1, LOW);
digitalWrite(motor_pin_2, LOW);
digitalWrite(motor_pin_3, LOW);
digitalWrite(motor_pin_4, HIGH);
break;
}
}
}
你根据你的改吧 ttyp 发表于 2013-1-20 10:46 static/image/common/back.gif
问卖家要驱动信号的资料,比如我买的
The sequence of control signals for 4 control wires is as fo ...
須看不懂,還須說句謝謝 就是需要对4个线发送高低电平才会推动步进电机走的,比如我的是依次发送
1000,0100,0010,0001是正转,反过来就是倒转,各个厂家生产的步进电机的时序是不一样的,需要问卖家要资料 ttyp 发表于 2013-1-20 10:46:18 static/image/common/back.gif
问卖家要驱动信号的资料,比如我买的
The sequence of control signals for 4 control wires is as follows:
Step
你好,你的代码前部分看不懂,能解释下吗
页:
[1]