深圳做网站哪个平台好,郑州外语网站建站优化,南山建网站公司,做蛋糕视频教学网站1、 由于项目上使用传感器采集数据#xff0c;传感器可以输出模拟电压信号#xff0c;但是模拟电压信号的输出范围是1-5V#xff0c;而STM32的ADC采集电压范围是0-3.3V#xff0c;此时可以用一个简单的分压电路将1-5V的电压将至0.5V到2.5V的范围。
2、电阻分压电路可以使用… 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_VoltADC0_Value*200/409650;//扩大100倍方便输出时计算小数(错误的公式转换)ADC0_Volt3.3*ADC0_Value/4096;//根据采样值算出采集到的电压值ADC0_Volt1000ADC0_Volt*1000;//将采样电压值放大1000倍方便后面数据显示时各个位的数据提取if(ADC0_Volt1000500) CeLiang_data.LiuLiang_Value0;//对数据做一个简单的处理防止负数流量值的出现else CeLiang_data.LiuLiang_Value0.015*ADC0_Volt1000-7.5;//根据传感器电压和流量值的转换公式计算出实际的流量值}HAL_ADC_Stop(hadc1);
}