• K_A08_004 基于 STM32等单片机驱动MX1919模块按键控制直流电机正反转加减速启停


    目录

    一、资源说明

    二、基本参数

            1、参数

            2、引脚说明

    三、驱动说明

            1、MX1919模块驱动时序

            2、对应程序:

            3、PWM信号

    四、部分代码说明

            接线说明

                    1、STC89C52RC+MX1919模块

                    2、STM32F103C8T6+MX1919模块

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

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

    七、项目所有材料清单

    八、注意事项

    九、接线表格


    一、资源说明

    单片机型号

    测试条件

    模块名称

    代码功能

    STC89C52RC

    1.晶振11.0592M

    MX1919模块

    单片机驱动MX1919模块按键控制直流电机正反转加减速启停

    STM32F103C8T6

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

    MX1919模块

    二、基本参数

            1、参数

            2、引脚说明

    MX1919模块

    引脚说明

    VDD

    给电机供电(此处8V供电 根据需要来)

    GND

    电源地

    IN1

    对应OUT1 IN1输入高则OUT1输出高

    IN2

    对应OUT2 IN2输入高则OUT2输出高

    IN3

    对应OUT3 IN3输入高则OUT3输出高

    IN4

    对应OUT4 IN4输入高则OUT4输出高

    GND

    单片机GND接上与电源共地

    MOTOR-A

    接电机和OUT2为一组 输出高低由IN1控制

    接电机和OUT1为一组 输出高低由IN2控制

    MOTOR-B

    接电机和OUT4为一组 输出高低由IN3控制

    接电机和OUT3为一组 输出高低由IN4控制

    三、驱动说明

            1、MX1919模块驱动时序

            2、对应程序:

            以下以STC89C52RC程序为例,驱动方式与MAX1508类似

    1. //正转
    2. void turn_Syntropy(void)
    3. {
    4.   Pwm_IN1_R=0;
    5.  Pwm_IN3_L=0;
    6. }
    7. //反转
    8. void turn_Reverse(void)
    9. {
    10.   Pwm_IN2_R=0;
    11.  Pwm_IN4_L=0;
    12. }
    13. //停止
    14. void turn_Stop(void)
    15. {
    16.  Pwm_IN1_R=1;
    17.  Pwm_IN2_R=1;
    18.  Pwm_IN3_L=1;
    19.  Pwm_IN4_L=1;
    20.  TR0=0;
    21. }

            3、PWM信号

            此处用51定时器1来生成

    1. void tim0() interrupt 1
    2. {
    3. TL0 = 0xA4; //设置定时初值
    4. TH0 = 0xFF; //设置定时初值 0.1ms
    5. times++;
    6. if(times<=Speed)
    7. {
    8. if(!Flag_Syntropy_Reverse)
    9. {
    10. Pwm_IN2_R=1;
    11. Pwm_IN4_L=1;
    12. }
    13. else
    14. {
    15. Pwm_IN1_R=1;
    16. Pwm_IN3_L=1;
    17. }
    18. }
    19. else
    20. {
    21. if(!Flag_Syntropy_Reverse)
    22. {
    23. Pwm_IN2_R=0;
    24. Pwm_IN4_L=0;
    25. }
    26. else
    27. {
    28. Pwm_IN1_R=0;
    29. Pwm_IN3_L=0;
    30. }
    31. }
    32. if(times>=Period)
    33. {
    34. times=0;
    35. }
    36. }

    四、部分代码说明

            接线说明

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

                    1、STC89C52RC+MX1919模块

    1. // MX1919 引脚定义
    2. sbit Pwm_IN1_R=P1^0;
    3. sbit Pwm_IN2_R=P1^1;
    4. sbit Pwm_IN3_L=P1^2;
    5. sbit Pwm_IN4_L=P1^3;
    6. //按键引脚定义
    7. sbit K_Start_Stop=P2^0;   //启停按键
    8. sbit K_Syntropy_Reverse=P2^1; //两电机同向反向按键
    9. sbit K_UP_Speed=P2^2; //两电机同时加速按键
    10. sbit K_Down_Speed=P2^3; //两电机同时减速按键

                    2、STM32F103C8T6+MX1919模块

    1. // MX1919 引脚定义
    2. // TIM3 输出比较通道1
    3. #define            GENERAL_TIM_CH1_GPIO_CLK      RCC_APB2Periph_GPIOA
    4. #define            GENERAL_TIM_CH1_PORT          GPIOA
    5. #define            GENERAL_TIM_CH1_PIN           GPIO_Pin_6
    6. // TIM3 输出比较通道2
    7. #define            GENERAL_TIM_CH2_GPIO_CLK      RCC_APB2Periph_GPIOA
    8. #define            GENERAL_TIM_CH2_PORT          GPIOA
    9. #define            GENERAL_TIM_CH2_PIN           GPIO_Pin_7
    10. // TIM3 输出比较通道3
    11. #define            GENERAL_TIM_CH3_GPIO_CLK      RCC_APB2Periph_GPIOB
    12. #define            GENERAL_TIM_CH3_PORT          GPIOB
    13. #define            GENERAL_TIM_CH3_PIN           GPIO_Pin_0
    14. // TIM3 输出比较通道4
    15. #define            GENERAL_TIM_CH4_GPIO_CLK      RCC_APB2Periph_GPIOB
    16. #define            GENERAL_TIM_CH4_PORT          GPIOB
    17. #define            GENERAL_TIM_CH4_PIN           GPIO_Pin_1
    18. //按键引脚定义
    19. #define K_Start_Stop    GPIO_Pin_4  //启停按键 GPIOB_Pin_4 0x0010   //?GPIOB_Pin_3
    20. #define K_Syntropy_Reverse    GPIO_Pin_5 //两电机同向反向按键 GPIOB_Pin_5 0x0020
    21. #define K_UP_Speed      GPIO_Pin_6 //两电机同时加速按键 GPIOB_Pin_6 0x0040
    22. #define K_Down_Speed      GPIO_Pin_7 //两电机同时减速按键   GPIOB_Pin_7 0x0080

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

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

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

            视频连接    直戳跳转

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

    七、项目所有材料清单

    STC89C52RC驱动方案

    图片

    STM32F103C8T6驱动方案

    图片

    备注

    K_A08_004

    STC89C52RC系统板X1

    STM32F103C8T6系统板X1

    1. STM32系统板两根Micro USB线一根用于J-LINK下载器,另一根用于给系统板供电
    2. 杜邦线建议不用太长的

    MX1919模块x1

    (PH2.0  2P接口)

    MX1919模块x1

    (PH2.0  2P接口)

    直流电机x2

    直流电机x2

    Micro USB线X1

    Micro USB线X2

    母母杜邦线X4

    公公杜邦线X2

    按键模块按自己按键模块实际接线来

    母母杜邦线X4

    公公杜邦线X2

    按键模块按自己按键模块实际接线来

    J-LINK下载器

    八、注意事项

    1. VCC GND请勿接反,接反易烧
    2. 异常时,排除接线接触不良
    3. 单片机与模块需要共地接线
    4. 注意模块与单片机板要共地

    九、接线表格

    单片机型号

    模块

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

    STC89C52RC

    MX1919模块

    IN1

    IN2

    IN3

    IN4

    GND

    P1.0

    P1.1

    P1.2

    P1.3

    GND

    按键模块

    KEY1

    KEY2

    KEY3

    KEY4

    GND

    P2.0

    P2.1

    P2.2

    P2.3

    GND

    STM32F103C8T6

    MX1919模块

    IN1

    IN2

    IN3

    IN4

    GND

    PA6

    PA7

    PB0

    PB1

    GND

    按键模块

    KEY1

    KEY2

    KEY3

    KEY4

    GND

    PB4

    PB5

    PB6

    PB7

    GND

  • 相关阅读:
    MSP430F5529库函数定时器A——定时中断
    java计算机毕业设计ssm+vue网络考试信息网站
    上海交大牵手淘宝成立媒体计算实验室:推动视频超分等关键技术发展
    数据结构:二叉树(2)
    JQuery - template.js 完美解决动态展示轮播图,轮播图不显示问题
    增值税发票税控开票软件数据接口规范
    spring 扩展点之后置处理器(PostProcessor)及Aware接口
    mac 中配置idea自带maven环境变量
    Java多线程(7)----浅谈线程池
    网络总结上
  • 原文地址:https://blog.csdn.net/lfmnlxx79691557/article/details/128154764