打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

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

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


)


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



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



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



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



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

其结构图如下




硬件连接图如下





把代码下载到arduino控制板中看看效果
ARDUINO 代码复制打印
  1. /*
  2.  * 步进电机跟随电位器旋转
  3.  * (或者其他传感器)使用0号模拟口输入
  4.  * 使用arduino IDE自带的Stepper.h库文件
  5.  */

  6. #include <Stepper.h>

  7. // 这里设置步进电机旋转一圈是多少步
  8. #define STEPS 100

  9. // attached to设置步进电机的步数和引脚
  10. Stepper stepper(STEPS, 8, 9, 10, 11);

  11. // 定义变量用来存储历史读数
  12. int previous = 0;

  13. void setup()
  14. {
  15.   // 设置电机每分钟的转速为90步
  16.   stepper.setSpeed(90);
  17. }

  18. void loop()
  19. {
  20.   // 获取传感器读数
  21.   int val = analogRead(0);

  22.   // 移动步数为当前读数减去历史读数
  23.   stepper.step(val - previous);

  24.   // 保存历史读数
  25.   previous = val;
  26. }
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
Arduino步进电机控制示例 – 八色木
基于单片机的步进电机控制系统设计
Arduino基础入门篇26—步进电机
Grbl v1.1版本命令配置说明
arduino学习笔记17-步进电机试验前几天我也试验了一下,用的是28BYJ-48 Stepper Motor 12V+ULN2003APG改了改一个代码,现在的效果是电位计控制正反转
秒懂舵机角度控制原理
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服