01 DAC梯形電阻
一、前言
昨天測試了這款STM32G431的開發(fā)工具鏈。今天準(zhǔn)備再嘗試做些有趣的實驗。看到朋友在B站分享他們制作的 R2R 梯形電阻 DAC 的方案,自己也比較感興趣,因此,就用手中普通的1k,2k 電阻,測試一下 梯形電阻 DAC 方案的性能如何。
二、電路設(shè)計
在昨天電路的基礎(chǔ)上,設(shè)計測試電路。將原來的六芯調(diào)試端口中的 RST 去掉,只保留下 SWD 兩根線以及 串口通訊線。仍然使用 1117進行3.3V的穩(wěn)壓。右邊是10路電阻,組成 10 bit 的DAC 輸出。因為手邊并沒高精度電阻,因此先測試 10 比特的DAC的效果。等有了一定的測試數(shù)據(jù)之后,等高精度的電阻到貨之后再提高DAC的精度。通過單面布板,使用一分鐘制板方法制作測試電路板。
ADTest2024MarchR2RDACG431.SchDoc
▲ 圖1.2.1 測試電路原理圖
▲ 圖1.2.2 測試電路板
??一分鐘之后,獲得了測試電路板。非常完美。下面對其進行焊接。將昨天的芯片從電路板上拆下來,焊接在這次電路板上。下面上電進行測試。
三、電路測試
給電路板施加 5V 工作電源。由于是拆卸的舊芯片,所以現(xiàn)在電路已經(jīng)開始工作了。下面通過探針夾子給單片機下載軟件。通過測試,證明了,在 SWD 下載程序的時候,G431不需要 RESET 管腳。這樣就可以在設(shè)計調(diào)試端口的時候更加的簡潔。
根據(jù)輸出電阻對應(yīng)的端口,在CubeMX中,設(shè)置這些端口為輸出端口。編寫子程序,根據(jù)設(shè)定的DAC數(shù)值,改變輸出端口的高低電平。
下面對輸出DAC的數(shù)值進行遞增,可以在梯形電阻輸出端測量到鋸齒波信號。整體上,輸出的鋸齒波非常漂亮,說明了DAC工作正常。不過,電壓上升過程出現(xiàn)了細(xì)微的波動,這也說明輸出電壓信號具有較大的誤差。
▲ 圖1.3.1 輸出斜邊的電壓信號
??輸出正弦波形。觀察過程中,也會注意到,輸出波形中會出現(xiàn)一些毛刺。比如在這里就是一個小的毛刺,實際上還會有更大的毛刺。這應(yīng)該是在修改輸出DAC 管腳的時候,畢竟不是同時進行修改。所以這出現(xiàn)了上面的毛刺。后面應(yīng)該可以通過算法改進這種情況。
下面控制輸出DAC的數(shù)據(jù),從 0 變化到 1023,測量輸出電壓的變化。記錄100個數(shù)據(jù)點,現(xiàn)在看看具體的測量結(jié)果吧。這個結(jié)果令人感到詫異。雖然整體上是線性上升的。但可以看到距離線性之間還是存在著較大的誤差。這是測量數(shù)據(jù)與線性擬合電壓之間的誤差。最大誤差達(dá)到了 28mV。
▲ 圖1.3.2 輸出DAC與電壓之間的關(guān)系
▲ 圖1.3.3 誤差范圍
※ 總??結(jié) ※
本文測試了 R2R 梯形電阻 DAC的方案。由于使用了普通的電阻,沒有使用高精度電阻,所以輸出電壓的誤差達(dá)到了28mV。輸出整體線性還算可以,輸出電壓范圍是0V 到3.3V。