心血来潮更新一下CSDN博客,手机里有好多博客草稿没发,过段时间我会整理一下,然后全部发上来的。
本篇我们来介绍一下电机驱动模块之L298N。
首先L298N 是一种双H桥电机驱动芯片,其中每个H桥可以提供2A的电流,功率部分的供电电压范围是2.5-48v,逻辑部分5v供电,接受5vTTL电平。一般情况下,功率部分的电压应大于6V否则芯片可能不能正常工作。
对于这款L298N模块的应用的话,在智能小车上使用的比较的多,毕竟便宜嘛!
如果你是打算利用L298N模块进行智能小车实验的话,我这边有几点心得给你们分享,首先IN1,IN2,IN3,IN4的电平变化还是有一点讲究的,高低电平能够实验不同的电机正反转,也就是实现了小车的前进后退,当然你还可以实现左转弯右转弯。这只是简单的通过高低电平来实现的。
还有一种稍微复杂一点点,就是利用PWM脉冲宽度调制来实现前进后退转弯的,这一种的优点就是能够很方便的控制你小车的速度,不至于咻的一下溜走了,方便掌控。
那废话不多说,直接开始L298N模块的相关编程吧。
老样子,我们如果要进行相关的电机驱动编程,一些步骤还是少不了的。
1:进行L298N的GPIO初始化配置
2:根据实际使用需要来进行高低电平的变化
3:进行定时器的设置即PWM调制(想使用PWM脉冲宽度调制的可以参考)
现在我以我曾经做过的智能小车的L298N电机驱动代码举例子
采用简单的高低电平的方法进行电机模块的驱动
L298N.h
#ifndef _BSP_L298N_H
#define _BSP_L298N_H
#include "stm32f10x.h"
void MotorGPIO_Configuration(void);
void run();
#endif
L298N.c
void MotorGPIO_Configuration(void)
{
GPIO_InitTypeDef GPIO_InitStructure;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA|RCC_A