最近在使用STM32+AD5933设计阻抗测量系统,不考虑AD5933输出阻抗和直流分量对阻抗测量带来的影响,按照AD5933datasheet上的简单电路将AD5933和STM32单片机进行了连接,有关于AD5933和STM32的I2C通信、AD5933实部、虚部数据的读取、幅度的计算以及系统相位的读取的基本程序已经调试完成。这是今天做的一组实验,发现阻抗测量的误差还是挺大的。我用拨码开关控制反馈电阻和校准电阻的选择:
前提条件是:
Vout=2Vp-p;
PGA=X1;
VDD=3.3V
考虑到反馈电阻、输出电压范围和增益PGA的选族需要慎重,不能超过ADC的线性范围。
我设置了四个量程: 51k~100k; 100k~220k; 220k~300k; 300k~470k; 470k~680k。
且它们的反馈电阻分别为:51K ; 100K ; 220k ; 300k ; 470k 。
对应的校准电阻分别为: 51K ; 100K ; 220k ; 300k ; 470k 。
然后分别得到这四个量程的增益系数,并在51k~100k的量程里对100kΩ的未知阻抗进行测量,实际测量结果为96.889kΩ,测量误差达到3.1%;
在100k~220k的量程里对220k的未知阻抗进行测量,实际测量结果为205.483k,测量误差达到6.59%;
在220k~300k的量程里对300k的未知阻抗进行测量,实际测量结果为277.793k,测量误差达到7.40%;
在 300k~470k的量程里对470k的未知阻抗进行测量,实际测量结果为399.795k,测量误差达到14.9%;
在 470k~680k的量程里对680k的未知阻抗进行测量,实际测量结果为663.132k,测量误差达到2.4%;
误差挺大的,接下来我也需要考虑AD5933直流偏置和输出阻抗对阻抗测量带来的影响。
1:看AD5933的datasheet,其实不是很明白:发射机和接收级之间的存在的直流偏置?
datasheet建议使用AD820构成电压跟随器来消除输出阻抗对阻抗测量的影响,这一点我明白:用AD820构成电压跟随器,电压跟随器的输入电阻高,输出电阻低,对前级电路相当于断路,对后级电路来说相当于恒压源。对AD5933的6引脚Vout和Vin起到了隔离的作用。
不太明白的是:它用两个20kΩ的电阻对VDD分压,得到VDD/2,作为AD5933正相输入端的偏置电压。
请问:有明白的朋友吗?希望能够帮忙解答一下。
2:今天试验的时候使用的是拨码开关来实现量程的选择,但我更希望实现量程的自动切换,这也是接下来需要努力的地方。
|