38度发烧友--38Hot Volt-Nuts

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 45|回复: 0

用DDS AD9850制作交流电压基准

[复制链接]
发表于 2011-9-13 22:24:51 | 显示全部楼层 |阅读模式
制作这种电路,须安高频电路要求制作。比直流要麻烦许多。



AD9850作为交流电压基准.PNG
 楼主| 发表于 2011-9-13 22:26:01 | 显示全部楼层
ad9850的DAC误差测试                                                               
测量原理:启动DDS,使得相位旋转,在适当时间暂停DDS,相位停止转动,输出就固定为某一电压值。                                                               
        不同的相位角输出不同的电压,得到下表                                                        
        因为波谷对应第0字,波峰对应第1023,共1024字码                                                        
        所以第n字的理想电压为:n*波峰电压/1023                                                        
下表电压单位是10uV
峰值12.2mA输出                                        峰值8.173mA输出                        
输出电压        等价字数        理想字数        误差字数                输出电压        等价字数        理想字数        误差字数
13436        1023.0         1023         0.0                 8990        1023.0         1023         0.0
13345        1016.1         1016         -0.1                 8885        1011.1         1011         -0.1
13018        991.2         991         -0.2                 8620        980.9         981         0.1
12454        948.2         948         -0.2                 8208        934.0         934         0.0
11680        889.3         889         -0.3                 7663        872.0         872         0.0
10721        816.3         816         -0.3                 6995        796.0         796         0.0
9618        732.3         732         -0.3                 6238        709.8         710         0.2
8410        640.3         640         -0.3                 5411        615.7         616         0.3
7134        543.2         543         -0.2                 4550        517.8         518         0.2
5847        445.2         445         -0.2                 3698        420.8         421         0.2
4599        350.2         350         -0.2                 2873        326.9         327         0.1
3416        260.1         260         -0.1                 2099        238.9         239         0.1
2364        180.0         180         0.0                 1414        160.9         161         0.1
1470        111.9         112         0.1                 851        96.8         97         0.2
762        58.0         58         0.0                 421        47.9         48         0.1
275        20.9         21         0.1                 131        14.9         15         0.1
26        2.0         2         0.0                 0        0.0         0         0.0
13        1.0         1         0.0                                         
0        0.0         0         0.0                                         

DAC的INL误差引入的噪声分析:                                                               

输出表达为:A[1+sin(t)] + a+b(t)                                                               
式中A为基波峰值电压,a为DAC误差的直流分量,b(t)为DAC误差的交流分量
直接测量DDS输出,得到的直流电压实际上是A'=A+a,并不是A
因此,用A'表示基波峰值,相对误差是a/A
由上表知,a值约为0.1,A值约为512,所以相对误差是0.1/512=0.02%
低频时,AD9850的谐波失真很小,约为-60dB,这种情况下,谐波分量对有效值或平均值的贡献几乎为0
综上,用AD9850作为交流电压基准,可以得到0.02%左右的精度。

b(t)是DAC误差的交流部分,当b(t)的峰值在正弦基波零点,b(t)是二次谐波,它对有效值的贡献几乎为零。
当b(t)的峰值在基波的波峰或波谷附近,b(t)的频率接近于基波,这时,以上误差估计将偏小。但总体上说,还是优于0.05%的。

此电路的输出阻抗是110欧,要注意交流电压表输入阻抗可能造成测值变小。因为不少万用表的交流档阻抗偏低,一般只有一两兆欧。
如果交流档的输入端没有隔直流(一般输入端,即整流之前没有隔直流处理),输入阻抗是同时造成直流平均值和交流有效值减小的。这种情况,无需做阻抗方面的改正,精度直接达到0.02%,当然,要求直流电压表本身的精度高于0.02%,否则以上误差分析无效,此时,该交流基准的精度由直流电压表决定。
回复 支持 反对

使用道具 举报

发表于 2011-9-13 22:35:59 | 显示全部楼层
好!值得一顶
回复 支持 反对

使用道具 举报

 楼主| 发表于 2011-9-13 22:36:58 | 显示全部楼层
DDS在低频下,输出的是阶梯波。采用模拟示波器,对y轴与x轴同时放大几十倍,就可以看到。

在频域分析,阶梯波引入的噪声很小,而且频率高。如果觉得他很讨厌,可以用一个CBB电容并联在输出端,做一次低频滤波。但这时,该电容对基波的衰减,要做修正。如果衰减的3dB点在基波的100倍以上,可以不用修正。
只不过,杂散频率在基波的倍频上也会有一点,但很小很小。最大的谐波是在“台阶频率上”,它的频率很高。台阶在正弦的零点处,台阶最明显,频率也最高。台阶在正弦的波峰或波谷上,台阶频率最小。

但不管怎么,这些谐波的幅度都是小于0.5LSB的。可以忽略。
回复 支持 反对

使用道具 举报

发表于 2011-9-13 22:53:44 | 显示全部楼层
不错 期待全开源
回复 支持 反对

使用道具 举报

发表于 2011-9-13 22:59:31 | 显示全部楼层
嗯,看看
回复 支持 反对

使用道具 举报

发表于 2011-9-13 22:59:35 | 显示全部楼层
好贴,支持!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2011-9-13 23:02:18 | 显示全部楼层
9850串行.PNG
回复 支持 反对

使用道具 举报

 楼主| 发表于 2011-9-13 23:05:38 | 显示全部楼层
a.rar (6 KB, 下载次数: 66) 程序
回复 支持 反对

使用道具 举报

 楼主| 发表于 2011-9-13 23:06:22 | 显示全部楼层
说明书,有空的时候慢慢写。
回复 支持 反对

使用道具 举报

发表于 2011-9-13 23:47:59 | 显示全部楼层
确实不错
回复 支持 反对

使用道具 举报

发表于 2011-9-14 08:11:29 | 显示全部楼层
顶一下爱动手的
回复 支持 反对

使用道具 举报

发表于 2011-9-14 09:02:01 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

发表于 2011-9-14 09:05:44 | 显示全部楼层
好文章,支持。。。。
回复 支持 反对

使用道具 举报

发表于 2011-9-14 10:53:39 | 显示全部楼层
支持一下!
回复 支持 反对

使用道具 举报

发表于 2011-9-14 12:50:08 | 显示全部楼层
试验成功了,报名买一个!
回复 支持 反对

使用道具 举报

发表于 2011-9-14 13:32:25 | 显示全部楼层
好贴!
回复 支持 反对

使用道具 举报

发表于 2011-9-14 19:07:34 | 显示全部楼层
许先生把DDS的功能都快压榨完了,在矿坛经常拜读你的帖子。
这个线性怎样?需要逐个点进行标定?温漂和稳定性呢?总觉得DDS做电压基准没有对上它的“主业”。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2011-9-14 21:51:28 | 显示全部楼层
不需要逐点标定的。
DDS输出会漂移,所以要用直流万用表来标它的平均值。温漂很小,半小时以内,用四位半的表也看不到它的漂移。

我逐点标定,是为了验证DDS的DAC精度。DDS中、低频输出的幅度精度,是由DAC精度决定。
数据手册已经指出,AD9850的DAC精度是0.5LSB,我验证的结果是0.3LSB,优于手册中的指标。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2011-9-14 22:02:19 | 显示全部楼层
引用第17楼fireflying于2011-09-14  19:07发表的  :
许先生把DDS的功能都快压榨完了,在矿坛经常拜读你的帖子。
这个线性怎样?需要逐个点进行标定?温漂和稳定性呢?总觉得DDS做电压基准没有对上它的“主业”。

万用表,万用的表。
可以测是直流A、V、R
还可以测量流:L、C、f,及交流A、V
只可惜,万用表对付交流L、C、f、A、V功力不够,所以更有必要测试他的精度。有了DDS,那么L、C、f、A、V精度可以测试了。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2011-9-21 20:33:19 | 显示全部楼层
AD9850低频效值及频谱计算器

阶梯波计算.rar (4 KB, 下载次数: 31)
DDS输出的有效值及频谱,采用人工笔算,不大方便,故编写此程序。用于精密交流校准。

DAC的INL误差为
0.0000
0.0000
0.0001
0.0001
0.0002
0.0002
0.0002
0.0003
0.0003
0.0001
0.0000

的计算效果


时域计算:
台阶数 N:2046
直流平均:1.00021925
整流平均:0.63668596
假有效值:0.70718030
真有效值:0.70715298
AC + DC :1.22495057
基波分量:1.00006479
二次谐波:0.00024102
三次谐波:0.00044233
频谱:
0次:1.00021925
1次:1.00006479
2次:0.00024102
3次:0.00044233
4次:0.00002705
5次:0.00025069
6次:0.00005477
7次:0.00017806
8次:0.00000347
9次:0.00014969
10次:0.00002549
11次:0.00011370
12次:0.00001185
13次:0.00010162
14次:0.00002653
15次:0.00008765
16次:0.00001037
17次:0.00008248
18次:0.00002764
19次:0.00008306
20次:0.00000153
21次:0.00006121
0到21谐波有效值:1.00014213
回复 支持 反对

使用道具 举报

发表于 2011-9-21 22:51:46 | 显示全部楼层
不错。。。。
回复 支持 反对

使用道具 举报

发表于 2012-8-22 12:50:46 | 显示全部楼层
楼主的成品做出来了吗?
回复 支持 反对

使用道具 举报

发表于 2012-8-23 23:13:37 | 显示全部楼层

回 xjw01 的帖子

xjw01:不需要逐点标定的。
DDS输出会漂移,所以要用直流万用表来标它的平均值。温漂很小,半小时以内,用四位半的表也看不到它的漂移。

我逐点标定,是为了验证DDS的DAC精度。DDS中、低频输出的幅度精度,是由DAC精度决定。
数据手册已经指出,AD9850的DAC精度是0.5LSB,我验证的结果 .. (2011-09-14  21:51)
逐点测得的INL和DNL不能叫精度吧?这个是DAC的静态特性只能看出线性非线性,还有误码之类的,要看有效位数和精度还是要看动态的信噪比吧~
回复 支持 反对

使用道具 举报

发表于 2013-11-8 16:41:06 | 显示全部楼层
有说明书了吗?没太明白,正在理解。
回复

使用道具 举报

发表于 2014-8-27 17:13:06 | 显示全部楼层
xjw01 发表于 2011-9-21 20:33
AD9850低频效值及频谱计算器


这个项目还在继续吗?一直没有等到许老师的说明书,现在那个代码的附件也打不开了。
回复

使用道具 举报

发表于 2014-8-28 09:33:32 | 显示全部楼层

不错 期待全开源
回复

使用道具 举报

发表于 2014-10-27 08:54:00 | 显示全部楼层
xjw01 发表于 2011-9-13 22:36
DDS在低频下,输出的是阶梯波。采用模拟示波器,对y轴与x轴同时放大几十倍,就可以看到。

在频域分析,阶 ...

降低时钟频率会有所改善
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表