Arduino驱动L298N控制直流电机的正反转和调速

一、前言

本模块使用ST公司的L298N作为主驱动芯片,具有驱动能力强,发热量低,抗干扰能力强的特点。LN298N可以用来驱动直流电机和步进电机、继电器线圈等感性负载;采用标准逻辑电平信号控制;具有两个使能控制端,在不受输入信号影响下允许或禁止器件工作有一个逻辑电源输入端,使内部逻辑电平在低电压下工作。模块使用大容量滤波电容,续流保护二极管,可以提高可靠性。
在这里插入图片描述

二、产品参数

1.驱动芯片:L298N 双 H 桥直流电机驱动芯片
2.驱动部分端子供电范围 Vs:+5V~+35V ; 如需要板内取电,则供电范围 Vs:+7V~+35V
3.驱动电流 :2A
4.逻辑部分端子供电范围 Vss:+5V~+7V(可板内取电+5V)
5.逻辑部分工作电流范围:0~36mA
6.控制信号输入电压范围:
低电平:-0.3V≤Vin≤1.5V
高电平:2.3V≤Vin≤Vss
7.使能信号输入电压范围:
低电平:-0.3≤Vin≤1.5V(控制信号无效)
高电平:2.3V≤Vin≤Vss(控制信号有效)
8.最大功耗:25W(温度 T=75℃时)
9.存储温度:-20℃~+135℃

三、驱动直流电机

1.控制直流电机正反转的状态图如下:

在这里插入图片描述
2.对直流电机进行 PWM 调速,设置 IN1 和 IN2信号分别为0,1,电机的转动方向为反转,然后对使能端输出 PWM 脉冲,即实现直流电机的速度从小到大调速。
3.利用电位器读取值实现脉宽调制调速。

三、接线图

Arduino L298N 直流电机 电位器模块 电源
9 ENA - - -
8 IN1 - - -
5V - - V -
GND GND - GND GND
A0 - - S -
- Out1 任意引脚 - -
- Out2 任意引脚 - -
- +12V - - 9V

四、程序

 #define ENA 9
#define IN1 8
#define IN2 7
void setup()
{
    
    
pinMode(ENA,OUTPUT);
pinMode(IN1,OUTPUT);
pinMode(IN2,OUTPUT);
Serial.begin(9600);
}
void loop()
{
    
    
//Pos_NegRotation();//控制电机正反转
//PWMcontrol();//脉宽调制速度从小到大
Potentiometer();//利用电位器读取实现脉宽调制调速
}
void Pos_NegRotation()//控制电机正反转
{
    
    
analogWrite(ENA,60);
digitalWrite(IN1,HIGH);//反转2秒
digitalWrite(IN2,LOW);
delay(2000);
digitalWrite(IN1,HIGH);//刹车停2秒
digitalWrite(IN2,HIGH);
delay(2000);
digitalWrite(IN1,LOW);//正转2秒
digitalWrite(IN2,HIGH);
delay(2000);
digitalWrite(IN1,LOW);//刹车2秒
digitalWrite(IN2,LOW);
delay(2000);
}
void PWMcontrol()//脉宽调制速度从小到大
{
    
    
int i;
digitalWrite(IN1,LOW);//反转
digitalWrite(IN2,HIGH);
for(i=0;i<=255;i++)
{
    
    
 Serial.print("Value_i=");
 Serial.println(i);
 analogWrite(ENA,i);
 delay(20);
 }
digitalWrite(IN1,HIGH);//刹车停2秒
digitalWrite(IN2,HIGH);
delay(2000); 
}
void Potentiometer()//利用电位器读取值实现脉宽调制调速
{
    
    
int pValue=analogRead(A0);
//读取电位器的数值:0-1023
int PWMout=map(pValue,0,1023,0,255);
//把0-1023的数值映射 到0-255 
Serial.print("PWMot=");//串口打印数值
Serial.println(PWMout);
analogWrite(ENA,PWMout);
//把获得的0-255数值写入使能口=D9
digitalWrite(IN1,HIGH);//反转1秒
digitalWrite(IN2,LOW);
delay(1000);
}

五、实验结果

电机正反转:
在这里插入图片描述

脉宽调速串口显示:
在这里插入图片描述
电位器调速:

在这里插入图片描述

在这里插入图片描述

总结

注意:Arduino 、L298N、电位器和电源要共地。

猜你喜欢

转载自blog.csdn.net/qq_42250136/article/details/130420008