2017年9月19日 星期二

技術筆記:電路板設計

第一張手繪電路圖 (臨摹自喵喵老師)

這是玩具計劃延伸而來(連結),與電子電路有關筆記(連結)。

印象中電子電路是讀電控或是儀表系才會的東西。對我這讀純軟的人來說,好像天書一般,直到最近玩具計劃進入新階段,不得不研究。下面是些筆記。真有興趣的人可參考kitsprout經驗連結,會有更完整介紹。

PCB LAYOUT

電路設計和LAYOUT是兩回事,電路設計有其學理(有本參考書),但若僅是MAKER,僅將些常用零件組合起來,LAYOUT這部分算是相對簡單。

初入門以EAGLE為主,參考下面書籍,內容淺顯易學值得推薦。當然也可以參考文章1文章2 ,或是kitsprout使用的ALTIUM DESIGNER。

我的第一本電路書

安裝EAGLE後,得先解決中文版問題,到C:\EAGLE 8.3.2 把eagle_zh.qm 移走就可以換成英文版。

file->new->project  給定名子RCfilter (位置在 C:\Users\USER\Documents\eagle\RCfilter)
Lite 板限定Layout面積為 (80x100mm),只支援 最多兩層 (Top and Bottom)
大致上的操作都是,打開或是點選RCfilter右鍵。依照下面三個順序說明。Schematic Editor (類似Pspice)。Layout Editor(真正電路板)。轉出GERBER或是轉入GERBER。

EAGLE 製作schematic


點選RCfilter 打開 右鍵 new->schematic->進入另外的視窗系統
存檔時 可能用同樣名稱 例如 RCfilter.sch

Options->User interface->icon size 24
點左上方的GRID->兩個規格都改成mm
zoom to fit (Alt+F2)或使用放大鏡圖示來調整大小

加入元件
左邊TOOLBAR右邊第二排有個+的元件符號 點下之後會跳出搜尋視窗
搜尋時可善加利用萬用字元*:例如“*555*”可找到所有名稱中有555的元件)
如果已經知道元件名稱,可以直接打入,或是用瀏覽方式
對各元件介紹,如最後

滾動滑鼠的滾輪可以放大/縮小  按滑鼠右鍵可以旋轉
連續點 就是重覆放入
放好後按Esc會跳回元件選擇視窗,可以繼續選擇Add其他元件

移動元件
左邊TOOLBAR右邊第二排第三個Move元件 點元件後可以移動
按住ALT移動會更細密  不然會一格一格跳。群組移動要先用Group把多個元件圈起來–>選擇Move–>按Ctrl和滑鼠右鍵,移動之後按滑鼠左鍵把元件放下。

畫線
左邊TOOLBAR左邊最下面LINE 若碰到元件可以連結。畫線的時候按右鍵可以選擇不同的走線方式,按一下左鍵設定停駐點用來轉折,結束時連按兩下左鍵成為結束端點。兩條線的交會處可以放上Junction標註一下。畫線的時候,要注意連結不同元件時,碰到就好了。

設定資料
1.使用Value來設定電阻值(10k)和電容值(1uF)
2.使用Name來修改連接器的名稱,分別叫做IN和OUT。

擴充元件
若有找不到的零件,就可以瞭解如何製作擴充元件,這也是比較大型專案的需求。switch-tact
DTSM-6 還有 esp8266modules  ESP12E-SMD  ESP12ESMD (ESP12E)。如何建立擴充元件有兩個方法。
1.自行新建,較複雜,書本第十一章有提到。
2.重覆使用他人lbr檔案,較簡單,拷貝別人資料到 C:\EAGLE 8.3.2\lbr\ 下,打開PANEL,左方的Libraries選單中就會看到放入的LIB。打開,選擇一個元件後,ADD就可以進入電路圖,可是這樣不夠,因為還無法搜尋。進階作法是,拷貝到C:\EAGLE 8.3.2\lbr\ltspice 在PANEL中,找到那個lbr,選擇USE就會進入未來能search的範圍。

電路設計最後步驟是檢查合理性,選擇TOOL->ERC會列出錯誤處。

整個流程如書本P73有很好的說明,先簡單手畫設計圖,新增全部元件,標示名稱和數值,簡單放置在可能地方,啟動ERC。

EAGLE 製作PCB


按下TOOLBAR上面 Generate to board按鈕,會自動產生新的電路板檔案。如果上面電路圖重排,再按一次,下面電路板同樣也會變動。預設是兩層板 Layer 1和16 (免費版本至多是兩層),電路和PCB是兩個不同的APP,兩者間有連動關係。紅線是頂,藍線是底部,綠色是墊片,白色是網版。

用AUTO做出的板子 不過不能用

按Grid圖示將單位調整成mm

用group move把這些元件都移到框框裡面,group move的方式就和schematic一樣,"group",圈選,"move", “Ctrl+滑鼠右鍵",開始移動,"滑鼠左鍵"放下。

Mirror
可把元件放到背面去。

文字資訊
要單獨移動元件的Value的話要按"Smash",然後點在元件的+符號上,這樣他的Name和Value就會和元件分開來,可以單獨移動了。

RATSNEST
讓 EAGLE 重新計算 airwires(尚未真正繞線的線)最適距離。可做DRC check修正各元件至合適距離

Route
有一些地方需要用 ROUTE 這個工具點選未繞線(黃色)的端點, 然後可手工進行繞線,繞線時可選擇寬度、種類等選項。
還沒有真正連線之前應該連線的點會有黃色細線相連,連起來之後他就會消失,這樣可以協助我們認出還有哪些線還沒有畫好。
按Route圖示來接線。
接線的方式是先點選起點,選擇圖層(Select layer),看是要走Top還是Bottom,同時設定線寬(Width),途中按下滑鼠左鍵設定停駐點,按下滑鼠右鍵改變走線方式,換圖層會自動產生灌孔(Via)。
所以灌孔是自動生成的,不是透過ICON加上的。另外上下層線路的顏色不同。

autorouter
自動計算出線路,對話窗,預設參數會產生出 double sided board( 如果希望產生 single-sided board。先設定 preferred direction 中TOP layer 至 NA (Not Applicable.) )。會有幾種方案可選擇。並且顯示最適合項目(未必能完成所有繞線)。很像是水彩教學,很有趣也很舒壓。

鋪銅
線都接好之後,接著要鋪銅,所謂的鋪銅就是把空白的地方用銅鋪滿,可以減少電阻,隔絕干擾。鋪銅是一塊大範圍銅箔,通常是power或ground。在多層板中通常會用一整層做出這樣一個 plane。

單層板鋪銅則有一些優勢:
1) 蝕刻液消耗較少
2) 降低接地電阻(因為 R=ρl/A) l 代表長度, A 代表截面積。若接地的銅片愈大,就可以降低接地電阻,因為作法複雜,短期內不會使用。

按"Polygon"圖示,選擇圖層為"Top",按滑鼠左鍵在整個板材外圍繞一圈(至少不要小於板材),表示要鋪滿整個板材。剛圍好之後會是一圈虛線。接著要決定鋪銅的接點名稱。看一下剛剛連接的那些線都有名子,例如"N$1〃,或是可以用"Name"來設定那些線的名稱,例如"net1〃,"VDD","GND"之類的。我們同樣可以用"Name"來點一下鋪銅虛線,設定鋪銅的名稱,這樣等一下他會將整個鋪銅和同名子的線接起來。在PCB這邊修改/設定接線的名稱會同步改變schematic那邊的名稱。
按一下"Ratsnest"圖示,他就會幫忙把整個圖層鋪滿。
polygon指令。做法是在text command area。例如要產生 polygon 對應到 signal named ‘gnd’,輸入 “poly gnd “ polygon會自動連結到該訊號。然後可拉出一個長方型自動鋪銅(按下RATNEST可檢視成果)

電源
PCB板須有地方讓POWER輸入。
加入Vias:在Text Command 中輸入“via ‘gnd’” (注意訊號需要括號,和鋪銅時不同!) 可以調整drill size 和 via shape然後將其擺至適當地方。

EAGLE 產生GERBER


點選RCfilter 打開 右鍵
在這下面產生一個目錄 GBR(  可以產生GBR檔案 )

第一組 使用CAM

必須要先下載範例CAM,下載點。在PCB Layout上方點選"CAM Processor"圖示,打開File–>Open–>Job…選擇 PCB–>cam裡面找到custom_gerber.cam檔案 ( 設定已經完成 )
確認所有輸出圖層的File都是輸出到%P\GBR\%N.***,這個GBR就是我們一開始產生的那個檔案夾。

直接按"Process Job"。然後應該可以在GBR檔案夾裡面看到8個產生的檔案。


第二組 鑽孔檔案

繼續在CAM Processor中,打開File–>Open–>Job…選擇安裝路徑下的cam檔案夾中的excellon.cam,修改File輸出到%P\GBR\%N.drd,按下"Process Job",GBR中會多出兩個檔案,".drd"和".dri"。

在PCB layout視窗點選File–>"Run ULP",或直接點選按鈕,在安裝路徑下找ulp–>drillcfg.ulp。開啟之後選擇單位。 eagle_drl按OK,再按OK。選擇輸出到GBR檔案夾中。總共有三個,這樣總共就有11個檔案在GBR檔案夾中。


第三組 BOM

需要的元件列表可以在schematic那邊選擇File–>Export–>BOM來產生。可以輸出成文字檔,CSV或是HTML格式,然後列印出來到電子材料行選購。

這裡還有些未完成項目

看輸出圖層檔案的軟體gerbv.exe,檢視輸出圖檔有沒有錯誤或是輸出成影像檔用來製作板子,或是製作錫膏圖層自己上件。生成GERBER檔案,連結。然後就可以把整個GBR打包起來送給板廠製作PCB了。

另外一個方向是從GERBER IMPORT成EAGLE專用檔案 說明如連結

實作

坐而言不如起而行,尤其是PCB這種操作型的事物,網路課程連結

1 MicroPython on ESP8266。這是喵喵老師在高雄的範例,喵喵老師CHRIS,由linray轉記兩篇詳細筆記。 安裝系統  APP應用  目前會以實做此PCB為主,在PCB出現前,先放上linray照片和EAGLE檔案互相參考。

ESP8266可能型式

2 簡單電路,連結。優點是沒有MCU和SMT。容易驗證。

JLCPCB

JLCPCB:中國一調龍式公司(連結),前幾年廣告打很大,這兩年比較沉寂。連結 連結 連結對應的製作工具是EASYEDA(連結)。
如果以ATMEGA328P-PU PDIP-28為範例,參考資料
  • 中文介紹  連結 連結
  • 可能製作過程 連結 連結   連結1 連結2 連結3 連結4
  • 其他

    目前PCB沒有防呆很容易靜電打壞,花了些功夫把板子隔離開 
    某種PCB製作方式 化學溶液
    打件SMD和焊接:手工焊接是OK但手不巧,太忙只能找EMILY幫忙 

    電路板:中國PCB生產介紹(連結) 


    1 則留言:

    1. 請問老師, DRC 裡面的, layers , clearence , distance ....的單位如何從mm 改成 mil ? 謝謝 ~

      回覆刪除