https://blog.csdn.net/p_xiaojia/article/details/79310858

L298N模块的连接与使用(stm32驱动与51驱动)

 

 版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/P_xiaojia/article/details/79310858

一、L298N的一些基本参数 
这里写图片描述 
这里写图片描述 
这里写图片描述 
这里写图片描述 
使用方法: 
输出A: 通道A输出 ,连接电机 
输出B: 通道B输出 ,连接电机 
12V供电: 主电源正极输入 
供电GND: 主电源正负极极输入 
5V输出: 5v电压输出端,可用于给MCU供电 
ENA: 通道A使能 
ENB: 通道B使能 
IN1~IN4: 逻辑输入IN1~IN2控制通道A,逻辑输入IN3~IN4控制通道B 
板载5V跳线帽: 接上后板载5V输出有效

二、实际接线图 
由上述模块参数可知: 
主电源的电压输入范围+5V~+35V,如果想通过模块输出5V电压来驱动你的MCU 
则主电源的电压输入范围+7V~+35V

1.版内电压驱动 
很多开发板上都会带有5V和3.3V的直流电压输出,可用此作为主电源的输入 
为什么需要升压模块呢? 
原因有两个:(1)开发板的5V输出口不一定有5V,可能只有4.? 
(2)模块不一定刚好5V就能动,我的是5.3多才会转 
这里写图片描述 
2.外接电源驱动 
此方法电源和MCU需要共地 
这里写图片描述

三、程序逻辑控制方法 
这里写图片描述 
51编程: 
这里写图片描述 
这里写图片描述 
这里写图片描述

Stm32 编程: 
1.先配置I/O口 
这里写图片描述 
2.如何在stm32内像51程序一样控制? 
这里写图片描述 
首先定义宏 
这里写图片描述 
那么PAout()哪里来? 
这里写图片描述 
这里写图片描述 
关于地址映射这部分内容,具体实现请参考正点原子的例程。

四、常见问题: 
1.电机不会转动? 
(1)有响声但是齿轮不转,可能是电压不够,加大电压 
(2)接线存在错误,没有与MCU共地等 
(3)逻辑端编程错误,没有正确的使能 
2.关于ENA和ENB上面的跳线帽要不要拔去? 
这取决于你的程序是怎么输出PWM波的,如果是像我上面的程序那样通过ENA来接收PWM控制的,跳线帽就要拔了,接自己的I/O输出。如果是通过IN1和IN2来控制的则不用拔。

源代码:https://download.csdn.net/download/p_xiaojia/10599257