首页 > 其他分享 >【嵌入式DIY实例-ESP32篇】-物联网实时电池电流和功率监控

【嵌入式DIY实例-ESP32篇】-物联网实时电池电流和功率监控

时间:2024-08-11 20:26:47浏览次数:15  
标签:MOSFET ESP32 实时 嵌入式 DIY 电压 电流 电池

物联网实时电池电流和功率监控

文章目录


锂离子电池是消费电子产品中最受欢迎的电池。然而,无论是新手还是经验丰富的工程师和爱好者,在选择适合他们项目的电池时都会面临问题。一个主要问题是制造商关于电池容量的声明通常不准确。

为了解决这个问题,本文尝试构建了一个基于ESP32微控制器板的设备。在项目中,使用了一个N通道MOSFET来将电能以热的形式耗散。

控制算法不是一个完美的PID(比例-积分-微分),但包括了比例控制。我们可以使用ESP32本身托管的网页来控制整个设备,它还具有一个0.96英寸的OLED显示屏,用于实时显示多个参数。

1、硬件准备与接线:

测量电流的最简单方法是绘制电压与电流消耗的关系图。在现实世界的场景中,电池电压在负载下会显著下降,电流可能会减少(在电阻性负载的情况下)或增加(如果负载设计为从电源抽取恒定功率)。

我们可以使用一个技巧来简化这个过程:如果我们从电池中抽取恒定的1A电流,我们只需要测量它能提供该电流的时间。时间以小时为单位,将直接给出电池的容量,单位是安培小时(Ah)。

这简化了我们的问题:我们需要一个电路,在所有电压水平下从电池中抽取1A电流。我们通过在一个主动区域(也称为电阻区域)驱动MOSFET来实现这一点。在这个区域中,MOSFET充当电压控制的电流源。通过调整栅极电压,我们可以控制电流。尽管通常需要ADC,但我们可以创建一个PWM信号,通过低通滤波器产生电压,从而避免使用ESP32的DAC。这种方法避免了由于电流峰值而损坏ESP32的风险。

本次实例将使用到如下硬件模块:

标签:MOSFET,ESP32,实时,嵌入式,DIY,电压,电流,电池
From: https://blog.csdn.net/wujuxKkoolerter/article/details/141111085

相关文章

  • 嵌入式初学-C语言-二十
    通过指针引用数组数组元素的指针数组指针:        数组中第一个元素的地址,也就是数组的首地址指针数组:        用来存放数组元素地址的数组,称之为指针数组//定义一个一般数组inta[]={1,4,9};//使用指针变量存储数组的第一个元素的首地址,也就是......
  • 记录5:ESP32S3的usb使用
    0、前期准备1、会使用idf开发环境2、懂得kconfig1、知识储备1.1概述​TingUSB是一个开源的跨平台的USB主机/设备的usb协议栈,常用在mcu开发平台,由于不采用动态分配内存以及阻塞所有中断事件,将中断事件要处理的事情都放在,非中断函数中处理,因此该usb栈内存设计非常安全......
  • 记录3:ESP32-C3的串口使用
    0、前期准备1、参考首篇文章搭建好esp32环境2、准备好一块esp32开发开发板(本作者使用了esp32c3作为开发平台)1、知识储备1.1概述​UART称为通用异步收发器,可以进行全双工/半双工数据通讯数据通讯,通讯距离取决于上拉驱动能力、波特率,一般只在电路板上使用,如果需要长距......
  • 嵌入式硬件操作接口实现分享
    一、前言以STM32为例,打开网络上下载的例程或者是购买开发板自带的例程,都会发现应用层中会有stm32f10x.h或者stm32f10x_gpio.h,这些文件严格来时属于硬件层的,如果软件层出现这些文件会显得很乱。使用过Linux的童鞋们肯定知道linux系统无法直接操作硬件层,打开linux或者rt_threa......
  • 嵌入式初学-C语言-十九
    指针的引入为函数修改实参提供支持为动态内存管理提供支持为动态数据及结构提供支持为内存访问提供另一种途径指针的概述内存地址:系统为了内存管理的方便将内存划分为一个个内存单元(一个内存单元占一个字节),并为每一个内存单元进行了编号,内存单元的编号称为该内存单元的地址......
  • 【迅为电子】IMX6ULL开发板嵌入式linux开发指南第七章 Linux 常用命令第一部分
        物联网时代,各种传感器的采集和处理技术是需要我们掌握的,迅为IMX6ULL开发板标配了各种传感器设备,包括陀螺仪、重力加速度计和光传感器、红外接收、EEPROM存储,也可以选配温湿度传感器,其他如摄像头(含CMOS和USB两种)、VGA显示、GPS定位功能、RFID门禁、继电器输出、步进电......
  • 一个企业级的免费开源商城系统,无需专业编程知识,可视化DIY拖拽装修、包含PC、H5、多端
    前言在电子-商务领域,企业经常面临诸多挑战,如高昂的开发成-本、缺乏灵活性、以及难以满足个性化需求等。现有的商城软件往往功能固定,难以适应快速发展和变化的电商环境。为了解决这些痛点,需要一款灵活、可定制且易于扩展的商城系统,能够快速响应市场变化,满足不同企业的独特需求......
  • 嵌入式初学-C语言-十八
    #接嵌入式初学-C语言-十七#变量的生命周期1.概念:变量在程序运行中存在的时间2.根据变量存在的时间不同,变量可分为静态存储和动态存储 3. 变量的存储类型变量的完整定义格式:[存储类型]数据类型变量列表;  4.存储类型auto:存储类型只能修饰局部变量,被修饰的局......
  • 【北京迅为】《stm32mp157开发板嵌入式linux开发指南》第四章 Ubuntu 启用 root 用户
         iTOP-STM32MP157开发板是基于意法半导体STARM双Cortex-A7核加单Cortex-M4核的一款多核异构处理器。Cortex-A7内核提供对开源操作系统Linux的支持,借助Linux系统庞大而丰富的软件组件处理复杂应用。M4内核上运行对于实时性要求严格的应用。        开发板既有......
  • 嵌入式实时操作系统(RT-Thread、FreeRTOS、UCOSIII)
    实时操作系统(RT-Thread、FreeRTOS、UCOSIII)文章目录`实时操作系统(RT-Thread、FreeRTOS、UCOSIII)``专有名词概念``1、什么是嵌入式``嵌入式系统的特点``2、什么是实时``3、什么是操作系统``操作系统主要功能和特性``常见的操作系统类型包括``4、嵌入式实时操作系统``关......