2017年12月29日 星期五

Eagle PCB 學習 Part 3

Part 3 PCB Layout:

在做PCB Layout前必須先檢查電路圖是否有錯誤, Eagle PCB 提供ERC (Electrical Rule Check)工具檢查電路圖.
ERC會檢查:
1.      所有信號線路(Nets)是否正確連接.(包含線路Label)
2.      電路上的輸入/輸出信號衝突
3.      信號(,ports)上開路,重疊

由以下範例各位可以清楚了解這比人工檢查方便多了!
首先我在範例電路中增加一個7400 Gate然後做一次ERC檢查.

紅色3角形提示是電路圖有6個錯誤待修正,黃色3角形是電路警告提示!
6錯誤都和IC1有關,它顯示出IC1沒有接上GNDVCC電源以及IC1的輸入腳是空接(NC)狀態!
但圖中IC1.1腳有接上信號為什麼會顯示NC狀態? 原因是不正確使用工具列上的Copy功能,在做Copy電路時沒有將線路和IC1.1腳做正確接合的錯誤.

(修正後再做一次ERC,錯誤少了一個!)


正確Copy Net連接IC腳的方式
1.      Copy: Group 線路放在在IC腳附近.(不可以接上!)
2.      選工具列上的Net連接信號線和IC,當線拉到IC腳時會出現小圓圈時按滑鼠左鍵完成連接.




IC1接上電源和輸入信號後再做ERC檢查, Error(0)表示電路圖沒有錯誤了!



接下來黃色3角形電路警告提示, 請每個警告都查看一下是否有問題,如不確定自己電路上的黃色警告提示是否OK? 您可以打開Eagle的範例檔案查看是否有相同的黃色警告,如下圖範例檔案中的零件沒有設值(Part xxx has no value),你可以決定是否給零件加上值或不理會這個警告.
(這些警告不影響PCB Layout)


要注意我所提供的範例檔案上的N$5 overlaps pin警告! 滑鼠左鍵點一下第一個警告會出現警告位置供你檢查! 😊



原來是我用工具列上的Line功能畫的框框,表示Arduino Board放上去的樣子!這功能在OrCAD上是不會有電器特性的(OrCAD是Cadence的電路圖軟體),Eagle PCBLine設成有電器特性的線段個人覺得很怪? 因為工具列上的Line是鉛筆畫線圖示應該用來做註解用,這裡建議大家使用Net畫電路圖以免日後工作上改用OrCAD時出錯!
刪除電路圖上沒有使用的電路,避免日後修圖時沒注意短路接錯!
(下圖修正後剩下14個警告!)


第一個警告是NetN$2只接LED1.A腳是留給大家自行決定LED功能,以下13個警告可以不用理會!
另外您也可以用FileàExportàNetlistPinlist產生出檔案做人工檢查,經驗上再做一次檢查可保電路平安順利啦! XD


(檢查NC腳和Nets所連接的零件腳是否正確!)


電路檢查完成後就可以開始PCB Layout!請按Generate/Switch to Board圖示建立PCB Layout.

Yes建立PCB Layout

第一次進入PCB Layout會看到零件都放在PCB板子外面,零件必須排入PCB板內位置(Placement).
注意PCB(0,0)原點位置在左下角.)

在放零件前先做一些設定說明如下:

先設定PCB厚度,銅厚,安全距離,..等,請選Edit-->Design rules

PCB疊層設定(Layers)


Top層(1)是0.035mm(1oz)銅厚,中間隔離用膠合材料層厚1.5mm, Bottom層(16)是0.035mm(1oz)銅厚, PCB的板厚是1.57mm, 如果您想要Top/Bottom改為half oz銅厚則修改成Top層(1)是0.0175mm,中間隔離用膠合材料層厚1.535mm, Bottom層(16)是0.0175mm, PCB的板厚是1.57mm不變.
PCB板厚和銅厚是依照:機構,電路阻抗,和PCB廠疊構建議等設定一定要詳細檢查! 
例如機構圖上標示PCB板厚是1.2mm而您設定在1.6mm產出了PCB, 最後PCB打件後才發現板子在機構上不合的嚴重問題!建議您將這部分寫入Check list中,也要記錄PCB廠生產上的限制!

新手對這些設定通常不知道數值因該設多少? 建議您可以先照範例檔案的設定,之後再多讀PCB相關的文章書籍! (到PCB廠參觀作業流程可以了解很多PCB相關知識!)
(範例檔的PCB設定)

設定安全距離(Clearance)

(我依照習慣修改了圖中的單位為mils,各位依自己習使用單位.)
說明如下:
滑鼠左鍵點一下Wire/Wire這欄左邊會出現圖示安全距離不可小於6mils,
滑鼠左鍵點一下Wire/PAD這欄左邊會出現圖示銲點安全距離不可小於6mils
一般的PCB廠生產上的限制是:
(Wire/Wire)間安全距離: 不可小於4mils.
銲點(Wire/Pad)間安全距離: 不可小於4mils.
特殊需求才設定在4mils (如BGA走線區域), 以上建議加大安全距離在製作PCB良率比較高,加大安全距離也可避免信號互相干擾問題!

請自行設定安全距離,或參考下圖Eagle的範例檔設定!

距離設定

電路(有銅部分),銲點(PAD)<--->PCB板邊距離, 在一般的PCB廠生產上的限制是20mils(0.508mm),但這部分在公司生產上會依照設備不同而有不一樣的規定.
假設您的PCB有外包生產需求:
在PCB沒有V-Cut設計時可以板邊設定>=80mils(2mm),PCB有V-Cut設計時要注意MLCC零件到V-Cut邊距離最好有180mils以上.( MLCC零件長邊最好和V-Cut邊是水平向.)

最小線寬和最小鑽孔


銲點Pads的甜甜圈直徑大於鑽孔直徑的設定. (甜甜圈形狀的銅)
VIAs(換層的孔)的甜甜圈直徑大於鑽孔直徑的設定.


防銲設定


Net Classes設定: Edit-->Net Classes..


電路圖中沒指定Net Class的信號是套用Default值,如以上設定在PCB Layout中使用自動佈線功能,則所有信號走線都是0.15mm,安全距離0.15mm,鑽孔0.3mm.

如您希望加大GND走線設定時可以增加Net Class設定,例如下圖增加了一組Ground,
(下圖mils單位請自行轉為mm統一單位)

再到電路圖中使用工具Info修改GND信號, Net Class由default換成Ground即可!



接下來開始擺放零件!

2017年12月28日 星期四

Eagle PCB 學習 Part 2

Part2 schematic練習:

下圖電路中SV1,SV2是放Arduino pro Micro board的排針,LED1指示燈沒有定義用途可自行決定LED功能,請大家先練習將圖中零件加到電路圖中.
(範例電路圖和PCB Layout檔案可以在這裡下載)


雖然知道電路圖中加入零件的方法,但對於新手來說找出零件有些困難!這時建議您參考參考我提供的範例檔或Eagleexamples檔案上的零件.

參考網路上提供的範例的做法是將下載的檔案放在空的project(專案可以建在Temp,TEST資料夾方便日後刪除),重新開啟Eagle就可以使用範例檔案查詢了!

(Eagle的專案路徑在 x:\Users\user\AppData\Roaming\SPB_Data\eagle)


查詢範例檔案零件的方法:
1.  選工具列中的Info
2.  在零件中央+ 按滑鼠左鍵

查出零件的LibraryPackage


POWER,GND symbol也可以查

再來是介紹工具列上常用的功能
移動單個物件
移動下圖S3選工具列上的Move後在S3+點滑鼠左鍵,S3零件顏色比較亮可以隨滑鼠移動,選定好新位置後再按一次滑鼠左鍵確定放下零件,如果在移動零件時想旋轉零件,可直接點滑鼠右鍵這時零件會逆時針旋轉90,如果在移動零件時想交換左右兩邊腳位,可直接點滑鼠滾輪鍵這時零件會水平翻轉180.(左上角的物件角度狀態也會同步改變)



如果在移動零件時想取消時只要按鍵盤的ESC鍵即可!

移動多個物件
一次移動多個物件時先選工具列上的Group


按滑鼠左鍵不放選取多個物件後放開滑鼠左鍵,這時選取的零件會顏色比較亮表示已Group.


再按工具列上的Move後在電路圖空白處點滑鼠右鍵,出現Move: Group後在字上點滑鼠左鍵這時所選零件隨滑鼠移動,同樣的在移動時點滑鼠右鍵,滾輪鍵可以翻轉多個零件角度!


刪除單個物件
選工具列上的Delete後在物件的+處點滑鼠左鍵即刪除該物件!


刪除多個物件
刪除多個物件時同上先選工具列上的Group出要刪除的物件,再選工具列上的Delete在電路圖空白處點滑鼠右鍵,出現Delete: Group後在字上點滑鼠左鍵這時所選刪除零件!
以上請多練習!

移動零件名稱
有時為了方便找到零件或名稱疊在一起需要移動名稱位置,可選工具列上的Smash在零件的+處點滑鼠左鍵後Name會出現+ ,這時用選用工具列上的MoveName+處點滑鼠左鍵即可移動!

(同樣的在移動時點滑鼠右鍵,滾輪鍵可以翻轉角度)

加上零件的值
範例中的R1電阻沒有設定電阻值,各位可以使用工具列上的Value,R1+處點滑鼠左鍵後出現New value for R1填入電阻值按下OK即可!


修改R1電阻值一樣使用工具列上的ValueR1+處點滑鼠左鍵修改阻值.


電路連接
使用工具列上的Net連接各零件,如下圖在SW1.1點滑鼠左鍵後移動滑鼠拉出Net線在SW2.3點滑鼠左鍵完成連接兩腳.



Label顯示Net名稱
使用工具列上的LabelSW1.1ßàSW2.3Net線段點滑鼠左鍵,出現N$1名稱這時N$1隨滑鼠移動請在Net線段再點一次滑鼠左鍵即可固定在線段上.

利用NetLabel連接信號
利用Label連接信號可以讓電路圖看起來簡潔更容易除錯和修改.

圖中利用Label可以很快看出Arduino Board上的pin6是接N_3_DOWN信號和S6.1,S6.2連接.

以上可以修改Net名稱方式達成,請使用工具列上的Name修改NetLabel,下圖示範修改Net:N$3-->N_2_UP ,選工具列上的Name在名稱上+2下滑鼠左鍵修改Net名稱.

N$32下滑鼠左鍵,New name鍵入N_2_UP後按OK.

出現信號連接確認按下Yes

S11.1腳和S3.1,S3.2腳連接在一起!



其他功能如自動零件重新命名,..等大家有空可以上網查!

請各位練習:電路圖加入零件-->放好零件位置-->修改零件值-->連接信號線-->修改Net名稱完成同範例電路圖.