第一个问题:
在设计完成后,发现用来测量温度的热电阻的电路精度很差,超过了允许的范围,表面上看似乎没有什么问题。经过整理和测试,发现呢在控制器上用了两个LDO,给MCU做采集的电源和给热电阻供电的电源不是同一个,所以两个电压互相没有关联,在某些时候差别可能达到2%左右,因此加上别的误差,这个错误导致了整个系统设计的问题。
解决的最好办法就是让他们使用同一个电源LDO输出。当然我们要注意LDO的输出能力,千万不要在解决一个问题的时候引入别的新的问题,这个是最最痛苦的事情了。
另外一个问题:
在模拟电路中,加入了一个齐纳管来保护电路,但是遇到了在接近齐纳管击穿电压的时候,电路的误差非常大。
这是因为接近保护电压的时候,齐纳管的电流会突然增大,导致测量计算的精度骤然降低。
正确的做法就是去掉齐纳管,加大限流电阻,单片机内部存在保护电路的,这个以前已经论述过了。这个电阻选取的时候,过大则使得测量的响应速度下降,过小则面临单片机钳位电流过大,需要慎重选取。