01 梯形电阻
一、前言
刚刚拿到了购买的高精度电阻,200片 10k 欧姆电阻。下面将会利用它,重新测试一下 R2R 梯形电阻 DAC的精度。这是前两天使用普通制作的 10 bit DAC的效果。在 3.3V的范围内,线性误差最大达到了 28mV。下面来看一下使用这些 千分之一精度的电阻制作的效果。对于究竟能够达到多高的精度,我现在也是充满着好奇。
二、电路设计
这一次使用的单片机为 STM32F401。由于手边只有10k欧姆高精度电阻,所以使用两个 10k电阻并联形成 5k 电阻。铺设单面电路板,适合一分钟制板方法。
▲ 图1.2.1 电路原理图
ADTest2024MarchR2RF40110K.SchDoc
▲ 图1.2.2 PCB电路
一分钟之后获得了电路板。使用的覆铜板表面有些氧化,对后面焊接很不友好。但这还不是最致命的,直到焊接前,才意识地自己犯了一个愚蠢的错误。所购买的电阻是 0805 封装,但是制作的测试电路板则是0603 封装。没有办法,重新修改电路板再制作一块实验电路板。
将原来的 0603 封装的电阻修改成 0805 封装。一分钟之后,得到了新的电路板。下面对它进行焊接。电路比较简单,焊接很容易。QFN封装的单片机应用热风枪进行焊接,下面开始对电路进行上电测试。
好事多磨,现在使用 ST-LINK 无法访问到 单片机。这就不好玩了,这样无法进行软件测试了呀。这个电路实在是太简单了,因此猜测在原来电路设计中,是直接把 BOOT0 连接到地线造成的影响。现在使用 一个 10k欧姆把 BOOT0 接地。重新制版,焊接后测量,果然,现在可以访问了。不过这就奇怪了,在其他单片机单片机电路设计中,直接到BOOT0 接地没有问题的。不知道为什么在这里翻船了。
三、软件测试
下载测试软件,可以看到电路板开始运行。下面将之前测试的程序,移植到现在的工程文件中。输出锯齿波,可以看到信号变化正常。
使用万用表测量 DAC 在不同的设置下对应的输出电压。记录 100个数据点,DAC 输出从 0 到 1023 变化。通过记录的数据,来评估一下输出DAC的特性。没有对比,就没有伤害,可以看到使用高精度电阻之后,输出电压与DAC之间的线性关系非常好。通过计算,可以知道,输出电压与线性拟合之间的误差,在正负1.5mV 之内。只有一个数据超过了这个误差范围。
▲ 图1.3.1 DAC输出与电压
▲ 图1.3.2 DAC的线性误差
※ 总 结 ※
本文测试了高精度电阻组成的梯形电阻 DAC 的性能。在输出 3.3V的范围内,误差在正负1.5mV 之内。这比起前两天使用普通电阻对应的 28mV的误差范围来看,精度得到了很大的提高。在电路设计中,对于STM32F401单片机,不知道为何需要使用电阻将 BOOT0 连接到地线,直接连接ST-LINK 无法访问单片机。不过后来,将 10k欧姆电阻替换成0欧姆,单片机也能够被访问了。所以,开始遇到的问题也许是其他的故障。