步进电机

步进电机是将电脉冲信号转变为角位移或线位移的开环控制元步进电机件。在非超载的情况下,电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度,称为“步距角”,它的旋转是以固定的角度一步一步运行的。可以通过控制脉冲个数来控制角位移量,从而达到准确定位的目的;同时可以通过控制脉冲频率来控制电机转动的速度和加速度,从而达到调速的目的。

ULN2003是大电流驱动阵列,多用于单片机、智能仪表、PLC、数字量输出卡等控制电路中,可直接驱动继电器等负载。步进电机种类很多。ULN2003 只能驱动单极电机,也就是有中间抽头,电流只有一个方向流向。

连接电路图

电路图‘

实物连接图

实物连接图

程序

#include 

// change this to the number of steps on your motor
#define STEPS 512
// 定义引脚的连接
Stepper stepper(STEPS, 8, 10, 9, 11);
//上一次的读取模拟量
int previous = 0;
//初始化电机转动速度
void setup()
{
  stepper.setSpeed(20);
}
//主循环
void loop()
{
  // 读取 AD 值
  int val = analogRead(0);
  // 把速度设置为这次和上次读取的差值
  stepper.step(val - previous);
  // 记下这次读取值,方便下次比较
  previous = val;
}

这个程序使用了内部库,只需要包含步进电机的头文件,就可以直接使用这些内部的函数。

文件下载(已下载 3 次)

发布时间:2019/7/19 21:34:10  阅读次数:1494

2006 - 2024,推荐分辨率1024*768以上,推荐浏览器Chrome、Edge等现代浏览器,截止2021年12月5日的访问次数:1872万9823 站长邮箱

沪ICP备18037240号-1

沪公网安备 31011002002865号