(十一)nodemcu初级:L298驱动模块控制电机——趣讨教

本次课程,我们将介绍L298N双H桥电机驱动模块如何与NodeMCU进行连接使用。

目录

步骤1:材料准备

步骤2:硬件描述

步骤3:电路图分析

步骤4:接线连接

步骤5:开始编程

步骤6:运行结果

步骤1:材料准备

(十一)nodemcu初级:L298驱动模块控制电机——趣讨教_第1张图片
(十一)nodemcu初级:L298驱动模块控制电机——趣讨教_第2张图片
(十一)nodemcu初级:L298驱动模块控制电机——趣讨教_第3张图片

硬件要求

L298N双H桥电机驱动模块

NodeMCU开发板

杜邦线

直流电源(7-35v)

*直流电机

软件要求

*Arduino IDE

步骤2:硬件描述

(十一)nodemcu初级:L298驱动模块控制电机——趣讨教_第4张图片
(十一)nodemcu初级:L298驱动模块控制电机——趣讨教_第5张图片

先来了解L298N双H桥电机控制器模块

H桥电机控制器可以驱动电流在任一极性,并控制电路的Pulse Width Modulation(PWM)。

什么是脉宽调制?

脉宽调制技术,全称为脉冲宽度调制,英文名称为Pulse Width Modulation,简写为PWM,是一种利用微处理器来完成对模拟电路控制的一种技术,其具有操作简单、灵活性好、反应速度快等诸多特点,现已在通信、测量、功率变换、功率控制等多个方面都得到了广泛的应用。如果通过PWM控制电机,电机将持续更长时间,更可靠。

产品规格:

双H桥驱动芯片:L298N

逻辑电压:5V

驱动电压:5V-35V

逻辑电流:0-36mA

驱动电流:2A(MAX单桥)

最大功率:25W

注:内置5v电源,驱动电压为7v-35v。但建议您不要使用板载5v电源为nodemcu开发板供电。

步骤3:电路图分析

(十一)nodemcu初级:L298驱动模块控制电机——趣讨教_第6张图片

硬件连接:

12v – 连接的电池正极。

GND – 连接的电池的接地端。

5v – + 5v输入

输入连接

(电机A)

ENA – 为电机A启用PWM信号

IN1 – 启用电机A

IN2 – 启用电机A

(电机B)

ENB – 为电机B启用PWM信号

IN3:启用电机B

IN4:启用电机B

注意:

确保你的硬件连接没有问题在开始下一步编程。(NodeMCU,电源和电机驱动器)

该PWM引脚不是必须要的,如果你不想用来控制输出PWM功能。

步骤4:接线连接

(十一)nodemcu初级:L298驱动模块控制电机——趣讨教_第7张图片
(十一)nodemcu初级:L298驱动模块控制电机——趣讨教_第8张图片
(十一)nodemcu初级:L298驱动模块控制电机——趣讨教_第9张图片
(十一)nodemcu初级:L298驱动模块控制电机——趣讨教_第10张图片
(十一)nodemcu初级:L298驱动模块控制电机——趣讨教_第11张图片
(十一)nodemcu初级:L298驱动模块控制电机——趣讨教_第12张图片
(十一)nodemcu初级:L298驱动模块控制电机——趣讨教_第13张图片

连线方式可以参考上图,其中需要注意的是以下引脚:

Enable A——D2

IN1——D3

IN2——D4

步骤5:开始编程

以下是本课程的程序,可参考以下程序编程:

intENA =4;intIN1 =0;intIN2 =2;void setup() {// 将所有电机控制引脚设置为输出引脚模式pinMode(ENA, OUTPUT);  pinMode(IN1, OUTPUT);  pinMode(IN2, OUTPUT);}// 这个功能将以固定速度在两个方向运行电机void testOne() {// 打开电机digitalWrite(ENA, HIGH);// 将速度设置为0〜255范围内digitalWrite(IN1, HIGH);  digitalWrite(IN2, LOW);  delay(2000);// 一定延时后改变电机方向digitalWrite(IN1, LOW);  digitalWrite(IN2, HIGH);  delay(2000);// 一定时间后关闭电机digitalWrite(IN1, LOW);  digitalWrite(IN2, LOW);}// 该功能将在0~255的速度范围内运行电机// 请注意,最大速度由电机本身和工作电压决定// 由analogWrite()发送的PWM值是您硬件可能达到的最大速度的值void testTwo() {// 打开点击digitalWrite(IN1, LOW);  digitalWrite(IN2, HIGH);// 从0开始加速到255for(inti =0; i <256; i++)  {    analogWrite(ENA, i);    delay(50);  }

// 从最大255速度减小到0for(inti =255; i >=0; --i)  {    analogWrite(ENA, i);    delay(50);  }// 关闭电机digitalWrite(IN1, LOW);  digitalWrite(IN2, LOW);}void loop() {  testOne();  delay(1000);  testTwo();  delay(1000);}

程序编写好之后,便可以编译上传程序!

步骤6:运行结果

运行结果图略,自行编译上传后查看。


文章转载自(十一)nodemcu初级:L298驱动模块控制电机——趣讨教

更多相关教程请访问(趣讨教创客资源分享平台)www.qutaojiao.com

你可能感兴趣的:((十一)nodemcu初级:L298驱动模块控制电机——趣讨教)