本文将用最通俗易懂的语言讲解怎么使用STM32通过L298N驱动直流电机。
-
驱动两个直流电机转动
-
控制电机的转速
-
控制电机转向:正转、反转
-
STM32F103C8T6最小系统板,单片机就不详细介绍了,想必大家也学了,如下图所示。
-
L298N电机驱动,如下图
如下图所示,其实可以把接口分为三部分:
①输出口,这里分了输出A(OUT1和OUT2)和输出B(OUT3和OUT4),是接电机的。
②控制口,这部分是和单片机连接的,分为通道使能口(ENA和ENB)和逻辑输入口(IN1-IN4),通道使能口接PWM控制电机速度,逻辑输入控制电机正反转,具体逻辑如下图所示(ENB、IN3、IN4和ENA、IN1、IN2的逻辑相同)。
③电源供电口,分为+12V、GND、+5V。+12V和GND是接我们的供电电源的(锂电池的正负极,一般接三节串联的18650锂电池即可,这样电压大概是12V)。
下面举出一个例子,供电电池采用12V锂电池(三节串联的18650)。
电池和L2989N的连接
电池L298N电机驱动电池正极(红线)+12V电池负极(黑线)GND
STM32和L298N连接
STM32F103最小系统L298NPA6ENAPB5IN1PB6IN2PB7IN3PB8IN4PA7ENB5V+5VGNDGND
TIME.c,初始化了定时器3产生两路PWM(PA6和PA7)
myMOTOR.c,初始化四个IO口,用于控制电机正反转(PB5、PB6、PB7、PB8)。还有电机控制相关的函数Set_Car_Speed,此函数用于控制车速和转向。
main.c,在while(1)里面例举几个实际可以应用的功能(小车的运动状态)。
关注微信公众号<陈加油嗯>,回复"L298N驱动直流电机"即可获取源代码。
版权声明:
本文来源网络,所有图片文章版权属于原作者,如有侵权,联系删除。
本文网址:https://www.mushiming.com/mjsbk/13087.html