Arduino 使用L298N(红板) 驱动直流电机


版权声明:本文为博主原创文章,未经博主允许不得转载。

发布

实例效果

使用L298N驱动模块,驱动2个直流电机,可分别实现正转,反转功能。

/

元件说明

主要功能是2路驱动直流电机。

/

模块名称 双H桥电机驱动模块 工作模式 H桥驱动(双路)
主控芯片 L298N 包装形式 9个盒装出货
逻辑电压 5V 驱动电压 5V-35V
逻辑电流 0mA-36mA 驱动电流 2A(MAX单桥)
存储温度 -20℃ 到 +135℃ 最大功率 25W
重量 30g 外围尺寸 434327mm

★ 本模块使用L298N作为主驱动芯片,具有驱动能力强,发热量低,抗干扰能力强的特点。

★ 本模块可以使用内置的78M05通过驱动电源部分取电工作,但是为了避免稳压芯片损坏,当使用大于12V驱动电压的时候,请使用外置的5V逻辑供电。

★ 本模块使用大容量滤波电容,续流保护二极管,可以提高可靠性。

引脚说明

/

BOM表

Arduino UNO x 1
L298N驱动模块 x 1
直流电机 x 2
9V电池 x1
USB数据线 x 1
跳线 若干

接线

/注意:如果电压不够,电机有可能不会转哦,所以要外置7V-12V电源。

程序代码

把程序上传到主板上,接上外部电源,电机就转起来了。

这里选用IO口(引脚)为5,6,9,10,这四个均支持PWM的IO口,

可以通过占空比代码实现控制转动速度的快慢。

//LingShun Lab

int input1 = 5; // 定义uno的pin 5 向 input1 输出 
int input2 = 6; // 定义uno的pin 6 向 input2 输出
int input3 = 9; // 定义uno的pin 9 向 input3 输出
int input4 = 10; // 定义uno的pin 10 向 input4 输出

void setup() {
//  Serial.begin (9600);
//初始化各IO,模式为OUTPUT 输出模式
pinMode(input1,OUTPUT);
pinMode(input2,OUTPUT);
pinMode(input3,OUTPUT);
pinMode(input4,OUTPUT);

}

void loop() {
  //forward 向前转
  digitalWrite(input1,HIGH); //给高电平
  digitalWrite(input2,LOW);  //给低电平
  digitalWrite(input3,HIGH); //给高电平
  digitalWrite(input4,LOW);  //给低电平
  delay(1000);   //延时1秒

 //stop 停止
 digitalWrite(input1,LOW);
 digitalWrite(input2,LOW);  
 digitalWrite(input3,LOW);
 digitalWrite(input4,LOW);  
 delay(500);  //延时0.5秒

  //back 向后转
  digitalWrite(input1,LOW);
  digitalWrite(input2,HIGH);  
  digitalWrite(input3,LOW);
  digitalWrite(input4,HIGH);  
  delay(1000);    

}

本实例打包下载地址:

https://u16460183.ctfile.com/fs/16460183-295173804