最近在做寻迹小车,电机驱动遇到问题,博主有关L298N的介绍写的很不错,收藏一波!
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/P_xiaojia/article/details/79310858 </div>
<div id="content_views" class="markdown_views prism-atom-one-dark">
<!-- flowchart 箭头图标 勿删 -->
<svg xmlns="http://www.w3.org/2000/svg" style="display: none;"><path stroke-linecap="round" d="M5,0 0,2.5 5,5z" id="raphael-marker-block" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);"></path></svg>
<p><strong>一、L298N的一些基本参数</strong> <br>
使用方法:
输出A: 通道A输出 ,连接电机
输出B: 通道B输出 ,连接电机
12V供电: 主电源正极输入
供电GND: 主电源正负极极输入
5V输出: 5v电压输出端,可用于给MCU供电
ENA: 通道A使能
ENB: 通道B使能
IN1~IN4: 逻辑输入IN1IN2控制通道A,逻辑输入IN3IN4控制通道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来控制的则不用拔。