再戰射頻功率計
目標是實現從1mW以下到幾瓦射頻功率的測量。
原理圖很簡單,6個300歐電阻並聯成50歐假負載,二極體檢波、分壓後由MCP3421進行AD轉換,STM32F030控制OLED屏顯示。供電用一節5號電池,BL8530升壓到3.3V。
主要的麻煩在於檢波二極體。2015年試過一次,用2SC1622、2N5551之類高反壓三極體的BC結檢波,結果發現輸入頻率50MHz時測得結果嚴重偏小,輸入144M、430M時就完全測不到了,換成1N60則一切正常。可見結電容稍微大一點都不行。但是1N60的耐壓只有40V,這樣用單只1N60時能測到的最大功率為 , 兩隻串聯時也只有16W,還是稍嫌小了點兒。如果有耐壓上百伏的鍺二極體就能測到幾十瓦的功率了。
調試過程略麻煩。MCP3421測得的是22k分壓電阻上的電壓, 乘以(492/22)後可得二極體檢波後的峰值電壓, 再加上二極體壓降Vf即得輸入電壓峰值.
問題是小信號輸入時二極體完全是非線性的, 因此需要對若干已知輸入電壓Vin, 算出二極體壓降VD和電流I.
根據二極體模型 , 可得
, 其中n, Vt, Is都是常數. 之後就簡單了, 用若干組實測數據, 擬合出Vd和I的關係式為
. 從R平方值來看擬合得還可以.
下表左邊兩列是根據輸入電壓計算的功率和dBm值, 右邊兩列是用ADC轉換結果換算的功率和dBm值. 精度似乎不錯, 除了第一組數據以外, 最多只差0.1dBm, -10dBm的下限已經遠超預期了.
如果需要準確測量更小的輸入功率呢? 可以把檢波二極體換成更靈敏的1SS86(反向耐壓只有可憐的3V), 或者直接上對數放大器AD8307/AD8310之類.
最後還有個坑: 一開始MCU選了STM32F030F4, 結果大概是因為浮點運算比較多, 最後編譯完居然有30k多, STM32F030F4的16k Flash根本不夠用. 保險起見, 換成了64k Flash的STM32F030C8.
推薦閱讀:
※想要自制一個等身大的毛絨玩具要怎麼做?
※Genspace: 面向普通大眾的生物科技實驗室
※如何用子彈殼生產出一副耳機?
※我想把一根樹枝自己加工成手鏈,應該怎麼做?