这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » STM32 » 【转载】基于STM32F407/51单片机与L298N驱动控制小车制作----f

共4条 1/1 1 跳转至

【转载】基于STM32F407/51单片机与L298N驱动控制小车制作----from三叶

工程师
2023-12-20 22:04:11     打赏



L298N原理网上都有,直接网上搜一下就行。
STM32F407可以是开发板,也可以是mini板~

直接12V电池供电给L298N,12V接稳压模块稳到5V供电给单片机。

D0,D1,D2,D3(这是自己在程序里面的定义,实际上分别连接的是OUT1,OUT2,OUT3,OUT4)是可以控制马达从而控制轮子正反转。
控制两边轮子正反转,比如说D0=1,D1=0使得左边轮子正转,那么D0=0,D1=1使得左边轮子反转,如果同时为0或同时为1,轮子就不会动。这是根据大家接线方式来的,你可以左边轮子接上OUT1,OUT2或者接上OUT3,OUT4.

我就是给轮子正反转,然后用PWM输出占空比有一个电压,不同电压对应不同的速度,如果输出小了的话,轮子可能会发出那种卡住的声音然后动不了,大家可以往上调调,基本轮子就可以动了。单片机PWM输出分别连接L298N的ENA和ENB,STM32是B6,D13输出PWM占空比连接ENA,ENB,51单片机是自己定义两个管脚接出连接ENA,ENB。


接线时候一定要记得将单片机的GND和L298N的GND接一起,就是共地,不然可能会不转动。

我的想法就是单片机输出4个高低电平给IN1,IN2,IN3,IN4,然后OUT1,OUT2,OUT3,OUT4输出和前边一样高低电平控制两边轮子正反转,然后通过单片机两个管脚输出PWM的大小接到ENA,ENB控制速度,有正反转,有速度,就可以动起来了。

所有的接线就是电源+12V,GND,   单片机输入IN1,IN2,IN3,IN4,    L298N输出OUT1,OUT2,OUT3,OUT4给轮子,   单片机机输出两路PWM给L298N的ENA,ENB(不懂PWM的话可以直接修改程序里面的speed1和speed2的大小就可以修改输出(电压大小)小车速度大小).

如果所有接线正确,轮子却没有反应,可以拿一步步检查。1,检查L298N与单片机是否共地 2,用万用表测量OUT1,OUT2两端(或者OUT3,OUT4两端,总之就是接同一个马达的两个端口)是否有电压,显示有电压的话,可以把PWM输出调高点,如果没有电压的话就去检查IN1,IN2之间是否有电压,没有的话就去检查用万用表测量ENA与GND之间是否有电压,一步步找原因。

大家接线完不知道轮子正反转,可以在main函数里面写D0=1,D1=0,D2=1,D3=0(我自己定义的,其实就是IN1,IN2,IN3,IN4),再给一个速度,看轮子的转向就行了~








来源: 整理文章为传播相关技术,网络版权归原作者所有,如有侵权,请联系删除。


高工
2024-01-13 15:05:51     打赏
2楼

学习一下


院士
2024-01-13 19:38:26     打赏
3楼

是电机吗,多大啊?控制正反转的方式有多种。谢谢分享。


专家
2024-01-14 09:17:25     打赏
4楼

学习


共4条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]