魏慕霖,袁良祺,劉一萱,李灃,陳子寒
(1.北京信息科技大學儀器科學與光電工程系,北京100192;2.美國奧克蘭大學電子和計算機工程系,密歇根48309)
根據2019年全國大學生電子競賽本科組D題任務要求,設計并制作一個簡易電路特性測試儀測量特定放大器電路的特性,進而判斷該放大器由于元器件變化而引起故障或變化的原因。設計并實現了一款基于STM32F407單片機的電路特性測試儀,可以輸出1kHz正弦波信號以及高頻PWM信號;自動測量并顯示輸入、輸出電阻以及放大器的幅頻特性曲線;能判斷放大器電路元器件變化而引起故障或變化的原因。
本設計選用的是ST公司開發的STM32F407作為主處理器,STM32F407是基于ARM Cortex-M4內核的32位閃存微控制器[1],采用STM32F407作為簡易電路特性測試儀的數據采集以及處理系統大大簡化了電路提高了電路處理性能。
本文列舉了在比賽過程中系統方案的選型以及確定,輸入、輸出電阻、增益曲線和故障原因的理論原型及計算方法,實際制作出實物并經過測試證明此系統擁有良好的特性最終完成比賽。

圖1 特定放大器電路與電路特性測試儀連接圖
簡易電路測試儀由輸出電路以及輸入電路構成,輸出電路產生1kHz正弦波信號輸入放大器電路,單片機采集兩路信號ADC1與ADC2。由于部分題目部分要求高頻信號所以使用單片機I/O口控制9013三極管控制繼電器替換PWM波以及正弦波。
簡易電路測試儀輸入電路得到經過放大器的信號,通過單片機I/O口控制9013三極管導通或斷開負載電阻,再經過分壓電路減小電壓。減小后的電壓一路通過二極管和電容獲得峰值;另一路通過電阻和電容獲得平均值,單片機分別采集兩路信號ADC3和ADC4。則可獲得有負載電阻時電壓峰峰值以及無負載電阻時電壓峰峰值,簡易電路測試儀系統框圖如圖2所示。

圖2 簡易電路測試儀總體系統框圖
根據題目要求需要對輸入、輸出電阻、增益和頻幅特性曲線進行測量,可以將題目要求轉換為對已知阻值電阻上的電壓進行測量再經過計算得出要求內容。
方案一:使用高電壓的運放制作電壓跟隨器。使用高電壓的電壓跟隨器可以將電流放大,且輸入電阻高,輸出電阻低,可以提高整個放大電路的帶負載能力,電壓放大倍數小于1而接近于1,且輸出電壓與輸入電壓相位相同具有跟隨、隔離的特性。由于測量電路中有電阻的話可能會影響輸出電阻的測量。
方案二:選擇遠大于輸出電阻的電阻進行分壓。采用遠大于輸入電阻的電阻進行分壓,通常為十倍以上分壓作用越明顯。再使用一個運放制作負反饋電路的電壓跟隨器再接入單片機的ADC。
考慮到芯片供電以及電路搭接原因,本設計選用方案一。
根據題目要求需要輸出1kHz正弦波信號,即電路特性測試儀輸出端口電路組成為1kHz正弦波信號發生電路,其方案選擇與討論如下:
方案一:采用集成函數發生器。利用函數發生器(ICL8038)產生1kHz的正弦波。ICL8038能輸出方波、三角波、正弦波和鋸齒波四種不同的波形。它是電壓控制頻率的集成芯片,失真度很低。可輸入不同的外部電壓來實現不同的頻率輸出。
方案二:采用單片機控制合成。利用STM32單片機編程實現產生1kHz正弦波信號。這種方案硬件電路較為簡單,且所用器件少,實現產生波形相對容易,在所需頻率段基本能實現要求的功能。
方案三:DDS是一種純數字化方法。它先將所需正弦波一個周期的離散樣點的幅值數字量存入ROM中,然后按一定的地址間隔(相位增量)讀出,并經D/A轉換器形成模擬正弦信號,再經低通濾波器得到質量較好的正弦信號[2]。
考慮到本題要求放大倍數很大,所以使用DDS產生的正弦信號不可用,本設計選取方案二。
方案一:采用TO220封裝的MOSFET開關。采用MOSFET開關如IRF540或者IRF3710,這種電子開關擁有導通電阻低和控制轉換速率較快的優點。
方案二:采用9013三極管。采用比賽要求有的9013三極管可以達到控制電路導通或斷開的狀態。
考慮到MOSFET開關采購不便,比賽中沒有現貨需要采購,本設計使用9013三極管搭建自動開關。
放大器電路確定則放大器輸入電阻確定,實際阻值為R1與R2并聯阻值大小約為:
Rin=R1//R2//R三極管
由于電路特性測試儀輸出1kHz正弦信號可控,所以此正弦信號幅值已知,若想知道輸入電阻只需測出輸入電流即可。MCU產生的正弦信號峰峰值已知為VADC1,所設置的已知電阻阻值大小為Rx,單片機采集到的電壓值為VADC2,即可得到電壓分壓公式:

可得計算出輸入電阻的大小計算公式:

由于放大器的放大倍數60~300,所以輸入進放大電路的正弦信號幅值為幾十毫伏左右,但單片機產生不了幾十毫伏的電壓,所以需要分壓電路的增益以及電壓跟隨器對正弦信號進行處理。
放大器電路輸出電阻值應為R3阻值大小2kΩ。單片機產生的1kHz的正弦信號經過放大器后幅值未知,所以需要先斷開負載電阻RL后計算開路輸出電壓Voutopen,再計算出連接電阻后的電壓Vout1,兩次電壓之比為兩次連入電路不同電阻阻值之比,換算即得到輸出電阻大小:

由于放大電路輸出電壓范圍為0~12V,而單片機可承受的電壓范圍為0~3.3V,所以需要進行分壓。另外,所涉及的信號頻率較高但ADC采集速度慢,而且信號有一個直流偏置,所以需要采取信號最低值。但是由于正弦信號最低值難以測量,可以轉換成測量信號平均值的做法。利用單片機ADC分別采集信號峰值VADC3以及正弦波平均值VADC4,即可得到信號峰峰值VVpp:
VVpp=2×VADC3-2×VADC4
這樣在有負載和無負載時測的兩組數據通弄過計算可以得到有負載時電壓峰的峰值Vout1,斷開負載時電壓峰的峰值Voutopen。
單片機通過采集放大器輸出開路電壓峰的峰值Voutopen除以輸入電壓峰的峰值VADC2即可得到放大器增益倍數G:

放大器的幅頻特性曲線的計算涉及到上限頻率值,所以在設計電路是需要考慮到單片機無法產生過高頻率的正弦信號。由于所需信號頻率高,可采用高頻率PWM替換高頻正弦信號。
當信號頻率較小時可采用DAC輸出正弦波,當頻率較大時需要采用PWM波,測得該放大電路放大倍數。當測量分貝數截止到-3dB時即題目要求幅頻特性曲線帶寬,將不同頻率時對應的放大倍數連成線即為所要求的幅頻特性曲線。
該放大器電路為自給偏壓共基三極管放大電路。其R1及R2為三極管偏壓電阻,為三極管基極提供必要偏置電流,R3為負載電阻,R4為電流反饋電阻,C1和C3分別是輸入和輸出隔直電容,C2與R4并聯增大放大倍數,交流時將R4短路。基于對電路的分析以及Multisim仿真軟件放大器電路的測試,可以得到這4個電阻開路或短路時現象如表1所示,3個電容的開路或增大時現象如表2所示。

表1 R1~R4電阻開路或短路時現象

表2 C1~C3電容開路或增大時現象
產生1MHz幅值為0~3.3V的PWM信號,需要對此PWM信號0.5倍增益處理。將0.5倍增益處理后的PWM信號與單片機DAC共同接入繼電器的輸入口,使用單片機I/O口控制三極管9013的導通與斷開控制繼電器完成PWM信號與DAC之間的切換。將信號增益0.1倍通過已知阻值電阻Rx和輸入電阻Rin輸入到放大器輸入,并分別采集通過Rx前后電壓值,輸入端口電路如圖3所示。
如圖4所示為輸出電阻測量電路,Rout為輸出電阻,RL為負載電阻,R4為保護電阻大小任意,R5、R6為分壓電路。通過單片機I/O口控制三極管9031(仿真里用2N2221代替)通斷R2,當單片機I/O口電平為高,則將R2接地;當單片機I/O口電平為低,則將R2斷開。采用低電壓運放LMV358制作電壓跟隨器。使用二極管1N4148以及47nF電容采集峰峰值VADC3,RC振蕩電路選擇470Ω以及0.1μF采集平均值VADC4。

圖3 電路特性測試儀輸入端口電路

圖4 電路特性測試儀輸入端口電路
本系統主控芯片采用STM32F407,顯示器采用IIC通信的0.96寸OLED,單片機通過讀取鍵盤鍵值執行不同的功能完成題目不同的要求。單片機通過控制DAC生成1kHz的正弦波且產生高頻PWM信號。通過外部中斷以及定時器中斷控制負載接入或接出電路,可以達到計算顯示內容的改變。
本設計采用DG4062信號發生器、TDS1012B-SC示波器進行測試。
電路特性測試儀各個點信號的檢測采用示波器分別接入單片機的輸出DAC與輸入ADC,記錄各個點波形的參數,如表3所示。

表3 單片機DAC及各個ADC引腳信號參數

圖5 定時器中斷流程圖

圖6 外部中斷流程圖
基礎要求部分和(1)~(3)測試直接將電路通電,讀出屏幕上顯示讀數,結果如表4所示。

表4 OLED屏顯示參數
發揮要求部分(4)測試在通電的情況下,外部點擊KEY1按鍵,屏幕上顯示7個不同頻率的幅頻特性點,并將點連成曲線顯示,7個不同頻率的幅頻特性點如表5所示。

表5 屏幕顯示7個點幅頻特性曲線
發揮部分的內容經過測試效果好,可以直觀地顯示出問題的所在,判斷故障所在位置元器件以及故障原因。
從測試數據結果可以看出,本系統基本達到了簡易電路特性測試儀(D題)要求可以自動測定并顯示輸入電阻、輸出電阻、增益以及幅頻特性曲線測得數值與實際計算數值比較誤差在題目要求范圍以內。對于發揮部分的測試,也可真實地找到故障所在元器件以及故障原因。
本文根據2019年全國大學生電子設計競賽試題(D題)設計了一款基于ARM平臺、采用STM32單片機為核心的簡易電路特性測試儀基本達到了比賽要求。在實際使用中由于單片機不斷的發出并采集信號所以在OLED屏上顯示的數值已知有小幅度的波動,且使用的屏幕較小讀取數值不易,還存在一定程度提升的空間。