硬件工程師必備技能之Variant
1. 概述
在項(xiàng)目開發(fā)中硬件工程師經(jīng)常會(huì)使用同一塊PCB裸板焊接不同的器件,實(shí)現(xiàn)不同版本的PCBA,從而節(jié)省成本。但是不同版本之間的原理圖,BOM,裝配圖等文件卻缺乏有效的管理方法,容易造成不同版本之間混亂,文檔維護(hù)困難,回板與設(shè)計(jì)預(yù)期不符,最終導(dǎo)致項(xiàng)目交期滯后。本文介紹AltiumDesigner軟件的Variant(裝配變量)功能,從原理圖,BOM,裝配圖進(jìn)行實(shí)戰(zhàn)演示,可以極大減少出錯(cuò)概率,提高文檔管理效率。
2. 什么是Variant?
Variant(裝配變量)是AltiumDesigner專門針對(duì)單工程進(jìn)行管理多版本PCBA的工具,可以在不同的裝配變量下設(shè)置器件為焊接/不焊接(NC),或者替代器件的操作。
3. 工程介紹筆者建立了一個(gè)RC-01的工程,并且繪制完了PCB,工程非常簡單,頂層有兩個(gè)電阻(R1,R2),底層有兩個(gè)電容(C1,C2),但足可以說明問題。
4. 設(shè)置Variant首先找到右上方的綠色小按鈕(很多人用了很多年AD也不知道這是什么作用...),打開Variant管理界面,點(diǎn)擊新建Variant,然后輸入變量的名字,最后點(diǎn)確定。
筆者分別建立了prjA和prjB兩個(gè)裝配變量,假設(shè)目前A項(xiàng)目需求為R1不焊接,B項(xiàng)目需求為R2不焊接。
單擊prjA那列中的R1,會(huì)出現(xiàn)一個(gè)...的圖標(biāo),單擊,出現(xiàn)Fitted(焊接)、Not Fitted(不焊接)、Alternate Part(替代零件),這里選Not Fitted,點(diǎn)擊確定。
同樣的方法設(shè)置prjB中R2為Not Fitted,設(shè)置完成后如下圖。
接下來設(shè)置不焊接器件的顯示方式,點(diǎn)擊Drawing Style,分別設(shè)置原理圖和PCB圖中的顯示方式,可以設(shè)置文字,選擇是網(wǎng)格狀還是打叉,還可以設(shè)置字體大小,這里按個(gè)人習(xí)慣就好,筆者按下圖設(shè)置,設(shè)置完成后點(diǎn)OK結(jié)束設(shè)置。
接下來驗(yàn)證設(shè)置是否生效,點(diǎn)擊Variant旁邊的▼圖標(biāo),可以看出,默認(rèn)情況為No Variation,即所有器件都按默認(rèn)參數(shù)焊接,此時(shí)工程中已增加了prjA和prjB兩個(gè)變量。
單擊切換到prjA后,原理圖中的器件并沒有發(fā)生變化(只有左上方的文字發(fā)生了變量,原因是該文字被設(shè)置為 =VariantName,這樣打印成pdf原理圖后非常方便的能分辨屬于哪個(gè)裝配版本),別著急,點(diǎn)擊左下方Editor旁邊的RC按鈕,跳出編輯模式。
切出編輯模式后,可以看到,R1按照先前的設(shè)置成為了NC狀態(tài),選擇prjB,R2變?yōu)?/span>NC狀態(tài),至此,我們的裝配變量設(shè)置生效。
NC器件較多時(shí),可以在非編輯模式下使用綠色圖標(biāo)右邊Toggle Part Fitted Or Not Fitted,使用十字光標(biāo)單擊器件就設(shè)置為NC,再單擊一下設(shè)置回焊接,哪里不要點(diǎn)哪里,簡直不要太爽,這里很快就把PCB弄成裸板了。
5. 文檔輸出以上原理圖中Variant的設(shè)置就完成了,接下來要做原理圖,BOM和裝配圖的輸出,這里強(qiáng)烈建議使用Ootput Job功能進(jìn)行文件輸出。在工程下直接輸出,一旦文件發(fā)生改變,每次重新生成都需要重新設(shè)置一次,效率低下,而且容易發(fā)生文件之間版本不一致的情況。而使用Ootput Job只需要設(shè)置一次,文件發(fā)生改變后,文件都是按先前的設(shè)置一鍵生成,一勞永逸,而且Output Job文件可以在項(xiàng)目間復(fù)用。首先為工程增加Output Job File,文件名任意。
5.1. 原理圖生成界面如下圖,首先生成pdf原理圖,在Documention Outputs欄中單擊增加原理圖文件,注意這里一定要選擇Project Physical Doumements,否則無法使用Variant功能。
增加任務(wù)后,右鍵Page Setup和Configure中分別設(shè)置正確的頁面大小和屬性,這里先保持默認(rèn)。
接著將該輸出任務(wù)交給PDF這個(gè)output container,先單擊PDF容器,再點(diǎn)擊任務(wù)的Enable按鈕,這樣任務(wù)就交給了PDF這個(gè)工具人了,點(diǎn)擊Change可以修改文件路徑、名稱等,大家自己探索。
一切設(shè)置完成,選擇想要的Variant,這里以prjA為例,點(diǎn)擊Generate content,即可生成,打開pdf版原理圖,R1按照設(shè)置成為了不焊接,完美。
5.2. 裝配圖生成接下來生成頂?shù)讓友b配圖,前面設(shè)置Drawing Style就會(huì)與這個(gè)環(huán)節(jié)相關(guān)了,這次依然要用到PDF Container這個(gè)工具人,在Assembly Drawing下增加任務(wù),選擇繪制好的RC.PcbDoc
依然右鍵PageSetup設(shè)置大小和方向,Configure設(shè)置文件屬性,一般裝配圖的設(shè)置稍微麻煩一些,需要包括板框,頂?shù)讓悠骷恢脠D等。注意,因?yàn)檫@里要使用Variant,需要分布給頂層裝配增加Top層,低層裝配增加Bottom層,但增加的時(shí)候需要將該層所有元素設(shè)置為Hide,最終頂層保留三層:頂層,頂裝配層,板框?qū)?,底層同樣設(shè)置,設(shè)置為鏡像。
設(shè)置完成后生成prjA和prjB對(duì)應(yīng)的裝配圖,NC器件按照預(yù)先的設(shè)置的顯示了出來,perfect!并且筆者事先在裝配層增加Variant的名稱,方便區(qū)別。這樣的圖交給板廠或者基板檢查人員,簡直是他們的福音。
5.3. BOM生成最后是BOM的生成,BOM與設(shè)計(jì)意圖的一致性是一塊PCB板功能正常的基礎(chǔ),很多工程師為了省事,處理NC器件往往采用最暴力的方法:手動(dòng)修改器件屬性,甚至手動(dòng)修改BOM。這樣非常容易出現(xiàn)重號(hào)、數(shù)量與位號(hào)不符、型號(hào)錯(cuò)誤等問題,真可謂BOM不扎實(shí),回板兩行淚!使用Variant功能后,既省事又不容易錯(cuò),這次我們使用Folder Structure這個(gè)容器,畢竟BOM 一般是文件類型的。在Report Outputs中增加BOM表任務(wù)。
老規(guī)矩設(shè)置大小,右鍵Configure進(jìn)入設(shè)置。
可以看出,prjA這個(gè)變量下,R1已經(jīng)不出現(xiàn)在BOM里了,但筆者認(rèn)為R1應(yīng)該出現(xiàn),因?yàn)榘凑漳壳斑@個(gè)BOM 去檢查基板,只能保證該焊的器件焊了,卻無法保證不該焊接的器件未焊接,不該焊接的機(jī)器焊接了電路板功能也會(huì)不正常。這個(gè)AD也為我們想好了,勾選左下方Include Not Fitted Components,這樣不焊接的器件也會(huì)出現(xiàn)在BOM中,并且數(shù)量為0,Fitted可以作為分組條件,但是不用作為輸出。然后工程師可以選擇自己公司的BOM模板進(jìn)行BOM 輸出,這里不再演示。
5.4. Alternate Part功能以上,Variant的基本操作就為大家演示完了,實(shí)際中我還會(huì)遇到C項(xiàng)目需要將R1改成10k電阻的情況,這就要用到Variant中Alternate Part功能,請(qǐng)大家自行練習(xí)。這里提醒大家,一定不要圖省事直接修改器件屬性,要先在原理圖庫中建好需要的新部件,再使用Alternate Part選擇到該器件,這樣能最大程度減少BOM出錯(cuò)的概率。6. 總結(jié)熟練使用Variant功能,能夠幫助硬件工程師更加高效的管理多PCBA版本,降低BOM出錯(cuò)的概率,降低維護(hù)文檔的難度,是硬件工程師必須掌握的技能。
------------ END ------------