第12章 您所在的位置:网站首页 flash选择工具的功能有哪些 第12章

第12章

2024-05-31 23:41| 来源: 网络整理| 查看: 265

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

百度百科介绍: 在这里插入图片描述 我们知道万用表 电压表可以测量电池,或者电路电压。那么我们是否可以通过单片机获得电压,方便我 们监控电池状态 在这里插入图片描述 如何测量我们的锂电池电压那?锂电池电压12V左右,单片机ADC最大测量电压3.3V,这里我们需要分 压电路分压。

在这里插入图片描述 然后我们通过电阻分压,显而易见 ADC点的电压是VBAT_IN的 五分之一

软件初始化一下ADC 。然后注意调长一点采样时间、这样精度才会更高一点。 在这里插入图片描述 在这里插入图片描述 在这里插入图片描述 在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驱动里面的,是显示位置的一个函数,

然后后面继续做其他功能



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有