你的办法确实可行,我在LM358的输出 VOLT 与 CPU 之间加了一个10K的电阻,问题得到解决。我估计也是你说的这个问题。但“ 跟随电路的驱动能力较强,VOLT通过CPU的I/O口反灌到CPU的电源端 ”这句话我不是很明白。跟随电路驱动能力较强是说输出电流会比较大吗?串接电阻是为了减小电压吗?VOLT 反灌是否和CPU的内部构造有关系?
CPU 用的是 STM32,我查了手册,它的 AD 输入确实是高阻的,代码里也就只是配置了 I/O。但确实是外加了一个电阻之后就正常了。
那会不会是这个问题?我分析:现在LM358的供电电源17V 来的要比 CPU 执行到端口配置这一步来的快,也就是说,在CPU还没有把对应端口配置为AD输入时,LM358 已经工作,VOLT 上的电压已经加到了CPU的端口上。若是这样,那“反灌”的说法是否就成立了?
而且现在还有个问题。是关于本文中LM358的另一个应用——放大器的。按照设计意图,这个放大器的输入 CTRST 对应的是 CPU 的输出管脚。但是现在LM358的供电电源17V 来的要比 CPU 执行到端口配置这一步来的快,即17V产生后,LM358的输入信号 CTRST 对应的 CPU 管脚还未配置,而是默认的浮空输入,而此时LM358的输出 VEE 就已经是饱和的了,达到16V多。这显然不是我设计的初衷。这个问题我也想不明白。
现在我不用3.3V去控制 LM27313,改用 CPU 去控制 LM27313 的使能端,就是说把 CPU 的管脚配置完后,再去使能 LM27313 产生17V。这样的话,放大器的问题解决了。但是先前关机后板子上仍有电压的问题依然存在。于是我在 LM27313 使能端那加了一个下拉电阻(其实是偶然发现,板子上原来有的),见下图中红色方块处。这样一来,放大器输出提前饱和以及跟随器反灌的问题都解决了。但这又怎么解释?貌似是某个地方存储的电荷通过下拉电阻释放掉了。如果真是这样,到是印证了 catdriver 老兄所说的“反灌”。不知道我想的对不对?恳请大家指教。