最近在做寻迹小车,电机驱动遇到问题,博主有关L298N的介绍写的很不错,收藏一波!
版权声明:本文为博主原创文章,未经博主允许不得转载。 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: 逻辑输入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来控制的则不用拔。
源代码:https://download.csdn.net/download/p_xiaojia/10599257