我是靠谱客的博主 精明小蝴蝶,最近开发中收集的这篇文章主要介绍【教程向】如何用L298N电机驱动模块与Arduino实现PWM调速,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

要理解本教程,你需要:

已经理解什么是高低电平

②已经知道什么是PWM调速(可等效于知道什么是占空比)

③已经学会使用analogWrite和digitalWrite

④知道L298N能带动你电机的功率,不至于烧毁

====================================================================

 因为要用到这个驱动,查了一下网上关于L298N的教程都乱七八糟的。自己搞了搞之后感觉有必要发一篇教程。

 本教程主要面向YWROBOT家的L298N驱动

 因为L298N实际上是个驱动芯片,所以就算都叫L298N,不同家的驱动电路图也是不一样的,所以

      绝对不能光记一些结果性的结论!!!!(下面会举例)                      

我使用的是YWROBOT MRL298 V2

先上电路图


产品外形图


我们从右上到左上先介绍它的端子都是什么。


一开始有IN1~4四个端子,是通过输出高低电平来控制MotorA和MotorB正反转的,IN1 2是一对控制MotorA,3 4是一对控制MotorB。ENA和ENB是使能端,用来PWM调速的。5V用来连接arduino的5v输出,GND连对应输出的地线。


接下来这三个,PWR ENA ENB带有跳线帽,就是直接把两个端子连接的小东西,如果要进行PWM调速,要拔下来,露出杜邦线能插的接口(虽然接下来要讲不用插,但是要拔下来);如果不要PWM调速,而是让电机全速运转,就不用拔了。


PWR是自动变行驶模式指示灯,通常是NORM模式。这个我不清楚是用来干什么的,但对于PWM调速不重要。


实际上原有跳线帽的两对EN端子,每一对中只有一个端子是用来连接arduino的,另一个端子接入的是5V电平,也就是刚才提到的5V。 这一点,网上的教程全部都没有提到,而对于不会看电路图或者第一次接触电机驱动的人,很可能会被误导,这就是上面我说到的例子,网上有人说这两对EN,都是外侧的端子接arduino,错了。 具体为什么错,我们下面讲。


这里需要用到占空比和高低电平的知识。原先有跳线帽会全速运转,是因为跳线帽直接将5V提供的5V点评给了EN的使能端子,让他一直保持在5V高电平,相当于我们从arduino一直输入一个占空比为0的5V电平。PWM调速应该接的那一端电压是由arduino上能生成PWM波的端子提供的。我手上的这块L298N驱动模块,恰恰内侧才是接收PWM波的那端


明确这一点之后,将IN1~4分别接到arduino上digital的口,初始化后使用digitalWrite就可以实现正反转了,将ENA/ENB(无论是拔掉之后的内侧端子还是和IN1~4更近的单个端子都可以)接到arduino上带~的端子(3 5 6 9 10 11,就是能输出PWM波的端子)初始化后使用analogWrite输出PWM波就可以调速了,部分调速代码示例:

for(i=0;i<=255;i+=5)
{

  analogWrite(3,i);

  analogWrite(10,0);

  analogWrite(5,i);

  analogWrite(6,0);

  delay(50);
}
关于下面绿色的螺丝接口:

MotorA/B无论正反都可以接电机,如果转的方向不对把代码高低电平换一下就可以了。

如果需要外接额外电压,正极接VIN,负极接GND。



================================================================================================================
需要注意的是,arduino内含稳压芯片,如果给arduino供电是5V,实际上能给电机驱动的只有3.3V,所以如果想给电机驱动5V且不接额外电源,arduino需要至少9V供电。



最后

以上就是精明小蝴蝶为你收集整理的【教程向】如何用L298N电机驱动模块与Arduino实现PWM调速的全部内容,希望文章能够帮你解决【教程向】如何用L298N电机驱动模块与Arduino实现PWM调速所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(42)

评论列表共有 0 条评论

立即
投稿
返回
顶部