查看: 273|回复: 3
打印 上一主题 下一主题

Arduino系列教程之步进电机控制

[复制链接] qrcode

29

主题

31

帖子

94

积分

注册会员

Rank: 2

积分
94
楼主
跳转到指定楼层
发表于 2014-9-17 10:06 PM | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度(及步进角)。本实验就是通过控制脉冲个数来控制角位移量,从而达到准确定位的目的。

所需元器件

步进电机、驱动板、电位器、面包板、跳线若干、Arduino控制板


原理图



使用步进电机前一定要仔细查看说明书,确认是四相还是两相,各个线怎样连接,本次实验使用的步进电机是四相的,按照上图接好电路。

实物图



减速步进电机
直径:28mm
电压:5V
步进角度:5.625 x 1/64
减速比:1/64
5线4相 可以用普通uln2003芯片驱动,也可以接成2相使用
     该步进电机空载耗电在50mA以下,带64倍减速器,输出力矩比较大,可以驱动重负载,极适合开发板使用。注意:此款步进电机带有64倍减速器,与不带减速器的步进电机相比,转速显得较慢,为方便观察,可在输出轴处粘上一片小纸板。

程序代码

  #include 
     
    // 这里设置步进电机旋转一圈是多少步
    #define STEPS 100
     
    // attached to设置步进电机的步数和引脚
    Stepper stepper(STEPS, 8, 9, 10, 11);
     
    // 定义变量用来存储历史读数
    int previous = 0;
     
    void setup()
    {
      // 设置电机每分钟的转速为90步
      stepper.setSpeed(90);
    }
     
    void loop()
    {
      // 获取传感器读数
      int val = analogRead(0);
     
      // 移动步数为当前读数减去历史读数
      stepper.step(val - previous);
     
      // 保存历史读数
      previous = val;
    }

程序读入后,试着旋转电位器,看电机转动角度有什么变化,如果电机来回转动就说明实验成功了。


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

0

主题

162

帖子

166

积分

注册会员

Rank: 2

积分
166
沙发
发表于 2014-10-24 09:37 PM | 只看该作者
支持,顶一个
回复 支持 反对

使用道具 举报

0

主题

98

帖子

16

积分

新手上路

Rank: 1

积分
16
板凳
发表于 2014-12-26 05:16 PM | 只看该作者
现在是转一下电位器,电机也跟着转一下,但是如何反向转动呢
回复 支持 反对

使用道具 举报

0

主题

88

帖子

24

积分

新手上路

Rank: 1

积分
24
地板
发表于 2014-12-29 09:38 AM | 只看该作者
采集电位器值,判断电位器转动方向,发送电机正反转信号
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表