National Central University
Uedu Main Site
Explore Uedu
Student Console
Register as Member/Login
Research Informed Consent Center
Survey Center
Educational Big Data Challenge
Claim or create a course
Try an AI Scenario Task
Support & Messages
Uptime Data

UeduGPTs

--

Jupyters

3

Local AI

--

Uedu Code

--

中央大學 AQI 80 24°C PM2.5 21
AI Reply Desktop Notifications

Show a desktop notification when the AI TA finishes replying

Chat Message Notifications

Notify me when classmates post messages in the forum

Sound notification

Play an alert sound whenever there is a new notification

Unit 18

專題:自動化元件特性測試站

整合電源、電錶、示波器做元件測試與報表
Interaction 30 minute(s)

Learning Objectives

  • 把需求寫成可以量測、可以判斷的規格與測試步驟
  • 測試站開始前先自我檢查:確認每台儀器的型號、回到已知狀態
  • 整合電錶、函數產生器與示波器,量出 RC 模組的電阻與截止頻率,推算電容
  • 依規格做出總判定,並確保所有儀器的輸出在結束時都關閉

專題:RC 濾波器模組的特性測試站

這一軌學過的東西:SCPI 與 PyVISA、電源供應器與電錶、函數產生器與示波器、掃描、資料處理、程式架構、限值判斷。 最後一課把它們整合成一個元件特性測試站。

情境:你收到一批 RC 低通濾波器模組,標示是「1 kΩ ±1%、100 nF ±10%」。電容沒辦法直接用本課的電錶量, 但可以間接量:先量電阻 R,再量截止頻率 fc,由 fc = 1 ÷(2πRC)反推

C = 1 ÷(2π × R × fc)
規格項目 怎麼量 用哪台儀器 合格範圍
電阻 R 斷電,量兩端電阻 數位電錶 990~1010 Ω
截止頻率 fc 找相位 −45° 的頻率 函數產生器+示波器 (用來算 C)
電容 C 由 R 與 fc 計算 程式 90~110 nF

做一個專題,先寫下三件事,再寫程式:要量什麼(規格)、用什麼方法量(步驟與儀器)、怎樣算合格(限值)。

逐步看:測試站的自我檢查

測試站開始量之前,先確認接上的儀器都對:每台問 *IDN?,型號和設定表不符就停下來;對的就 *RST;*CLS 回到已知狀態。 看通訊紀錄:四台儀器依序回答。

逐步看:量電阻一定要斷電

電錶量電阻的方法是自己送一個小電流、量電壓再相除。如果電路上還有電源,量到的就不是電阻。 這個範例先故意在有電時量一次,看電錶回傳什麼;再斷電、一次量 5 筆。

逐步看:完整的特性量測

三個步驟接起來:電錶量 R、二分搜尋找 fc、計算 C,最後和規格比較。 二分搜尋做 8 次,fc 的誤差約 1%;要更準可以多做幾次,代價是時間。

小測驗:測試站的設計

1.

下面的程式會印出什麼?

idn = "Uedu Sim,DM-1060,DM000207,2.10\n"
parts = idn.strip().split(",")
print(parts[1], len(parts))
2.

下面的程式會印出什麼?

import math
r, fc = 1000.0, 1591.55
c_nf = 1 / (2 * math.pi * r * fc) * 1e9
print(round(c_nf))
3.

電錶量電阻時回傳 +9.90000000E+37,最可能是什麼原因?

第 1 次作答

專題實作:完成 RC 模組的特性測試站

起始程式只完成了「確認儀器」,第 1 步量電阻還有一個錯誤,第 2~4 步是 TODO。依序完成任務:

  1. 直接執行,看第 1 步印出的電阻值哪裡不對。
  2. 修正第 1 步,量到正確的電阻,印出「R = …」。
  3. 用函數產生器與示波器找出截止頻率,印出「fc = … Hz」。
  4. 由 R 與 fc 算出電容,印出「C = … nF」。
  5. 依規格(R 990~1010 Ω、C 90~110 nF)印出「序號 總判定 PASS」,而且程式結束時電源供應器與函數產生器的輸出都是關的。
  6. 回答一個問題。

可以參考前面三個逐步範例,也可以用第 16 課的類別、第 17 課的限值表改寫成更有結構的程式。

把專題做得更完整

完成任務之後,可以依興趣往這些方向延伸(每一項都用得到前面某一課):

延伸 做法 相關的課
一次測一批 序號從 0001 開始遞增,每顆的結果寫進 CSV 報表、最後算良率 第 15、17 課
畫出波德圖 除了 fc,再掃描 100 Hz~10 kHz 每個十倍頻幾點,存成 CSV 用 matplotlib 畫 第 14 課
更有結構 每台儀器一個類別、with 保證關閉輸出、設定檔放資源字串與規格 第 16 課
沒有儀器也能開發 寫一個 FakeScope,回傳用公式算的相位 第 16 課
量測不確定度 R 量 10 次算標準差;fc 的搜尋多做幾次,估計 C 的不確定度 第 15 課
保護帶 C 的測試限值比規格內縮,例如 91~109 nF 第 17 課

真實的元件測試站還會考慮:測試治具與探棒的接觸電阻(低電阻常用四線式量法)、儀器的校正狀態、 環境溫度(電阻與電容都會隨溫度變),以及操作人員的安全守則。

小測驗:整合與安全

1.

測試站程式結束時,哪一種做法最能確保函數產生器與電源供應器的輸出都關閉?

2.

下面的程式會印出什麼?

spec = {"R": (990, 1010), "C": (90, 110)}
meas = {"R": 1000.1, "C": 111.2}
ok = all(spec[k][0] <= meas[k] <= spec[k][1] for k in spec)
print("PASS" if ok else "FAIL", [k for k in spec if not spec[k][0] <= meas[k] <= spec[k][1]])
第 1 次作答

重點整理

  • 專題先寫規格:要量什麼、用什麼方法、怎樣算合格;再把步驟寫成程式。
  • 測試站開始前自我檢查:*IDN? 比對型號、*RST;*CLS 回到已知狀態,儀器序號也記進報表。
  • 量電阻一定要斷電;+9.9E+37 表示溢位或無效讀值。
  • 間接量測:由 R 與 fc 算出 C,R 與 fc 的誤差都會傳到 C。
  • 所有輸出用 finally 或 __exit__ 關閉;結果依規格做總判定。

恭喜完成儀器控制軌。同一套方法(找到儀器、設定、量測、判斷、記錄、收尾)可以用在任何支援 SCPI 的儀器上; 接觸真實儀器時,記得先讀該儀器的程式設計手冊,並遵守實驗室的安全規定。

這一課完成了!
看我的學習進度
你目前沒有登入,學習進度只存在這個瀏覽器。 Login 後,進度會跟著帳號,換電腦也看得到。