Learning Objectives
- 用 FUNC、FREQ、VOLT、VOLT:OFFS、OUTP 設定函數產生器的波形、頻率、振幅、偏移與輸出
- 用 APPL 一次設定並打開輸出,用 APPL? 讀回設定
- 換算峰對峰值(Vpp)與均方根值(Vrms),說明偏移如何改變 Vrms
- 說明 50 Ω 輸出阻抗與負載設定,為什麼示波器上看到的電壓可能是設定值的兩倍
給電路一個已知的訊號
電源供應器給電路固定的直流電壓;函數產生器(function generator)給電路會變化的電壓:正弦波、方波、三角波。 要測一個濾波器、放大器或感測電路,就用函數產生器送進一個已知的訊號,再用示波器看電路輸出了什麼。
描述一個週期訊號只要四個數字加一個形狀:
| 參數 | SCPI(常見寫法) | 意思 |
|---|---|---|
| 波形 | FUNC SIN/SQU/TRI |
正弦波、方波、三角波 |
| 頻率 | FREQ 1000 |
每秒重複幾次(Hz) |
| 振幅 | VOLT 2 |
本課的儀器用峰對峰值(Vpp):最高點到最低點 |
| 偏移 | VOLT:OFFS 0.5 |
整個波形往上或往下平移的直流電壓 |
| 輸出 | OUTP ON/OFF |
設定好再打開 |
這一課把函數產生器接到示波器的通道 1(CH1),每改一個設定,就用示波器量一次確認。
本課的儀器是模擬的教學儀器(Uedu Sim)。有些函數產生器的振幅單位可以切換成振幅(峰值)或 Vrms,指令細節以手冊為準。
逐步看:一個參數一個指令
看畫面上的函數產生器面板與示波器:第 11 行 OUTP ON 之前,設定都改好了,但示波器上沒有訊號;打開輸出之後才出現 1 kHz、2 Vpp 的正弦波。
峰對峰值、振幅與均方根值
同一個「2 V」的訊號,可能有三種說法:
- 峰對峰值(Vpp):最高到最低,2 Vpp;
- 振幅(amplitude,峰值):中心到最高點,等於 Vpp ÷ 2,1 V;
- 均方根值(Vrms):和多少直流電壓產生一樣的功率。三用電錶的交流檔、插座的「110 V」說的都是 Vrms。
Vrms 和 Vpp 的關係依波形而不同:
| 波形 | Vrms | Vpp=2 V 時 |
|---|---|---|
| 正弦波 | Vpp ÷ (2√2) | 約 0.7071 V |
| 方波 | Vpp ÷ 2 | 1 V |
| 三角波 | Vpp ÷ (2√3) | 約 0.5774 V |
APPL:SIN 1000,2,0 一次設定頻率、Vpp、偏移,並同時打開輸出;方波、三角波分別是 APPL:SQU、APPL:TRI。
它很方便,但要記得它會打開輸出。
逐步看:三種波形的 Vrms
同樣 2 Vpp,換三種波形,看示波器量到的 Vrms 和公式算的是否一致。電路畫面上的示波器會跟著換波形。
偏移、單位,與「為什麼示波器量到兩倍」
偏移把整個波形往上平移。例如 3 Vpp 的方波加上 1.5 V 偏移,就變成在 0 V 與 3 V 之間跳動,正好是 3.3 V 邏輯電路能接受的訊號。 偏移是直流成分,所以會讓 Vrms 變大:
Vrms(含直流)= √(交流部分的 Vrms² + 偏移²)
大多數示波器的 Vrms 量測包含直流成分,也有只算交流的選項,以手冊為準。
SCPI 的數值可以帶單位:FREQ 2.5kHz、VOLT 500mV。儀器回傳時一律用基本單位的科學記號(+2.500000E+03)。
設定超出儀器的範圍(例如這台最高 20 Vpp)時,和電源供應器一樣,設定不會改變,錯誤佇列出現 -222。
50 Ω 與高阻抗:很多函數產生器的輸出有 50 Ω 的內阻,面板上顯示的電壓是假設接了 50 Ω 負載。 50 Ω 負載和內阻各分一半電壓,所以內部其實產生了兩倍的電壓。接到示波器這種高阻抗(例如 1 MΩ)輸入時,幾乎沒有電壓落在內阻上, 示波器就會量到約兩倍的設定值。解決方法是把函數產生器的負載設定改成高阻抗(High Z),或真的在輸出端接 50 Ω 終端。 本課的模擬函數產生器已經設定成高阻抗負載,所以量到的值等於設定值。
逐步看:單位、偏移與超出範圍
看第 8 行讀回的設定:送出時寫 2.5kHz、500mV,讀回來是科學記號的基本單位。第 10 行加上偏移後,示波器上的方波整個往上移。
小測驗:參數與換算
函數產生器設定 VOLT 4、VOLT:OFFS 1(振幅以 Vpp 計),示波器上的正弦波最高與最低各是多少?
下面的程式會印出什麼?
import math
vpp = 2
rms = {"SIN": vpp / (2 * math.sqrt(2)), "SQU": vpp / 2}
print(round(rms["SIN"], 3), rms["SQU"])
程式只送了 fg.write("APPL:SIN 1000,2,0"),沒有送 OUTP ON。輸出是開的還是關的?
小測驗:讀回設定與負載
fg.query("FREQ?") 回傳 "+2.500000E+03\n",下面的程式會印出什麼?
reply = "+2.500000E+03\n"
f = float(reply)
print(f / 1000, "kHz")
函數產生器的負載設定是 50 Ω,設定 1 Vpp,直接接到示波器(1 MΩ 輸入),示波器大約量到多少?
重點整理
- 函數產生器的五個設定:
FUNC(波形)、FREQ(Hz)、VOLT(本課為 Vpp)、VOLT:OFFS(直流偏移)、OUTP;先設定,最後才打開輸出。 APPL:SIN f,vpp,offs一次設定並打開輸出;APPL?讀回設定。數值可帶單位(kHz、mV),讀回時是基本單位的科學記號。- Vrms:正弦 Vpp ÷ (2√2)、方波 Vpp ÷ 2、三角波 Vpp ÷ (2√3);有偏移時 Vrms=√(交流 Vrms² + 偏移²)。
- 50 Ω 輸出阻抗:負載設定和實際接的負載不一致時,量到的電壓會差兩倍。
- 超出範圍的設定不會生效,錯誤佇列出現
-222。
下一課認識示波器:時基、垂直刻度、觸發、自動量測,以及把整段波形讀回電腦。