查看: 1467|回复: 0

Arduino 入门教程 实验二十二 步进电机试验

[复制链接]

22

主题

22

帖子

169

积分

超级版主

Rank: 8Rank: 8

积分
169
发表于 2015-7-1 15:59:40 | 显示全部楼层 |阅读模式
本帖最后由 keyes8888 于 2015-7-1 16:04 编辑

1、步进电机介绍
步进电机是一种将电脉冲转化为角位移的执行机构。通俗一点讲:当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度(及步进角)。你可以通过控制脉冲个数来控制角位移量,从而达到准确定位的目的;同时你也可以通过控制脉冲频率来控制电机转动的速度和加速度,从而达到调速的目的。

下面这个就是本次实验使用的步进电机


使用步进电机前一定要仔细查看说明书,确认是四相还是两相,各个线怎样连接,本次实验使用的步进电机是四相的,不同颜色的线定义如下图:


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



步进电机(五线四相)驱动板(UL2003)试验板

外形尺寸:31×35mm
2、实验器件
UL2003:1个
步进电机:1个
电位计:1个
面包板:1块
面包板跳线:1 扎
3、接线图



4、参考源程序
/*
* stepper motor rotates along with the potentiometer
* (or other sensor) select analog pin 0 as input
* use library file Stepper.h from Arduino IDE
*/        
#include <Stepper.h>        
// set number of steps for one circle
#define STEPS 100        
// attached *set step and pin of stepper motor
Stepper stepper(STEPS, 8, 9, 10, 11);        
// define variable to store previous read value
int previous = 0;        
void setup()
{
// set rotate speed at 90 steps for 1 minute
  stepper.setSpeed(90);
}        
void loop()
{          
   int val = analogRead(0); // acquire sensor value                    
   stepper.step(val - previous);// steps moved equals the sensor value minus previous value.            
   previous = val;// store as previous value
}
5、实验结果
步进电机缓慢转动
6、相关产品链接
http://item.taobao.com/item.htm?spm=a1z10.3-c.w4002-5449108244.24.FBgp9d&id=18780121755
http://item.taobao.com/item.htm?spm=a1z10.3-c.w4002-5449108244.9.n4PAZq&id=25783860492
http://item.taobao.com/item.htm?spm=a1z10.3-c.w4002-5449108244.18.LO0Cdk&id=40701941132








本帖子中包含更多资源

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

x
回复

使用道具 举报

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

本版积分规则

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