步进电机是一种将电脉冲转化为角位移的执行机构。通俗一点讲:当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度(及步进角)。你可以通过控制脉冲个数来控制角位移量,从而达到准确定位的目的;同时你也可以通过控制脉冲频率来控制电机转动的速度和加速度,从而达到调速的目的。
下面这个就是本次实验使用的步进电机
使用步进电机前一定要仔细查看说明书,确认是四相还是两相,各个线怎样连接,本次实验使用的步进电机是四相的,不同颜色的线定义如下图:
减速步进电机
直径:28mm
电压:5V
步进角度:5.625 x 1/64
减速比:1/64
5线4相 可以用普通uln2003芯片驱动,也可以接成2相使用
该步进电机空载耗电在50mA以下,带64倍减速器,输出力矩比较大,可以驱动重负载,极适合开发板使用。注意:此款步进电机带有64倍减速器,与不带减速器的步进电机相比,转速显得较慢,为方便观察,可在输出轴处粘上一片小纸板。
步进电机(五线四相)驱动板(UL2003)试验板
步进电机驱动板(UL2003)试验板
外形尺寸:31×35mm
2011-9-5 23:06:50 上传
把代码下载到arduino控制板中看看效果
/******************************************************** * 步进电机跟随电位器旋转 * (或者其他传感器)使用0号模拟口输入 * 使用arduino IDE自带的Stepper.h库文件 *********************************************************/ #include <Stepper.h> #define STEPS 100 // 这里设置步进电机旋转一圈是多少步 Stepper stepper(STEPS, 8, 9, 10, 11); // attached to设置步进电机的步数和引脚 int previous = 0; // 定义变量用来存储历史读数 void setup() { stepper.setSpeed(60); // 设置电机每分钟的转速为90步 } void loop() { int val = analogRead(0); // 获取传感器读数 delay(200); if(abs(analogRead(0)-val)>=5) stepper.step(val - previous); // 移动步数为当前读数减去历史读数 previous = val; // 保存历史读数 }