利用單片機(jī)自帶的DAC模塊實(shí)現(xiàn)0-10V設(shè)計(jì)
單片機(jī)波形合成發(fā)生器是一種數(shù)字波形合成技術(shù),通過(guò)計(jì)算機(jī)的數(shù)字處理能力來(lái)產(chǎn)生各種復(fù)雜波形的信號(hào)。該技術(shù)具有高精度、靈活性強(qiáng)等優(yōu)點(diǎn),因此被廣泛應(yīng)用于混頻儀、信號(hào)源、測(cè)試儀等設(shè)備中。
利用單片機(jī)波形合成發(fā)生器實(shí)現(xiàn)低頻信號(hào)發(fā)生器的設(shè)計(jì)原理如下:首先選擇一個(gè)合適的單片機(jī),對(duì)其進(jìn)行編程,通過(guò)單片機(jī)自帶的DAC模塊實(shí)現(xiàn)波形輸出,采用DDS技術(shù)生成任意波形,并進(jìn)行數(shù)字信號(hào)處理。最終將合成的數(shù)字信號(hào)通過(guò)運(yùn)放放大來(lái)得到所需要的低頻信號(hào)。
低頻信號(hào)發(fā)生器是一種用于產(chǎn)生一定頻率、波形和振幅的信號(hào)的設(shè)備。在科研、教學(xué)和實(shí)際工程中,低頻信號(hào)來(lái)源是各種儀器、設(shè)備和系統(tǒng)中必不可少的一環(huán)。常見(jiàn)的低頻信號(hào)發(fā)生器有函數(shù)發(fā)生器、示波器、信號(hào)源等,但這些設(shè)備存在著輸出精度低、頻率范圍窄、造價(jià)高等問(wèn)題。
DAC(Digital to analog converter)即數(shù)字模擬轉(zhuǎn)換器,它可以將數(shù)字信號(hào)轉(zhuǎn)換為模擬信號(hào)。它的功能與 ADC 相反。在常見(jiàn)的數(shù)字信號(hào)系統(tǒng)中,大部分傳感器信號(hào)被轉(zhuǎn)化成電壓信號(hào),而 ADC 把電壓模擬信號(hào)轉(zhuǎn)換成易于計(jì)算機(jī)存儲(chǔ)處理的數(shù)字編碼,由計(jì)算機(jī)處理完成后,再由 DAC 輸出電壓模擬信號(hào),該電壓模擬信號(hào)常常用來(lái)驅(qū)動(dòng)某些執(zhí)行器件,使人類易于感知。如音頻信號(hào)的采集及還原就是這樣一個(gè)過(guò)程。
1. 數(shù)字?jǐn)?shù)據(jù):數(shù)字?jǐn)?shù)據(jù)通常以二進(jìn)制形式表示,并存儲(chǔ)在計(jì)算機(jī)系統(tǒng)或其他數(shù)字設(shè)備中。
2. 重構(gòu):DA轉(zhuǎn)換器通過(guò)重構(gòu)技術(shù)將數(shù)字?jǐn)?shù)據(jù)轉(zhuǎn)換為連續(xù)的模擬信號(hào)。重構(gòu)過(guò)程中,數(shù)字樣本被插值和濾波,使其變得連續(xù)且光滑。
3. 輸出模擬信號(hào):DA轉(zhuǎn)換器的輸出是通過(guò)模擬電路和濾波器處理后的連續(xù)模擬信號(hào)。輸出信號(hào)的連續(xù)性和精確性取決于DA轉(zhuǎn)換器的性能。
本文一共講解3種方案,分別為:
第一種方案:利用單片機(jī)自帶的DAC模塊的輸出進(jìn)行實(shí)現(xiàn)
第二種方案:使用 PWM 加濾波電路
第三種方案:使用專用轉(zhuǎn)換芯片
第一種方案
利用單片機(jī)自帶的DAC模塊,現(xiàn)在很多的單片機(jī)都自帶了 DAC 模塊,我們可以直接使用 DAC 模塊的輸出進(jìn)行實(shí)現(xiàn)。
比如我們最常見(jiàn)的單片機(jī)供電系統(tǒng)為: 0 ~ 3.3V。 那么我們就可以將 0 ~ 3.3 V 放大 3倍,實(shí)現(xiàn) 0~ 10V 的輸出。
這里我們用到的是同相比例運(yùn)放電路:
DAC1 為單片機(jī)的 DAC 輸出,0 ~ 3.3V ,放大 3 倍。
R2 選擇 3.3K 還是因?yàn)檫\(yùn)放的對(duì)稱性,選擇與 R4 和 R3 并聯(lián)電阻相等的阻值。
使用 DAC 直接放大3倍,感覺(jué)直接看起來(lái)還是挺滿的,直接上測(cè)試:
上面我通過(guò)自己手動(dòng)設(shè)置 DAC 的值,輸出的不同狀態(tài)效果。
第二種方案,使用 PWM 加濾波電路。
2.1 PWM 輸出 DAC
如何讓 PWM 波形變成模擬量輸出,那就是加上濾波電路,經(jīng)過(guò)一個(gè)濾波電路,可以使得PWM變成DAC輸出。
只使用一個(gè) RC 的濾波電路稱為一階濾波電路。
為了使得輸出更加平滑,我們會(huì)使用二階甚至多階濾波電路。
為了使得帶載能力更強(qiáng),我們會(huì)使用后面接電壓跟隨器等運(yùn)放電路。
2.2 PWM 接濾波器的RC值選擇說(shuō)明
對(duì)于 RC 濾波器的 RC值選擇,是新手難以理解處理的一個(gè)點(diǎn),這也是濾波器設(shè)計(jì)的重點(diǎn)之一。
我們都知道,RC低通濾波電路的截止頻率:
fc=1/2πRC
這個(gè)公式非常重要,了解 RC 濾波器必須牢記的公式,截止頻率公式。
截止頻率實(shí)際上是輸入信號(hào)幅度降低 3dB 的頻率。截止頻率也稱為 -3 dB頻率
簡(jiǎn)單幾點(diǎn)說(shuō)明
R 越小,輸出損耗越大
R 越大,噪聲紋波越大
C 越小(比如到達(dá) pf 級(jí)別后),越容易被寄生電容影響
C 越大(比如比較大的 uf 級(jí)別后),因?yàn)殡娙菰酱螅胀ㄇ闆r下就只能使用電解電容,但是電解電容的高頻特性很差,在 RC 濾波器中盡量不要使用電解電容
這種低成本的電路沒(méi)有完美的,我們總做的就是一個(gè)權(quán)衡,在有限的成本規(guī)定范圍內(nèi),設(shè)計(jì)出一個(gè)滿足需要的電路。
對(duì)于本文我們的 PWM 而言,其本質(zhì)上是一種高頻脈沖信號(hào),其中的高頻分量會(huì)被低通濾波器濾掉,只有低頻分量才能通過(guò)濾波器,形成模擬信號(hào)輸出。我們要保證 PWM 的頻率 遠(yuǎn)大于 RC 低通濾波器的截止頻率,至少在 10 倍以上甚至數(shù)十倍,因?yàn)樵酵系念l率信號(hào),濾波的效果越來(lái)越好。
重要的是在你按照經(jīng)驗(yàn)值設(shè)計(jì)完電路發(fā)現(xiàn)問(wèn)題了以后知道如何去查找問(wèn)題,如何去調(diào)整參數(shù),這是硬件設(shè)計(jì)的關(guān)鍵所在。
2.3 0~ 3.3V PWM 輸出 0 ~10V
方案一:RC 濾波器
上面簡(jiǎn)單的說(shuō)明了一下,那么上一下我們本次測(cè)試的電路:
圖中的阻容大家可以根據(jù)自己的需求修改。
測(cè)試:
在上文我們說(shuō)過(guò),我們可以算出 RC低通濾波器的截止頻率,我們要保證 PWM 的頻率 遠(yuǎn)大于 RC 低通濾波器的截止頻率。
如果 PWM 的頻率比較低會(huì)怎樣,比如,我 PWM 周期為 1HZ,然后占空比設(shè)置為50%:進(jìn)一步的修改一下,把 PWM 的頻率稍微修改一下,對(duì)于我測(cè)試的其實(shí)也就是 定時(shí)器的頻率,如下:
根據(jù)公式
Tout = ((arr+1)*(psc+1))/Tclk ; // 32MHz 主頻
定時(shí)器周期為 1 ms, 其實(shí)也就表示頻率為 1KHz,為了方便表示占空比 0~ 100 對(duì)應(yīng),上面的 arr 改成了100, 實(shí)際上也是 1KHz 左右,再來(lái)看看效果:
實(shí)際上我測(cè)試的時(shí)候沒(méi)有特意的去調(diào)整阻容的值,就直觀上看起來(lái)效果還是可以的(上圖的毛刺多是因?yàn)槭静ㄆ?GND 的線夾得太遠(yuǎn)了)。
第三種方案,使用專用轉(zhuǎn)換芯片
前面的兩種方式成本相對(duì)都比較低,和電平轉(zhuǎn)換電路一樣,0 ~10V 輸出也有專門的轉(zhuǎn)換芯片: GP8101
看了一下介紹,這個(gè)芯片有一個(gè)系列,不僅有 PWM 輸入的,還有 I2C 結(jié)口的:
測(cè)試其實(shí)和上面一樣,設(shè)置不同的占空比,看示波器,結(jié)果還是很好的。