目录
一、资源说明
二、基本参数
1、参数
2、引脚说明
三、驱动说明
L298N模块驱动时序
对应程序:
ENA ENB输出PWM
四、部分代码说明
接线说明
1、STC89C52RC+L298N模块
2、STM32F103C8T6+L298N模块
五、基础知识学习与相关资料下载
六、视频效果展示与程序资料获取
七、项目所有材料清单
八、注意事项
九、接线表格
单片机型号 | 测试条件 | 模块名称 | 代码功能 |
STC89C52RC | 1.晶振11.0592M | L298N模块 | 单片机驱动L298N模块按键控制直流机启停正反转加减速 |
STM32F103C8T6 |
| L298N模块 |
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控制 |
以下以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由定时器实现,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要自定义引脚的话也要注意引脚时钟使能的更改
//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; //两电机同时减速按键
//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驱动方案 | 图片 | 备注 K_A08_001 |
STC89C52RC系统板X1 |
| STM32F103C8T6系统板X1 |
|
|
L298N模块x1 |
| L298N模块x1 |
| |
直流电机x2 |
| 直流电机x2 |
| |
Micro USB线X1 |
| Micro USB线X2 |
| |
母母杜邦线X6 公母杜邦线X1 公公杜邦线X2 |
| 母母杜邦线X6 公母杜邦线X1 公公杜邦线X2 |
| |
J-LINK下载器 |
|
单片机型号 | 模块 | 对应引脚(上:模块引脚 下:单片机引脚) | ||||||
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 |
下一篇:网络流量异常检测综述