当前位置: 首页 > article >正文

STM32的ADC采集传感器的模拟量数据

   1、 由于项目上使用传感器采集数据,传感器可以输出模拟电压信号,但是模拟电压信号的输出范围是1-5V,而STM32的ADC采集电压范围是0-3.3V,此时可以用一个简单的分压电路将1-5V的电压将至0.5V到2.5V的范围。

2、电阻分压电路可以使用两个10K电阻串联,一端接传感器的模拟量输出端,一端接地,两个电阻的中间接ADC引脚即可。

3、ADC进行电压采集的代码如下:将采集到的电压值再经过公式转换即可得到目标物理量值

void Get_ADC_Value()
{
    HAL_ADC_Start(&hadc1);
    if(HAL_OK == HAL_ADC_PollForConversion(&hadc1,10))
    {
        ADC0_Value = HAL_ADC_GetValue(&hadc1);
//			  ADC0_Volt=ADC0_Value*200/4096+50;//扩大100倍,方便输出时计算小数(错误的公式转换)
			 ADC0_Volt=3.3*ADC0_Value/4096;//根据采样值算出采集到的电压值
			ADC0_Volt1000=ADC0_Volt*1000;//将采样电压值放大1000倍,方便后面数据显示时各个位的数据提取
			if(ADC0_Volt1000<500) CeLiang_data.LiuLiang_Value=0;//对数据做一个简单的处理,防止负数流量值的出现
			  else CeLiang_data.LiuLiang_Value=0.015*ADC0_Volt1000-7.5;//根据传感器电压和流量值的转换公式,计算出实际的流量值
    }
    HAL_ADC_Stop(&hadc1);
}


http://www.kler.cn/a/227301.html

相关文章:

  • 【数据分享】1929-2023年全球站点的逐日降雪深度数据(Shp\Excel\免费获取)
  • hyperf 二十四 模型缓存
  • LabVIEW电能质量监测系统
  • 【c++】vector用法详解
  • 2024.2.3
  • SparkStreaming---入门
  • 深搜问题:猴群
  • Matplotlib绘制炫酷散点图:从二维到三维,再到散点图矩阵的完整指南与实战【第58篇—python:Matplotlib绘制炫酷散点图】
  • 计算机网络_1.6.1 常见的三种计算机网络体系结构
  • mysql 删除分区表数据
  • 17.Golang channel的基本定义及使用
  • linux中如何输入控制字符
  • Codeforces Round 891 (Div. 3)补题
  • 聊聊比特币----比特币地址
  • [C语言]结构体初识
  • 如何使用 Google 搜索引擎保姆级教程(附链接)
  • Vite 的全景:颠覆前端开发的新潮流
  • Java自救手册
  • 后端登录校验
  • 前端工程化之:webpack3-1(css工程化概述)