一、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