本帖最后由 any_014 于 2015-6-10 17:11 编辑
做的是个温度变送器,测量PT100电阻两端的电压,PT100串10K电阻由TL431提供的2.5V电压供电。PT100两端的电压范围是0-100mV。
原理是:对被测信号进行定时积分后,转换通道,对基准信号进行反向积分,等积分电压到一定值后触发单片机外部中断,反向积分的时间和被测信号成比例关系。
原来是主循环里两个通道反复切换,定时器中断和外部中断交替中断,此外还有串口通讯中断。
后来发现每次上电后对同一被测信号测量,发现计时值不一样。
开始想着可能是串口中断影响的,于是修改了程序,写了个子函数,每执行一次就执行一次积分测量。
主循环里,除了执行一次这个函数,再就是发送一次数据。
结果发现还是不行。
又发现:板子供电的DC24V端子,如果拔下来后,再插上去,发上来的数就不一致。
DC24V供电线中的一条接上个开关,用开关来控制通断电,发上来的数就一致。
电源部分是这样的:DC24V过来后,经过个低压输入的反激开关电源,输出做了四个绕组,经过LDO稳压后,是两个5V和两个12V。
其中一个5V是给单片机部分供电,包括基准电压那部分。另一个5V是做了个隔离485信号的供电。12V是准备做DA部分供电用,暂时没用。
比较奇怪,对于电源来说,断一根线和断两根线有什么区别?
|