近来在研究数控电源,想搞低成本的。
于是就想到了r2r电阻网络da转换。
随手抓来10k+20k的电阻一堆,测试发现转换线性很差,有些时候甚至无法保证单调性。
想想r2r网络da转换原理上应该没问题,毕竟很多da转换芯片也是这个结构。
于是考虑是电阻的问题。
芯片内的电阻是光刻上去的,阻值不精确,但比值较稳定。有的高位数的da还会用激光进行修正。
因为成本问题,不想去买千分之一的电阻。
但因为想实现毫伏精确设定,所以要求尽可能线性,起码要保证单调。
于是想到用一个小阻值电阻去修正,电阻误差是1%。所以就用一个1%阻值的电阻去修正。
理论上来讲,修正后的阻值为万分之一。但由于阻值不连续,优于千分之一应该是很简单的。
于是用的10k+20k的碳膜,挑选误差在1%以下的,即10k1或20k2以内的。
然后用小阻值电阻修正到10k2和20k4,修正后线性精度优于千分之一。
实测5vda输出跳动不大于2mv。
因为万用表量程和线性关系,实际使用7k5+15k比较好,因为不用切换量程,但手头没有。现在在8位r2r后面级联一个8位pwm,连成一个16位da。
扩展到15v量程,可以1mv步进,误差在1mv内。
建议10k和20k电阻简单筛选后,先行焊接到电路板上后再配阻修正。
否则焊接后可能会变化较大,我买的1%的碳膜实际测量在3%左右,焊接后又会漂移1%。
另外建议测试几个输出关键点的步进,并进行进一步的修正。
例如127->128,仅修正此点就可以增加20mv的精度。
还有1->2,3->4,7->8,15->16,31->32,63->64。
按5v电压换算,5/256=0.1963v
测量调整以上跳转点,电压跳变在0.19-0.20即可。
实测发现跳变点越高,越影响单调性,即电压增长的方向。
跳变点越低,越影响线性,即每一次的增量。
也可以把r2r网络位数拆解,先做好2位在做3位,把每一位的中点调整准。
先找四个阻值精确相等的电阻两并再串联组成一个电桥分压器的一个臂,以此来校正量程中点。
这样可以用200mv档测量压差,提高分辨率。排除万用表线性影响。
把每一位中点调到1/2上。例如一位转换,设定输出1,应当输出2.5v。两位转换,设定输出2,也应当输出2.5v。
调整这个点的电阻使他尽可能接近,然后再一位一位的扩充即可,这样调出来的精度应该更高。
我在通过万用表测量配阻后发现63->63跳变大,约比正常多跳变12mv,然后用这个方法修正,效果比用万用表修正要好。
因为低位的阻值误差会慢慢的积累影响高位,同时由于焊接高温,电阻会变化。
当然后配上去的电阻焊接后也会变化,只不过阻值小影响小,但这个误差会积累到高位显现。
|