我在做一个小项目,用想STM32对PH传感器采集的模拟电压值进行AD转换,但是PH传感器采集的模拟电压范围为0~5V,而开发板默认参考电压Vref+接了VDDA,也就是3.3V。我先自己做了尝试。
首先,AD转换例程上用的是ADC1通道5(PA5),我看数据手册上PA5属性是TTa,即3V容忍;于是我把AD转换端口修改为了PA6,因为PA6对应ADC1通道6,并且属性为FT,即5V容忍。
其次,我把P7上的Vref+接到了5V电压上。
我原以为进行上述修改就可以实现对在0~5V范围的模拟电压的AD转换。结果我进行测试,PA6用杜邦线接GND,采集数字值为1490左右;PA6用杜邦线接3.3V电压,采集数字值为4044左右;PA6用杜邦线接5V电压,采集数字值为4070左右。
显然,我失败了
那么问题来了。
1.是我哪里没考虑到导致了失败还是STM32F407本身就不能够支持0~5V模拟电压的AD转换?
2.如果是前者请大佬们给找出问题并解决,如果是后者请提出另外一种成熟的详细的解决方案(不要简单的和我说什么电阻分压)。
诚心请教技术,不胜感激!!! |