进阶制作

步进电机试验

字号+ 作者:PLC工程师 来源:未知 2016-03-06 17:22 我要评论( )

步进电机试验

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

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


IMGP0641_调整大小.JPG 

工业使用的步进电机与本次实验使用的不同,下面图式两种不同款式的工业用步进电机

步进电机_调整大小.jpg 

使用步进电机前一定要仔细查看说明书,确认是四相还是两相,各个线怎样连接,接线如果不正确会导致电机无法正常运转,所以一定要确认在确认,重要的事情说三遍
本次实验使用的步进电机是四相的,不同颜色的线定义如下图,要对颜色,对颜色,对颜色,


Snap2.jpg 

下面是电机的端口结构图,1,3为一组,2,4为一组,5号是共用的VCC。

28BYJ48内部结构图.jpg 

因本次使用的步进电机功率很小,所以可以直接使用一个ULN2003芯片进行驱动,如果是大功率的步进电机,是需要对应的驱动板的。

IMGP0596_调整大小.JPG 

ULN2003 是高耐压、大电流复合晶体管阵列,由七个硅NPN 复合晶体管组成。可以用来驱动步进电机。

其结构图如下


Snap3.jpg 

硬件连接图如下

Snap1.jpg 

IMGP0590_调整大小.JPG 

/*
 * 步进电机跟随电位器旋转
 * (或者其他传感器)使用0号模拟口输入
 * 使用arduino IDE自带的Stepper.h库文件
 * http://www.plclive.com  微信公众号:AutomationWorld
 */
 
#include <Stepper.h>
 
// 这里设置步进电机旋转一圈是多少步
#define STEPS 100
 
// attached to设置步进电机的步数和引脚
Stepper stepper(STEPS, 8, 9, 10, 11);
 
// 定义变量用来存储历史读数
int previous = 0;
 
void setup()
{
  // 设置电机每分钟的转速为90步
  stepper.setSpeed(250);
}
 
void loop()
{
  // 获取传感器读数
  int val = analogRead(0);
  
 //消除抖动
 if(abs(val-previous)>50) {  
  
  // 移动步数为当前读数减去历史读数
  stepper.step(val - previous);  
  // 保存历史读数
  previous = val;
  }
  
  else stepper.step(0);
}



如需更详细资料,如有好资源分享,请加入QQ交流群:214461008

欢迎阅读,欢迎转载,不用注明出处!本站只提供入门和进阶资料,做您学习的小伙伴!

老司机也欢迎光临指导!有好内容请加群:214461008 不要看声明了,看内容吧!

相关文章
  • 2560+W5100试验实时室温对Pachubbe.com推送

    2560+W5100试验实时室温对Pachubbe.com推送

    2016-03-01 11:12

网友点评