当前位置:首页 > 技术学院 > 技术前线
[导读]在嵌入式物联网开发中,电池电量采集是诸多便携设备、物联网终端的核心功能,而模数转换器(ADC)则是实现模拟电压采集的标配外设。但在部分低成本国产主控芯片方案中,受芯片规格限制,部分MCU并未集成ADC外设,如何利用现有资源实现电量采集成为了开发中的关键问题。PWM(脉宽调制)实现模拟ADC采集,正是在这一场景下诞生的低成本解决方案,它仅依靠两个GPIO引脚与一个运算放大器,就能实现电压到数字量的转换,为无ADC芯片的电量测量提供了可行路径。

在嵌入式物联网开发中,电池电量采集是诸多便携设备、物联网终端的核心功能,而模数转换器(ADC)则是实现模拟电压采集的标配外设。但在部分低成本国产主控芯片方案中,受芯片规格限制,部分MCU并未集成ADC外设,如何利用现有资源实现电量采集成为了开发中的关键问题。PWM(脉宽调制)实现模拟ADC采集,正是在这一场景下诞生的低成本解决方案,它仅依靠两个GPIO引脚与一个运算放大器,就能实现电压到数字量的转换,为无ADC芯片的电量测量提供了可行路径。

一、核心原理:数字与模拟的巧妙转换

PWM实现ADC采集电量的核心逻辑,是通过占空比调节产生可变化的平滑直流电压,再通过比较器与被测电压进行对比,最终从翻转时刻的占空比计算出被测电压值,本质是利用数字PWM的可调特性反向实现模拟电压的测量。

1.1 PWM的基础特性

PWM即脉宽调制,是一种周期固定、高电平宽度可调的数字方波信号,其核心参数为频率与占空比。占空比指的是一个周期内高电平持续时间占总周期的比例,取值范围为0到1。当PWM经过滤波电路后,输出的平均电压满足公式: Vout = Vcc × D其中Vcc是PWM的高电平幅值,D为当前占空比。由此可见,只要精准调节占空比D,就能得到0到Vcc之间任意数值的直流输出电压,这是PWM能够实现ADC功能的基础。

1.2 逐次比较的测量逻辑

PWM模拟ADC采用逐次比较的测量思路:首先通过积分滤波电路将可调占空比的PWM波转换为平滑直流电压Vpwm,将被测电池电压经过分压处理后得到Vtest,将两个电压分别接入电压比较器的两个输入端;然后软件从低到高(或从高到低)逐步调节PWM的占空比,改变Vpwm的大小;当Vpwm从低于Vtest变为高于Vtest时,电压比较器的输出电平会发生翻转,此时记录下当前PWM的占空比D,就能根据公式反向计算出Vpwm,再结合分压比例就能得到被测电池的实际电压,最终根据电压与电量的对应关系换算出剩余电量。

这种实现方式完全模拟了传统逐次逼近型ADC的工作逻辑,只不过将DAC部分用PWM+积分电路替代,用软件逐次调节替代了硬件电阻网络,在成本上有着天然的优势。

二、硬件设计:两大核心模块的实现

PWM模拟ADC的硬件电路十分简洁,主要由积分滤波电路与电压比较器两部分组成,二者配合实现PWM到直流电压的转换与电平比较功能。

2.1 积分滤波电路:从方波到平滑直流

PWM本身是高频方波,无法直接与被测电压进行比较,必须经过滤波转换为稳定的直流电压。为了得到足够平滑的输出,通常采用三阶RC积分电路,利用电容电压不能突变的特性,对PWM的高频波动进行平滑处理。

以振幅3.3V、频率100kHz、占空比70%的PWM输入为例,理论计算得到输出直流电压为3.3V×70%=2.31V,经过三阶积分电路仿真后,实际输出直流电压为2.325V,误差不到0.7%,足以满足电池电量采集的精度要求。如果追求更小的纹波,可以适当增大RC的时间常数,或是增加滤波级数,但会降低响应速度,需要根据实际应用场景做平衡。

为了保证被测电压的稳定性,通常还会在被测电压的输出端增加一个滤波电容,让被测电平更加平稳,避免电压波动导致比较器误翻转,提升采集结果的稳定性。

2.2 电压比较器:电平翻转的判断核心

电压比较器的作用是判断PWM输出电压与被测电压的大小关系,当二者大小关系变化时,输出电平发生翻转,为软件提供触发信号。在实际电路设计中,通常会对被测高电压进行分压处理,比如将电池电压分压为原电压的三分之一,再与PWM输出电压进行比较,适配PWM的输出电压范围。

比较器电路中会增加一个上拉电阻提升输出驱动能力,保证电平翻转时能被MCU的GPIO正确识别。软件会将比较器的输出引脚配置为外部中断,当电平发生翻转时立即触发中断,记录当前PWM的占空比,完成一次采集过程。

三、软件设计:逐次调节与误差优化

硬件搭建完成后,软件的控制逻辑决定了采集的精度与速度,核心是PWM输出的精确控制与中断触发的处理。

3.1 PWM输出的实现

大多数MCU都支持硬件PWM输出,能够直接生成频率稳定、占空比精确可调的PWM波,比如君正X1000芯片可以直接调用芯片的PWM外设接口输出稳定波形。如果芯片没有硬件PWM,也可以通过GPIO模拟实现:通过定时器控制GPIO输出高低电平,手动计算占空比,同样能满足基础采集需求。

在实际代码设计中,通常会对采集参数进行宏定义,方便根据需求调整精度与速度,例如以下典型的参数定义:

#define PWM_FREQ (140 * 1000) // PWM采样频率

#define PWM_STABLE_TIME_US 200 // 电压稳定等待时间

#define PWM_SAMPLE_TIMES 3 // 采样次数

#define PWM_DUTY_NS_STEP 30 // 每次占空比调节步长

频率、步长等参数直接决定了采集精度:调节步长越小,最终得到的占空比越精确,测量误差就越小,但采集一次的时间也会更长,需要根据产品对响应速度与精度的要求做权衡。当前该方案默认精度约为50mV,足以满足普通消费电子的电量采集需求,如果需要更高精度,只需要缩小占空比调节步长即可。

3.2 误差优化策略

PWM模拟ADC inherently 存在一定误差,通过软件与硬件结合的优化方法,可以有效提升采集精度: 首先是多次采集求平均,通过多次重复采集过程,得到多个电压值后取算术平均,可以有效滤除随机噪声带来的误差,提升结果稳定性;其次是硬件稳压,在被测电路增加滤波电容,减少电压波动;最后是进行零点与满量程校准,通过测量已知标准电压得到误差校准参数,在实际计算中对结果进行补偿,可以将系统误差降低到可接受范围。

四、两种PWM应用场景的对比

需要说明的是,PWM在ADC电量采集中存在两种完全不同的应用场景,除了本文介绍的"无ADC芯片模拟ADC功能"的方案外,另一种常见应用是PWM触发ADC采样,即在自带ADC的芯片中,利用PWM的特定时序触发ADC启动采样,保证采样时刻与PWM周期同步,常用于电机控制、电池管理等对时序要求较高的场景。

两种应用的区别十分清晰:模拟ADC方案是用PWM替代ADC实现采集功能,适合无ADC的低成本方案;而PWM触发ADC是利用PWM的同步特性提升原生ADC的采样精度,二者底层逻辑不同,但都充分发挥了PWM在数字模拟转换中的桥梁作用。

五、方案优缺点与适用场景

PWM实现ADC采集电量作为一种低成本替代方案,有着鲜明的优缺点:优势在于硬件成本极低,只需要两个GPIO与一个廉价运算放大器就能实现,不需要额外增加ADC芯片,适合对成本敏感的低端便携产品;缺点在于采集速度较慢,单次采集需要多次调节占空比,精度也低于原生ADC,无法满足高速高精度的采集需求。

在实际产品开发中,该方案广泛应用于低成本遥控器、简单物联网传感器、一次性便携设备等对成本敏感、对电量采集精度要求不高的场景。随着国产芯片成本的不断下探,集成ADC的MCU价格已经越来越低,但PWM模拟ADC的思路依然为特殊场景下的开发提供了一种灵活的解决方案,展现了嵌入式开发中软硬件结合解决问题的思路。

PWM实现ADC采集电量,是嵌入式开发中"用软件换硬件、用时间换功能"的典型案例,它通过巧妙的原理设计,在有限的硬件资源上实现了所需的功能,为低成本开发提供了新的思路。理解这一方案的核心原理,不仅能帮助开发者在遇到无ADC场景时快速解决问题,更能加深对数字信号与模拟信号转换本质的理解,在后续开发中灵活运用基础模块,实现更多创新的解决方案。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除( 邮箱:macysun@21ic.com )。
换一批
延伸阅读

脉冲宽度调制(PWM)是嵌入式系统、电源控制、电机驱动等领域应用最广泛的调制技术,传统PWM设计通常采用固定频率输出,依靠调整占空比实现功率调节。但在实际应用中,固定频率PWM存在电磁干扰集中、谐振激发、音频噪声明显等痛...

关键字: PWM EMC

在单片机嵌入式开发中,PWM(脉冲宽度调制)是最常用的功能之一,从电机调速、LED调光到电源控制、信号输出,都离不开PWM信号的应用。而PWM信号的核心参数——频率与分辨率,都直接和单片机的系统时钟频率绑定,很多初学者刚...

关键字: 单片机时钟 PWM

在电机驱动、开关电源、LED调光这些场景中,PWM(脉冲宽度调制)是最常用的功率调节方式,但PWM天生带有开关纹波,必须加滤波电路才能输出平滑的电压/电流。很多开发者为了滤除纹波绞尽脑汁:加大电容、增加电感、多阶滤波,结...

关键字: PWM 滤波

伺服驱动、光伏逆变器和数字电源等实时控制系统中,DSP芯片的ADC外设承担着将模拟信号“转译”为数字世界的重任。电流采样精度直接影响电机控制环路质量,电压检测分辨率则关乎逆变器输出波形质量。然而,采样率、分辨率与通道数三...

关键字: ADC DSP

本实验的目的是制作一个电压表,使用RT-Thread RT-Spark开发板(STM32F407ZGT6)来测量CR2032纽扣电池的放电情况。

关键字: ADC 电压表 STM32F407ZGT6

上海2026年6月11日 /美通社/ -- 北京时间2026年6月11日,君实生物(1877.HK,688180.SH)控股子公司君拓生物与中国科学院微生物研究所(中科院微生...

关键字: 中科院 ADC ARMA BSP

在现代电力电子技术领域,数字电源凭借其高精度、高灵活性和智能化的优势,正逐步取代传统模拟电源,成为电源行业的主流发展方向。dsPIC33CH/dsPIC33CK系列数字电源控制器芯片,凭借其卓越的性能,在通信电源、工业电...

关键字: PWM 寄存器

现场常见的一类怪问题是,明明弱包电平还在门限之上,只要旁边突然来了个强发射,解调就先崩掉。无线通信接收机遇到这种情况,根子通常不是灵敏度不够,而是自动增益和量化动态范围没有给同场强弱信号留出正确位置。

关键字: 无线通信 AGC 接收机 ADC

在医疗电子、工业称重及环境监测等应用中,24位Sigma-Delta ADC(如ADS1256、AD7124)提供了极高的理论分辨率。然而,在实际应用中,“噪声”和“漂移”会让高分辨率沦为摆设。本文将聚焦PCB级的噪声抑...

关键字: 高精度数据采集 ADC Sigma-Delta ADC
关闭