码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • K_A07_002 基于 STM32等单片机驱动ULN2003模块按键控制步进电机正反转


    目录

    一、资源说明

    二、基本参数

            1.参数

            2、引脚说明

    三、驱动说明

            步进电机驱动时序

            反向输出

            对应程序:

    四、部分代码说明

            1、接线说明

                    1.1、STC89C52RC+ULN2003模块

                    1.2、STM32F103C8T6+ULN2003模块

    五、基础知识学习与相关资料下载

    六、视频效果展示与程序资料获取

    七、项目所有材料清单

    八、注意事项

    九、接线表格


    一、资源说明

    单片机型号

    测试条件

    模块名称

    代码功能

    STC89C52RC

    1.晶振11.0592M

    ULN2003模块

    单片机驱动ULN2003模块按键控制步进电机正反转

    STM32F103C8T6

    1. 晶振8M
    2. 系统时钟72M

    ULN2003模块

    二、基本参数

            1.参数

            2、引脚说明

    ULN2003模块

    引脚说明

    IN1

    信号输入1

    IN2

    信号输入2

    IN3

    信号输入3

    IN4

    信号输入4

    GND

    GND (单独供电需要与单片机共地)

    VCC

    5V(建议单独供电)

    三、驱动说明

            步进电机驱动时序

            反向输出

            对应程序:

    1. //顺时针逆时针选择
    2. void Swerve(uint8_t F_Dir)
    3. {
    4. if(F_Dir)
    5. {
    6. switch(MOTO_delay0)
    7. {
    8. case(1):MOTOA = 0; MOTOB = 1; MOTOC = 1; MOTOD = 1;break;
    9. case(2):MOTOA = 1; MOTOB = 0; MOTOC = 1; MOTOD = 1;break;
    10. case(3):MOTOA = 1; MOTOB = 1; MOTOC = 0; MOTOD = 1;break;
    11. case(4):MOTOA = 1; MOTOB = 1; MOTOC = 1; MOTOD = 0;break;
    12. }
    13. }
    14. else
    15. {
    16. switch(MOTO_delay0)
    17. {
    18. case(1):MOTOA = 1; MOTOB = 1; MOTOC = 1; MOTOD = 0;break;
    19. case(2):MOTOA = 1; MOTOB = 1; MOTOC = 0; MOTOD = 1;break;
    20. case(3):MOTOA = 1; MOTOB = 0; MOTOC = 1; MOTOD = 1;break;
    21. case(4):MOTOA = 0; MOTOB = 1; MOTOC = 1; MOTOD = 1;break;
    22. }
    23. }
    24. }

    四、部分代码说明

            1、接线说明

    需要自定义引脚可在此处更改,STM32要自定义引脚的话也要注意引脚时钟使能的更改

                    1.1、STC89C52RC+ULN2003模块

    1. //输入信号引脚
    2. sbit MOTOA=P1^0; //IN1
    3. sbit MOTOB=P1^1; //IN2
    4. sbit MOTOC=P1^2; //IN3
    5. sbit MOTOD=P1^3; //IN4
    6. //按键引脚
    7. sbit KEY_Foreward = P1^4; //正转
    8. sbit KEY_Reversal = P1^5; //反转

                    1.2、STM32F103C8T6+ULN2003模块

    1. //输入信号引脚
    2. #define MOTOA_GPIO_PORT GPIOA /* MOTOA端口 */
    3. #define MOTOA_GPIO_CLK RCC_APB2Periph_GPIOA /* MOTOA端口时钟 */
    4. #define MOTOA_GPIO_PIN GPIO_Pin_0
    5. #define MOTOB_GPIO_PORT GPIOA /* MOTOB端口 */
    6. #define MOTOB_GPIO_CLK RCC_APB2Periph_GPIOA /* MOTOB端口时钟 */
    7. #define MOTOB_GPIO_PIN GPIO_Pin_1
    8. #define MOTOC_GPIO_PORT GPIOA /* MOTOC端口 */
    9. #define MOTOC_GPIO_CLK RCC_APB2Periph_GPIOA /* MOTOC端口时钟 */
    10. #define MOTOC_GPIO_PIN GPIO_Pin_2
    11. #define MOTOD_GPIO_PORT GPIOA /* MOTOD端口 */
    12. #define MOTOD_GPIO_CLK RCC_APB2Periph_GPIOA /* MOTOD端口时钟 */
    13. #define MOTOD_GPIO_PIN GPIO_Pin_3
    14. //按键引脚
    15. #define Foreward_GPIO_CLK RCC_APB2Periph_GPIOA
    16. #define Foreward_GPIO_PORT GPIOA
    17. #define Foreward_GPIO_PIN GPIO_Pin_5
    18. //KEY2
    19. #define Reversal_GPIO_CLK RCC_APB2Periph_GPIOA
    20. #define Reversal_GPIO_PORT GPIOA
    21. #define Reversal_GPIO_PIN GPIO_Pin_6

    五、基础知识学习与相关资料下载

    1. STC89C52RC程序下载 直戳跳转
    2. STM32F103C8T6程序下载
      1. 串口下载                直戳跳转 
      2. ST-LINK下载             直戳跳转
      3. J-LINK下载              直戳跳转
      4. DAP-LINK下载            直戳跳转

    六、视频效果展示与程序资料获取

            视频连接    直戳跳转

              资料获取            ( 滑到最后添加群号看公告免费获取)   

    七、项目所有材料清单

    STC89C52RC驱动方案

    图片

    STM32F103C8T6驱动方案

    图片

    备注

    K_A07_002

    STC89C52RC系统板X1

    3c095ac91c144a1fb839c94d72ddaa13.jpeg

    STM32F103C8T6系统板X1

    19d55f4dcd0a46b19d248a527f64ebba.jpeg

    1、STM32系统板两根Micro USB线一根用于J-LINK下载器,另一根用于给系统板供电

    2、杜邦线建议不用太长的

    ULN2003模块x1

    ULN2003模块x1

    步进电机x1

    步进电机x1

    Micro USB线X1

    3c4f905fb9c64dfab5048bc1d56f4484.jpeg

    Micro USB线X2

    dbcda456cb2a47c38954320e18baf52b.jpeg

    母母杜邦线X6

    23463e606a704c9080a453346713e953.jpeg

    母母杜邦线X6

    e1eaee320a1c4518a78ef97da644b379.jpeg
    J-LINK下载器bcebfb6e8f2a450595c5f87905fb46bb.jpeg

    八、注意事项

    1. VCC GND请勿接反,接反易烧
    2. 显示异常时,排除接线接触不良
    3. 电机抖动 也可能是接线接触不良引起 需要排查

    九、接线表格

    单片机型号

    模块

    对应引脚(上:模块引脚 下:单片机引脚)

    STC89C52RC

    ULN2003模块

    IN1

    IN2

    IN3

    IN4

    GND

    VCC

    P1.0

    P1.1

    P1.2

    P1.3

    GND

    5V

    按键模块

    KEY_L

    KEY_R

    GND

    P1.4

    P1.5

    GND

    STM32F103C8T6

    ULN2003模块

    IN1

    IN2

    IN3

    IN4

    GND

    VCC

    PA0

    PA1

    PA2

    PA3

    GND

    5V

    按键模块

    KEY_L

    KEY_R

    GND

    PA5

    PA6

    GND

  • 相关阅读:
    视频录制工具OBS选择区域录制
    问题复盘|在使用 Gson 时,报 Failed to parse date [““] 错误
    不得不知道的一些Java学习资料
    Unity中Shader光强与环境色
    国产AD+全志T3开发案例,为能源电力行业排忧解难!8/16通道
    Java获取客户端操作系统类型-HTTP请求头User-Agent
    计算机毕业设计ssm+vue基本微信小程序的一起考研学习系统
    amazon账号注册用什么软件?
    前端研习录(33)——命令行工具|ECMAScript6简介|Nodejs安装|Babel转码器安装及基本用法详解及示例分析
    pygame实现时钟
  • 原文地址:https://blog.csdn.net/lfmnlxx79691557/article/details/127990470
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号