创客联盟网

标题: 步进电机驱动板的使用 [打印本页]

作者: CCFIVE    时间: 2013-9-10 10:35
标题: 步进电机驱动板的使用
https://player.youku.com/player.php/sid/XNjA3MTU2NDg4/v.swf
https://player.youku.com/player.php/sid/XNjA3MTU3NDUy/v.swf
接法基本上没什么可讲的,因为步进电机你一插进去就可以了!
如果你用的是直流电机步进电机二合一驱动板子
INA INB INC IND对应接好A0 A1 A2 A3
当然 步进电机驱动板子GND 和 VCC要接上外部电源


如果你用的是便宜那种步进电机驱动板子
IN1 IN2 IN3 IN4对应接好A0 A1 A2 A3
当然步进电机驱动板子GND 和 VCC要接上外部电源(我偷懒,直接从小熊板取电,视频可以看到接法)



[mw_shl_code=cpp,true]/*
*更详细的stepper用法请查询官网
* https://www.arduino.cc/en/Reference/Stepper
*/
#include <Stepper.h>//步进电机库
#define STEPS 64//步数电机参数
Stepper stepper(STEPS, A0, A1, A2, A3);//分别接IN1、IN2、IN3、IN4,步进电机连接引线ABCD
void setup()
{
  stepper.setSpeed(30);//设置步进电机每分钟转步数RPMs(Revolutions Per Minute)
}
void loop()
{
  stepper.step(2048);//移动步数,正数为正转,负数为反转,2048刚好转一圈
  delay(1000);
   stepper.step(-2048);
   delay(1000);
}[/mw_shl_code]
stepper.step(-2048);

这个就是那个控制走步数的函数,如果为正数就是正转,负数就反转。为什么是2048一圈呢?应该大家都懂把?这里卖个关子,想知道的回复跟跟帖{:soso_e120:}

作者: hangzh    时间: 2013-9-12 10:36
恩恩 学习了 谢谢分享 楼主真好 我提出了 步进电机的问题 你直接就做视频了 谢谢
作者: CCFIVE    时间: 2013-9-12 12:59
hangzh 发表于 2013-9-12 10:36
恩恩 学习了 谢谢分享 楼主真好 我提出了 步进电机的问题 你直接就做视频了 谢谢

{:soso_e120:}教学就应该一个一问一答的过程!这样才是最好的,一直致力打造最小白的教程

作者: 赤道以北    时间: 2013-10-29 08:45
为什么我照着你的程序之后,电机只会正转,不会反转呢 。。。还有能给我解释下64,30,2048,这几个参数的关系么。。谢谢啦
作者: CCFIVE    时间: 2013-11-5 21:51
赤道以北 发表于 2013-10-29 08:45
为什么我照着你的程序之后,电机只会正转,不会反转呢 。。。还有能给我解释下64,30,2048,这几个参数的关 ...

只会正转这个问题问得非常好!我也遇到过了问题原因:步进电机线序问题
解决方法:如果你是直接用arduino的步进电机库(我这个例子就是用了官方步进电机库),步进电机的那五根线应该是(从红线开始说起)红橙粉黄蓝。
                 但是你现在的线序是红橙黄粉蓝。所以把粉和黄对调下就可以了。


终于有人问数字了!这个问题问得好!
因为我们用的步进电机实际是减速步进电机,这里有两个64,第一个64就是64个脉冲走一步(步进电机就是一步一步的走),第二个64是减速比,64步走一圈。其实虽然这个是4相步进电机,但实际程序里面我们按两的用法,所以减速步进电机走一圈是这样计算:
(64X64)/2=2048 也就是说2048个脉冲走一圈,这个是理论值,实际我自己测试了,确实是2048走了一圈,你可以试一试。

作者: 赤道以北    时间: 2013-11-6 13:27
谢谢楼主的回答{:soso_e121:}
谢谢您的夸奖我的问题问得好嘿嘿
作者: CCFIVE    时间: 2014-1-9 22:31
楼上的英语非常厉害...
作者: ecwebs    时间: 2014-3-23 14:22
正............................................
作者: ecwebs    时间: 2014-3-23 14:23
找你很辛苦,上旺旺行嗎?
作者: 新苑星    时间: 2014-4-24 10:59
刚开始学,想问一下步进电机该如何确定它的步长呢?我在创客车间看到3D打印机的XY运动,想知道它的运动步长是怎样计算控制的,谢谢
作者: CCFIVE    时间: 2014-4-28 21:46
ecwebs 发表于 2014-3-23 14:23
找你很辛苦,上旺旺行嗎?

对不起啊,出去实习了,旺旺很久没上,有疑问可以在论坛留言

作者: CCFIVE    时间: 2014-4-28 21:50
新苑星 发表于 2014-4-24 10:59
刚开始学,想问一下步进电机该如何确定它的步长呢?我在创客车间看到3D打印机的XY运动,想知道它的运动步长 ...

可以的。一般步进电机,你要知道它的步距角度,这里以42步进电机为例
42步进步距角度一般有 0.9°和1.8°两种,我一般用的是1.8°,所以步进电机转一圈需要脉冲数
360除以1.8=200,需要两百个脉冲!如果配合上细分的电机驱动板,对应乘起来。如最常用的A4988电机驱动板,最高细分数是16.
所以驱动起来需要脉冲200X16=3200个脉冲

作者: 新苑星    时间: 2014-5-6 11:06
CCFIVE 发表于 2014-4-28 21:50
可以的。一般步进电机,你要知道它的步距角度,这里以42步进电机为例
42步进步距角度一般有 0.9°和1.8 ...

谢谢!还想问一下,它的运动距离是怎样计算控制的?是通过计算得到一个脉冲走多少距离然后再乘上脉冲数计算出来的吗?

作者: CCFIVE    时间: 2015-3-10 14:43
新苑星 发表于 2014-5-6 11:06
谢谢!还想问一下,它的运动距离是怎样计算控制的?是通过计算得到一个脉冲走多少距离然后再乘上脉冲数计 ...

我举一个简单的例子,例如步进电机与螺杆配合,当你的螺杆导程是2MM,你用1.8度的步进电机,一圈就是200个脉冲,所以你用200/1=100 STEPS_PER_UNIT
换句话说,如果你要走2MM,你对应发200个脉冲即可





欢迎光临 创客联盟网 (https://immaker.org/) Powered by Discuz! X3.3