L298N的接线和详细使用方法
文章说明:
名词概念(为了方便易懂,我就通俗的表达):
逻辑电压:控制板子执行程序的电压。
驱动电压:输出口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之间的整型数字)]
五、逻辑输入:
IN1和IN2为一组,对应OutA(输出A);
IN3和IN4为一组,对应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 }
L298N的接线和详细使用方法的更多相关文章
- PL/SQL Developer 连接Oracle数据库详细配置方法
PL/SQL Developer 连接Oracle数据库详细配置方法 近段时间很多网友提出监听配置相关问题,客户终端(Client)无法连接服务器端(Server).本文现对监听配置作一简单介绍,给出 ...
- NUnit详细使用方法
http://www.ltesting.net/ceshi/open/kydycsgj/nunit/ http://nunit.org/index.php?p=download NUnit详细使用方法 ...
- Html Mailto标签详细使用方法
http://www.360doc.com/content/09/0805/14/16915_4684377.shtml Html Mailto标签详细使用方法 Html中mailto标签是一个非常实 ...
- 使用phpExcelReader操作excel提示The filename *.xls is not readable的详细解决方法
使用phpExcelReader操作excel提示The filename *.xls is not readable的详细解决方法 是xls文件有问题,另存为新的xls文件,然后导入就不会有这个问题
- python简介及详细安装方法
1.Python简介 1.1 Python是什么 相信混迹IT界的很多朋友都知道,Python是近年来最火的一个热点,没有之一.从性质上来讲它和我们熟知的C.java.php等没有什么本质的区别,也是 ...
- vlc 详细使用方法:libvlc_media_add_option 函数中的参数设置
vlc 详细使用方法:libvlc_media_add_option 函数中的参数设置 [转载自]tinyle的专栏 [原文链接地址]http://blog.csdn.net/myaccella/ar ...
- 【yumex图形安装双击】【转载】CentOS yum的详细使用方法
CentOS yum的详细使用方法 yum是什么yum = Yellow dog Updater, Modified主要功能是更方便的添加/删除/更新RPM包.它能自动解决包的倚赖性问题.它能便于管理 ...
- Linux下ps命令详解 Linux下ps命令的详细使用方法
http://www.jb51.net/LINUXjishu/56578.html Linux下的ps命令比较常用 Linux下ps命令详解Linux上进程有5种状态:1. 运行(正在运行或在运行队列 ...
- Mysql 死锁的详细分析方法
用数据库的时候,偶尔会出现死锁,针对我们的业务系统,出现死锁的直接结果就是系统卡顿.客户找事儿,所以我们也在想尽全力的消除掉数据库的死锁.出现死锁的时候,如果只是想解锁,用show full proc ...
随机推荐
- 通过MMIO的方式实现VIRTIO-BLK设备(一)
背景知识 什么是VIRTIO 使用完全虚拟化,Guest不加任何修改就可以运行在任何VMM上,VMM对于Guest是完全透明的.但每次I/O都将导致CPU在Guest模式与Host模式间切换,在I/O ...
- mysql,mongodb,redis区别
MongoDB: 它是一个内存数据库,数据都是放在内存里面的. 对数据的操作大部分都在内存中,但 MongoDB 并不是单纯的内存数据库. MongoDB 是由 C++ 语言编写的,是一个基于分布式文 ...
- C++11运算符重载详解与向量类重载实例(<<,>>,+,-,*等)
1. C++运算符重载介绍 C ++ 中预定义的运算符的操作对象只能是基本数据类型.但实际上,对于许多用户自定义类型(例如类),也需要类似的运算操作.这时就必须在C ++ 中重新定义这些运算符,赋予已 ...
- Windows内核开发-2-开始内核开发-2-内核开发入门
Windows内核开发-2-开始内核开发-2- 第一个驱动程序: 直接采用vs2019中的Empty WDM Driver 模块创建: 初始的项目文件夹中有一个Driver Files里面会有一个.i ...
- 【redis前传】redis整数集为什么不能降级
前言 整数集合相信有的同学没有听说过,因为redis对外提供的只有封装的五大对象!而我们本系列主旨是学习redis内部结构.内部结构是redis五大结构重要支撑! 前面我们分别从redis内部结构分析 ...
- Java基础00-Debug11
1. Debug 1.1 Debug概述 1.2 Debug操作流程 1.2.1 如何加断点 1.2.2 如何运行加了断点的程序 1.2.3 看哪里 1.2.4 点哪里 1.2.5 如何删除断点 多个 ...
- Dijkstra和堆优化
Dijkstra算法 由于我之前一直记的迪杰斯特拉的翻译导致我把dijkstra写成了dijstra--所以下文#define dijstra dijkstra 我以后叫她迪杰克斯歘! Dijskra ...
- PostgreSQL-WITH AS短语
WITH提供了一种方式来书写在一个大型查询中使用的辅助语句.这些语句通常被称为公共表表达式或CTE,它们可以被看成是定义只在一个查询中存在的临时表.在WITH子句中的每一个辅助语句可以是一个SELEC ...
- 流暢的python學習-3
一.文件操作 #!/usr/bin/env python3 # -*- coding: utf-8 -*- """ Created on Thu Apr 23 20:59 ...
- SpringBoot时代背景
微服务 James Lewis Martin Fowler 2014年提出微服务完整概念,https://martinfowler.com/microservices/ In short, the m ...