:從原理圖復核到打樣自檢)
之前在做嵌入式小項目時風扇控制這一塊經(jīng)常被忽略但真正到了整機調(diào)試階段散熱噪聲和溫控策略往往會成為影響體驗的短板。自己畫一塊 PWM 風扇控制器不僅能徹底搞懂調(diào)速原理還能按需定制功能成本甚至可以壓到兩塊錢級別。這篇繼續(xù)開源系列的第 3 篇重點放到 PCB 設計環(huán)節(jié)從前置檢查到布局布線再到打樣前的自檢清單完整走一遍流程。1. 背景與核心概念1.1 為什么需要PWM風扇控制器風扇控制器在嵌入式設備里承擔的任務很簡單根據(jù)溫度變化調(diào)節(jié)風扇轉(zhuǎn)速在散熱性能和噪聲之間找平衡。市面上成品溫控風扇不少但當你需要多路獨立控制、特定溫度曲線、或者低成本的批量方案時自己設計一塊小板子反而更靈活。本項目定位是“全功能 低成本”通過 PWM脈沖寬度調(diào)制Pulse Width Modulation方式控制風扇。PWM 調(diào)速的核心思想是以固定頻率通斷電源通過改變高電平占空比來調(diào)節(jié)風扇的平均供電電壓進而控制轉(zhuǎn)速。相比線性降壓調(diào)速PWM 方式的效率更高MOS 管工作在開關狀態(tài)損耗小發(fā)熱低。這里要區(qū)分兩個容易混淆的概念電壓調(diào)速改變風扇供電電壓風扇內(nèi)部電路適應范圍有限低于閾值會停轉(zhuǎn)。PWM 調(diào)速供電電壓不變通過占空比改變等效電壓風扇響應快、線性度好。對于標準 4 線風扇PWM 信號直接輸入風扇的控制線對于 3 線或 2 線風扇則需要對負極進行低端開關控制。本文設計的控制器兼容這兩種方式后面會細說。1.2 “2塊錢”的成本構(gòu)成看到“2塊錢全功能”很多人第一反應是懷疑。實際上這個成本是完全可能做到的關鍵在選型模塊器件選型思路參考成本主控8 位 MCU如 ATtiny13、STC 系列或純硬件 555 PWM 方案0.5 - 1 元驅(qū)動貼片 MOS 管如 AO3400 或 SI2302SOT-23 封裝0.2 - 0.4 元溫度采集熱敏電阻 普通電阻分壓0.1 - 0.2 元外圍去耦電容、接口端子、PCB 空板0.5 - 1 元當然這個成本不包含人工焊接和測試工時只是物料成本而且是小批量、貿(mào)易商采購的價格。實際做項目時建議留出 30% 的余量考慮漲料和運費。1.3 本篇在整個系列中的位置這是一個連載項目前兩篇分別完成了方案選型和原理圖設計。到了第 3 篇原理圖已經(jīng)定型接下來要做的是檢查原理圖封裝和引腳定義是否準確。規(guī)劃 PCB 板框、層數(shù)和結(jié)構(gòu)。按功能分區(qū)布局器件。區(qū)分功率走線和信號走線完成布線。覆銅、DRC 檢查、導出制造文件。本篇會圍繞這幾個步驟展開提供可以直接套用的設計思路而不是簡單的“照著畫一遍”。2. 硬件方案與PCB設計前置分析2.1 電路拓撲回顧在進入 PCB 設計之前先回顧一下控制器的電路結(jié)構(gòu)。典型的 PWM 風扇控制器由四部分組成電源輸入從電腦電源、適配器或電池取電常見電壓有 5V、12V、24V。MCU或 PWM 發(fā)生器產(chǎn)生頻率固定的 PWM 信號。驅(qū)動電路MCU 的 GPIO 驅(qū)動能力有限需要使用 MOS 管進行功率放大。溫度采樣熱敏電阻把溫度變化轉(zhuǎn)化為電壓變化由 MCU 的 ADC 讀取。以低端驅(qū)動為例電路示意如下電源正極 -------- 風扇正極 | ---- [風扇] ---- MOS管D極 MOS管S極 ---- GND MOS管G極 ---- MCU-PWM引腳當 PWM 引腳輸出高電平時MOS 管導通風扇負極被拉到地風扇運轉(zhuǎn)輸出低電平時MOS 管關斷風扇斷電。通過控制高電平的比例就能控制風扇轉(zhuǎn)速。這個拓撲的好處是 MOS 管工作在開關狀態(tài)導通電阻很小功耗低缺點是風扇的地和 MCU 的地不是直接連接的需要留意驅(qū)動回路的電流走向。2.2 設計目標與約束條件開始布局前先把設計目標列清楚后面每個決策都有依據(jù)功能目標支持 12V/24V 風扇PWM 頻率 25kHz 左右可調(diào)占空比 0%-100%帶溫度滯回控制。尺寸目標單面或雙面板面積控制在 30mm x 25mm 以內(nèi)方便嵌入現(xiàn)有設備。成本目標單板物料成本盡量低器件選型以常見封裝為主避免手工焊接困難的長引腳器件。可制造性盡量用 0805 或 0603 封裝通孔器件越少越好保證貼片生產(chǎn)良率。2.3 PCB設計流程概覽整個 PCB 設計流程可以分成 6 個階段原理圖檢查。板框與層疊規(guī)劃。布局。布線。覆銅與設計規(guī)則檢查DRC。輸出 Gerber 文件和 BOM。不要為了趕進度跳過第 1 步。原理圖上的封裝錯誤到了 PCB 階段再發(fā)現(xiàn)返工成本非常高尤其是已經(jīng)下單打樣之后。3. 環(huán)境準備與EDA工具選擇3.1 選擇免費/開源的EDA工具PCB 設計工具很多考慮到是開源項目推薦使用下面幾款嘉立創(chuàng)EDA立創(chuàng)EDA國內(nèi)使用門檻低中文界面元件庫豐富可以一鍵導出嘉立創(chuàng)可識別的 Gerber 文件新手非常友好。KiCad完全開源跨平臺支持 Windows/Linux/macOS適合需要長期維護的開源硬件項目。缺點是元件庫需要自己整理。Altium Designer專業(yè)級工具功能強大但版權(quán)成本高不推薦入門開源項目使用。本項目以嘉立創(chuàng)EDA為例進行講解KiCad 的操作邏輯類似關鍵步驟大同小異。版本需要根據(jù)你的項目實際情況調(diào)整本文示例以常見環(huán)境為例重點演示設計思路例如嘉立創(chuàng)EDA專業(yè)版或標準版均可完成以下操作。3.2 PCB設計前的文件準備進入 PCB 編輯器前需要確認以下材料齊全最終確認的原理圖文件。完整的封裝庫包括 MCU、MOS 管、熱敏電阻、接線端子。結(jié)構(gòu)約束信息對外接口位置、螺絲孔位置、板卡安裝高度限制。在原理圖檢查環(huán)節(jié)建議對照硬件手冊逐一核對封裝引腳的編號。最常見的坑是 MCU 的引腳順序搞反比如把 1 腳和 8 腳對調(diào)導致 PCB 打樣回來完全無法工作。遇到不確定的封裝可以在 EDA 工具里打開 3D 預覽對照實物確認。4. 原理圖復核與設計規(guī)則設置4.1 關鍵網(wǎng)絡分類在設置設計規(guī)則前先對原理圖中的網(wǎng)絡進行分類。不同網(wǎng)絡有不同的電流和噪聲要求不能采用同一套規(guī)則。網(wǎng)絡類型典型信號設計要求功率地GND、PGND低阻抗、大面積鋪銅、避免繞線電源VCC、12V、24V線寬根據(jù)電流計算預留余量PWM 驅(qū)動PWM_OUT、GATE走線盡量短粗遠離敏感信號模擬采樣TEMP_ADC、VREF遠離功率開關必要時包地低速控制按鍵、LED規(guī)則無需太嚴格但也要避免平行長線4.2 設置設計規(guī)則DRCPCB 設計規(guī)則Design Rule Check設計規(guī)則檢查是保證可制造性的基礎。以常見的雙面板為例建議先按如下原則設置最小線寬0.2mm信號線電源線 0.5mm 以上功率線 1mm 以上。最小間距0.2mm高電壓區(qū)域適當增加。過孔內(nèi)徑 0.3mm外徑 0.6mm越大越好焊接和過電流。板廠工藝不同板廠能力不同下單前確認最小線寬/線距并不是越細越好。在實際項目中更推薦的做法是先查一下目標板廠的生產(chǎn)工藝參數(shù)。每家板廠對最小線寬、最小過孔、銅厚的要求略有差異。設計規(guī)則設置得太保守會增加板面積太激進會導致打樣失敗。4.3 網(wǎng)絡分類的工程意義不要小看上面對網(wǎng)絡分類的工作。很多 PCB 設計問題都出在網(wǎng)絡混雜上。舉一個典型例子PWM 驅(qū)動線如果和溫度采樣線并行走很長的距離PWM 信號的快速跳變會通過寄生電容耦合到 ADC 采樣網(wǎng)絡導致溫度讀數(shù)波動。這個現(xiàn)象在示波器上能清楚看到溫度未變化時ADC 輸入引腳上有與 PWM 同頻的毛刺。解決辦法是布局時讓兩組網(wǎng)絡盡量垂直交叉不要平行模擬采樣線兩側(cè)加地線保護包地處理PWM 驅(qū)動線到 MOS 管柵極之間可以串一個 10R-100R 的電阻減緩邊沿跳變減少 EMI 輻射。5. PCB布局與布線實戰(zhàn)5.1 板框規(guī)劃板框決定 PCB 的物理外形需要考慮使用場景的安裝空間。建議在布局階段就把板框畫好否則器件擺放可能超出邊界。對于風扇控制器常見的結(jié)構(gòu)有兩種獨立小板通過排針或杜邦線連接到主板板框較小安裝靈活。嵌入風扇線纜中做成細長條形直接串聯(lián)在風扇電源線上用熱縮管包裹。如果是嵌入線纜方案板框可以設計成 10mm x 30mm 左右的長條形接口端子放在兩端中間布置器件。這種形狀的 PCB 對布局布線要求更高因為長條形的地回路面積可能過大。5.2 布局原則布局的好壞直接影響布線難度和電路性能。遵循以下原則可以避開大部分坑按功能模塊分區(qū)。 把電源輸入、MCU 控制、驅(qū)動 MOS、溫度采樣分成四個相對獨立的區(qū)域不要混在一起。功率回路盡量短。 風扇電流經(jīng)過 MOS 管的回路是最大電流路徑功率走線要短而寬。MOS 管應該靠近風扇接口或接線端子。熱敏電阻遠離發(fā)熱器件。 熱敏電阻是溫度采樣元件如果緊挨著 MOS 管或電源芯片會測到器件自身溫度而非環(huán)境溫度控制策略會失真。去耦電容靠近 MCU 電源引腳。 電源引腳上的去耦電容要盡量靠近引腳放置否則高頻噪聲濾不掉。陶瓷電容的擺放方向也有講究但本文不展開簡單來說就是越近越好。下面是一個簡化的布局示意[電源輸入端子] [去耦電容] [MCU] [溫度采樣] [驅(qū)動MOS] [風扇接口] | | --------- 功率走線 -----------------本文檔中所有布局思路均為通用工程經(jīng)驗具體器件位置要根據(jù)你的原理圖和結(jié)構(gòu)需求調(diào)整。5.3 電源走線寬度計算電源走線寬度取決于電流大小和允許的壓降。計算方法并不復雜對于銅厚 1oz約 35μm、溫升 10℃、走線長度 50mm 的情況1A 電流大約需要 0.3mm 以上的線寬。實際設計時建議至少取 1.5 到 2 倍的余量也就是 1A 電流用 0.5mm-0.6mm 線寬。計算公式可以參考 IPC-2221 標準但這里使用更實用的經(jīng)驗法則允許壓降 V_drop 0.1V12V系統(tǒng) 要求線寬 W (I * L) / (K * T)其中 I 是電流L 是走線長度K 與銅厚相關T 是允許溫升。這個公式的細節(jié)不必背下來關鍵是理解電流越大走線越寬走線越長壓降越大。為了保證風扇接口處的電壓穩(wěn)定功率走線要短而粗實在繞不開的用大面積銅皮代替。5.4 布線策略布局完成后進入布線階段。雙面板的布線策略如下頂層優(yōu)先走信號線底層做大面積地平面。功率線走在底層或頂層用寬線短距連接。過孔數(shù)量要克制每個過孔都會引入寄生電感和電阻。PWM 信號線不要繞過 MCU 下方避免被電源噪聲干擾。模擬采樣線盡量短必要時加 RC 濾波在原理圖層面已經(jīng)實現(xiàn)的話PCB 上只需保證走線干凈。這里給出一個布線順序建議先布功率回路電源正極到風扇接口、MOS 管漏極、源極到地。再布 PWM 驅(qū)動線MCU 引腳到 MOS 管柵極。接著布模擬采樣線熱敏電阻分壓點到 MCU ADC。最后布低速控制和狀態(tài)指示線。5.5 地線處理與覆銅地線設計是 PCB 設計的靈魂。風扇控制器的地分為兩類控制地MCU 相關和功率地風扇負極經(jīng)過 MOS 管的地。如果兩類地混在一起MOS 管開關時的大電流變化會在地平面上產(chǎn)生噪聲干擾 MCU。推薦做法是在原理圖階段把 AGND 和 PGND 分開PCB 上在單點連接連接點放在電源輸入側(cè)。也就是說控制地、功率地最終都在電源輸入端匯合。覆銅時底層大面積鋪 GND 網(wǎng)絡頂層空余區(qū)域也可以鋪 GND。覆銅雖然能改善 EMC但也可能形成天線效應需要在覆銅邊界上加地過孔Via Stitching也就是每隔一段距離打一個連接頂層和底層地的過孔把地平面縫合起來。5.6 可制造性設計打樣不是終點能順利生產(chǎn)才是目標。以下是可制造性檢查的幾個重點元件間距相鄰貼片元件之間至少留 0.3mm 以上方便焊接和維修。絲印清晰位號絲印不要壓在焊盤上方向標識明確二極管、電容極性。測試點關鍵節(jié)點電源輸入、PWM 輸出、地預留測試點方便調(diào)試。測試點非常重要。很多開發(fā)者覺得測試點占地方但開發(fā)調(diào)試時往往要頻繁夾示波器探頭或萬用表表筆。預留 1mm 直徑的裸露焊盤作為測試點一次定位問題省下的時間遠超畫板時多花的幾分鐘。6. 固件與調(diào)試參考6.1 PWM 控制示例思路雖然本篇主題是 PCB 設計但為了讓大家了解整板工作邏輯這里給出一段簡化的固件示例思路。具體代碼需要按你選定的 MCU 型號調(diào)整本文不綁定具體芯片。以 ATtiny13 這類 8 腳 MCU 為例核心思路如下// 偽代碼示例需要根據(jù)實際 MCU 頭文件調(diào)整 #include avr/io.h #include util/delay.h // 假設 PB1 輸出 PWMPB0 接溫度采樣 ADC void pwm_init(void) { // 設置 Fast PWM 模式約 25kHz TCCR0A (1 WGM01) | (1 WGM00) | (1 COM0A1); TCCR0B (1 CS00); DDRB | (1 PB1); } uint16_t read_temp(void) { // 開啟 ADC讀取溫度分壓值 ADCSRA (1 ADEN) | (1 ADPS2); ADMUX 0; ADCSRA | (1 ADSC); while (ADCSRA (1 ADSC)); return ADC; } int main(void) { pwm_init(); while (1) { uint16_t temp read_temp(); if (temp 200) { OCR0A 255; // 最高轉(zhuǎn)速 } else if (temp 100) { OCR0A 128; // 半速 } else { OCR0A 0; // 停轉(zhuǎn)或最低速 } _delay_ms(500); // 控制周期 500ms } }需要注意ATtiny13 的 ADC 是 10 位精度實際使用時建議多次采樣取平均值避免毛刺導致風扇轉(zhuǎn)速頻繁波動。溫度滯回控制在設計中已經(jīng)考慮固件實現(xiàn)時也要把回差寫進去避免風扇在臨界溫度附近反復啟停。6.2 調(diào)試工具與方法電路板焊接完成后調(diào)試工具建議準備數(shù)字萬用表檢查電源短路、供電電壓、MOS 管通斷。示波器觀察 PWM 波形頻率和占空比測量 MOS 管柵源電壓。電子負載或可變電阻模擬溫度變化驗證溫控邏輯。紅外測溫槍檢測 MOS 管和 MCU 的溫升驗證散熱設計。調(diào)試順序建議先供電再測 MCU 是否起振接著測 PWM 波形最后接入風扇觀察轉(zhuǎn)速變化。不要一上來就接風扇先把電路基本功能驗證完。7. 常見問題與排查思路PCB 設計中的問題往往要到打樣調(diào)試階段才會暴露。這里整理幾個高頻問題按“現(xiàn)象 - 原因 - 排查思路”的格式列出。問題現(xiàn)象常見原因排查思路風扇完全不轉(zhuǎn)MOS 管未導通、MCU 無輸出、PWM 信號懸空先測 MCU 電源和復位再用示波器看 PWM 引腳是否有波形風扇只有全速或停轉(zhuǎn)PWM 占空比不可調(diào)、MCU 固件未正確控制檢查 ADC 采樣值是否隨溫度變化再查 PWM 寄存器配置風扇轉(zhuǎn)速抖動PWM 頻率過低、溫度采樣波動、電源紋波過大提高 PWM 頻率到 25kHz 以上ADC 采樣做濾波檢查電源走線MOS 管發(fā)燙驅(qū)動電壓不足、開關頻率過低、導通電阻偏大檢查柵極驅(qū)動電壓確保 MOS 管完全導通增大走線寬度溫度讀數(shù)不準熱敏電阻位置不當、采樣走線被干擾調(diào)整熱敏電阻位置采樣線包地加入 RC 濾波打樣回來成品率低焊盤過小、絲印遮擋焊盤、線寬超出廠能力核對板廠工藝參數(shù)調(diào)整 DRC 規(guī)則后重新出圖排查時遵循“先供電、再時鐘、后信號”的原則。很多問題歸根結(jié)底是電源沒測清楚就急著量信號。先把 5V/12V/3.3V 各點電壓測一遍再查地線是否完整這是成本最低的排查步驟。8. 最佳實踐與工程建議8.1 原理圖與PCB的規(guī)范管理個人的開源項目可以隨意一點但建議保留最基本的管理習慣給原理圖每一頁加上版本號和修改日期。關鍵器件標注重要參數(shù)額定電壓、額定電流方便后續(xù)維護。PCB 文件存放采用“項目名_版本_日期”的命名方式。開源項目的參與者通常不止一人規(guī)范命名能在協(xié)作時減少溝通成本。這不是形式主義而是實踐中的真實痛點。8.2 打樣前的自檢清單下單打樣前建議逐項核對以下內(nèi)容[ ] 原理圖電氣規(guī)則檢查ERC通過無懸空引腳、無短路。[ ] PCB 設計規(guī)則檢查DRC通過無未連接網(wǎng)絡。[ ] 所有封裝和實物一致引腳編號確認無錯。[ ] 電源正負極標識清晰反接保護保險絲或二極管已考慮。[ ] 所有測試點添加完成。[ ] 絲印層沒有遮擋焊盤生產(chǎn)文件Gerber已完整導出。[ ] BOM 表與原理圖一一對應阻容值和耐壓值標注正確。以上每一項都對應真實返工案例。比如絲印壓焊盤的問題批量焊接時容易出現(xiàn)少錫、虛焊外觀上還不容易察覺。花五分鐘檢查也許就能避免一批板子報廢。8.3 PCB設計能力的提升路徑如果這篇教程幫助你完成了第一塊 PCB接下來可以按以下方向繼續(xù)深入學習信號完整性基礎了解反射、串擾、阻抗匹配的概念。熟悉電源完整性設計去耦電容的位置和容值組合。多板互聯(lián)與接口設計排針、FPC、USB 等接口的布局規(guī)范。EMC 與 EMI 設計不同頻率噪聲的抑制方法。能力提升的關鍵是“做中學”。每塊板子回來之后用示波器對照自己設計時的設想看哪些思路是對的哪些被現(xiàn)實推翻了比單純看教程有效得多。這次開源項目走到 PCB 設計環(huán)節(jié)意味著硬件主體已經(jīng)基本定型?;仡^看整個流程最花時間的往往不是拉線而是反復檢查原理圖、封裝和設計規(guī)則。好在這種細活能帶來確定性板子回來的第一次上電大概率是一次通過。省下的調(diào)試時間足夠?qū)懞脦灼O計筆記了。如果你也在畫類似的小板子可以把這篇自檢清單存下來打樣之前逐項過一遍能省掉不少彎路。