当前位置:   article > 正文

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

adc模拟量

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

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

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

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

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/羊村懒王/article/detail/236616
推荐阅读
相关标签
  

闽ICP备14008679号