ad7193切换通道大概需要多久?

按cn0287的设计,打算测量4路pt100热电阻。

测单路时,可以得到较准确的值。

现在想这样测量,某时刻,切换adg738的通道,设置ad7193为单次转换模式,然后读取数据寄存器值;最后关断adg738所有通道,延时一会,切换到下一路温度采集通道...

发现,切换adg738通道后立刻读取ad7193数据寄存器,得到的值为0xFFFFFF;

尝试在adg738切换通道后加延时,结果发现要延时为1秒左右再进行数据采集,才能得到较准确的值。

Parents
  • 再说详细一点:

    按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数据寄存器值才基本等于理论值.

Reply
  • 再说详细一点:

    按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数据寄存器值才基本等于理论值.

Children
No Data