K_A08_001 基于 STM32等单片机驱动L298N模块按键控制直流电机启停正反转加减速
创始人
2024-03-05 10:55:30
0

目录

一、资源说明

二、基本参数

        1、参数

        2、引脚说明

三、驱动说明

        L298N模块驱动时序

        对应程序:

        ENA ENB输出PWM

四、部分代码说明

        接线说明

               1、STC89C52RC+L298N模块

                 2、STM32F103C8T6+L298N模块

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

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

七、项目所有材料清单

八、注意事项

九、接线表格


一、资源说明

单片机型号

测试条件

模块名称

代码功能

STC89C52RC

1.晶振11.0592M

L298N模块

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

STM32F103C8T6

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

L298N模块

二、基本参数

        1、参数

 

        2、引脚说明

L298N模块

引脚说明

+12V

L298N供电(此处8V供电 根据实际来)

GND

电源地 不用+5V给单片机供电则此处要与单片机共地

+5V

+5V给单片机(可用可不用 根据实际需要来)

ENA

OUT1,OUT2输出端使能控制(默认短接 全速输出)也可接PWM信号调速

IN1

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

IN2

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

IN3

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

IN4

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

ENB

OUT3,OUT4输出端使能控制(默认短接 全速输出)也可接PWM信号调速

OUT1

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

OUT2

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

OUT3

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

OUT4

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

三、驱动说明

        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.1mstimes++;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

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

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

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

        视频连接    直戳跳转

        资料获取   直戳跳转

七、项目所有材料清单

STC89C52RC驱动方案

图片

STM32F103C8T6驱动方案

图片

备注

K_A08_001

STC89C52RC系统板X1

 

STM32F103C8T6系统板X1

 

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

L298N模块x1

 

L298N模块x1

 

直流电机x2

 

直流电机x2

 

Micro USB线X1

 

Micro USB线X2

 

母母杜邦线X6

公母杜邦线X1

公公杜邦线X2

 

母母杜邦线X6

公母杜邦线X1

公公杜邦线X2

 

J-LINK下载器

 

八、注意事项

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

九、接线表格

单片机型号

模块

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

STC89C52RC

L298N模块

ENA

IN1

IN2

IN3

IN4

ENB

GND

P1.5

P1.4

P1.3

P1.2

P1.1

P1.0

GND

按键模块

KEY1

KEY2

KEY3

KEY4

GND

P2.0

P2.1

P2.2

P2.3

GND

STM32F103C8T6

L298N模块

ENA

IN1

IN2

IN3

IN4

ENB

GND

PA6

PB12

PB13

PB14

PB15

PA7

GND

按键模块

KEY1

KEY2

KEY3

KEY4

GND

PB4

PB5

PB6

PB7

GND

相关内容

热门资讯

监控摄像头接入GB28181平... 流程简介将监控摄像头的视频在网站和APP中直播,要解决的几个问题是:1&...
Windows10添加群晖磁盘... 在使用群晖NAS时,我们需要通过本地映射的方式把NAS映射成本地的一块磁盘使用。 通过...
protocol buffer... 目录 目录 什么是protocol buffer 1.protobuf 1.1安装  1.2使用...
educoder数据结构与算法...                                                   ...
MySQL下载和安装(Wind... 前言:刚换了一台电脑,里面所有东西都需要重新配置,习惯了所...
MFC文件操作  MFC提供了一个文件操作的基类CFile,这个类提供了一个没有缓存的二进制格式的磁盘...
有效的括号 一、题目 给定一个只包括 '(',')','{','}'...
Fluent中创建监测点 1 概述某些仿真问题,需要创建监测点,用于获取空间定点的数据࿰...
【Ctfer训练计划】——(三... 作者名:Demo不是emo  主页面链接:主页传送门 创作初心ÿ...
带头循环双向链表来咯!!! 前言:继上文,我们了解了结构最简单的一种链表---单链表那么我们今天就来...