按cn0287的设计,打算测量4路pt100热电阻。
测单路时,可以得到较准确的值。
现在想这样测量,某时刻,切换adg738的通道,设置ad7193为单次转换模式,然后读取数据寄存器值;最后关断adg738所有通道,延时一会,切换到下一路温度采集通道...
发现,切换adg738通道后立刻读取ad7193数据寄存器,得到的值为0xFFFFFF;
尝试在adg738切换通道后加延时,结果发现要延时为1秒左右再进行数据采集,才能得到较准确的值。
按cn0287的设计,打算测量4路pt100热电阻。
测单路时,可以得到较准确的值。
现在想这样测量,某时刻,切换adg738的通道,设置ad7193为单次转换模式,然后读取数据寄存器值;最后关断adg738所有通道,延时一会,切换到下一路温度采集通道...
发现,切换adg738通道后立刻读取ad7193数据寄存器,得到的值为0xFFFFFF;
尝试在adg738切换通道后加延时,结果发现要延时为1秒左右再进行数据采集,才能得到较准确的值。
再说详细一点:
按cn0287设计的电路,数据采集部分完全是按参考板画的,单片机用的是stm32,通过光耦隔离控制.
现在板上元件通讯没有问题,可以读取ad7193的内部温度.
现在正在调试pt100测量部分,ad8063配置能横流电路,输出400uA.外接两线制pt100热电阻.
如果程序里只选通adg738的一路,比如第二路,ad7193内部配置能8倍增益放大,差分信号输入,无极性,则读取通道1的ad值,通过换算基本上和外加电阻值相等.
但是我想轮流切换测量4路pt100的温度值;于是程序里改成每1秒钟执行4路pt100温度采集.
先是只采集第一路温度数据,只不过改成,1秒时钟标志置位后,先把adg738的通道二选通,开始测量第一路温度数据,ad7193配置成单次转换模式,然后读寄存器数据,接下来关断adg738所有通道. 然后等待
下一次1秒时钟标识被置位,再次采集第一路温度数据...
结果发现,读取ad7193的数据寄存器为0xFFFFFF.我怀疑是通道切换后,电路还没有稳定,就在adg738打开通道2后,加了个延时,然后再设ad7193为单次转换模式,再读取数据寄存器值.
结果发现问题依旧,然后加大延时时间,读取值开始变小了些,但仍是偏大.
然后将延时时间加大至接近1秒,读取ad7193数据寄存器值才基本等于理论值.
再说详细一点:
按cn0287设计的电路,数据采集部分完全是按参考板画的,单片机用的是stm32,通过光耦隔离控制.
现在板上元件通讯没有问题,可以读取ad7193的内部温度.
现在正在调试pt100测量部分,ad8063配置能横流电路,输出400uA.外接两线制pt100热电阻.
如果程序里只选通adg738的一路,比如第二路,ad7193内部配置能8倍增益放大,差分信号输入,无极性,则读取通道1的ad值,通过换算基本上和外加电阻值相等.
但是我想轮流切换测量4路pt100的温度值;于是程序里改成每1秒钟执行4路pt100温度采集.
先是只采集第一路温度数据,只不过改成,1秒时钟标志置位后,先把adg738的通道二选通,开始测量第一路温度数据,ad7193配置成单次转换模式,然后读寄存器数据,接下来关断adg738所有通道. 然后等待
下一次1秒时钟标识被置位,再次采集第一路温度数据...
结果发现,读取ad7193的数据寄存器为0xFFFFFF.我怀疑是通道切换后,电路还没有稳定,就在adg738打开通道2后,加了个延时,然后再设ad7193为单次转换模式,再读取数据寄存器值.
结果发现问题依旧,然后加大延时时间,读取值开始变小了些,但仍是偏大.
然后将延时时间加大至接近1秒,读取ad7193数据寄存器值才基本等于理论值.