xjw01 发表于 2011-9-13 22:24:51

用DDS AD9850制作交流电压基准

制作这种电路,须安高频电路要求制作。比直流要麻烦许多。



xjw01 发表于 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 + 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%,否则以上误差分析无效,此时,该交流基准的精度由直流电压表决定。

a-fly 发表于 2011-9-13 22:35:59

好!值得一顶

xjw01 发表于 2011-9-13 22:36:58

DDS在低频下,输出的是阶梯波。采用模拟示波器,对y轴与x轴同时放大几十倍,就可以看到。

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

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

575a 发表于 2011-9-13 22:53:44

不错 期待全开源

三只眼闲人 发表于 2011-9-13 22:59:31

嗯,看看

cuison 发表于 2011-9-13 22:59:35

好贴,支持!

xjw01 发表于 2011-9-13 23:02:18

xjw01 发表于 2011-9-13 23:05:38

程序

xjw01 发表于 2011-9-13 23:06:22

说明书,有空的时候慢慢写。

pyz2188 发表于 2011-9-13 23:47:59

确实不错

大胡子 发表于 2011-9-14 08:11:29

顶一下爱动手的

happymanlxh 发表于 2011-9-14 09:02:01

lp206 发表于 2011-9-14 09:05:44

好文章,支持。。。。

yzduch 发表于 2011-9-14 10:53:39

支持一下!

dc626 发表于 2011-9-14 12:50:08

试验成功了,报名买一个!

strive 发表于 2011-9-14 13:32:25

好贴!

fireflying 发表于 2011-9-14 19:07:34

许先生把DDS的功能都快压榨完了,在矿坛经常拜读你的帖子。
这个线性怎样?需要逐个点进行标定?温漂和稳定性呢?总觉得DDS做电压基准没有对上它的“主业”。

xjw01 发表于 2011-9-14 21:51:28

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

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

xjw01 发表于 2011-9-14 22:02:19

引用第17楼fireflying于2011-09-1419:07发表的:
许先生把DDS的功能都快压榨完了,在矿坛经常拜读你的帖子。
这个线性怎样?需要逐个点进行标定?温漂和稳定性呢?总觉得DDS做电压基准没有对上它的“主业”。 https://bbs.38hot.net/images/back.gif


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

xjw01 发表于 2011-9-21 20:33:19

AD9850低频效值及频谱计算器


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

不错。。。。

xusiyin 发表于 2012-8-22 12:50:46

楼主的成品做出来了吗?

poseidonstorm 发表于 2012-8-23 23:13:37

回 xjw01 的帖子

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

我逐点标定,是为了验证DDS的DAC精度。DDS中、低频输出的幅度精度,是由DAC精度决定。
数据手册已经指出,AD9850的DAC精度是0.5LSB,我验证的结果 .. (2011-09-1421:51) images/back.gif

逐点测得的INL和DNL不能叫精度吧?这个是DAC的静态特性只能看出线性非线性,还有误码之类的,要看有效位数和精度还是要看动态的信噪比吧~

lqzhang 发表于 2013-11-8 16:41:06

有说明书了吗?没太明白,正在理解。

ray2003 发表于 2014-8-27 17:13:06

xjw01 发表于 2011-9-21 20:33
AD9850低频效值及频谱计算器



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

xinjihua 发表于 2014-8-28 09:33:32


不错 期待全开源

kunnsd 发表于 2014-10-27 08:54:00

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

在频域分析,阶 ...

降低时钟频率会有所改善
页: [1]
查看完整版本: 用DDS AD9850制作交流电压基准