ADC(Analog to Digital Converter)是模擬轉(zhuǎn)數(shù)字采樣器。Arduino的ADC口只能測(cè)量直流電睁冬,即0.0v ~ REFv(REF ≥ 0.0)镐确,但有時(shí)我們需要測(cè)量-REFv ~ +REFv的交流電祥诽,如音頻信號(hào)黍聂,那就變得尷尬了~= ̄ω ̄=
設(shè)計(jì)思路
讓交流音頻信號(hào)可被Arduino測(cè)量:
∵ Arduino的ADC只能采集0 ~ VREF的電壓值躺苦,且VREF ≥ 0
∵ 音頻信號(hào)是-v ~ +v的交流信號(hào),v ≥ 0
∴ 為音頻信號(hào)加上+v的偏置電壓产还,使其電壓變化范圍全部大于等于0匹厘,再將其放大到VREF即可被Arduino測(cè)量
在Arduino中對(duì)畸變的信號(hào)還原:
∵ 假設(shè)原始音頻信號(hào)為V,它的最低電壓為Vorg_min
∵ 對(duì)其加上偏置電壓后為V' = V + Vorg_min
∵ 對(duì)其放大后的電壓為V'' = n · (V + Vorg_min)
∴ 解算后的實(shí)際電壓 V = (1 / n) · V'' - Vorg_min
如下圖所示:
參考電路
共射極放大電路
共射極放大電路可以為信號(hào)添加一個(gè)固定的直流偏置電壓脐区,使信號(hào)完全偏移到正電壓上愈诚,另外它也可以放大信號(hào)的電壓,滿(mǎn)足Arduino ADC接口的測(cè)量標(biāo)準(zhǔn)牛隅。
電路分析
上面的電路為固定偏置共射極放大電路炕柔。我們計(jì)算的共射極放大電路中使用到的三極管是NPN型三極管,它有三個(gè)極:
- 基極:符號(hào)b媒佣,可看作是控制水管流量的閥門(mén)
- 集電極:符號(hào)c匕累,可看作是水管的注水端
- 發(fā)射極:符號(hào)e,可看作是書(shū)管的出水端
三極管有兩種半導(dǎo)體類(lèi)型:
- 硅管丈攒,集電極與發(fā)射極之間的壓降為VBE = 0.7v
- 鍺管哩罪,集電極與發(fā)射極之間的壓降為VBE = 0.2v(因?yàn)榇┩鸽娏鞔螅菀讚p壞巡验,現(xiàn)在應(yīng)該基本棄用了)
三極管的放大倍數(shù):
- β,三極管的放大倍數(shù)通常用β來(lái)表示
參數(shù)計(jì)算
我們一般計(jì)算一個(gè)放大電路的參數(shù)碘耳,會(huì)把里面的電流都控制到一個(gè)靜態(tài)的點(diǎn)上去計(jì)算显设,這樣可以避開(kāi)復(fù)雜的電流變化帶來(lái)的計(jì)算上的麻煩。而我們輸入端有個(gè)阻隔直流的電容C辛辨,所以信號(hào)靜止不變時(shí)捕捂,能夠輸入放大電路的電壓就為0v了瑟枫,這就引入了靜態(tài)工作點(diǎn)的參數(shù)估算,習(xí)慣上也把它稱(chēng)作Q點(diǎn)指攒。
靜態(tài)工作點(diǎn)
因?yàn)檩斎敕糯箅娐返碾妷簽?v慷妙,所以這個(gè)時(shí)候在三極管基極b(閥門(mén)端)上輸入的電壓就只有電阻Rb上的電壓Vb了,此時(shí)我們就知道了流入三極管基極b(閥門(mén)端)的電流Ib
Ib = Vcc / Rb
進(jìn)而由三極管VT放大后輸出的電流Ic為
Ic = β * Ib = β * Vcc / Rb
所以三極管VT輸出的電壓Vce為
Vce = Vcc - Ic * Rc
一般情況下允悦,Vcc和VT的放大倍數(shù)β都已經(jīng)事先確定膝擂,所以接下來(lái)要確認(rèn)的是分壓電阻Rc和偏置電阻Rb。
- 調(diào)整Rc可以調(diào)節(jié)VT輸出的最大電壓
- 調(diào)整Rb可以調(diào)節(jié)對(duì)輸入信號(hào)施加的偏置電壓隙弛,使信號(hào)的負(fù)半周全部提高到0v以上
偏置電阻Rb
電源電流通過(guò)偏置電阻Rb流入三極管VT基極b(閥門(mén)端)的電流是Ib = Vcc / Rb架馋,在三極管VT的集電極c和發(fā)射極e之間就會(huì)產(chǎn)生一個(gè)β * Ib*倍的電流,經(jīng)過(guò)電阻Re的轉(zhuǎn)換全闷,在電阻Re兩端就會(huì)得到一個(gè)電壓Ve叉寂,這就是偏置電壓。
偏置電壓負(fù)責(zé)處于正負(fù)半周上的信號(hào)提高到正半周总珠,使信號(hào)在任何時(shí)候都不會(huì)有電壓為負(fù)的情況出現(xiàn)屏鳍。
所以我們調(diào)整偏置電阻Rb的目的也就明了了,我們要調(diào)整一個(gè)足夠的偏置電壓局服,使得信號(hào)在任何時(shí)候都不會(huì)有負(fù)電壓孕蝉,但也不能調(diào)整得太大,使信號(hào)的最高電壓超過(guò)三極管VT的放大極限腌逢,出現(xiàn)飽和的情況(因?yàn)轱柡筒糠制鋵?shí)會(huì)被“削頂”降淮,而不是像下面的示意圖一樣好好活著~)
穩(wěn)定Q點(diǎn)
因?yàn)槿龢O管VT的放大系數(shù)β會(huì)隨著溫度的升高而升高,即通過(guò)集電極c與發(fā)射極e之間的電流Ice會(huì)增加搏讶,從而流向基極b的電流Ib會(huì)減少佳鳖,這就造成偏置電壓降低。
這會(huì)讓偏置并放大后的音頻信號(hào)上下浮動(dòng)媒惕,而且可能造成"削頂"失真系吩。
要解決這個(gè)問(wèn)題,我們需要改良放大電路妒蔚,為分壓式偏置共射極放大電路穿挨,如下圖。
我們添加了電阻Rb2和電阻Re來(lái)平衡偏置電壓肴盏。
偏置電阻Rb1和Rb2把電源電壓Vcc按電阻比例穩(wěn)定的分為兩部分科盛,輸入三極管VT基極b(閥門(mén)端)的電壓Vb也由偏置電阻Rb1和Rb2的分壓值決定,所以Vb是穩(wěn)定的菜皂。
此時(shí)贞绵,如果三極管VT溫度上升,通過(guò)集電極c與發(fā)射極e之間的電流Ice會(huì)增加恍飘,那么電阻Re的電壓Ve也會(huì)上升榨崩,三極管VT的基極b和發(fā)射極e之間的壓降就下降了谴垫,所以流入三極管基極b的電流Ib也降低了,從而降低了偏置電壓母蛛,使偏置電壓處于穩(wěn)定狀態(tài)翩剪。
計(jì)算各電阻的值
三極管VT的基極b的電壓Vb為
Vb = (Rb2 / (Rb1 + Rb2)) * V~cc
三極管VT的發(fā)射極b的電流Ie為
Ie = (Vb - Vbe) / Re
三極管VT的集電極c與發(fā)射極e之間壓降Vce為
Vce = Vcc - Ic * (Rc + Re) ≈ Vcc - Ie * (Rc + Re)
[未完,但要不要待續(xù)咧~←_←]
運(yùn)算放大器
運(yùn)放輸入阻抗高彩郊,輸出阻抗低前弯,放大倍數(shù)高,做ADC的信號(hào)匹配再合適不過(guò)了~
如果使用運(yùn)放來(lái)適配ADC采集交流電信號(hào)焦辅,做到如下兩級(jí)就通常就足夠了:
加法器 → 反向放大器
- 加法器博杖,用于把交流信號(hào)偏置到正電壓上,進(jìn)入ADC的電壓采集范圍
- 反向放大器筷登,把交流電信號(hào)適配到ADC的最大量程上剃根,提高ADC采集的分辨率