目录

  • 目标
  • 理论学习
  • 淘宝地址
  • 实物图
    • 28BYJ-48步进电机
    • ULN2003驱动板(蓝板)
  • 接线图
  • Mind+
  • IDE

目标

使用28BYJ-48步进电机旋转

理论学习

  • 28BYJ-48步进电机空载耗电在50mA一下,带64倍减速器,输出力矩比较大,可以驱动重负载,极适合开发板使用。注意:此款步进电机带有64倍减速器,与不带减速器的步进电机相比,转速显得缓慢,为方便观察,可在输出轴处黏上一片小纸板。其中红色线为VCC,其余4个为4个相位。
  • 使用ULN203达林顿驱动芯片驱动步进电机,板载4个LED,可以指示相位状态。
  • 步进电机相位控制,如果选择相位A,单片机给驱动板BJ1引脚高电平,其他BJ2/BJ3/BJ4引脚低电平,达林顿管对引脚输出电平会翻转,达林顿管输出低电平的时候配合VCC,可以驱动A相位。代码示例:
void Phase_A()
{// A1引脚高电平digitalWrite(A1, HIGH);digitalWrite(B1, LOW);digitalWrite(C1, LOW);digitalWrite(D1, LOW);
}

淘宝地址

淘宝地址

实物图

28BYJ-48步进电机

  • 步进电机必须加驱动才可以旋转,驱动信号必须是脉冲信号,没有脉冲信号,则静止;加入适当的脉冲信号,就会以一定的角度(步角)旋转,转动的速度和脉冲的频率成正比。
  • 步进电机具有瞬间启动和极速停止的优越特性
  • 改变脉冲的顺序,可以方便的改变转动的方向

ULN2003驱动板(蓝板)

接线图

A/B/C/D是相位
BJ1对应A,BJ2对应B,BJ3对应C,BJ4对应D
当给BJ1高电平1时,A输出0
当给BJ2低电平0时,B输出1

Mind+

执行原理

  • 1、让2号引脚(BJ1)输出高电平,然后让3号引脚(BJ2)输出低电平,接着让4号引脚(BJ3)输出低电平,接着让5号引脚(BJ4)输出低电平,然后休眠10ms
  • 2、让3号引脚(BJ2)输出高电平,2号引脚(BJ1)输出低电平,4号引脚(BJ3)输出低电平,接着让5号引脚(BJ4)输出低电平,然后休眠10ms
  • 3、让4号引脚(BJ3)输出高电平,2号引脚(BJ1)输出低电平,3号引脚(BJ2)输出低电平,接着让5号引脚(BJ4)输出低电平,然后休眠10ms
  • 4、让5号引脚(BJ4)输出高电平,2号引脚(BJ1)输出低电平,3号引脚(BJ2)输出低电平,接着让4号引脚(BJ3)输出低电平,然后休眠10ms
  • 5、在返回步骤1重新开始执行

IDE

/*步进电机使用
*/#include<Arduino.h>// 定义引脚命名
#define A1 2
#define B1 3
#define C1 4
#define D1 5// the setup function runs once when you press reset or power the board
void setup() {// 打开串口Serial.begin(9600);pinMode(A1, OUTPUT);pinMode(B1, OUTPUT);pinMode(C1, OUTPUT);pinMode(D1, OUTPUT);}// the loop function runs over and over again forever
void loop() {// 延时越大,转动越慢int delay_ms = 10;Phase_A();         // 设置A相位delay(delay_ms);   // 改变延时可以改变旋转速度Phase_B();         // 设置B相位delay(delay_ms);  Phase_C();         // 设置C相位delay(delay_ms);    Phase_D();         // 设置D相位delay(delay_ms);
}void Phase_A()
{// A1引脚高电平digitalWrite(A1, HIGH);digitalWrite(B1, LOW);digitalWrite(C1, LOW);digitalWrite(D1, LOW);
}void Phase_B()
{// B1引脚高电平digitalWrite(A1, LOW);digitalWrite(B1, HIGH);digitalWrite(C1, LOW);digitalWrite(D1, LOW);
}void Phase_C()
{// C1引脚高电平digitalWrite(A1, LOW);digitalWrite(B1, LOW);digitalWrite(C1, HIGH);digitalWrite(D1, LOW);
}void Phase_D()
{// D1引脚高电平digitalWrite(A1, LOW);digitalWrite(B1, LOW);digitalWrite(C1, LOW);digitalWrite(D1, HIGH);
}

ArduinoUNO实战-第十三章-步进电机驱动实验相关推荐

  1. 扩展中断控制器8259实验_「正点原子FPGA连载」第十三章双核AMP实验

    1)摘自[正点原子]领航者 ZYNQ 之嵌入式开发指南 2)实验平台:正点原子领航者ZYNQ开发板 3)平台购买地址:https://item.taobao.com/item.htm?&id= ...

  2. 【正点原子STM32连载】第五十三章 DSP测试实验 摘自【正点原子】MiniPro STM32H750 开发指南_V1.1

    1)实验平台:正点原子MiniPro H750开发板 2)平台购买地址:https://detail.tmall.com/item.htm?id=677017430560 3)全套实验源码+手册+视频 ...

  3. 【正点原子Linux连载】第五十三章 异步通知实验 -摘自【正点原子】I.MX6U嵌入式Linux驱动开发指南V1.0

    1)实验平台:正点原子阿尔法Linux开发板 2)平台购买地址:https://item.taobao.com/item.htm?id=603672744434 2)全套实验源码+手册+视频下载地址: ...

  4. 【正点原子STM32连载】第二十三章 OLED显示实验 摘自【正点原子】MiniPro STM32H750 开发指南_V1.1

    1)实验平台:正点原子MiniPro H750开发板 2)平台购买地址:https://detail.tmall.com/item.htm?id=677017430560 3)全套实验源码+手册+视频 ...

  5. 【正点原子FPGA连载】第二十三章 DDS信号发生器实验摘自【正点原子】DFZU2EG/4EV MPSoC 之FPGA开发指南V1.0

    1)实验平台:正点原子MPSoC开发板 2)平台购买地址:https://detail.tmall.com/item.htm?id=692450874670 3)全套实验源码+手册+视频下载地址: h ...

  6. ArduinoUNO实战-第二十一章-通过调整电位器来改变9克舵机的角度

    一.参考 Arduino基础入门篇28-舵机控制 二.目标 通过调整电位器来改变舵机旋转的角度 有些电脑的USB的驱动能力不足,不能驱动起来舵机,请使用DC9V的电源适配器给arduino供电 三.理 ...

  7. SD卡实验_STM32F1开发指南_第四十三章

                                                           第四十三章 SD卡实验 序言: 战舰STM32F103自带了标准的SD卡接口,使用STM3 ...

  8. 步进电机驱动器设计c语言软件,最新基于单片机系统的步进电机驱动STC单片机步进电机驱动器的设计及C语言程序.doc...

    最新基于单片机系统的步进电机驱动STC单片机步进电机驱动器的设计及C语言程序 基于单片机系统的步进电机驱动 摘 要 本文介绍了基于80C52单片机的步进电机控制系统的设计.分别概括的介绍了单片机和步进 ...

  9. 【正点原子探索者STM32F407开发板例程连载+教学】第43章 sd卡实验-SDIO

    第四十三章  SD卡实验         1.硬件平台:正点原子探索者STM32F407开发板  2.软件平台:MDK5.1  3.固件库版本:V1.4.0  很多单片机系统都需要大容量存储设备,以存 ...

  10. stm32 ucosii消息队列 串口_正点原子STM32F407探索者开发板资料连载第六十三章 UCOSII 实验...

    1)实验平台:alientek 阿波罗 STM32F767 开发板 2)摘自<STM32F7 开发指南(HAL 库版)>关注官方微信号公众号,获取更多资料:正点原子 http://weix ...

最新文章

  1. 编程之法----面试和算法心得
  2. R语言使用persp函数绘制三维图像实战(3D):自定义3D图、图像旋转、添加轴标签
  3. selector + drawable 多状态图形
  4. mysql limit优化
  5. 一站式解决,Android 拍照 图库的各种问题
  6. 设计模式:面向对象的设计原则下(ISP、DIP、KISS、YAGNI、DRY、LOD)
  7. 全球最大编程问答社区 Stack Overflow 宣布裁员 15%!
  8. 最想学 Go、Python,全栈开发者紧缺!分析了 11 万条程序员数据后有了这些发现...
  9. linux 中两个文档怎么对比内容是否一致
  10. 工业摄像头传感器尺寸与像元尺寸的关系
  11. 使用 IDEA 的阿里插件扫描出的问题的级别
  12. 软件需求与分析课堂讨论一
  13. 如何用Python网络爬虫爬取网易云音乐歌曲
  14. [审核]App审核(第三方登录)
  15. 最大化最小值和最小化最大值
  16. 什么是 游戏引擎 ?各个主流引擎的区别
  17. Kafka 是如何建模数据的?
  18. 牛客网算法教程-中级篇-第一章
  19. SpringBoot ( 三 ) 转页
  20. (转载)论文写作摘要篇

热门文章

  1. 微信小程序数据拼接_微信小程序字符串和变量如何拼接
  2. 做短视频的几个小技巧,助你吸粉引流
  3. java long型时间戳_深入理解java long 存储时间戳
  4. (三)office2016-excel制作打钩按钮
  5. 计算机管理磁盘分区,一分钟搞定电脑磁盘分区,再也不求人!
  6. 跟踪综述推荐:目标跟踪40年
  7. 计算机扫描的配置文件在哪里找,打印机扫描文件到电脑哪里找
  8. 云原生 - 自建数据库 VS 云数据库,到底怎么选?
  9. 计算机右键新建显示为空,Win7鼠标右键新建为空这么办 win7电脑右键选项为空白如何解决...
  10. SpringCloud使用Feign调用第三方接口