本帖最后由 dingzj2000 于 2020-10-18 11:07 编辑
最近做一个项目,STM32F407 ADC采样。STM32F407电源电压和参考电压是都是2.5V(两个独立电源),因为设计需要(换挡采样,测试小量程,调大增益),采样电压可能会超出2.5V。STM32F407 ADC口无法实现钳位。比如测量小于2.5V电压信号,ADC值正常,测量等于2.5或稍微大于2.5V信号,输出的值是0xFFFF,满量程,正常。但是当测试离2.5V较大时(比如4.2V),输出的是小于0XFFFF(比如可能是0X1455什么的),好像输入信号越大,ADC值越小(没有具体观察过)
下图是官方文档中ADC接口的图纸:
应该是有钳位电路,为啥不管用。我这边手头有同样电路,仅仅MCU不一样,是STM32F103的,电压可以牵制在3.4V左右,当输入ADC电压是4.1左右,ADC采样值是0xFFFF,正常,
比较奇怪是为啥STM32F103可以实现钳位,而STM32F407不行。哪位大神帮忙解惑下,谢谢!
我的ADC电路如下:
是一个有源滤波电路,AIN3_SENSOR接运放,AIN3接MCU的ADC口。比如STM32F407的板子的AIN3和AIN3_SENSOR,总是保持一致,比如信号是4V,前后一样。
而STM32F103的板子的前端是4V,后端(AIN3)就是3.4V顺利钳位。
|