工作坊 2 — 設計印刷電路板
大綱。
- 設備與課前準備檢查——每個人的筆電都已準備好,KiCad 已能執行(我們用來畫電路圖(schematic,即電路的圖)並佈局印刷電路板(PCB)的免費軟體)。
- 簡介。大家的背景有多少?
- 區塊分配——班級板分成 A、B、C 三個區塊(section),一開始就分配:先由自願者選,其餘抽籤。
- 電子學 101——一堂電子學速成課,了解我們在做什麼、它如何運作。請你的 Claude 家教(tutor)解釋這些概念(例如用中文);家教可能會問你問題,以協助教學並確認你的理解。
- KiCad 的 PCB 設計、自動化生產與組裝簡介——從電路圖到佈局,再到工廠拿去做成一塊組裝完成電路板的檔案。
- 班級板:把我們的 ESP32 變成真正的實驗室設備。一起建立班級板的骨架;在 KiCad 裡為我們的 ESP32 加上能力與晶片。你負責電路板三個區塊中的一個,讓我們作為一個團隊做出一台強大的儀器——一台小型核磁共振(NMR)儀、晶片、前面板等等。
- 韌體與軟體——讓我們的儀器好用又友善。你能把它改成解決你目前研究中某個問題的工具嗎?
發揮創意!
硬性截止:9月28日(一)下午 2 點。最終的 Gerber 檔(電路板的製造檔)必須在那時送去製造。遲交的區塊無法上板。
先修條件:課間你已改進了專案 1 與專案 2 的 App;今天需要已安裝 KiCad 10 並開啟過一次,以及 JLCPCB 帳號(電路板工廠;零件來自它自己的零件庫)。
詳細計畫(草稿——依上方工作坊大綱)
硬體模式:開發板+載板,由 JLCPCB 組裝
MCU(微控制器(microcontroller),單晶片上的小電腦)留在經過驗證的 ESP32-S3 開發板(dev board,載著它、附 USB-C 接頭與腳位的板子)上;班級板是一塊供它插上的載板——正規做法的類比前端、隔離、緩衝器、 堅固的連接器——以及讓它成為一個實驗、而不只是一個盒子的 NMR 儀。一個設計、一次下單、每位學生一塊組裝完成的板子。JLCPCB 負責全部組裝,表面黏著與插件元件都包括;主板為 180 × 100 mm、四層板;前面板是第二塊同尺寸的 PCB,平貼在主板背面、與它平行,以三排 2×20 排針相接(由授課教師手工焊接)。面板的外側就是儀器的正面:3 × 6 排列的 16 個 SMA 接頭、八路 TTL 的螺絲端子排、TX 線圈端子、一個 Qwiic、OLED、三顆 LED、兩路隔離輸入與模組排針,全部朝上;主板的後緣則是背面,電源與線圈的接線從那裡進來。 你不需要焊接任何東西,而單獨的開發板會一直能執行應用程式,是永遠的備案。組裝完成的板子每位學生約 100 美元。
| 區塊 | 負責人 | 裡面有什麼 |
|---|---|---|
| 基底(Base) | 授課教師 | 開發板插座、匯流排分配、電源輸入與電軌、外接 7–18 V 輸入,以及驅動磁場線圈的 H 橋與 MOSFET 開關(極化開關)、RGB LED、板內一個 Qwiic、2×10 擴充排針,以及把前面板接到主板的三排 2×20 排針 |
| A — 輸入與 NMR 接收器 | 學生 | 電路板用來「聽」的全部:ADS8688 與八路 ±10 V 16 位元輸入及其保護網路,以及 NMR 接收器——調諧線圈輸入、遮沒(blanking)開關、低雜訊前置放大器、I/Q 混頻器與音頻濾波器,送進 ADC 的第 7、8 通道,還有 Si5351 時脈源。 |
| B — 訊號產生、時序與 NMR 發射器 | 學生 | 電路板用來「說」的全部:DAC8563 與它的 ±10 V 輸出級(AO1、AO2)、驅動 NMR 線圈的 AD9834 合成器與 OPA564 功率放大器,以及 8 路 TTL 輸出、2 路快速觸發輸出與可切換的 TRIG。 |
| C — 前面板電路板 | 學生 | 儀器的正面,本身是一塊四層板(180 × 100 mm):3 × 6 個 SMA,間距 18 mm——AO1 AO2 TRIG AUX TX FAST1 / AI1 AI2 AI3 AI4 RX FAST2 / AI5 AI6 AI7 AI8 SPARE(實裝 17 個,空一個位置)——OLED、三顆 LED、TTL 螺絲端子排、TX 線圈端子、Qwiic、2 路高速光耦隔離輸入(5–24 V),以及模組排針:經 5 V 緩衝器輸出的七路 5 V TTL 訊號 MODULE OUT 1–7(另一支為保留腳),另有 +5 V 與接地,用來驅動光耦隔離的模組。 |
板上每一顆 IC 都會在課堂上認識,NMR 儀的每一個零件都會裝上——這塊板子上沒有「預留不裝件」的東西。基底——插座、匯流排與電源軌,一個錯誤就會讓每塊板子都不能用的地方——由授課教師負責。
電子學 101——六個概念,每一個都指向我們的電路圖
(a) 電軌、去耦合、接地
電從哪裡來、如何在每顆晶片旁邊把它弄乾淨;類比地與數位地相會的唯一一點。基底的電源軌,以及每個區塊裡的去耦合。
(b) ±10 V 與 16 位元買到了什麼
輸入端與輸出端的範圍與解析度,以及為什麼開發板自己的 ADC 與 DAC(類比數位與數位類比轉換器)不夠用。區塊 A 與 B。
(c) 把運算放大器級當黑盒子
不看內部,只看增益與偏移:DAC 的輸出如何變成 ±10 V 的擺幅。區塊 B。
(d) 隔離
光耦合器、爬電距離:感測與切換那些不能和你共地的東西。隔離輸入處保持 2.5 mm 的爬電距離。區塊 C。
(e) 3.3 V vs 5 V 邏輯
為什麼 GPIO(微控制器上的通用腳位)不能直接驅動 5 V TTL,以及緩衝器做了什麼。區塊 B。
(f) 匯流排
SPI 與 I²C(晶片與微控制器對話的兩種常見接線標準)把各區塊接到 MCU;你的區塊裡哪些腳位走的是最快的訊號。
用 KiCad 設計 PCB——僅需的六個操作
六個操作
放零件並接線 · 標號(annotate)· Update PCB from schematic · 把封裝拖到位 · 佈線(routing:畫出銅箔走線)· 設計規則檢查(DRC,KiCad 的設計規則檢查),然後看 3D 檢視。在投影機上、於基底頁面中現場示範一次。
零件從哪裡來
每個符號(symbol:零件在電路圖中的圖形)都標有 LCSC 料號;easyeda2kicad 抓下符號、封裝與 3D 模型;LCSC 有現貨的零件 JLCPCB 就能貼裝。這就是自動化生產與組裝。
拉取請求+同儕審查
為你的區塊開一個拉取請求(pull request:請求把你的修改併入共用專案;會先有人審查)、照著檢查清單審查一位同學的、一輪修正——與授課教師合併(merge)時使用的是同一份清單。
課堂上的班級板
| 步驟 | 發生什麼 |
|---|---|
| 讀你的區塊 | 家教就你的區塊問兩個問題(「你的區塊裡哪些腳位走最快的訊號?」「你的區塊的地在哪裡接到其餘部分?」);然後和將來要審查你拉取請求的鄰座聊一下。 |
| KiCad 現場示範 | 在投影機上、在基底頁面中:放一組 100 nF+10 µF 並接線、標號、Update PCB from schematic、拖動這兩個封裝、佈三條走線、跑 DRC、看 3D 檢視。 |
| E6:電路圖缺口 | 開啟你的缺口頁面;對照完整電路圖 PDF,在你區塊的每一張圖頁上放回 3–4 個缺少的零件(數值與封裝取自專案零件庫),接線,跑電氣規則檢查(ERC,KiCad 的電氣規則檢查)。家教會說出零件名稱並檢查每一個放置。ERC 顯示 0 個錯誤即完成。 |
| E7(開始):為你的規則區域佈線 | Update PCB from schematic;新的封裝落在你的規則區域(zone:板上框出來、屬於你的那塊範圍)裡;佈線;DRC。家教提醒規則(第 2 層不放任何東西、留在你的規則區域(ZONE_A、ZONE_B 或 ZONE_C)裡、去耦合貼著腳位),並和你一起讀 DRC 輸出。授課教師現場修正兩個經典問題(層別錯誤、未連接的網路——net,即必須相連的一組腳位)。 |
| 拉取請求+審查,現場示範 | 授課教師從一個學生分支(branch)開拉取請求、指定環狀審查者(A 審 B、B 審 C、C 審 A)、依檢查清單寫一則意見、示範「request changes」與「approve」的差別。 |
| 韌體與軟體 | 儀器的韌體(firmware)與手機應用程式(來自專案 2)如何隨電路板成長:每個區塊一個驅動程式、一個應用程式面板。你能把它改成解決你目前研究中某個問題的工具嗎? |
課間——截止前(9月28日(一)下午 2 點)必須完成的事:E7–E10
下一場工作坊之前:完成課前準備、改進你的 App、動手做、玩得開心。這次的課前準備:你的區塊在 Gerber 檔送去工廠之前必須走完的步驟。截止時尚未合併的區塊不會在板子上。
- E7 完成佈線。DRC 0 個錯誤、3D 截圖。
- E8 從 LCSC 取得一個零件。
easyeda2kicad --full --lcsc_id C474881(2 腳螺絲端子;或你的 LED);加入專案零件庫;替換進去。 - E9 開你的拉取請求。分支(獨立的一條工作線)
a-<name>、b-<name>或c-<name>、提交(commit:附一行說明存下一個快照)、附 3D 截圖開拉取請求;指定你的環狀審查者。 - E10 審查同學,然後修正自己的。照著檢查清單走過對方的拉取請求;至少留兩則意見;approve 或 request changes。然後回應你自己拉取請求上的意見。
同儕審查檢查清單(workbook 第 C 章——與授課教師合併時使用的同一份清單):ERC 0 / DRC 0 · 每個零件都有 LCSC 欄位 · 數值與 PDF 一致 · 去耦合貼著腳位 ·
第 2 層不放任何東西 · 不超出你的規則區域 · 標出第 1 腳 · 接地銅箔已連通 · 區塊 C 的爬電距離 ≥ 2.5 mm · 每個連接器都有絲印標示 · CI 綠燈(持續整合(CI):GitHub 對每個拉取請求自動執行的建置通過)。
班級下單:你的區塊必須在截止前合併,即 9月28日(一)下午 2 點。然後授課教師把各區塊合併到 main、跑完整 DRC、匯出 Gerber、BOM(物料清單,即零件清單)與 CPL(貼裝座標清單),並向 JLCPCB 下單組裝完成的板子、空板與前面板。9月25日(五)為國定假日(不上課)。
教材
- 投影片:工作坊 2——設計印刷電路板(PDF)。影片錄影不會上線。
- GitHub 上的 workbook:第 2 章 — 工作坊 2 · 第 A 章 從零開始的電子學(自學)· 第 C 章 速查表(KiCad 快速鍵、審查清單)· 區塊頁面(每個區塊一頁:它的 PDF 節錄、問題、它的規則區域)。
- 班級儲存庫(repository)中:完整電路圖 PDF、缺口頁面、KiCad 零件庫套件(不需解壓)、已預先放好封裝與規則區域的 PCB、審查檢查清單與審查者環——這些在工作坊前提供。
- 家教:班級儲存庫中的
/tutor L2與/tutor HW2。 - 另請參閱電子資源。