度为±2℃。
温度测量过程的转换时钟由内部产生,只有从串口读取或写入数据才需要外部时钟。一般模式下,内部时钟自动完成转换过程。默认情况下温度传感器处于掉电状态,要启动温度测量需要在控制寄存器中写入温度测量控制字,在测量完成后温度传感器自动关闭,直到下次接受到命令再启动。用户可以通过读取状态寄存器的值来检查温度测量是否结束,温度测量的结果保存在92h和93h中。其中有14位是有用数据,最高两位没有意义。DB13是一个标志位。表4中给出了部分测量数据与实际温度的对应关系。对于具体的温度测量数据可以通过公式得到,如果测量温度为正,则等于所得数据的十进制表示值除以32。如果测量温度值为负,且把DB13的值也计算在内,则等于测得数据的十进制值减去16384后再除以32,若不把DB13的值计算在内,则等于测量数据的十进制值减去8192后再除以32。 3 阻抗测量过程实现
3.1 AD5933测量阻抗模值计算
上面已经提到在频率扫描过程中,各个频率点上都可以得到实部值R和虚部值I两个值,通过它们可以计算傅立叶变换之后的模值,模值=R2?I2。计算之前先把实部和虚部值用十进制表示。但这只是傅立叶变换后的结果,要想得到阻抗的实际值必须乘以一个校准系数,这里称这个系数为增益系数。
下面给出一个计算增益系数的例子。当输出电压范围为2V,标定电阻为200kΩ,可编程放大器设置为1,电流电压转换放大器增益电阻为200 kΩ,激励频率为30kHz,在这个频率点上得到的实部和虚部值分别为F064、227E,转换为十进制分别为-3996、8830,则傅立叶变换后的模值=(?3996)2?(8830)2?9692.106,则增益系数为标定电阻的倒数除以计算得到的模值,即(1/200kΩ)/9692.106=515.819E-12。
下面再给出一个已知增益系数、被测电阻的实部和虚部值计算被测电阻阻值的例子。假设被测电阻为510kΩ,激励频率为30kHz,测量得到的实部和虚部值分别为-1473和3507,则计算得到的模值为3802.863。电阻值=1/(增益系数×模值)=1/(515.819E-12×3802.863) =509.791kΩ。
对于不同的测量频率点增益系数是不同的,所以在不同的频率点上要分别计算增益系数。
在测量过程中可以通过限制电阻的测量范围来优化测量性能。表4给出6个不同的阻抗范围作为参考,它们所选择的输出电压范围均为2V,可编程增益放大器设置为1。
表4 测量阻抗范围设定 测量电阻范围 0.1kΩ到1kΩ 1kΩ到10kΩ 10kΩ到100kΩ 100kΩ到1MΩ 1MΩ到2MΩ 9MΩ到10MΩ 电流电压转换放大器增益电阻 100Ω 1kΩ 10kΩ 100kΩ 100kΩ 9MΩ 标定电阻 100Ω 1kΩ 10kΩ 100kΩ 100kΩ 9MΩ
3.2 相角计算及校准
在阻抗测量过程中不仅仅要关注电阻的模值,还要知道相角的大小,相角值=Tan?1(IR)。和模值一样相角也要进行校准。首先对标定电阻进行测量,得到标定电阻的相角,测量电阻的实际相角等于测量计算得到的值减去标定电阻的相角值。值得注意的是测量
时通过Tan?1(IR)得到的相角是在-90o到+90o之间的,所以要根据R和I所决定的象限来把相角变换到所在象限内。如果R<0,I>0则说明在第二象限,所以计算时要把相角加上180o;如果R<0,I<0则是在第三象限,计算时要把相角减去180 o。 4 单片机控制的阻抗测量系统
本文设计了一个用单片机控制AD5933实现阻抗测量的系统。单片机选择的ADI公司的ADμC848。单片机和AD5933通过I2C串口实现通讯,单片机控制对AD5933的工作模式设置,控制测量过程,读取测量结果,并通过串口传输到PC机。 4.1 硬件电路
系统采用电池供电,又MAX603实现把四节1.5V电池串联后的电压变到5V。在AD5933 的RFB和VIN之间接入电流电压转换电阻,这个电阻的值是可以按照上面提到的设置测量电阻的范围的方法来设定的。在VIN和VOUT之间接入的是被测电阻,测量之前先大致估计一下测量电阻的范围,然后来选择相应电流电压转换电阻的大小。在测量被测电阻之前,首先要用已知阻值的电阻进行标定,得到模值和相角的基准。单片机把从AD5933读到的阻抗测量结果的实部和虚部通过串口传到上位机,又上位机根据上面提到的公式,计算得到阻抗值。图2中给出了电路连接的原理图。
图2 系统硬件电路图
4.2 系统软件设计
图3中给出了系统测量的软件流程图。这是完成单个阻抗测量的过程。测量后得到的 实部和虚部结果都是十六进制表示。用单片机传输到上位机后进行后续的处理。每个频率点上都要首先对标定电阻进行测量和计算,然后再以此为标准计算被测电阻。
程序入口 写入频率扫描参数到相应寄存器 (1) 起始频率寄存器 (2) 扫描频率点数 (3) 频率增量 设置AD5933进入标准模式 写入开始频率命令到控制寄存器初始化系统 在足够的建立时间之后开始频率扫描 N DFT是否完成? Y 写入跳到下个频率或者重复当前频率命令到控制寄存器 从实部和虚部寄存器中读取数频率扫描 完成? Y 测量结束 N
图3 系统软件流程
5 小结
本文介绍了阻抗测量芯片AD5933,它是一款可以实现精确测量的高集成度的芯片,大大简化了测量系统的电路和数据处理过程。本文对其性能、参数设置和具体测量实现进行了较为详细的介绍,并设计实现了单片机系统对其控制。为阻抗测量提供了一个比较方便、使用的解决方案。
参考文献:
[1] 李刚,林凌,粟田禾. 易学易用高性能SoC单片机ADμC848[M]. 西安:西安电子科技
大学出版社,2006.
[2] 董艳阳. 自动阻抗测量仪工作原理及阻抗测量方法[J]. 现代电子技术, 2002. 5: 24-26. [3] 刘立新,赫建国. 基于DDS芯片AD9854的信号发生器设计[J]. 西安邮电学院学报,2004.
9(3):64-68.
[4] http://www.analog.com/UploadedFiles/Data_Sheets/AD5933.pdf
[5] http://www.analog.com/UploadedFiles/Data_Sheets/30849145182541ADuC845_7_8 _a.pdf