d`(@_czdF
3dDX8M?
|#*'H*W
% =BMZRn
步进电机是一种将电脉冲转化为角位移的执行机构。通俗一点讲:当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度(及步进角)。你可以通过控制脉冲个数来控制角位移量,从而达到准确定位的目的;同时你也可以通过控制脉冲频率来控制电机转动的速度和加速度,从而达到调速的目的。 lbuAE%
步进角度:5.625 x 1/64 E.U_W
减速比:1/64 k{<,\J
5线4相 可以用普通uln2003芯片驱动,也可以接成2相使用 :hI@AA>g
@GvztVYo
WsDM{1c
直接上arduino控制步进电机代码 oaK%Ww6~
/* A=j0On
* 步进电机跟随电位器旋转 E(i[o?
* (或者其他传感器)使用0号模拟口输入 %G?;!Lz
* 使用arduino IDE自带的Stepper.h库文件 a:_I
*/ ts8+V<g
#include <Stepper.h> ~M(5Ho
// 这里设置步进电机旋转一圈是多少步 E!O\87[
#define STEPS 100 Kn?lHH*w7
// attached to设置步进电机的步数和引脚 Jx=hJ-FY
Stepper stepper(STEPS, 8, 9, 10, 11); r
lKlpl
// 定义变量用来存储历史读数 L-9~uM3@\
int previous = 0; E[^ {w
void setup() 8O"U 0
{ -$,%f?
// 设置电机每分钟的转速为90步 %xQ.7~
stepper.setSpeed(90); NxLXm,
} 8x[YZ@iM-
void loop() aBzszp]l+
{ ^`D=GF^tX
int val = analogRead(0); // 获取传感器读数 +L=*:e\j
stepper.step(val - previous);// 移动步数为当前读数减去历史读数 w2xG_q
previous = val;// 保存历史读数 MJ\ eh>v&
} _0 m\[t.
s-ZI
^I2\
实验结果:步进电机缓慢的转动。 c~o+WI
Ym
rP(eva