這篇就單刀直入,講一個我做過的 USB 電源控制板。簡單的說,就是一個 USB TYPE-A 的公頭與母頭,中間有一個開關,可以做電源的控制。另外再加上一個 LED 當做過電的指示燈。
本文會引用外部的元件庫, Adafruit Library, 用來引入簡單的電阻電容與LED等元件。
說明影片
本文的說明影片,發佈在 Youtube 上了,建議可以交互參考比較清楚
下載 Adafruit 元件庫
Adafruit 也是一家經營 DIY / Maker 資源的公司,他們也有開發自己做的一些 Eagle Design 的元件庫。使用者可以直接上 Google search 「Adafruit Eagle Design library」,就可以找到元件庫所在的 Github。
下載紅框裡面的 zip 檔後,裡面會有一個 adafruit.lbr,這就是元件庫的檔案。將其放置到 C:\EAGLE-7.6.0\lbr,就可以使用了。往後打開 Eagle Design 時,若你注意一下左邊的 Library 裡,就會多出一個 Adafruit 的元件庫了。
加入 usb 元件庫
另外有一個小的元件庫,是 USB TYPE-A 公頭用的,由於比較久了,我也不記得在哪下載的了,可以在文末直接下載使用。
開始設計
Schematics 設計
Schematics 在簡中版本的翻譯是叫「原理圖」,一般習慣都直接念英文。其目的是在設計各個硬體元件間的線路連線的邏輯關係,而真正的走線/擺件會留到 board design 才設計。
新增 Schematics
選擇 「File–>New–>Schematic」,就可以開啟一張新的 Schematic 圖了。
加入元件
接著我們要將元件新增到這張圖上,本文的範例會需要5個元件:
- USB TYPE-A 母座: con-berg –> PN87520-S, 搜尋 pn87520-s
- USB TYPE-A 公頭: usb –> USB-A-H, 搜尋 usb
- 0603 電阻: adafruit –> R-US_R0603, 搜尋 resistor
- 0603 LED: adafruit –> LEDCHIPLED_0603, 搜尋 chipled
- 壓動開關: switch-misc –> pvA2R, 搜尋 pva2r
這邊使用的電阻和LED都是貼片的,如果是想要使用插件的人,可能要再找一下適當的元件庫。
加入元件的方式,是選擇左邊工具列的這個圖示,或者可以選擇 Edit –> Add
接著會跳出一個對話框,上面是元件庫的名稱,點開會有元件列表,也可以直接用下面的 Search 來找到想要的元件名稱。
以下圖為例,輸入 pn87520-s 就可以找到所需要的 TYPE-A 母頭,但這個搜尋功能也不是很完整,有時還是要完全符合才能找到想要的項目。
新增了上面所提到的5個元件後,接下來就是要把之間的接線正確連接了。
連接元件
接下來就是要將各元件的接腳連線起來,這會用到幾個基本的操作。
按下上面圖示後,然後在想要移動的元件上按一下,就可以移動該元件,在移動的過程中,按右鍵可以翻轉元件的方向。
按下上面圖示後,然後在元件上想要連接 PIN 腳按一下左鍵,就可以開始做接線。移動滑鼠線就會跟著移動,要轉彎的話就按下左鍵就可以調整方向。線接到目的位置後,連接2下左鍵就可以停止接線,或按下 ESC 也可以。
要確定線有沒有正確連接上,可以試著移動元件,看線會不會跟著移動。
若中間有放置錯元件,或接線接錯,可以選用移除的工具來將之移除。
前面有一個元件沒提到,就是 GND,也就是接地。基本上這不是實體元件,就是把線連接到負級的意思。要加入 GND,也是透過加入元件的方式,搜尋 GND,加入看起來比較喜歡的就可以。
有些元件會常重複用到,GND 就會很常用到,若每次去新增就有點麻煩。此時可以用複製的方式,按下上面圖示後,再按一下想要複製的元件,就可以產生出另外一份了。
最後,依本文的例子,按圖連接就可以了。
產生 PCB 與擺件
Schematic 設計完後,就可以產生 PCB 圖,來設計實際的元件擺設位置與接線。選擇 「File–>Switch to board」,就會自動跳出板圖。一開始板圖的元件都是擠在一起,使用者可依自己實際想要的成品,來擺設位置。
元件的移動跟翻轉方式,也是跟之前描述的一樣。最終擺件的方式,可以參考本文例子,或者依個人喜好。
擺件後其實會發現板子過大,也就是最週圍的白線的部份。可以透過 Tools –> statistics,看到板子目前的大小。
使用者可以透過移動圖示,來移動邊界,以調整板子的大小。然後,將元件到適當的位子,以縮小板子面積。順便提一下,目前 PCB 板製做,都是以 10cm x 10cm 二層板 (就是只有前後2面有線路)最便宜,一次會製做5或10片板子,總價在人民幣 30~40元之間。台灣我之前做過幾次,一次是800元,由於價差太大,後來都在淘寶下單製做了。面積超過 10×10,價格就會向上跳一級,所以如果不是商業需求,盡量弄在 10×10 以內比較便宜。
檢查一下
在 Schematic 和 PCB 的階段,都有一些基本的自動錯誤檢查功能。可以按下左方工具列的 ERC ,來進行檢查。
這些檢查,其實還是要一個一個看,個人也不是很清楚所有的訊息。以下圖為例
這些訊息是可以忽略的,沒名字、值或沒 junction。最常見的重要錯誤是「PIN腳沒有接線」,有時圖看起來有接,但其實沒接上。
透過按下該錯誤訊息,程式會指出是哪裡有錯誤,可以透過移動元件,來確定線路是否有接好。
自動繞線
當檢查完畢 Schematic 的基本接線邏輯後,就可以對 PCB 進行自動接線。目前設計只是邏輯上的線路連接,實體上的線路連接,可以透過自動產生。有時會失敗,但這個我們先不討論。
在左邊的工具列上,按下自動繞線的功能。會跳出一個對話框
左邊是設定哪幾層要自動繞線,右邊是要自動繞線的複雜度。由於本範例只是簡單的電路,直接按下 Continue 就好了。然後按下 Start 開始自動繞線。
當所有的項目都到達 100% 線後,按下 Evaluate,就可以看到自動繞線的成果。
如果往後電路有修改,想要清除繞線的結果,可以在上面的命令列打上「ripup;」,就可以清除。
鋪銅
接下來要做的一步叫做鋪銅,就是把 GND 鋪滿沒用到的電路板的正反面上,在簡單的線路裡,這一步有時可以不做。比較好理解的好處是,可以改善散熱,還有一些我不懂的電磁特性 (sorry, I’m sw guy)。這個流程主要是參考這篇,有時間的人也可以參考一下。
鋪銅的步驟是在正反面都以 Polygon 圖示,將 PCB 板框起來,再按 Rastnest 來完成動作。
在按下 Polygon 時,可以選擇 Bottom (反面) 與 Top (正面),所以要分兩次將 PCB 板都框住,最後按下 Ratsnest,就可以完成鋪銅。
輸出 Gerber 檔
Gerber 檔是從 PCB 轉出後,要製做成實體板子的格式,之前在「 我是 Maker! WiFi995 無線求救信標 (2) 電路設計」已有提過,這邊只說明其產生的流程。
在 PCB 設計的頁面裡選擇「File –> Cam Processor」,在跳出的視窗裡再選擇 「File –> Open –>Job」,選擇附件裡的 gerb274x_vcut.cam。
接著按下 “Process Job”,就會產生所需的檔案了。
將下列幾個副檔名的檔案,壓縮起來成 zip 檔,就可以交給板廠進行製做了。
- drd: drill data. Drills + Holes 層
- gko: Gerber Keep out. bKeepout 層,那時要做vcut特別加的
- cmp: component side. Top + Vias + Pads 層
- sol: Soldier side. Bottom + Vias + Pads 層
- plc: Silk screen CMP: 正面文字, Dimension + tPlace + tNames + tValues
- pls: Silk screen solder: 背面文字, Dimension + bPlace + bNames + bValues
- stc: Solder stop mask CMP: 正面範圍, tStop 層。這個沒有很瞭解,可能是正面元件所佔用的範圍
- sts: Solderstop mask SOL: 背面範圍, bStop 層。可能是背面元件所佔用的範圍
有興趣的讀者,也可以透過 online viewer 來觀查一下最後的輸出 gerber 檔案。不知是不是 eagle design 相容性不好,目前發現的是 Online Gerber Viewer 的這個網站才看的到,不過板廠好像沒這個問題。
結語
這一篇講的有點長,的確做一個 PCB 出來說難不難,其實細節也是蠻多的。下一篇會說明如何透過板廠,委託製做實體板子。
附件
gerb274x_vcut – Eagle Design 產生 Gerber 檔
adafruit – Eagle Design Adafruit 基本元件庫