你的位置:首頁(yè) > 電路保護(hù) > 正文

如何將輸入方波轉(zhuǎn)換成倍頻PWM波形?

發(fā)布時(shí)間:2020-05-27 責(zé)任編輯:lina

【導(dǎo)讀】在 「信號(hào)轉(zhuǎn)換的解題思路」[1] 中,提到為了能夠使得輸出信號(hào)的占空比不隨著輸入信號(hào)的頻率改變而改變,使用了一種 「信號(hào)轉(zhuǎn)換| 如何使用模擬電路完成對(duì)方波信號(hào)倍頻PWM轉(zhuǎn)換?」 博文中的方式,但是該方式在調(diào)試過(guò)程中的結(jié)果出現(xiàn)了些不太如意的地方。
 
在 「信號(hào)轉(zhuǎn)換的解題思路」[1] 中,提到為了能夠使得輸出信號(hào)的占空比不隨著輸入信號(hào)的頻率改變而改變,使用了一種 「信號(hào)轉(zhuǎn)換| 如何使用模擬電路完成對(duì)方波信號(hào)倍頻PWM轉(zhuǎn)換?」 博文中的方式,但是該方式在調(diào)試過(guò)程中的結(jié)果出現(xiàn)了些不太如意的地方。

生成的鋸齒波的幅值變化范圍之后工作電源(+5V)的一半,這也限制了對(duì)輸入信號(hào)頻率允許的范圍;
輸出的鋸齒波由于誘導(dǎo)肖特基二極管整流的影響,使得頂部出現(xiàn)了平滑,限制 PWM的變化范圍;
電路過(guò)于復(fù)雜;
輸出信號(hào)由于受到LMV358的帶寬影響,上下沿變化比較緩慢。
本文在前面的基礎(chǔ)上,對(duì)工作電路進(jìn)行了改變,特別是采用模擬門(mén)來(lái)對(duì)積分電路電容進(jìn)行放電,完成鋸齒波的轉(zhuǎn)換。

01電路設(shè)計(jì)

實(shí)驗(yàn)電路的原理圖如下圖所示。

如何將輸入方波轉(zhuǎn)換成倍頻PWM波形?
▲ 實(shí)驗(yàn)電路的原理圖

「設(shè)計(jì)錯(cuò)誤:」

在最初設(shè)計(jì)的過(guò)程中,原理圖中遺漏了RWF1,RWF2兩個(gè)對(duì)于積分電路放電的電阻。需要在后期的調(diào)試電路板上進(jìn)行跳線焊接。

如何將輸入方波轉(zhuǎn)換成倍頻PWM波形?
▲ 實(shí)驗(yàn)電路PCB

02電路板的調(diào)試

1.電路靜態(tài)參數(shù)

工作電路 9mA
內(nèi)部參考電壓(+1V):0.834V
板內(nèi)參考電壓實(shí)際是,成分壓電阻,所得到的參考電壓為:

如何將輸入方波轉(zhuǎn)換成倍頻PWM波形?

2.動(dòng)態(tài)調(diào)試

「(1)信號(hào)源:」

由信號(hào)源引入1000Hz的方波信號(hào)進(jìn)入In端口。

如何將輸入方波轉(zhuǎn)換成倍頻PWM波形?
▲ 信號(hào)源提供的1000Hz的調(diào)試方波信號(hào)

「(2)修正電路中存在的錯(cuò)誤」

檢查運(yùn)放輸出沒(méi)有波形,發(fā)現(xiàn) 「設(shè)計(jì)錯(cuò)誤:」在原理圖中的WAV1, WAV2被表示成了WAVE1,WAVE2。所以沒(méi)有實(shí)際引線。

「修正錯(cuò)誤:」 手工將WAV1,2連接上。

「(3)測(cè)量電路中的波形」

兩個(gè)積分器的輸出信號(hào)與輸入方波信號(hào)的之間的關(guān)系為如下。

如何將輸入方波轉(zhuǎn)換成倍頻PWM波形?
▲ 輸入方波信號(hào)與積分器的輸出

此時(shí)輸入信號(hào)的頻率,半個(gè)周期的時(shí)間。

積分器的輸入電壓,就是班內(nèi)的參考電壓。積分器的輸入電阻,積分電容。那么在半個(gè)周期內(nèi)的鋸齒波的電壓峰值為:

如何將輸入方波轉(zhuǎn)換成倍頻PWM波形?

實(shí)際測(cè)量鋸齒波的峰值為1.06V,與上面理論計(jì)算值相符合。

「(4)測(cè)量輸出合成的鋸齒波:」

電路中SAWOUT的鋸齒波的波形如下:

如何將輸入方波轉(zhuǎn)換成倍頻PWM波形?
▲ SAWOUT輸出鋸齒波信號(hào)

將模擬門(mén)合成的鋸齒波分壓一半送到LMV324 OPAM進(jìn)行比較,對(duì)應(yīng)的波形如下。

如何將輸入方波轉(zhuǎn)換成倍頻PWM波形?
▲ SAW(Cyan), SAWOUT(Green)電壓波形

「(5)輸出參考電壓」

輸出的參考電壓是由SAWOUT低通濾波之后的數(shù)值。

測(cè)量值為:1.38V
Vref = 0.823V
幅值為 1.38-0.823=0.557V。這個(gè)幅度基本上等于鋸齒波的峰值電壓的一半。這正是三角鋸齒波的平均值與峰值之間的關(guān)系。

「(6)輸出PWM波形:」

使用一個(gè)330k歐姆的電位器,連接在PIO的3,4,5之間,這為最后一級(jí)的比較器(運(yùn)放工作在比較器狀態(tài))提供一個(gè)參考電壓。它的幅值在Vref到SAWOUT的低通濾波器輸出的參考電壓之間。

下面是最后一級(jí)運(yùn)放輸出電壓(Cyan)以及它驅(qū)動(dòng)電路中模擬門(mén)的Z通道輸出的波形(Green)。

如何將輸入方波轉(zhuǎn)換成倍頻PWM波形?
▲ 輸出PWM波形

03性能測(cè)試

下面對(duì)該電路的波形變化的性能進(jìn)行測(cè)試。

1.輸出PWM的范圍

改變外部設(shè)定PWM的電位器,可以控制輸出波形的PWM占空比。改變占空比的范圍在0~100%之間。

2-9.gif
▲ 輸出PWM波形占空比的范圍

2.輸出占空比與輸入信號(hào)頻率之間的關(guān)系

調(diào)節(jié)輸入信號(hào)的頻率,觀察到輸出信號(hào)的的占空比變化的情況。

2-9.jpg
▲ 改變輸入信號(hào)的頻率與輸出信號(hào)的占空比之間的關(guān)系

隨著輸入信號(hào)的頻率改變,輸出信號(hào)的的高電平和低電平在同時(shí)改變。在一定范圍內(nèi),占空比保持恒定值。但是隨著輸入頻率更大,輸出信號(hào)的占空比還是發(fā)生了一定的改變。

影響輸出占空比的原因有兩個(gè):

如果頻率過(guò)高,那么內(nèi)部產(chǎn)生的鋸齒波的幅值就過(guò)小,那么由最后一級(jí)運(yùn)放比較器的偏執(zhí)電壓,參考電壓分壓電路的誤差等原因,就會(huì)造成輸出脈沖的占空比的誤差增加。

如果輸入信號(hào)的頻率過(guò)低,使得內(nèi)部鋸齒波出現(xiàn)了飽和,這樣也會(huì)使得輸出波形的占空比出現(xiàn)恨大的誤差。

下面顯示了輸入信號(hào)的頻率從50Hz~250Hz變化過(guò)程中,內(nèi)部的鋸齒波以及輸出PWM波形變化的情況。

如何將輸入方波轉(zhuǎn)換成倍頻PWM波形?
▲ 頻率變化與內(nèi)部鋸齒波波形變化情況

3. 測(cè)量輸入頻率變化對(duì)輸出占空比的影響

通過(guò)測(cè)量輸出PWM的平均電壓,可以測(cè)定輸出的占空比。

輸入頻率范圍100~1000Hz。

第一個(gè)測(cè)量是在100Hz的時(shí)候設(shè)置PWM占空比大約為50%左右,下圖顯示了隨著頻率增加,輸出PWM的平均電壓的變化。

如何將輸入方波轉(zhuǎn)換成倍頻PWM波形?
▲ 輸入頻率與輸出PWM平均電壓之間的關(guān)系

下面是對(duì)應(yīng)的輸入、輸出信號(hào)的變化的情況。

2-13.gif
▲ 改變輸入信號(hào)的頻率,測(cè)量輸出PWM的占空比
如何將輸入方波轉(zhuǎn)換成倍頻PWM波形?
▲ 輸入信號(hào)的頻率對(duì)輸出PWM平均電壓的影響
2-15.gif
▲ 輸入信號(hào)頻率變化對(duì)輸出PWM波形的影響
如何將輸入方波轉(zhuǎn)換成倍頻PWM波形?
▲ 輸入信號(hào)的頻率對(duì)輸出PWM的平均電壓的影響
2-17.gif
▲ 輸入信號(hào)的頻率對(duì)于輸出PWM波形的影響

將前面三個(gè)測(cè)量的PWM輸出電壓隨著輸入信號(hào)頻率變化繪制在一張圖中進(jìn)行對(duì)比,可以看到輸入信號(hào)的頻率對(duì)于PWM的占空比的影響在不同的占空比下的情況還是有區(qū)別的。但在輸入信號(hào)頻率在100~1000Hz變化內(nèi),PWM信號(hào)占空比變化幅度都在5%之內(nèi)。

如何將輸入方波轉(zhuǎn)換成倍頻PWM波形?
▲ 三種不同PWM占空比的情況下,輸入信號(hào)的頻率對(duì)于輸出PWM的平均電壓的影響

測(cè)量不同頻率下的輸出PWM信號(hào)平均電壓的數(shù)據(jù)如下:

f=[100.00,118.00,136.00,155.00,173.00,191.00,210.00,228.00,246.00,265.00,283.00,302.00,320.00,338.00,357.00,375.00,393.00,412.00,430.00,448.00,467.00,485.00,504.00,522.00,540.00,559.00,577.00,595.00,614.00,632.00,651.00,669.00,687.00,706.00,724.00,742.00,761.00,779.00,797.00,816.00,834.00,853.00,871.00,889.00,908.00,926.00,944.00,963.00,981.00,1000.00]
d=[2.48,2.50,2.53,2.54,2.56,2.57,2.58,2.59,2.60,2.61,2.61,2.62,2.63,2.64,2.65,2.65,2.66,2.66,2.67,2.68,2.68,2.69,2.70,2.70,2.71,2.72,2.74,2.73,2.74,2.74,2.75,2.75,2.76,2.77,2.77,2.78,2.79,2.79,2.80,2.80,2.81,2.81,2.82,2.82,2.82,2.82,2.83,2.84,2.85,2.85]

f=[100.00,118.00,136.00,155.00,173.00,191.00,210.00,228.00,246.00,265.00,283.00,302.00,320.00,338.00,357.00,375.00,393.00,412.00,430.00,448.00,467.00,485.00,504.00,522.00,540.00,559.00,577.00,595.00,614.00,632.00,651.00,669.00,687.00,706.00,724.00,742.00,761.00,779.00,797.00,816.00,834.00,853.00,871.00,889.00,908.00,926.00,944.00,963.00,981.00,1000.00]
d=[4.28,4.26,4.23,4.22,4.21,4.21,4.21,4.20,4.21,4.21,4.21,4.21,4.21,4.22,4.22,4.22,4.23,4.23,4.24,4.24,4.24,4.25,4.25,4.26,4.26,4.26,4.27,4.27,4.27,4.28,4.28,4.28,4.29,4.30,4.30,4.30,4.28,4.31,4.32,4.32,4.32,4.33,4.33,4.34,4.34,4.34,4.34,4.36,4.36,4.36]

f=[100.00,118.00,136.00,155.00,173.00,191.00,210.00,228.00,246.00,265.00,283.00,302.00,320.00,338.00,357.00,375.00,393.00,412.00,430.00,448.00,467.00,485.00,504.00,522.00,540.00,559.00,577.00,595.00,614.00,632.00,651.00,669.00,687.00,706.00,724.00,742.00,761.00,779.00,797.00,816.00,834.00,853.00,871.00,889.00,908.00,926.00,944.00,963.00,981.00,1000.00]
d=[0.83,0.85,0.86,0.86,0.87,0.87,0.88,0.88,0.89,0.89,0.90,0.90,0.91,0.91,0.91,0.92,0.92,0.92,0.92,0.93,0.93,0.93,0.93,0.93,0.94,0.94,0.94,0.94,0.94,0.94,0.95,0.95,0.95,0.95,0.95,0.95,0.95,0.94,0.95,0.95,0.95,0.94,0.94,0.94,0.94,0.94,0.93,0.93,0.93,0.93]

實(shí)驗(yàn)所使用的Python程序如下:

#!/usr/local/bin/python
# -*- coding: gbk -*-
#******************************
# TEST11.PY                    -- by Dr. ZhuoQing 2020-05-23
#
# Note:
#******************************

from headm import *
from tsmodule.tsvisa        import *
from tsmodule.tshardware    import *
from tsmodule.tsstm32       import *
from tsmodule.tsdraw        import *

#------------------------------------------------------------
ds6104open()

#------------------------------------------------------------
pltgif = PlotGIF()

setf = linspace(100, 1000, 50)

fdim = []
dutydim = []

for f in setf:
    zbcmd(bytes(''ad9833setfrequency %d''%int(f), ''utf-8''))
    time.sleep(1)
    meter = meterval()

    printf(meter)
    fdim.append(int(f))
    dutydim.append(meter[0])

    x,y1,y2,y3 = ds6104readcal(1,2,3)

    plt.clf()
    plt.plot(x, y1, label=''Input'')
    plt.plot(x, y2, label=''PWM'')
    plt.plot(x, y3, label=''Saw Wave'')
    plt.xlabel(''Time(s)'')
    plt.ylabel(''Wave'')
    plt.grid(True)
    plt.legend(loc=''upper right'')
    plt.draw()
    plt.pause(.1)

    pltgif.append(plt)

pltgif.save(r''d:temp1.gif'')
printf("a")
tspsavenew(''data'', f=fdim, d=dutydim)
plt.clf()
plt.plot(fdim, dutydim)
plt.xlabel(''Frequency(Hz)'')
plt.ylabel(''Voltage(V)'')
plt.grid(True)
plt.show()

#------------------------------------------------------------
#        END OF FILE : TEST11.PY
#******************************

04結(jié)論

本文驗(yàn)證了如下兩部分的內(nèi)容:

使用模擬門(mén)電路可以有效的從輸入方波中產(chǎn)生鋸齒波信號(hào)。其中應(yīng)用到了模擬門(mén)對(duì)積分電容進(jìn)行放電的過(guò)程;
使用了鋸齒波的平均值電壓作為占空比控制的參考電壓,它可以隨著輸入信號(hào)的頻率的變化而變化,進(jìn)而保證了輸出PWM的占空比不隨著輸入信號(hào)頻率的變化而改變。在輸入信號(hào)頻率從100Hz改變到1000Hz的過(guò)程中,輸入PWM占空比的變化不超過(guò)5%。
電路的性能還依賴于所使用的器件的性能。本實(shí)驗(yàn)中使用了LMV324,主要是看中了在單電源(+5V)工作的簡(jiǎn)便性。如果想進(jìn)一步提高電路的性能,可以采用帶寬和精度更高的運(yùn)放完成電路的設(shè)計(jì)。

Reference
[1]「信號(hào)轉(zhuǎn)換的解題思路」:
https://zhuoqing.blog.csdn.net/article/details/106293296
(來(lái)源:TsinghuaJoking ,作者:卓晴)
 
 
免責(zé)聲明:本文為轉(zhuǎn)載文章,轉(zhuǎn)載此文目的在于傳遞更多信息,版權(quán)歸原作者所有。本文所用視頻、圖片、文字如涉及作品版權(quán)問(wèn)題,請(qǐng)聯(lián)系小編進(jìn)行處理。
 
 
推薦閱讀:
萊迪思Nexus技術(shù)平臺(tái):重新定義低功耗、小尺寸FPGA
貿(mào)澤電子一站式采購(gòu)平臺(tái)推出在線計(jì)算器 助力電子設(shè)計(jì)提速
解析半導(dǎo)體激光器產(chǎn)業(yè)現(xiàn)狀與技術(shù)流派前景
2020中國(guó)(廣州)國(guó)際物流裝備與技術(shù)展覽會(huì)
AI加速器生態(tài)系統(tǒng)
特別推薦
技術(shù)文章更多>>
技術(shù)白皮書(shū)下載更多>>
熱門(mén)搜索
?

關(guān)閉

?

關(guān)閉