ADC的兄弟,梯形电阻DAC

嵌入式Linux

共 1326字,需浏览 3分钟

 ·

2024-04-12 02:44

01 DAC梯形电阻

一、前言

  昨天测试了这款STM32G431的开发工具链。今天准备再尝试做些有趣的实验。看到朋友在B站分享他们制作的 R2R 梯形电阻 DAC 的方案,自己也比较感兴趣,因此,就用手中普通的1k,2k 电阻,测试一下 梯形电阻 DAC 方案的性能如何。

14d0f455998863182567f17eae61ff1e.webp

二、电路设计

  在昨天电路的基础上,设计测试电路。将原来的六芯调试端口中的 RST 去掉,只保留下 SWD 两根线以及 串口通讯线。仍然使用 1117进行3.3V的稳压。右边是10路电阻,组成 10 bit 的DAC 输出。因为手边并没高精度电阻,因此先测试 10 比特的DAC的效果。等有了一定的测试数据之后,等高精度的电阻到货之后再提高DAC的精度。通过单面布板,使用一分钟制板方法制作测试电路板。

AD\Test\2024\March\R2RDACG431.SchDoc

0cb9e4d81ccd7a728137dfb09265d0a5.webp

▲ 图1.2.1 测试电路原理图


ab87d5699b9c13bbcf658903dc950bdb.webp

▲ 图1.2.2 测试电路板


  一分钟之后,获得了测试电路板。非常完美。下面对其进行焊接。将昨天的芯片从电路板上拆下来,焊接在这次电路板上。下面上电进行测试。01f445dd107f4d827d4b0bb68ccbb78a.webp

fb75bb981486d4c2fcc382d93b73ac26.webp 28e459397b13672f3379559d9c86847d.webp

三、电路测试

  给电路板施加 5V 工作电源。由于是拆卸的旧芯片,所以现在电路已经开始工作了。下面通过探针夹子给单片机下载软件。通过测试,证明了,在 SWD 下载程序的时候,G431不需要 RESET 管脚。这样就可以在设计调试端口的时候更加的简洁。

fe334b00d9d5682a3fea674d14172c0a.webp

  根据输出电阻对应的端口,在CubeMX中,设置这些端口为输出端口。编写子程序,根据设定的DAC数值,改变输出端口的高低电平。

08f3abfd036278d81e1ad58488e63720.webp

  下面对输出DAC的数值进行递增,可以在梯形电阻输出端测量到锯齿波信号。整体上,输出的锯齿波非常漂亮,说明了DAC工作正常。不过,电压上升过程出现了细微的波动,这也说明输出电压信号具有较大的误差。

95a79b9d2a55e1615762e7d489539029.webp

▲ 图1.3.1 输出斜边的电压信号


  输出正弦波形。观察过程中,也会注意到,输出波形中会出现一些毛刺。比如在这里就是一个小的毛刺,实际上还会有更大的毛刺。这应该是在修改输出DAC 管脚的时候,毕竟不是同时进行修改。所以这出现了上面的毛刺。后面应该可以通过算法改进这种情况。

b9718c0684c88e1c7ae2936eb976524f.webp

  下面控制输出DAC的数据,从 0 变化到 1023,测量输出电压的变化。记录100个数据点,现在看看具体的测量结果吧。这个结果令人感到诧异。虽然整体上是线性上升的。但可以看到距离线性之间还是存在着较大的误差。这是测量数据与线性拟合电压之间的误差。最大误差达到了 28mV。

a3a6015fe31b46b250a35cdb83a2f7ec.webp

bbdb270555a7be7384763a341e3717d1.webp

▲ 图1.3.2 输出DAC与电压之间的关系


6130577be087150848f9a21649dae22b.webp

▲ 图1.3.3 误差范围


  结 ※

  文测试了 R2R 梯形电阻 DAC的方案。由于使用了普通的电阻,没有使用高精度电阻,所以输出电压的误差达到了28mV。输出整体线性还算可以,输出电压范围是0V 到3.3V。

a6825d845cf2c6f312dac782f0d06827.webp
       

浏览 21
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报