STM32的基准电压是ADC进行模数转换时所使用的参考电压,通常是一个稳定的电压值,用于将模拟输入信号转换为数字输出信号。ADC的转换结果是一个数字值,该数字值与模拟输入电压和基准电压之间的比例有关。
通过基准电压进行电压检测,会使得adc读取处理后的电压数值更加稳定精确。
1、内部基准电压:
STM32芯片内部通常有一个用于校准的稳压器VREFINT,它提供了一个稳定的内部参考电压。不同型号的芯片基准电压值可能存在区别,典型值通常为1.2V左右。内部基准电压的精度较高,且不易受外部干扰,因此在一些对精度要求不高的应用场景中,可以直接使用内部基准电压。
2、外部基准电压:
通过外部硬件电路使用参考电压芯片提供,可能用于某些对ADC精度要求较高的应用场景。
配置完成后,在程序调用时需要先打开adc采样通道,再根据公式对读取的通道电压进行计算。计算出电压值后,可根据需要进行滤波得到更加精确稳定的数值。
__IO uint16_t adc_regular_value[2];
HAL_ADC_Start_DMA(&hadc1, (uint32_t *)adc_regular_value, 2);
float voltage = (float)(DIV_VOLTAGE * 1.2f / adc_regular_value[1]) * adc_regular_value[0];
//(分压系数 * 基准数值 / adc基准通道)* 电压检测通道