L298N双路驱动直流电机方案(支持PWM+正反转)

2023-05-16

目录

写在前面(吐槽吐槽) 

正文

最后


写在前面(吐槽吐槽) 

我想要驱动两个直流电机.

直流电机,说白了,就是那种小马达,小时候玩四驱车时那种没有正负极的马达,转速快,力矩小。

比如

 

我用它带一个扇叶,就能实现正反转以及通过PWM进行调速,问题在于,这样的一个马达驱动电流竟然达到了400ma,我是主控板(stm32F103ZET6正点原子精英版),在外接12v 1A的电源适配器后,提供的5v,3.3v的电源提供的负载的最大电流也只有1.2A,排除板子本身需要200ma以上,最大提供给负载也只有1A,为这电源我折腾了不少,什么dc电压扩展板,面包电源板等等,它们驱动一个电机还好,两个电机就不行了。

最后我找了我电信的同学,成功找到答案,用可充电锂电池组提供持久的放电,才真正意义上解决电源源头的问题。。

正文

本次用的是ST的L298N,就是淘宝是能找到的那种,双路直流电机驱动板

 

怎么用呢?它有个12v Power端口的电源输入口,实际上输入7-12v都可以,如果是在这一端输入电压,同时如果你想有一个让这个L298N提供5V电源以向外输出, 则把上图的5Venable 短接。

基于网上对这资料很杂且乱,我只能实践记录操作以验证真理。

在不拔使能A的调线帽时,测试s正转 2s截止  2s反转,为了简单测试,我用arduino来测试。


void setup(){

Serial.begin(115200);
pinMode(12,OUTPUT);
  pinMode(14,OUTPUT);
}


void loop(){

digitalWrite(12,HIGH);
  digitalWrite(14,LOW);  //正转
 delay(2000);
 digitalWrite(12,LOW);   //制动
  digitalWrite(14,LOW);
   delay(2000);
    digitalWrite(12,LOW);
  digitalWrite(14,HIGH);  //反转
     delay(2000);
   
  
  
 

}

 现象正确。

在不拔控制端  也就是上图中的A ENABLE的跳线帽的情况下实现PWM去控制。

测试一个方向上转速不断增大


int A=12;
int B=14;
void setup(){

Serial.begin(115200);
pinMode(A,OUTPUT);
  pinMode(B,OUTPUT);
}


void loop(){

 
 PWM_Run_x(A,50);
  PWM_Run_x(B,0);
  delay(2000);
  
     PWM_Run_x(A,75);
    PWM_Run_x(B,0);
   delay(2000);

    PWM_Run_x(A,95);
    PWM_Run_x(B,0);
   delay(2000);


       PWM_Run_x(A,125);
    PWM_Run_x(B,0);
   delay(2000);

        PWM_Run_x(A,165);
    PWM_Run_x(B,0);
   delay(2000);

     PWM_Run_x(A,205);
    PWM_Run_x(B,0);
   delay(2000);
   
   PWM_Run_x(A,0);
   PWM_Run_x(B,0);
   delay(2000);
   
  
  
 

}

void PWM_Run_x(int pin,int val){

  analogWrite(pin, val);
}

现象正确

然后拔了A ENABLE ,则直接就不转了。这与网上的资料是有出入。

比如以下查到的资料。

 

 

最后

今天是中秋节,各位中秋快乐。。。。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

L298N双路驱动直流电机方案(支持PWM+正反转) 的相关文章

随机推荐

  • 靶机渗透练习98-hacksudo:L.P.E.

    靶机描述 靶机地址 xff1a https www vulnhub com entry hacksudo lpe 698 Description Box created by hacksudo team members mahesh paw
  • 靶机渗透练习99-hacksudo:FOG

    靶机描述 靶机地址 xff1a https www vulnhub com entry hacksudo fog 697 Description This box should be easy This machine was create
  • 通过Python调用OpenMV识别小球获取坐标

    OPenMV介绍 OpenMV是基于Python的嵌入式机器视觉模块 xff0c 目标是成为机器视觉界的 Arduino 它成本低易拓展 xff0c 开发环境友好 xff0c 除了用于图像处理外 xff0c 还可以用Python调用其硬件资
  • 基于HAL库的STM32串口中断接收16进制数据

    最近 xff0c 要弄Lora组网 xff0c 采集温湿度通过网关和ESP8266数据上传服务器 xff0c Lora的库采用hal编写 xff0c 因此要改用Hal库编写程序 ESP8266的串口中断是基于标准库编写的 xff0c 因此
  • 模仿标准库函数,利用UART_IT_RXNE和UART_IT_IDLE两个标志,写了一个hal库串口接收的程序,只用到在中断写

    突然间发现 xff0c 原来的标准库的程序 xff0c 改成hal库 xff0c 把hal库里的一些规则 形式掌握好 xff0c 只需要做一些小的改动即可 这里是串口2的接收中断的代码 xff0c 用串口1实现这个功能 xff0c 修改一下
  • RTK+GPS提高定位精度原理解析(一个小白写给另一个小白系列)

    目录 GPS定位原理回顾 RTK基本概念 RTK组成 RTK传输差分示意 RTK数据链接 坐标转换 RTK应用 后记 我们在上一篇文章导航定位系统的原理解析 xff08 一个小白写给另一个小白 xff09 中跟大家介绍了GPS定位的基本原理
  • 项目管理风险把控:三点估算法

    施工时间划分为乐观时间 最可能时间 悲观时间 乐观时间 也就是工作顺利情况下的时间为a 最可能时间 最可能时间 xff0c 就是完成某道工序的最可能完成时间m 悲观时间 最悲观的时间就是工作进行不利所用时间b 活动历时均值 或估计值 61
  • Git中 fork, clone,branch之前的区别你真的都了解了吗

    一 是什么 fork fork xff0c 英语翻译过来就是叉子 xff0c 动词形式则是分叉 xff0c 如下图 xff0c 从左到右 xff0c 一条直线变成多条直线 转到git仓库中 xff0c fork则可以代表分叉 克隆 出一个
  • 进入计算机专业学习的一些体会和思考以及今后的学习规划

    一 前言 这篇文章 xff0c 我分享了刚刚进入计算机专业学习的一些体会和思考以及今后的学习规划 xff0c 今后计划在CSDN进行学习上的反馈 xff0c 欢迎大家一起交流 xff0c 有大佬看到多多指教 x1f64f 二 体会与思考 在
  • ▲什么是类?类有什么作用?

    目录 一 什么是类 xff1f 二 类与对象是什么关系 xff1f 三 类和结构体有什么区别呢 xff1f 四 如何创建一个类 五 如何创建一个类的对象 1 对象的创建 2 创建对象的初始化 1 默认构造函数 2 普通构造函数 3 复制构造
  • 【STL】vector容器如何使用?

    文章目录 前言vector的理解vector的成员类型vector的创建vector的迭代器vector的容量vector元素访问vector的元素修改 前言 上篇博客简述了string类 xff0c 实际上就是一个用来装字符的容器 xff
  • 2022/4/9-蓝桥杯C++B组题解-G题-积木画

    宽为1 1种 xff1e a 1 61 1 宽为2 2种 xff1e a 2 61 2 宽为3 先排最左边2列 种数a 2 避免重复情况下 xff0c 排最右边1列 钟数1 这个情况种数a 2 1 61 2 先排最左边1列 种数a 1 避免
  • 动态规划算法

    一 前言 动态规划是一种常用的算法 xff0c 在算法领域十分重要 xff0c 但对于新手来说 xff0c 理解起来有一定的挑战性 xff0c 这篇博客将明确步骤来一步一步讲解动态规划到底该如何理解与运用 二 解析动态规划算法 1 特点 把
  • 常见背包问题

    一 前言 若你想学习或正在学习动态规划 xff0c 背包问题一定是你需要了解的一种题型 xff0c 并且大多数人最初都是从背包问题入坑进而打开动态规划这一大门 背包问题分为多种 xff0c 你可以先掌握最常见的主要是三类 xff1a 01背
  • 如何配置ublox ZED-F9P 高精度模块+Ntrip DTU 网络电台(连接千寻/CORS/自建站)实现网络RTK定位

    格林恩德F9P RTK模块 xff0c 集成高精度板卡 ZED F9P 可同时接收GPS 北斗 xff0c GALILEO GLONASS 卫星系统的L1 L2频点 xff0c 结合高精度天线一体化设计 xff0c 体积小 xff0c 重量
  • 快速入手优先队列

    一 理解优先队列 标准模板库 xff08 Standard Template Library STL C 43 43 功能强大 xff0c 为开发者提供了标准模板库 xff0c 其中封装了很多实用的容器 容器可以理解成能够实现很多功能的系统
  • dfs和bfs能解决的问题

    一 理解暴力穷举之dfs和bfs 暴力穷举 暴力穷举是在解决问题中最常用的手段 xff0c 而dfs和bfs算法则是这个手段的两个非常重要的工具 其实 xff0c 最简单的穷举法是直接遍历 xff0c 如数列求和 xff0c 遍历一个数组即
  • C语言中给指定的内存地址赋值(通过指针)

    应用中的实际问题 xff1a 通过I2C接口发送到MCU一个地址数据 xff08 unsigned char AdData xff0c 一个待写入数据 xff08 unsigned char DaData 希望将DaData的值写到MCU内
  • ubuntu 14.04+indigo环境下dashgo d1+lms100运行环境搭建建图

    1 设置用户的串口读取权限 sudo usermod a G dialout your user name your user name替换为实际用户名 2 安装ROS依赖包 sudo sh c 39 echo 34 deb http pa
  • L298N双路驱动直流电机方案(支持PWM+正反转)

    目录 写在前面 xff08 吐槽吐槽 xff09 正文 最后 写在前面 xff08 吐槽吐槽 xff09 我想要驱动两个直流电机 直流电机 xff0c 说白了 xff0c 就是那种小马达 xff0c 小时候玩四驱车时那种没有正负极的马达 x