L298P Shield 2A大电流双路直流电机驱动扩展板

外观

外观

简 介

  • L298 Shield是Arduino兼容的一款大电流电机驱动;控制端口为4个,减少对Arduino数字端口的开销,不但起到节约控制器端口,而且控制程序也更为简单。
  • 电机供电采用跳线选择Arduino VIN供电还是外接电源供电。
  • L298 Shield大功率直流电机驱动器采用LGS公司优秀大功率电机专用驱动芯片L298P,可直接驱动2个直流电机,驱动电流最大达2A。
  • 该电路线路布线合理、均采用贴元件片、体积小、方便安装,输出端采用高速肖特基二极管作为保护。

注意: IOREF引脚: 由于在V1.2版的设计中,添加了IOREF引脚,该引脚连接在5V口。因此,当DRI0009插在底层主控板上后,如果您的主控板的工作电压不是5V,如3.3V,建议您将DRI0009上的IOREF引脚用剪刀剪断,或者用用硬物划断PCB板上它们之间的接线,否则可能引起工作不正常或主控板烧坏等意外状况。如果主控板操作电压是5V,您可以放心使用。

产品参数

  • 1.逻辑部分输入电压VD:5V

  • 2.驱动部分输入电压VS:4.8~35V

  • 3.逻辑部分工作电流Iss:≤36mA

  • 4.驱动部分工作电流Io:≤2A

  • 5.最大耗散功率:25W(T=75℃)

  • 6.PWM、PLL两种驱动模式

  • 7.控制信号输入电平:

    • 高电平:2.3V≤Vin≤5V

    • 低电平:-0.3V≤Vin≤1.5V

  • 8.工作温度:-25℃~+130℃

  • 9.驱动形式:双路大功率H桥驱动

    1. Arduino控制端口:数字口4,5,6,7
  • 11.模块重量:约29g

引脚说明

L298 Shield 1.png

  • 把L298 Shield插到Arduino控制器上,程序编写也很简单, M1、M2表示2个电机;电源分别使用9V电池和电机动力电池。

注意:控制器的电源地必须和电机驱动共地。

  • 控制方式选择:分PWM模式和PLL模式。2种方式区别在于,PWM模式调速信号控制的是L298的 E1和E2使能端,PLL模式调速信号控制的是L298的M1和M2转向端。如下图所示,PLL和PWM都标注出了对应的控制引脚。出厂默认设置为PWM模式,短路帽在PWM端上。

L298 Shield 2.jpg

  • 电机端口:蓝色接线柱M1和M2分别可以接2个电机,插针1,2,3,4和蓝色接线柱功能一致。

L298 Shield 3.jpg

  • 外接电源端口:电机额定电压或电流大于Arduino最大输入时,可以使用外接电源单独给电机供电,VIN接电源正,GND接电源地。 控制信号真值表:
E1 M1 E2 M2
L X 电机1控制禁止 H H 电机2控制禁止
H H 电机1反转 H H 电机2反转
H L 电机1正转 H L 电机2正转
PWM X 对电机1调速 PWM X 对电机2调速

注:H表示高电平1;L表示低电平0;PWM表示脉宽调制信号;X表示任意电平。

"PWM 模式"
引脚 功能
数字脚 4 电机1转动方向控制
数字脚 5 电机1转速控制
数字脚 6 电机2转速控制
数字脚 7 电机2转动方向控制
"PLL 模式"
引脚 功能
数字脚 4 电机1转动控制
数字脚 5 电机1转动方向控制
数字脚 6 电机2转动方向控制
数字脚 7 电机2转动控制

使用教程
连线图

  • 外接电源与板内VIN电源选择端口:当2个短路帽插到右边时(VIN),电机电源就是使用Arduino板上VIN端输入的电源,如下图。

L298 Shield 4.jpg

  • 当2个短路帽插到左边时(PWRIN),就使用外接电源端口输入的电源,如下图。

L298 Shield 5.jpg

  • 我们可以控制M1和M2两个直流电机的正转,反转,停止,以及PWM调速。

样例代码

int E1 = 5;   
int M1 = 4;
int E2 = 6;                         
int M2 = 7;                           
void setup() 
{ 
  pinMode(M1, OUTPUT);   
  pinMode(M2, OUTPUT); 
} 
void loop() 
{ 
  int value;
  for(value = 0 ; value <= 255; value+=5) 
{ 
  digitalWrite(M1,HIGH);   
  digitalWrite(M2, HIGH);       
  analogWrite(E1, value);   //PWM调速
  analogWrite(E2, value);   //PWM调速
  delay(30); 
}  
}

结果

两个电机会同时慢慢地转动起来,而且速度越来越快。到达一定速度又会停下来,然后又会像之前一样。

疑难解答

PWM调速是通过调整空占比来模拟不同电压值,从而控制加到电机两端的电压高低来实现调速。

DF-MD V1.3 8.jpg

本文整理于DFRobot wiki

标签: Arduino传感器