文章说明:

名词概念(为了方便易懂,我就通俗的表达):

  逻辑电压:控制板子执行程序的电压。

  驱动电压:输出口AB的电压。

  逻辑电流:驱动板执行程序的电流。

  驱动电流:输出口AB的电流。

本人调试此款L298N,只调试过3.3V(小于5v的驱动电压下面都统称小于5v),7.4v,12v,24v(大于5v的驱动电压都统称大于5v)这4个档位的电压,此外调试时没测试过电流大小,只知道L298N最大功率为25w,最大驱动电流为2A。

简单介绍L298N板载位置的各个名称

简单的端子和接口介绍:

一、12v供电:

  理论上最高可以接入35v(没试过最低和最高的电压,此处是某宝卖家提供的参数),购买直流电机前,先看清楚直流电机的相关参数和性能,如果满足L298N的使用要求,再进行购买使用,否则容易烧毁L298N。

  从12v供电口进去的电,就是输出AB口的电压。但在介绍板载5v跳帽时,会说明当输入电压小于5v和大于5v的情况。

二、供电GND:

  顾名思义,接地线。但要注意的是,此处GND不但要接驱动电源的GND,如果是和别的单片机或者其他系统连接在一起的时候一定要从这里再引出一根GND和单片机或者系统的GND相连。即整个系统的GND连接在一起,如果不连接在一起,电压没有参考电平,无法进行正常的控制。

三、5v供电:

  这是一个特殊的端口。既可以做L298N的逻辑电压的输入,也可以做外部单片机或系统的5v供电口。具体切换在板载5v跳帽中介绍。

四、板载5v跳帽:

  12v供电口接≥5V的电源电压时,板载5v跳帽不拔除,5v供电口有电压输出。数值具体大小自己用万用表测,反正当12v口接7.4v时,5v供电口是输出5v的。

  12v供电口≤5v的电源电压时,板载5v跳帽需要拔除,因为L298N需要逻辑驱动电压来驱动板子。此时5v供电口就变成了L298N的逻辑电压供电的输入口。供电电压在3.3v -5v之间。

四、通道AB使能跳帽:

  需要PWM控制就拔除不需要PWM控制就不用拔除(老玩家就别管这句话了,就算不拔除也可以做到PWM调试的,应该懂的都懂)。

  PWM控制对于电机而言表现出来现象的就是转速控制,在Arduino里用analogWrite(Pin,Value)语句来实现 [Pin(对应的针脚),Value(0-255之间的整型数字)]

五、逻辑输入:

  IN1IN2为一组,对应OutA(输出A);

  IN3IN4为一组,对应OutB(输出B)。

六、输出AB:

  直接接相应的输出即可。

通道AB使能(AB两个跳帽一起拔除)拔除的Arduino代码:

 1 int Right_motor = 12;       // IN1接Arduino板子上数字针脚12;
2 int Right_motor_1 = 11; // IN2接Arduino板子上数字针脚11;
3 int ENA = 10; // 使能针脚接Arduino板子上PWM口10;
4
5 void setup(){
6 pinMode(Right_motor, OUTPUT); // 定义输入输出;
7 pinMode(Right_motor_1, OUTPUT);
8 }
9
10 void Run_B(){ // 前进 L298N拔掉跳帽(注意AB两端都要拔掉);同时当L298N是外部供电的情况下,L298N的GND端口要和Arduino的GND连线
11 digitalWrite(Right_motor, HIGH);
12 digitalWrite(Right_motor_1, LOW);
13 analogWrite(ENA, 200);
14 }
15
16 void Stop(){ // 停止
17 digitalWrite(Right_motor, HIGH);
18 digitalWrite(Right_motor_1, LOW);
19 analogWrite(ENA, 0);
20 }
21
22 void loop()
23 {
24 Run_B();
25 }

通道AB使能(AB两个跳帽一起不拔除)不拔除的Arduino代码:

 1 int Right_motor = 12;       // IN1接Arduino板子上数字针脚12;
2 int Right_motor_1 = 11; // IN2接Arduino板子上数字针脚11;
3
4 void setup(){
5 pinMode(Right_motor, OUTPUT); // 定义输入输出;
6 pinMode(Right_motor_1, OUTPUT);
7
8 }
9
10 void Run_B(){ // 前进 L298N不拔掉跳帽用这个(注意两端都不拔除);同时当L298N是外部供电的情况下,L298N的GND端口要和Arduino的GND连线
11 digitalWrite(Right_motor, HIGH);
12 digitalWrite(Right_motor_1, LOW);
13 }
14
15 void Stop(){ // 停止
16 digitalWrite(Right_motor, LOW);
17 digitalWrite(Right_motor_1, LOW);
18 }
19
20 void loop()
21 {
22 Run_B();
23 }

不拔除AB使能跳帽,做到PWM调速:

 1 int Right_motor = 12;       // IN1接Arduino板子上数字针脚12;
2 int Right_motor_1 = 11; // IN2接Arduino板子上数字针脚11;
3
4 void setup(){
5 pinMode(Right_motor, OUTPUT); // 定义输入输出;
6 pinMode(Right_motor_1, OUTPUT);
7 }
8
9 void Run_A(int val){ // 前进 L298N接使能跳帽用这个;同时当L298N是外部供电的情况下,L298N的GND端口要和Arduino的GND连线
10 analogWrite(Right_motor,val);
11 analogWrite(Right_motor_1,0);
12 }
13
14 void Stop(){ // 停止
15 analogWrite(Right_motor,0);
16 analogWrite(Right_motor_1,0);
17 }
18
19 void loop()
20 {
21 Run_A(200);
22 }

最新文章

  1. 自建Ceph存储与 AWS、阿里云、腾讯云的成本对比
  2. CAST function should support INT synonym for SIGNED. i.e. CAST(y AS INT)
  3. JQuery Datatables服务器端处理示例
  4. Visual Studio 2012中Visual Assist破解办法
  5. hdu 5761 Rowe Bo 微分方程
  6. JNA参数传递问题,Java数组
  7. 在hibernate中使用c3p0数据源
  8. 【SCOI2008】着色方案
  9. 万能选项卡,tab选项卡
  10. 使用图片地图减少HTTP请求数量
  11. linux字符集介绍及解决中文乱码实战
  12. centos7zabbix-agen安装
  13. Angular: 执行ng lint后如何快速修改错误
  14. [PHP]flock文件IO锁的使用
  15. vim选中多行缩进(python多行缩进)与删除多行前面的空格
  16. airbnb 开源reAir 工具 用法及源码解析(一)
  17. python中发送post请求时,报错“Unrecognized token 'xxxx': was expecting ('true', 'false' or 'null')”
  18. Linux 根据PID找到相应应用程序的运行目录
  19. python面试十题
  20. Linux新建用户没有设置密码

热门文章

  1. maevn的nexus私库搭建
  2. 使用 DataX 增量同步数据(转)
  3. 性能基准DevOps之如何提升脚本执行效率
  4. Linux小白基础命令操作
  5. c语言:scanf()高级应用
  6. centos7 PostgreSQL_12.7安装-TimeScaleDB_2.01插件安装
  7. Java学习之注解篇
  8. Python基础之魔术方法(一个序列容器的魔术方法)
  9. c#链接MySql数据库方法
  10. 【阅读笔记】Java核心技术卷一 #1.Chapter3