0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何使用L298N电动机驱动器控制器板

454398 来源:网络整理 作者:佚名 2019-10-30 09:38 次阅读

Step 1:规格

控制2个直流电机,每个直流电机最大@ 2A,或一个步进电机

驱动器:L298N双H桥

驱动器输入电压:5V〜35V(或7V〜35V,具体取决于电源需求)

最大平均电流Io:每个2A

最大功耗: 20W @ 75摄氏度

控制信号输入电平:高电平2.3V 《= Vin 《= Vss;低:-0.3V 《= Vin 《= 1.5V

板载78M05线性稳压器提供了稳定的5V(最高0.5A),可用于为L298N H桥和其他部分。

步骤2:L298N框图

步骤3:逻辑表

L =低,H =高,X =无关,Z =高阻抗,Vin =输入电压,Vdrop =电压降

注意:输入之间存在电压降电压和L298的电机输出,可以预期会有1V至3V的下降,具体取决于输入电压和电流消耗。

步骤4:示意图

第5步:如何控制直流电动机

第一个直流电动机连接到由In1和In2控制的电动机驱动器控制板的Out1和Out2。设置In1 = HIGH和In2 = LOW会使电动机前进,而将输入信号取反(In1 = LOW,In2 = HIGH)会使电动机后退。将In1和In2都设置为LOW会使电动机立即停止。

ENA默认为HIGH,这会使电动机以恒定速度运行。为了控制电动机的速度,必须将跳接器从EnA上拆下,然后将其连接到具有微控制器的PWM功能的数字输出。

在某些情况下,ENA连接到微控制器的非PWM数字输出,以便缓慢停止电动机。

上面的连接和方法可以应用于控制第二个直流电动机。

步骤6:使用Arduino控制直流电动机

《通过将L298N电动机驱动器控制器板连接到Arduino,您可以控制两个直流电动机。下面的代码是Arduino草图,它以恒定速度控制两个电机。

#define FORWARD 8

#define BACKWARD 2

#define STOP 5

int Motor[2][2] = //two dimensional array

{

{4 , 5}, //input pin to control Motor1--》 Motor[0][0]=4, Motor[0][1]=5

{6 , 7}, //input pin to control Motor2--》 Motor[1][0]=6, Motor[1][1]=7

};

void setup() {

pinMode(Motor[0][0], OUTPUT);

pinMode(Motor[0][1], OUTPUT);

pinMode(Motor[1][0], OUTPUT);

pinMode(Motor[1][1], OUTPUT);

}

void loop() {

motor_run(0, FORWARD); //motor1 forward

delay(2000); //delay 2 seconds

motor_run(0, STOP); //motor1 stop

motor_run(1, BACKWARD); //motor2 backward

delay(2000); //delay 2 seconds

motor_run(1, STOP); //motor2 stop

}

void motor_run(int motor, int movement) {

switch (movement) {

case FORWARD:

digitalWrite(Motor[motor][0], HIGH);

digitalWrite(Motor[motor][1], LOW);

break;

case BACKWARD:

digitalWrite(Motor[motor][0], LOW);

digitalWrite(Motor[motor][1], HIGH);

break;

case STOP:

digitalWrite(Motor[motor][0], LOW);

digitalWrite(Motor[motor][1], LOW);

break;

}

}

步骤7:使用Arduino控制电机速度

下面的草图控制两个直流电动机的速度。

请从ENA和ENB上卸下跳线,然后将ENA和ENB分别连接到数字9和数字10。

#define FORWARD 8

#define BACKWARD 2

#define STOP 5

#define PWM_PIN_1 9 //speed control pin for motor1

#define PWM_PIN_2 10 ///speed control pin for motor2

int Motor[2][2] = //two dimensional array

{

{4 , 5}, //input pin to control Motor1--》 Motor[0][0]=4, Motor[0][1]=5

{6 , 7}, //input pin to control Motor2--》 Motor[1][0]=6, Motor[1][1]=7

};

void setup() {

pinMode(PWM_PIN_1, OUTPUT);

pinMode(PWM_PIN_2, OUTPUT);

pinMode(Motor[0][0], OUTPUT);

pinMode(Motor[0][1], OUTPUT);

pinMode(Motor[1][0], OUTPUT);

pinMode(Motor[1][1], OUTPUT);

motor_run(0, FORWARD); //motor1 forward

motor_run(1, BACKWARD); //motor2 backward

}

void loop() {

//decelerate

for (int motor_speed=255; motor_speed》=0; motor_speed--) {

analogWrite(PWM_PIN_1, motor_speed);

analogWrite(PWM_PIN_2, motor_speed);

delay(20); //delay 20 milliseconds

}

//accelerate

for (int motor_speed=0; motor_speed《=255; motor_speed++) {

analogWrite(PWM_PIN_1, motor_speed);

analogWrite(PWM_PIN_2, motor_speed);

delay(20); //delay 20 milliseconds

}

}

void motor_run(int motor, int movement) {

switch (movement) {

case FORWARD:

digitalWrite(Motor[motor][0], HIGH);

digitalWrite(Motor[motor][1], LOW);

break;

case BACKWARD:

digitalWrite(Motor[motor][0], LOW);

digitalWrite(Motor[motor][1], HIGH);;

break;

case STOP:

digitalWrite(Motor[motor][0], LOW);

digitalWrite(Motor[motor][1], LOW);;

break;

}

}

第8步:步进电机基础

步进电机有两种类型:单极和双极步进电机。单极步进电动机仅在正电压下运行(仅需要一个电源,例如5V和0)。双极步进电动机具有两个极性(需要两个电源,例如2.5V和-2.5V)。

4线制电动机是双极性的。

6线制电动机是单极电动机。

8线电机可以双极或单极运行。

步骤9:步进模式

波形驱动器(单相开启)

消耗的功率最少,一次只能通电一相。

全步顺序(仅单极步进电机)

在全步顺序中,两个线圈同时通电,从而提高了转矩速度乘积并提高了保持转矩。

半步进序列(仅用于单极步进电机)

在“半模式”步进序列中,电机步进角减小到全模式下的一半。

注意:L298N仅适用于双极步进电机,不适用于单极步进电机。

步骤10:使用Arduino控制双极步进电机

#define OUT1 4 //Digital 4 connect to L298 IN1

#define OUT2 5 //Digital 5 connect to L298 IN2

#define OUT3 6 //Digital 6 connect to L298 IN3

#define OUT4 7 //Digital 7 connect to L298 IN4

int motor_speed = 20; //delay 20 milliseconds (smaller is faster)

void setup() {

pinMode(OUT1, OUTPUT);

pinMode(OUT2, OUTPUT);

pinMode(OUT3, OUTPUT);

pinMode(OUT4, OUTPUT);

}

void loop() {

step(1,0,0,0); //step 1 (L1 ON)

step(0,0,1,0); //step 2 (L3 ON)

step(0,1,0,0); //step 3 (L2 ON)

step(0,0,0,1); //step 4 (L4 ON)

}

void step(int in1, int in2, int in3, int in4) {

digitalWrite(OUT1, in1);

digitalWrite(OUT2, in2);

digitalWrite(OUT3, in3);

digitalWrite(OUT4, in4);

delay(motor_speed);

}

责任编辑:wv

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • L298N
    +关注

    关注

    21

    文章

    224

    浏览量

    78622
收藏 人收藏

    评论

    相关推荐

    PLC控制步进电动机的基本原理

    步进电动机是一种能够将接收到的电脉冲信号直接转化为相应的机械角位移的特殊电机。每当步进驱动器接收到一个来自控制器的脉冲信号时,它便驱动步进电动机
    的头像 发表于 09-24 11:28 241次阅读

    步进驱动器的作用及种类

    步进电机驱动器是一种将电脉冲转化为角位移的执行机构。步进电动机和步进电动机驱动器构成步进电机驱动系统。步进
    的头像 发表于 09-04 11:33 279次阅读
    步进<b class='flag-5'>驱动器</b>的作用及种类

    变频驱动器的结构和应用

    在现代工业自动化领域,变频驱动器(Variable Frequency Drive,简称VFD)作为一种高级电机控制设备,发挥着举足轻重的作用。VFD通过改变供给到电动机的频率和电压,实现对
    的头像 发表于 06-25 14:53 570次阅读

    变频驱动器VFD的工作原理和特点

    变频驱动器(VFD)是一种高级电机控制设备,其全称为Variable Frequency Drive,即变频驱动器。VFD在工业应用中具有广泛的用途,它可以通过改变供给到电动机的频率和
    的头像 发表于 06-20 11:32 1629次阅读

    PLC控制电动机正反转电路的工作原理

    在工业自动化控制中,电动机作为动力源,其正反转控制是常见的控制需求。传统的电动机正反转控制主要依
    的头像 发表于 06-17 09:37 1749次阅读

    PLC和变频如何控制电动机

    在现代工业自动化领域中,电动机作为动力源,其运行状态的调控至关重要。而PLC(可编程逻辑控制器)与变频的结合,为实现电动机的高效、精准控制
    的头像 发表于 06-12 14:43 870次阅读

    硬件模块---L298N电机控制模块实现方法

    峰值电流可达3A,持续工作电流为2A;额定功率25W。内含两个H桥的高电压大电流全桥式驱动器,可以用来驱动直流电动机和步进电动机、继电器线圈等感性负载;采用标准逻辑电平信号
    的头像 发表于 05-11 09:20 6622次阅读
    硬件模块---<b class='flag-5'>L298N</b>电机<b class='flag-5'>控制</b>模块实现方法

    智能矿用电动机保护应该怎么选

    安科瑞 邹玉丽 摘要 :介绍了矿用电动机智能综合保护系统的总体结构,采用直接将交流信号整流、滤波、调理、采样的方式变为微控制器能够识别的直流信号,通过对微控制器采集到的直流信号编程判
    的头像 发表于 05-10 14:18 298次阅读
    智能矿用<b class='flag-5'>电动机</b>保护<b class='flag-5'>器</b>应该怎么选

    安科瑞智能电动机/马达保护在煤矿内的应用分析

    摘要 :介绍了矿用电动机智能综合保护系统的总体结构,采用直接将交流信号整流、滤波、调理、采样的方式变为微控制器能够识别的直流信号,通过对微控制器采集到的直流信号编程判断来实现对
    的头像 发表于 05-10 13:30 301次阅读
    安科瑞智能<b class='flag-5'>电动机</b>/马达保护<b class='flag-5'>器</b>在煤矿内的应用分析

    选择电机驱动器需要注意什么

    电机驱动器是用于控制电动机运行的设备,它可以调节电机的速度、转矩、位置等参数,以满足不同应用场景的需求。在选择和使用电机驱动器时,通常需要考虑以下四大要点: 匹配性:电机
    的头像 发表于 02-05 11:32 935次阅读

    电动机保护的作用 电动机保护的脱扣级别如何设置

    电动机保护是一种用于保护电动机的重要设备,它在电动机运行过程中起到监测和控制的作用,可以保护电动机
    的头像 发表于 02-02 11:37 2111次阅读

    低压三相电动机控制电路电源怎么引取?

    低压三相电动机控制电路电源有相线L +中性线N取220V,还有直接取两根相线380V的,还有用控制变压
    发表于 01-09 09:50

    电动机控制电路图大全

    电动机控制电路是一种电子电路,主要用于控制电动机的运行和性能。这种电路可以通过对电机电源电压、电流和相序的控制,实现对电机的精确
    的头像 发表于 01-03 16:46 3311次阅读
    <b class='flag-5'>电动机</b><b class='flag-5'>控制</b>电路图大全

    简单认识电动机控制器

    电动机控制器(Motor Controller),也可以称作电动机驱动器(MotorDriver),是包含速度控制、力矩
    的头像 发表于 12-25 11:01 1175次阅读

    安科瑞电动机智能综合保护在煤矿内的应用分析

    摘要 :介绍了矿用电动机智能综合保护系统的总体结构,采用直接将交流信号整流、滤波、调理、采样的方式变为微控制器能够识别的直流信号,通过对微控制器采集到的直流信号编程判断来实现对
    的头像 发表于 11-25 09:58 340次阅读
    安科瑞<b class='flag-5'>电动机</b>智能综合保护<b class='flag-5'>器</b>在煤矿内的应用分析