范)
在硬件項目的 README、開發(fā)板教程或者畢業(yè)設(shè)計文檔里板子連線圖幾乎是必不可少的配圖。它用圖形告訴讀者主控板上的哪個引腳連接到了傳感器模塊的哪條引腳哪根線走電源哪根線走地線信號在電路板上是怎么流動的。比起文字描述一張清楚、整齊、有配色規(guī)范的連線圖能省掉大量溝通成本。但很多人在畫圖時會卡在兩個問題上用什么工具畫以及怎么把圖畫得好看。這兩個問題其實是連在一起的。工具決定出圖效率規(guī)范決定圖紙質(zhì)量。如果只是隨便畫幾條線畫完自己都看不懂如果過分追求工具高級又容易陷入復(fù)雜操作里半天出不了圖。這篇文章把這些內(nèi)容拆開講先說說一張板子連線圖到底要表達什么再對比幾種常用繪制工具然后分別用 draw.io 和 Fritzing 走一遍完整流程最后給出美化、排錯和檢查清單。讀完你可以直接用其中一種工具畫出一張能放進文檔、能打印、能發(fā)給別人評審的板子連線圖。1. 畫板子連線圖前先理清要表達的信息1.1 一張合格連線圖要回答的三個問題畫圖之前先問自己三個問題。第一誰連誰也就是源引腳和目的引腳分別是什么。第二線怎么走是直線、直角線還是沿底板邊緣繞線。第三線屬于什么類型是電源、地線、數(shù)字信號、模擬信號還是通信線。這三件事沒有想清楚再好的工具也畫不出有效圖紙。很多初學(xué)者容易把注意力放在“好看”上結(jié)果畫出來的圖顏色鮮艷但別人看不懂。好看的前提是信息完備。一張板子連線圖如果缺少引腳編號讀者不知道這根線插在哪個孔里如果缺少電源和地的標(biāo)識板子上電之后可能直接燒模塊。所以在打開繪圖工具之前最值得花時間的是整理一張連接表。連接表可以手工寫也可以用表格軟件維護。下面是一個簡單的示例主控板引腳目標(biāo)模塊引腳線色說明3V3DHT11 VCC紅色電源正GNDDHT11 GND黑色地線GPIO4DHT11 DATA黃色單總線數(shù)據(jù)GPIO18LED 陽極串電阻橙色數(shù)字輸出有了這樣的表畫圖時只需要照著連接關(guān)系拖線不需要邊畫邊想。更重要的是這張表可以直接寫進文檔作為圖紙的補充說明。繪制工具可以換連接關(guān)系才是圖紙的核心資產(chǎn)。1.2 兩類板子連線圖外觀示意圖與邏輯連接圖板子連線圖可以分成兩類用途不一樣畫法也不一樣。第一類是外觀示意圖也叫實物接線圖。它盡量還原開發(fā)板、傳感器、面包板的物理外觀標(biāo)注引腳位置和走線路徑。這類圖適合新手教程、裝配說明、實驗指導(dǎo)書因為讀者可以照著圖的形狀找到真實板子上的位置。Fritzing 的面包板視圖、Tinkercad 的仿真界面以及很多用 draw.io 手繪的方塊圖都屬于這一類。第二類是邏輯連接圖。它不要求外觀還原而是強調(diào)引腳之間的網(wǎng)絡(luò)關(guān)系。典型的形式是一個主控節(jié)點周圍延伸出若干引腳通過線條連接到外設(shè)引腳。這類圖適合調(diào)試電路、評審設(shè)計和生成接線檢查表。它的優(yōu)點是結(jié)構(gòu)清晰、便于自動生成缺點是讀者很難把圖和真實板子對應(yīng)起來。實際項目中兩類圖可以同時存在。文檔正文放外觀示意圖讓讀者快速上手附錄放邏輯連接圖讓設(shè)計師核對引腳網(wǎng)絡(luò)。很多專業(yè)工具比如 KiCad 的原理圖實際上就是邏輯連接圖的高階形態(tài)。畫圖前先判斷當(dāng)前場景需要哪種圖不要一上來就追求“寫實”。1.3 先列連接關(guān)系再動手畫圖為了減少返工建議的繪制順序是先整理引腳連接表再標(biāo)注每一根線的用途然后選擇工具最后才在畫布上擺放元件和連線。反過來操作最常見的后果是圖已經(jīng)畫了一半突然發(fā)現(xiàn)某個引腳被占用或者某個模塊需要額外接上拉電阻于是整片布局都要調(diào)整。連接表中還應(yīng)該包含約束信息。例如某些引腳不能同時使用某些電平必須匹配某些模塊要求共地。這些信息不一定都畫在圖上但在畫圖時會直接影響線纜選擇和顏色標(biāo)注。比如傳感器模塊如果同時接 3.3V 和 5V 引腳圖中就要明顯區(qū)分否則裝配時很容易插錯。還有一個容易忽略的細節(jié)導(dǎo)線本身也有方向。雖然板子連線圖通常不強調(diào)電流方向但在信號線、I2C、SPI 這類場景里標(biāo)注數(shù)據(jù)流向能讓讀者更容易理解通信過程。可以在連接表中增加“方向”一列或者在線條上用箭頭表示。對外觀示意圖來說箭頭會破壞實物感對邏輯連接圖來說箭頭非常有用。2. 工具選型按用途和出圖成本選擇2.1 快速出圖工具如果只是想快速驗證一個 Arduino 或 ESP32 項目的連線邏輯最合適的是在線仿真平臺。Tinkercad Circuits 內(nèi)置了常用開發(fā)板、面包板、LED、電阻、傳感器等元件可以直接拖拽連線并運行仿真。Wokwi 也支持 ESP32、Raspberry Pi Pico 等主流板卡更偏向代碼仿真。這類工具的好處是元件庫完整、連線有電氣規(guī)則檢查生成的仿真界面天然就是一張效果不錯的連線圖。但快速工具也有局限。元件型號不一定覆蓋所有傳感器部分模塊需要自己畫或者在庫里找替代品。在線平臺生成的圖受平臺界面風(fēng)格影響配色和布局不一定符合你的文檔要求。另外平臺可能要求注冊賬號離線環(huán)境無法使用。所以快速出圖適合“先看能不能跑通”的階段不適合作為最終文檔的唯一圖紙。2.2 專業(yè)電路設(shè)計工具如果圖紙需要同時表達能力、結(jié)構(gòu)和真實外觀Fritzing 是很多教程作者的首選。Fritzing 是開源軟件專門面向面包板連線圖設(shè)計。它有面包板、原理圖、PCB 三個視圖三個視圖共享同一個電路網(wǎng)表。也就是說你在面包板視圖里接好的線切到原理圖視圖時還是會體現(xiàn)為同一個網(wǎng)絡(luò)只是布局不同。這對教學(xué)場景來說非常難得因為讀者既能看懂實物連線又能在原理圖上理解電氣關(guān)系。工程化程度更高的工具還有 KiCad、EasyEDA、Proteus。KiCad 適合完整 PCB 設(shè)計原理圖和 PCB 配套元件庫通過官方庫和第三方庫擴展。EasyEDA 是國產(chǎn)在線 PCB 設(shè)計工具瀏覽器即可使用也有大量用戶貢獻的封裝。Proteus 偏向單片機仿真但商業(yè)許可證收費較高。如果項目最終要做成真實 PCB這些工具更合適如果只是畫一張說明文檔用的連線圖它們的學(xué)習(xí)成本偏高。2.3 通用繪圖工具與編程生成方式在通用繪圖工具中draw.io也叫 diagrams.net非常值得推薦。它免費、跨平臺、支持本地文件和云存儲畫線時可以啟用正交線風(fēng)格特別適合構(gòu)造“從引腳到引腳”的直角走線。它也可以導(dǎo)出 PNG、SVG、PDF源文件是 XML 格式方便版本管理。用 draw.io 畫板子連線圖本質(zhì)是“畫方塊和線條”但配合網(wǎng)格、對齊和顏色規(guī)范后出來的圖非常清爽。其他通用工具還包括 Figma、Inkscape、Visio、PowerPoint。Figma 適合團隊協(xié)作但偏設(shè)計Inkscape 是自由矢量編輯器適合自定義元件上手成本高Visio 是微軟系工具模板豐富但價格不低PowerPoint 雖然不專業(yè)但在應(yīng)急時也能靠“形狀 連線”拼出圖紙。如果需要大量重復(fù)繪圖比如批量生成接線圖可以嘗試編程方式。Graphviz 的 dot 語言能根據(jù)文本描述生成節(jié)點和連線適合邏輯連接圖不適合外觀示意圖。PlantUML 也有類似能力但電路元素較少。更靈活的做法是直接手寫 SVG把每個元件定義成可復(fù)用的組件再用腳本來生成坐標(biāo)。這種方式適合生成大量標(biāo)準(zhǔn)化圖紙但前期開發(fā)成本很高。2.4 工具對比表工具類型主要優(yōu)勢主要局限適合場景Tinkercad在線仿真元件豐富、可運行電路、操作直觀賬號依賴網(wǎng)絡(luò)、元件覆蓋有限快速驗證和教學(xué)演示W(wǎng)okwi在線仿真支持常用開發(fā)板、代碼與硬件聯(lián)動自定義元件成本高代碼調(diào)試和效果展示Fritzing本地專業(yè)三視圖同步、接線圖美觀元件庫質(zhì)量參差、大型設(shè)計卡頓新手教程和實驗文檔KiCad本地專業(yè)工程化程度高、適合 PCB 打樣學(xué)習(xí)曲線陡、制圖形制偏專業(yè)PCB 設(shè)計EasyEDA在線專業(yè)瀏覽器可用、封裝庫多復(fù)雜設(shè)計受網(wǎng)絡(luò)和賬號限制PCB 快速設(shè)計draw.io通用繪圖免費、輕量、可編輯 XML、導(dǎo)出豐富無電氣規(guī)則校驗文檔配圖和邏輯連接圖Inkscape矢量繪圖可繪制高自由度高精度圖形學(xué)習(xí)成本高自定義元件庫Graphviz編程生成文本生成、可自動布局只適合邏輯關(guān)系圖批量生成連接關(guān)系選型時不需要追求大而全。教學(xué)文檔優(yōu)先看 Fritzing 和 draw.io工程打樣優(yōu)先看 KiCad 或 EasyEDA快速驗證優(yōu)先看 Tinkercad。下面兩個章節(jié)分別演示 draw.io 和 Fritzing 的實際操作路徑你可以按自己的場景挑一個走通。3. 用 draw.io 畫一張可編輯的板子連線圖3.1 準(zhǔn)備素材芯片外形、引腳編號和模塊位號使用 draw.io 之前先在畫布外想好布局。比較推薦的結(jié)構(gòu)是主控板放左邊外設(shè)模塊放右邊電源區(qū)域放右下角或左上角。主控板用一個圓角矩形表示內(nèi)部用小圓表示引腳每個圓上都寫引腳編號比如 3V3、GND、GPIO4。外設(shè)模塊也用圓角矩形表示內(nèi)部同樣畫引腳圓點。這樣圖面上既有“板級外觀”又有“引腳信息”。為了讓圖形更容易識別可以約定填充色主控板用淺藍色傳感器模塊用淺綠色外圍元件用淺黃色引腳圓點用與模塊一致的邊框色。顏色不要過多否則會分散注意力。實際尺寸建議先以 10 像素網(wǎng)格為基準(zhǔn)引腳圓點直徑設(shè)為 36 到 40 像素模塊主體寬度 200 到 260 像素。這個量級在導(dǎo)出 PNG 后仍然清晰。3.2 設(shè)置畫布和視覺規(guī)范打開 draw.io 后先通過菜單打開“View”里的網(wǎng)格線并確認“Snap to grid”已開啟。網(wǎng)格是保證對齊的基礎(chǔ)。在“File - Page Setup”里可以設(shè)置頁面大小文檔用圖通常用 A4 豎版或自定義 1600 x 1200 的畫布。畫布過小會導(dǎo)致元件擁擠過大會讓導(dǎo)出圖片出現(xiàn)大量空白。然后定義圖例。如果畫布是空白可以先在右下角畫一個小圖例區(qū)用三條不同顏色的線段說明顏色含義。比如紅色代表電源、黑色代表地線、橙色代表數(shù)據(jù)信號。圖例本身能大幅提升圖紙的可讀性尤其是讀者對項目不熟悉時。draw.io 的“Styles”面板可以修改填充色、邊框色、線寬、圓角、字號。推薦全局使用同一字號引腳文字 12px模塊名稱 14px標(biāo)題 18px。字號差異不要超過兩級否則圖紙會顯得雜亂。3.3 用形狀表達引腳、排針和杜邦線引腳需要在 draw.io 中具備“連接點”屬性這樣連線才能吸附到引腳上。最簡單的方法是使用“橢圓”或“圓形”形狀并在“Style”中設(shè)置connectable1。更穩(wěn)妥的做法是把引腳圓點直接拖到模塊矩形內(nèi)部通過對齊輔助線讓引腳圓形中心落在模塊邊緣。連線時先從左側(cè)形狀庫拖入“線”或按住 Ctrl 從一個形狀拖到另一個形狀。創(chuàng)建后選中線條在右側(cè)“Style”中選擇orthogonalEdgeStyle。這個樣式會將直線變成水平垂直交替的直角線視覺上更整齊。普通直線很容易斜穿其他元件正交線則更接近現(xiàn)實中沿著面包板凹槽走的杜邦線。連線條默認是有箭頭的。圖紙中如果不需要方向可以把箭頭去掉在 Style 中設(shè)置endArrownone。如果確實要表達信號流向可以使用短箭頭但不要每根線都用箭頭否則圖面會顯得很碎。3.4 導(dǎo)入 draw.io XML 快速獲得示例draw.io 的源文件本質(zhì)上是 XML。如果你不想從零開始拖拽可以直接新建一個空圖然后通過菜單“Extras - Edit Diagram”進入 XML 編輯模式把下面的示例代碼粘貼進去。這個示例包含一個 ESP32 開發(fā)板、一個 DHT11 溫濕度傳感器以及三條連接線3V3 到 VCCGND 到 GNDGPIO4 到 DATA。mxfile hostapp.diagrams.net diagram idboard-wiring-example name板子連線圖示例 mxGraphModel dx800 dy600 grid1 gridSize10 guides1 tooltips1 connect1 arrows1 fold1 page1 pageScale1 pageWidth827 pageHeight583 math0 shadow0 root mxCell id0 / mxCell id1 parent0 / mxCell iddev valueESP32 DevKit stylerounded1;whiteSpacewrap;fillColor#dae8fc;strokeColor#6c8ebf; vertex1 parent1 mxGeometry x80 y120 width240 height150 asgeometry / /mxCell mxCell iddev-3v3 value3V3 styleellipse;whiteSpacewrap;fillColor#f8cecc;strokeColor#b85450; vertex1 parent1 mxGeometry x100 y160 width40 height40 asgeometry / /mxCell mxCell iddev-gnd valueGND styleellipse;whiteSpacewrap;fillColor#f8cecc;strokeColor#b85450; vertex1 parent1 mxGeometry x100 y220 width40 height40 asgeometry / /mxCell mxCell iddev-gpio valueGPIO4 styleellipse;whiteSpacewrap;fillColor#f8cecc;strokeColor#b85450; vertex1 parent1 mxGeometry x160 y220 width40 height40 asgeometry / /mxCell mxCell idsensor valueDHT11 stylerounded1;whiteSpacewrap;fillColor#d5e8d4;strokeColor#82b366; vertex1 parent1 mxGeometry x480 y160 width180 height90 asgeometry / /mxCell mxCell idsensor-vcc valueVCC styleellipse;whiteSpacewrap;fillColor#d5e8d4;strokeColor#82b366; vertex1 parent1 mxGeometry x500 y180 width36 height36 asgeometry / /mxCell mxCell idsensor-gnd valueGND styleellipse;whiteSpacewrap;fillColor#d5e8d4;strokeColor#82b366; vertex1 parent1 mxGeometry x500 y230 width36 height36 asgeometry / /mxCell mxCell idsensor-data valueDATA styleellipse;whiteSpacewrap;fillColor#d5e8d4;strokeColor#82b366; vertex1 parent1 mxGeometry x560 y230 width36 height36 asgeometry / /mxCell mxCell idedge34 styleedgeStyleorthogonalEdgeStyle;rounded0;strokeColor#e51400;strokeWidth2; edge1 parent1 sourcedev-3v3 targetsensor-vcc mxGeometry relative1 asgeometry / /mxCell mxCell idedgegnd styleedgeStyleorthogonalEdgeStyle;rounded0;strokeColor#000000;strokeWidth2; edge1 parent1 sourcedev-gnd targetsensor-gnd mxGeometry relative1 asgeometry / /mxCell mxCell idedgedata styleedgeStyleorthogonalEdgeStyle;rounded0;strokeColor#ffd966;strokeWidth2; edge1 parent1 sourcedev-gpio targetsensor-data mxGeometry relative1 asgeometry / /mxCell /root /mxGraphModel /diagram /mxfile導(dǎo)入后你會看到三個圓形的引腳在開發(fā)板內(nèi)傳感器模塊在右側(cè)三條線條已經(jīng)連接。要注意的是示例中的坐標(biāo)只是演示用途導(dǎo)入后你需要根據(jù)實際引腳位置拖動圓點和調(diào)整線路徑。XML 方式的最大好處是可以版本管理比如提交到 Git團隊成員能清楚看到圖紙在哪個提交里發(fā)生了變化。這段示例也說明了一個重要概念draw.io 中的連線并不是簡單的一條線而是一個“edge”它有source和target屬性。只要這兩個屬性指向正確的引腳節(jié)點移動引腳時連線會自動跟隨。這就是為什么畫圖時不要用“自由繪畫”模式隨意畫折線而應(yīng)該使用有連接關(guān)系的連線組件。3.5 導(dǎo)出高清 PNG 和 SVGdraw.io 的導(dǎo)出菜單在“File - Export as”。如果導(dǎo)出 PNG建議在導(dǎo)出對話框把縮放比例設(shè)置到 2 或 3。默認縮放比例下文字和線條在文檔里會顯得偏細放大后更清晰。如果插入到 Word、PDF 或網(wǎng)頁可以優(yōu)先導(dǎo)出 SVG因為 SVG 是矢量圖放大不模糊。如果你安裝了 draw.io 桌面版也可以用命令行批量導(dǎo)出。下面命令將board-wiring.drawio導(dǎo)出為縮放 2 倍、邊距 20 像素的 PNGdrawio --export --format png --scale 2 --border 20 board-wiring.drawio導(dǎo)出 SVG 時使用drawio --export --format svg --border 10 board-wiring.drawio命令行導(dǎo)出最大的價值是可重復(fù)執(zhí)行。每次改完源文件只需要重新運行命令就能得到同一套配置下的最新圖片不會出現(xiàn)“文檔里放的還是舊圖”的問題。4. 用 Fritzing 畫更接近實物的連線圖4.1 面包板視圖的思維Fritzing 和 draw.io 最大的不同在于Fritzing 會考慮電氣網(wǎng)絡(luò)。你拖入一個 Arduino它就帶有實際的引腳定義你在面包板上插入一個 DHT11它就帶有物理封裝引腳。這種行為更接近“搭電路”而不是“畫示意圖”。因此用 Fritzing 畫出的連線圖更容易和真實電路對應(yīng)。在打開 Fritzing 后默認的面包板視圖就是一張真實面包板的模型。你可以在右側(cè)元件庫里搜索 Arduino、電阻、LED、DHT11 等元件然后拖到面包板上。元件插入面包板時會自動吸附到孔位上。引腳與引腳之間拉線軟件會根據(jù)是否落在同一個網(wǎng)絡(luò)來判定連接是否有效。由于 Fritzing 是真實建模你不需要像 draw.io 那樣手動畫電阻符號。電阻、LED 這些元件拖進來后就有自己的外觀而且引腳位置是根據(jù)元件庫封裝的。缺點也很明顯某些小眾模塊沒有官方封裝你需要從社區(qū)庫導(dǎo)入或自己改封裝。4.2 添加元器件并建立連接以一個簡單的“Arduino Uno 點亮 LED”為例操作路徑如下。先在元件庫中找到 Arduino Uno拖到面包板左側(cè)再找到 LED拖到面包板中間再找兩個杜邦線或普通導(dǎo)線。接下來用鼠標(biāo)從 Arduino 的 GND 引腳拖出導(dǎo)線到 LED 陰極串聯(lián)電阻后的位置從數(shù)字引腳比如 13 拖線到 LED 陽極。Fritzing 的連線操作是點擊一個引腳不松開鼠標(biāo)拖動到目標(biāo)引腳再松開。如果連接有效線會保持綠色并吸附在兩個引腳上如果連接無效比如拖到了沒有網(wǎng)絡(luò)定義的位置連線會變成紅色或者斷開。不同版本的顏色提示略有區(qū)別但原則一致看到異常提示就說明這兩個引腳不能這樣直接連接。連線完成后可以在“Inspector”面板中給某根導(dǎo)線修改顏色和線型。建議讓電源線、地線、信號線使用不同顏色。這個操作不會影響電路電氣屬性但會直接影響最終導(dǎo)出的連線圖是否好看。4.3 視圖切換面包板、原理圖、PCBFritzing 窗口底部有四個視圖面包板、原理圖、PCB 和代碼。面包板視圖適合展覽實際裝配方式原理圖視圖會把元件抽象成原理圖符號PCB 視圖則用于設(shè)計實際電路板。三者的關(guān)系是同一個網(wǎng)表的不同呈現(xiàn)。如果你需要在文檔中同時提供原理圖和實物連線圖Fritzing 非常合適。在面包板視圖連好導(dǎo)線后切到原理圖視圖你會發(fā)現(xiàn)元件已經(jīng)被擺放好但位置是自動生成的可能需要手動調(diào)整。調(diào)整原理圖布局不會影響面包板連接它們共享網(wǎng)絡(luò)信息。PCB 視圖用于生產(chǎn)通常不會作為連線圖放進教程文檔。但要清楚Fritzing 的 PCB 視圖并不是為了替代專業(yè) EDA 工具它更適合表達簡單的單層或雙層板。當(dāng)項目比較復(fù)雜時應(yīng)切換到 KiCad 或 EasyEDA 做正式 PCB 設(shè)計。4.4 導(dǎo)出圖片的注意點在 Fritzing 中導(dǎo)出圖片可以使用“File - Export - As Image”。支持 PNG、SVG、PDF 等格式。導(dǎo)出前注意幾個細節(jié)第一確認所有導(dǎo)線節(jié)點都是綠色連接狀態(tài)沒有被遺留成紅色。第二在 Inspector 中檢查元件標(biāo)簽是否顯示是否需要把標(biāo)簽移動到不遮擋導(dǎo)線的地方。第三如果畫布上有多余的不在板子上的元件可以先刪除或移出畫布保留干凈圖面。第四如果需要透明背景部分版本需要在導(dǎo)出設(shè)置中選擇“Transparent background”。Fritzing 導(dǎo)出的圖片風(fēng)格偏“實物感”適合放在實驗指導(dǎo)書的前半部分。但它的默認顏色和布局不一定符合你的文檔主題建議導(dǎo)出后配合截圖、標(biāo)注工具再加工一層比如加上引腳編號注釋。5. 美化與信息表達決定圖紙是否好看5.1 顏色規(guī)范按信號類型分組圖是否好看第一步不是看手繪技巧而是看顏色有沒有規(guī)律。把顏色用在正確的地方圖會自動變得清爽。常見的顏色規(guī)范可以參考下表信號類型推薦顏色說明電源正VCC / 3V3 / 5V紅色全圖統(tǒng)一地線GND / 0V黑色或深灰色接地網(wǎng)絡(luò)數(shù)字信號橙色、黃色高低電平邏輯模擬信號藍色ADC 輸入輸出通信線I2C / SPI / UART綠色、紫色按總線區(qū)分電源負或負極電源藍色或深青色雙電源場景顏色規(guī)范不是強制標(biāo)準(zhǔn)但必須全圖一致。如果圖例上寫了“紅色代表 3.3V”那么所有 3.3V 線都應(yīng)該是紅色不能中途換成粉紅。建議一個項目只使用 4 到 5 種顏色顏色過多時會顯得花哨反而難以辨認。實際項目里可以使用 Fritzing 或 draw.io 的“默認樣式”提前定義好幾種顏色后續(xù)添加元件直接套用。5.2 線型與線寬數(shù)據(jù)線、電源線、地線的區(qū)分僅次于顏色的是線寬。電源線和地線可以設(shè)置為 3px 到 4px信號線使用 2px。線寬差異能讓人一眼看出哪些線承擔(dān)大電流哪些線只是邏輯信號。在 draw.io 中可以在選中線條后將“Style”中的strokeWidth修改為 2 或 3。導(dǎo)出圖之后粗細差別也要清晰可見。線型同樣有意義。實線表示實際連接虛線表示可選連接點線可以表示預(yù)留或者未焊接的連接。不要在同一張圖里混用超過三種線型否則讀者會被干擾。推薦最常用的組合是實線走電源和信號虛線走可選或備用連接。另外正交線比斜線更能體現(xiàn)“整齊”。draw.io 的正交 edgeStyle 會自動生成直角折線Fritzing 的導(dǎo)線也會自動沿著面包板孔位走。對于手工繪制的圖盡量讓線段水平或者垂直避免出現(xiàn) 45 度斜穿元件的走線。斜線往往意味著沒有經(jīng)過規(guī)劃。5.3 標(biāo)注編號和網(wǎng)絡(luò)名避免圖面混亂一張好看的連接圖不僅要有線條還要有標(biāo)注。每個引腳旁至少要寫引腳名比如 GPIO4、A0、SCL、SDA。線路上建議標(biāo)注網(wǎng)絡(luò)名比如3V3、GND、DATA。網(wǎng)絡(luò)名的作用是把圖形和連接表對應(yīng)起來當(dāng)圖紙放大或打印后讀者依然能通過名字確認連接對象。標(biāo)注要控制密度。引腳多的時候可以在模塊外側(cè)統(tǒng)一列出引腳名用短引線指向?qū)嶋H引腳避免文字直接壓在連線上。draw.io 中可以給引腳圖形加標(biāo)簽用 10px 或 11px 字號Fritzing 中可以通過“Inspector”給元件添加標(biāo)簽。要注意文字方向保持一致最好全部水平不要出現(xiàn)旋轉(zhuǎn)角度不同的文字。如果圖紙上有大量元件建議給元件編號例如 U1、U2、R1、R2。編號與詳細元件清單對應(yīng)避免在圖上寫一大段模塊名稱。圖例區(qū)可以解釋這些編號。5.4 對齊、邊距和分塊布局布局是“好看”的核心。主控板、傳感器、電源接口、調(diào)試串口應(yīng)該分塊擺放。塊與塊之間留出 40 到 60 像素的空白保證導(dǎo)線有通過空間。同一模塊的引腳垂直或水平對齊這樣連接線出來時方向一致不容易交叉。draw.io 的基礎(chǔ)技巧是使用“Arrange - Align”將多個引腳左對齊/右對齊/居中對齊。Fritzing 雖然沒有那么強的排版功能但可以把相同模塊的元件移動到相鄰面包板區(qū)域。如果一塊面包板放不下可以使用多塊面包板或者把部分模塊放在畫布左側(cè)作為“電源區(qū)”。分塊布局還要考慮閱讀順序。通常人眼從左到右閱讀所以可以把主控板放左傳感器放中間電源和地放底部。如果圖紙是豎版則從上到下。不要出現(xiàn)主控板在右下角、傳感器在左上角的情況那樣讀者很容易找錯方向。5.5 常見的不“好看”問題與修正有幾種圖紙問題非常普遍并且一眼就能看出來。第一種是線條交叉密集像一團毛線。解決方法是把連接關(guān)系表梳理好盡量讓同類型信號走同側(cè)必要時用網(wǎng)絡(luò)名代替實際連線。第二種是元件比例失衡。同一個圖紙里如果主控板很大但引腳很小或者傳感器模塊畫得比主控板還大視覺上會不穩(wěn)定。規(guī)定模塊主體高度一致引腳圓點尺寸一致就能避免這個問題。第三種是顏色過多、顏色過純。純紅、純綠、純藍在屏幕上可能很好但打印后會顯得刺眼。推薦使用 draw.io 自帶的柔和配色比如#dae8fc藍色、#d5e8d4綠色、#fff2cc黃色邊框使用對應(yīng)的深色。Fritzing 導(dǎo)出的默認配色通常也是柔和的不需要額外調(diào)成熒光色。第四種是文字字體不一致。默認字體建議使用系統(tǒng)字體不要在同一張圖里出現(xiàn)黑體、宋體、等線混用。如果是在網(wǎng)頁上發(fā)布可以使用 Arial 或 Helvetica 作為西文中文用系統(tǒng)默認無襯線字體。6. 常見問題與排查路徑6.1 draw.io 中線條亂跳或連錯位置在 draw.io 中如果一條連線從引腳 A 拖到引腳 B但松開鼠標(biāo)后連接到了別的節(jié)點或者移動模塊時線條沒有跟過去通常是因為連接目標(biāo)不是真正的“連接點”。draw.io 只有在“可連接”的頂點之間連線才會形成綁定關(guān)系。如果直接在某根自由線條上創(chuàng)建端點移動圖形時線不會跟著走。解決辦法是選中連線查看是否還保留source和target屬性。如果某條線沒有正確綁定可以右鍵點擊線條選擇“Reconnect”或直接刪除重連。更穩(wěn)定的方式是先放置好引腳圓點再把圓點與模塊組合成一個“Group”。組合后移動模塊時引腳和連接線都會整體移動。6.2 導(dǎo)出圖片模糊圖片模糊的原因通常是導(dǎo)出 PNG 時沒有設(shè)置縮放比例。draw.io 默認導(dǎo)出畫布大小但屏幕顯示清晰度和文檔中的印刷清晰度不一樣。如果圖片要插入 Word 或 PDF建議縮放比例為 2 或 3。也可以直接導(dǎo)出 SVG再在文檔中引用 SVG 或轉(zhuǎn)換為高分辨率 PNG。使用 CLI 命令時應(yīng)指定--scale。例如drawio --export --format png --scale 3 --border 30 board-wiring.drawio如果導(dǎo)出 SVG 后通過瀏覽器打開發(fā)現(xiàn)中文亂碼可能是因為系統(tǒng)字體嵌入失敗。建議在瀏覽器中確認字體設(shè)置或者導(dǎo)出 PNG 時降低縮放并提高分辨率。生產(chǎn)環(huán)境建議把源文件和導(dǎo)出的圖片一起歸檔方便以后重新生成。6.3 Fritzing 中連線變紅或提示錯誤Fritzing 的紅色連線一般表示連接無效??赡苁且驗閷?dǎo)線沒有從元件的引腳端點開始拖線而是從導(dǎo)線中間開始也可能是因為目標(biāo)引腳已經(jīng)在另一個網(wǎng)絡(luò)中或者元件焊接點未正確放置在面包板孔位上。檢查方式點擊紅色連線查看兩端是否有圓形連接點。如果一端沒有連接點說明只連到了“空氣”上。刪除這條導(dǎo)線從引腳端點重新開始拖動。另一種情況是導(dǎo)線連到了面包板的“無網(wǎng)絡(luò)區(qū)”這在使用擴展板時比較常見。建議先在面包板視圖中確認孔位是否處于同一個走線組內(nèi)再切換原理圖視圖查看網(wǎng)絡(luò)名是否一致。6.4 圖片中元件顯示太小或文字重疊元件尺寸和文字尺寸不匹配是很多初學(xué)者出圖后重做的主要原因。如果在 draw.io 中把模塊矩形寬度設(shè)成了 100px但引腳文字有 16px那么引腳文字必然相互擠壓。正確做法是先規(guī)劃畫布大小再確定元件尺寸和字號比例。一個可復(fù)用的經(jīng)驗值模塊寬度 220px 到 260px引腳圓點直徑 36px 到 40px引腳文字 10px 到 12px模塊名稱 14px。如果你的元件很多可以把畫布調(diào)大而不是把文字縮小。文字小于 9px 時在打印文檔里基本看不清。6.5 多視圖不同步Fritzing 三視圖共享網(wǎng)表但不代表自動布局。你在面包板視圖中新增一根線原理圖視圖中會新增一個網(wǎng)絡(luò)但元件位置不會自動擺得好看。如果你發(fā)現(xiàn)原理圖視圖里出現(xiàn)大量重疊這是正?,F(xiàn)象需要手動移動元件位置。比較關(guān)鍵的檢查是網(wǎng)絡(luò)是否存在。切到原理圖視圖后點擊導(dǎo)線觀察高亮的網(wǎng)絡(luò)是否完整。如果某個引腳懸空則說明面包板視圖中的連線沒有真正建立電氣連接。Fritzing 不阻止你導(dǎo)出“未完成”的圖紙所以發(fā)布前要逐網(wǎng)絡(luò)核對。6.6 常見問題速查表問題現(xiàn)象可能原因檢查方式處理建議draw.io 線條不跟隨元件端點未綁定引腳節(jié)點檢查連線 source/target刪除后重新從引腳端點拖線導(dǎo)出 PNG 模糊導(dǎo)出比例過低查看圖片實際像素設(shè)置 scale 2 或 3或?qū)С?SVGFritzing 連線變紅連接無效或網(wǎng)絡(luò)沖突點擊連線查看連接點刪除重連檢查引腳是否在有效孔位元件文字重疊元件尺寸過小或字號過大放大畫布觀察調(diào)整元件尺寸或統(tǒng)一字號原理圖視圖布局混亂自動排布未整理查看網(wǎng)絡(luò)高亮手動拖拽元件重新排布圖片中有懸浮文字標(biāo)簽未綁定到引腳檢查標(biāo)簽位置把標(biāo)簽移動到元件內(nèi)部或緊鄰引腳7. 最佳實踐清單與擴展方向7.1 畫圖前檢查清單動手畫圖前建議按下面的清單過一遍。每一條都能幫你減少返工。是否已經(jīng)整理出完整的引腳連接表包含電源、地、信號。是否確認了目標(biāo)板卡和模塊的引腳編號不靠記憶。是否確定了圖紙用途裝配說明、調(diào)試文檔還是評審材料。是否預(yù)先定義了顏色規(guī)范和線寬規(guī)范。是否規(guī)劃了畫布尺寸和分塊布局。是否確認了工具版本和導(dǎo)出格式。如果有任何一項不確定先不要急著畫。特別是“引腳編號靠記憶”這個問題非常容易犯錯輕則圖紙返工重則導(dǎo)致真實接線時燒壞元件。每次畫圖前都打開數(shù)據(jù)手冊或開發(fā)板引腳圖核對一遍。7.2 發(fā)布前檢查清單圖紙畫完并準(zhǔn)備發(fā)布時再做一次最終檢查。這次檢查要站在讀者角度進行而不是站在創(chuàng)建者角度。每根導(dǎo)線兩端是否都連接到引腳沒有懸浮線。電源和地的連接是否完整模塊是否有至少一條電源正和一條地線。線上是否有網(wǎng)絡(luò)名引腳旁是否有編號。圖例是否清楚顏色和線型是否有說明。文字是否被線條遮擋導(dǎo)出后是否清晰。圖片分辨率是否滿足目標(biāo)媒體的要求網(wǎng)頁一般 2 倍圖即可打印建議 300 DPI 或 SVG。是否保留了源文件便于后續(xù)修改。這些檢查點也可以作為評審他人圖紙的參考。很多圖紙問題并不是“畫得不好看”而是“信息不完整”。把檢查清單貼在項目文檔里團隊協(xié)作時能省掉很多溝通成本。7.3 擴展從靜態(tài)圖到交互式文檔板子連線圖不一定只能是一張圖片。在開發(fā)文檔和開源項目中越來越多人會把靜態(tài)圖擴展成交互式內(nèi)容。例如在網(wǎng)頁中使用 SVG 作為背景引腳懸停時高亮對應(yīng)連線或者配合 BOM 表點擊元件跳轉(zhuǎn)到采購頁面再或者用在線仿真平臺嵌入可運行的電路讀者可以直接點擊按鈕模擬 LED 亮滅。實現(xiàn)方式有很多。靜態(tài)圖方法可以先用 draw.io 導(dǎo)出 SVG然后在 HTML 中嵌入并綁定事件。邏輯連接關(guān)系可以用 Graphviz 生成以下形式的連接關(guān)系圖digraph BoardWiring { rankdirLR; node [shapebox, stylerounded, fontnameArial]; ESP32 - DHT11 [labelGPIO4\nDATA, colororange]; ESP32 - LED [labelGPIO18, colororange]; ESP32 - 面包板電源 [label3V3, colorred]; GND - DHT11 [labelGND, colorblack]; }這種文本驅(qū)動的圖適合腳本化生成當(dāng)項目有幾十個引腳連接時用 dot 文件維護比手工拖線更可靠。它不適合做實物風(fēng)格連線圖但與連接表配合可以形成“實物圖 邏輯圖 連接表”的完整文檔組合。7.4 學(xué)習(xí)路徑建議對于剛開始畫板子連線圖的開發(fā)者最穩(wěn)妥的學(xué)習(xí)路徑是先掌握 draw.io 的“布局 連線 導(dǎo)出”三件套然后掌握 Fritzing 的“面包板視圖 原理圖視圖 導(dǎo)出”。不要一開始就研究復(fù)雜的 PCB 設(shè)計工具否則會被大量封裝、規(guī)則、敷銅等概念淹沒。第一步畫一個最簡單的 Arduino 或 ESP32 點亮 LED 的連線圖。只要一根電源線、一根地線、一根信號線。通過這個最小例子熟悉工具的網(wǎng)格、對齊、連線綁定和導(dǎo)出。第二步加入兩個外設(shè)模塊比如 DHT11 和 OLED練習(xí)多模塊布局和顏色規(guī)范。第三步把圖放進真實文檔里用連接表對照檢查。第四步再嘗試使用 Fritzing 重建同一個例子體會兩種工具在“實物感”和“可編輯性”上的差異。圖紙是否好看最終取決于信息組織是否清楚、顏色規(guī)范是否統(tǒng)一、連接關(guān)系是否真實。工具只是讓想法落地的途徑。下一塊板子動手之前先把引腳連接表整理好把配色和線型定下來再打開繪圖工具。這個順序看起來少了一些“繪畫感”但能幫你省掉最多返工時間也更容易得到一張讓別人一眼就能看懂的板子連線圖。