电路小白
微信公众号:实在太懒于是不想取名
前言:
2023年6月,在我们学校电子设计竞赛校赛中我们设计一个RCL测量仪,使用AD9833进行扫频后,利用异或门得到前后信号的相位差,以及使用峰值检波获得有效值。
图1.1 我们制作的实际电路
老师也评价我们的作品像是重庆立交
但是在实际使用后测量精度感人,但是这种扫频的思想确实大有可说。
AD5933模块的制作
AD5933是ADI公司发布的一款集12位/1Mbs ADC、12位信号发生器、内部硬件1024个DFT、标准I2C通讯协议的阻抗转换器。
于是我们决定使用AD5933进行网络分析,AD5933的芯片价格在49+左右,但其模块在TB上一块的价格可以高达498元,综合考虑(我的钱包替我考虑)我们觉得采购一块芯片自己制版。
图2.1 PCB的3D效果图
经过某一次教训,这次的制板上在电源部分考量极深,将数字地与模拟地,数字电源与模拟电源均进行了隔离并进行了0欧姆电阻分离(因为芯片的引脚上数模分开了)但是在实际使用过程中发现,数字地与模拟地的合并对芯片功能影响不大。于是焊接过程中改用磁珠连接。
图2.2 底层铺铜处理
AD5933使用
如果可以,我不想再经历这几天调模块的过程了!!!
在使用过程中,参考芯片手册进行I2C对芯片进行启动
图3.1 I2C时序图
参照芯片手册的寄存器部分对0x80寄存器写入0x20启动频率扫描,设置寄存器DDS输出电压为2Vp-p
图3.2 控制寄存器部分
但是这BYD死活不输出,经过了大半天的折磨,感谢我的好队友买的逻辑分析仪(事实证明这玩意,一万年不用,一用就是省一万年!)我发现在I2C时序上,通讯地址、命令、数据均正确,但是Stop停止信号并不能正常触发。于是我翻看商家(其他组有买498的模块)给的例程中发现竟是其I2C时序出现了问题,于是在修改I2C时序后,芯片可以正常的输出电压。证明芯片调试正确。
图3.3 逻辑分析仪演示
AD5933数据处理
在AD5933的芯片手册中提到,芯片返回了阻抗测量结果的实部、虚部我们通过对实部虚部进行处理获得了导纳,取倒数得到阻抗,但是这个得到的阻抗需要进行校准,官方提供了如下的校准过程以及二点法校准过程。
图4.1 校准过程
我们在校准过程中发现,阻抗的输出结果与实际的阻抗结果成线性关系,于是研究了其原理后,我们使用了matlab测量纯阻性数据后进行了拟合,获得了阻抗数据以及对阻抗结果和频率的关系进行了数据修正
图4.2 阻抗与频率的数据修正
在实际使用中测量阻抗过程,纯阻性器件的测量结果与实际结果误差小于5%。并且我们也发现了测量不同种类的器件的时候扫频结果具有很大差异!!
图4.3 电感测量中虚部与频率变化图
图4.4 电容测量中虚部与频率变化图
图4.5 电阻测量中虚部与频率变化图
通过对扫频结果的分析,加上数据处理,可以成功的判断出器件的类型以及精确的测量出器件的标值,精度在1%左右!