HLX 发表于 2013-5-25 23:01:57

关于stepper类控制步进电机的问题

买了28BYJ-48与ULN2003芯片,然后用stepper类来驱动电机,但电机只能单向旋转,为什么?我去查资料,资料说stepper类可以正反转啊,为什么?

328522073 发表于 2013-5-25 23:22:23

接线问题吧 两两换一下接线顺序看看

发表于 2013-5-26 03:00:06

^︵^驱动板⊙﹏⊙http://app.qlogo.cn/mbloghead/2cabb7a4a71b3c0da710

pgf017979 发表于 2013-5-26 09:35:13

新手买东西还是要到有技术支持的店铺购买。好的店家是手把手教会你。给你的资料肯定可以运行的。不要为了贪便宜。说白了,技术支持才是最重要。不然会绕很多弯路,这样子兴趣的没有了,还能继续玩这个吗?

HLX 发表于 2013-5-26 19:35:23

328522073 发表于 2013-5-25 23:22 static/image/common/back.gif
接线问题吧 两两换一下接线顺序看看

可以肯定不是接线问题,因为用自己写的库是可以正反转的,但是自带库不行

wskyhorse 发表于 2013-6-5 09:52:04

遇到同样的问题,肯定不是接线的问题。

pipihua 发表于 2013-7-19 16:42:31

买来的电机线序有错误,我的是2、3线接反了。正确的顺序应该是:蓝黄粉橙红

Whainte 发表于 2013-7-29 21:06:54

我也有同样问题,同型号,库文件中的控制程序与该电机不符合
库文件是针对4拍的,28BYJ-48为8拍,解决方案:
打开Stepper.cpp
找到void stepMotor(。。。。)
先是上面,stepMotor(this->step_number % 4);改为stepMotor(this->step_number % 8);
将if(this->pin_count==4)代码段内改为
switch (thisStep) {
      case 0:
        digitalWrite(motor_pin_1,LOW);
        digitalWrite(motor_pin_2,LOW);
        digitalWrite(motor_pin_3,LOW);
        digitalWrite(motor_pin_4,HIGH);
        break;
        case 1:
        digitalWrite(motor_pin_1,LOW);
        digitalWrite(motor_pin_2,LOW);
        digitalWrite(motor_pin_3,HIGH);
        digitalWrite(motor_pin_4,HIGH);
        break;
        case 2:
        digitalWrite(motor_pin_1,LOW);
        digitalWrite(motor_pin_2,LOW);
        digitalWrite(motor_pin_3,HIGH);
        digitalWrite(motor_pin_4,LOW);
        break;
        case 3:
        digitalWrite(motor_pin_1,LOW);
        digitalWrite(motor_pin_2,HIGH);
        digitalWrite(motor_pin_3,HIGH);
        digitalWrite(motor_pin_4,LOW);
        break;
        case 4:
        digitalWrite(motor_pin_1,LOW);
        digitalWrite(motor_pin_2,HIGH);
        digitalWrite(motor_pin_3,LOW);
        digitalWrite(motor_pin_4,LOW);
        break;
        case 5:
        digitalWrite(motor_pin_1,HIGH);
        digitalWrite(motor_pin_2,HIGH);
        digitalWrite(motor_pin_3,LOW);
        digitalWrite(motor_pin_4,LOW);
        break;
        case 6:
        digitalWrite(motor_pin_1,HIGH);
        digitalWrite(motor_pin_2,LOW);
        digitalWrite(motor_pin_3,LOW);
        digitalWrite(motor_pin_4,LOW);
        break;
        case 7:
        digitalWrite(motor_pin_1,HIGH);
        digitalWrite(motor_pin_2,LOW);
        digitalWrite(motor_pin_3,LOW);
        digitalWrite(motor_pin_4,HIGH);
        break;
}

Whainte 发表于 2013-7-29 21:07:49

28BYJ-48文档

xiaoyi 发表于 2014-3-27 13:58:43

pipihua 发表于 2013-7-19 16:42 static/image/common/back.gif
买来的电机线序有错误,我的是2、3线接反了。正确的顺序应该是:蓝黄粉橙红

果然是接反了,谢谢!
页: [1]
查看完整版本: 关于stepper类控制步进电机的问题