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

实物参考链接 直戳跳转

一、资源说明

二、基本参数

1、参数

2、引脚说明

三、驱动说明

L298N模块驱动时序

对应程序:

以下以STC89C52RC程序为例

//正转
 
void turn_Syntropy(void)
 
{
 
     IN1_R=1;
 
     IN2_R=0;
 
     IN3_L=1;
 
     IN4_L=0;
 
}
//反转
 
void turn_Reverse(void)
 
{
 
         IN1_R=0;
 
         IN2_R=1;
 
         IN3_L=0;
 
         IN4_L=1;
 
}
//停止
 
void turn_Stop(void)
 
{
 
         IN1_R=1;
 
         IN2_R=1;
 
         IN3_L=1;
 
         IN4_L=1;
 
         Pwm_L=0;
 
         Pwm_R=0;
 
         TR0=0;
 
}

ENA ENB输出PWM

ENA ENB输出PWM由定时器实现,PWM_L PWM_R分别对应ENA ENB

//定时器0中断服务函数
 
void tim0() interrupt 1
 
{
 
        TL0 = 0xA4; //设置定时初值
 
        TH0 = 0xFF; //设置定时初值  0.1ms
 
        times++;
 
        if(times<=Speed)
 
        {
 
                 Pwm_L=1;
 
                 Pwm_R=1;
 
        }
 
        else
 
        {
 
                 Pwm_L=0;
 
                 Pwm_R=0;
 
        }
 
        if(times>=Period)
 
        {
 
                 times=0;
 
        }
 
}

四、部分代码说明

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

1、STC89C52RC+L298N模块

//L298N引脚
 
sbit Pwm_L=P1^5;
 
sbit IN1_R=P1^4;
 
sbit IN2_R=P1^3;
 
sbit IN3_L=P1^2;
 
sbit IN4_L=P1^1;
 
sbit Pwm_R=P1^0;
 
//按键引脚
 
sbit K_Start_Stop=P2^0;   //启停按键
 
sbit K_Syntropy_Reverse=P2^1; //两电机同向反向按键
 
sbit K_UP_Speed=P2^2; //两电机同时加速按键
 
sbit K_Down_Speed=P2^3; //两电机同时减速按键

2、STM32F103C8T6+L298N模块

//L298N引脚 GPIOB
 
#define IN1_L    GPIO_Pin_12  //
 
#define IN2_L     GPIO_Pin_13 //
 
#define IN3_R      GPIO_Pin_14 //  
 
#define IN4_R      GPIO_Pin_15 //  
 
//L298N ENA  ENB
 
#define            GENERAL_TIM_CH1_GPIO_CLK      RCC_APB2Periph_GPIOA
 
#define            GENERAL_TIM_CH1_PORT          GPIOA
 
#define            GENERAL_TIM_CH1_PIN           GPIO_Pin_6
 
 
 
// TIM3 输出比较通道2
 
#define            GENERAL_TIM_CH2_GPIO_CLK      RCC_APB2Periph_GPIOA
 
#define            GENERAL_TIM_CH2_PORT          GPIOA
 
#define            GENERAL_TIM_CH2_PIN           GPIO_Pin_7
 
 
 
//按键引脚GPIOB
 
#define K_Start_Stop    GPIO_Pin_4  //启停按键 GPIOB_Pin_4 0x0010   //?GPIOB_Pin_3
 
#define K_Syntropy_Reverse    GPIO_Pin_5 //两电机同向反向按键 GPIOB_Pin_5 0x0020
 
#define K_UP_Speed      GPIO_Pin_6 //两电机同时加速按键 GPIOB_Pin_6 0x0040
 
#define K_Down_Speed      GPIO_Pin_7 //两电机同时减速按键   GPIOB_Pin_7 0x0080

五、基础知识学习

STC89C52RC程序下载 直戳跳转

STM32F103C8T6程序下载

1、串口下载  直戳跳转

2、ST-LINK下载  直戳跳转

3、J-LINK下载  直戳跳转

4、DAP-LINK下载  直戳跳转

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

演示视频连接 直戳跳转
资料获取 直戳跳转

实物参考链接 直戳跳转

七、注意事项

1、VCC GND请勿接反,接反易烧
2、显示异常时,排除接线接触不良
3、单片机与模块需要共地接线

八、接线说明

可参考程序main.c最上面接线说明


所有相关实物与程序套件可在我们店铺找到

X
深圳市咱们电子科技有限公司