加入星计划,您可以享受以下权益:

  • 创作内容快速变现
  • 行业影响力扩散
  • 作品版权保护
  • 300W+ 专业用户
  • 1.5W+ 优质创作者
  • 5000+ 长期合作伙伴
立即加入

第12章-ADC采集电压和显示 基于STM32的ADC—电压采集(详细讲解+HAL库)

06/20 10:38
3371
服务支持:
技术交流群

完成交易后在“购买成功”页面扫码入群,即可与技术大咖们分享疑惑和经验、收获成长和认同、领取优惠和红包等。

虚拟商品不可退

当前内容为数字版权作品,购买后不支持退换且无法转移使用。

加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论
放大
实物图
相关方案
  • 方案介绍
  • 相关文件
  • 推荐器件
  • 相关推荐
  • 电子产业图谱
申请入驻 产业图谱

我们的智能小车用到了ADC测量电池电压的功能,这章节我们做一下。
我们的一篇在这里
第一篇
什么是ADC

百度百科介绍:
在这里插入图片描述

我们知道万用表 电压表可以测量电池,或者电路电压。那么我们是否可以通过单片机获得电压,方便我 们监控电池状态

在这里插入图片描述

如何测量我们的锂电池电压那?锂电池电压12V左右,单片机ADC最大测量电压3.3V,这里我们需要分 压电路分压。

 

在这里插入图片描述

然后我们通过电阻分压,显而易见 ADC点的电压是VBAT_IN的 五分之一

  1. 软件初始化一下ADC 。
  2. 然后注意调长一点采样时间、这样精度才会更高一点。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在adc.c文件添加ADC相关函数

在这里插入图片描述

/*******************
*  @brief  电池电压测量计算函数
*  @param  无
*  @return 小车电池电压
*
*******************/
float adcGetBatteryVoltage(void)
{
	HAL_ADC_Start(&hadc2);//启动ADC转化
	if(HAL_OK == HAL_ADC_PollForConversion(&hadc2,50))//等待转化完成、超时时间50ms
		return (float)HAL_ADC_GetValue(&hadc2)/4096*3.3*5;//计算电池电压
	return -1;
}

在main中调用显示函数显示电压

在这里插入图片描述

	sprintf((char*)OledString, "U:%.2fV", adcGetBatteryVoltage());
	OLED_ShowString(0,2,OledString,12);//这个是oled驱动里面的,是显示位置的一个函数,

然后后面继续做其他功能

联系:Q,1930299709

  • 联系方式.txt

推荐器件

更多器件
器件型号 数量 器件厂商 器件描述 数据手册 ECAD模型 风险等级 参考价格 更多信息
SN74HC14DRG3 1 Texas Instruments 6-ch, 2-V to 6-V inverters with Schmitt-Trigger inputs 14-SOIC -40 to 85

ECAD模型

下载ECAD模型
$0.51 查看
ABS07-166-32.768KHZ-T 1 Abracon Corporation IOT 32.786KHZ XTAL

ECAD模型

下载ECAD模型
$0.82 查看
MOC3063SR2M 1 Fairchild Semiconductor Corporation Triac Output Optocoupler With Zero CRSVR, 1-Element, 7500V Isolation, SURFACE MOUNT, DIP-6
$0.89 查看

相关推荐

电子产业图谱