小型團隊硬體設計之元器件管理
小型團隊硬體設計之元器件管理
問題現象:
1, 硬體設計完成後, BOM表的輸出很費時間, 需要人工一項一項確認;
2,經常出現的購買器件的引數和設計不相符合的情況;
3,元器件的封裝和實物不匹配;
4,焊接時發現某種器件沒有購買,因為沒有在BOM表上;
5,因為上述原因造成在焊接時,需要和焊接公司反覆溝通解決問題;
如果有類似的問題, 請繼續閱讀。
問題原因:
在硬體設計的過程中, 設計人員經常為了圖省事或者是為了所謂的趕進度,在設計中任意修改引數,造成後續資料不一致。
解決問題的總體思路:
1, 元器件需要一套機制和流程來管理;
2, 器件需要有單獨的資料庫來儲存,同時要保證資料有備份,不易被刪改;
3,所有的引數修改必須在資料庫中執行,不能在其他步驟中任意修改。
4,原理圖設計中使用到的器件必須從資料庫中調取。 在原理圖中不能輕易更改原件引數。
這些引數包括元器件型號, 封裝, 供應商等等。
5,最後的購買清單和焊接BOM都必須從原理圖中直接產生,不能由其他檔案產生,特別不能從PCB檔案中匯出產生。
解決問題的的具體執行步驟:
為了方便說明, 本人上傳了一個DemoPackage,在閱讀的過程中需要參看DemoPackage中的檔案. 請感興趣的讀者先下載,並解壓到C:\Demo目錄下. 當然也可以解壓到任意資料夾下,這裡統一目錄一個原因是方便在後文中的解釋和說明, 另一個原因是減少使用DemoPackage時因目錄出錯的概率。
1,選定硬體設計工具和版本管理工具
本人公司一直使用Altium designer和SVN, 所以在此設定:
硬體工具:Altium desinger 18.01
版本控制: SVN
對於其他的硬體設計工具,需要確保能夠連線外部資料庫。
版本控制工具也可以使用其他的,例如git。
2,資料庫的建立
Altium designer支援很多種資料庫型別。有條件的建議將資料庫搭建在伺服器上 一般使用者通過瀏覽器進行資料的操作和維護。
在本文件,我將直接使用excel來實現資料庫的功能, 這樣的優點是:
(1), 簡單,容易上手。
(2),容易演示,讀者也比較容易跟著步驟學習。
缺點也很明顯:不能多人同時操作檔案,資料容易破壞。最大的弊端是Altium designer在工作時,不能對Excel檔案(資料庫檔案)不能進行寫操作。
2.1 Excel檔案格式
首先新建一個excel檔案並新增多個表單。
可以參見DemoPackage中的 C:\Demo\DemoPackage\db\DB.xls檔案.
在此本人先貼上出其中的一個截圖。
圖一 資料庫excel檔案
在excel中, 不同的表單代表的是元器件分類。在上圖的左下角, 分別使用200來代表電阻, 201來代表電容。。。
具體的分類方法根據需要可以自行定義,本人可以給一個參考的分類:
200 電阻
201 電容
202 電感
203 二極體
204 三極體
205 保險絲
206 晶振
207 IC晶片
208 聯結器
209 模組
210 按鍵
211 LCD
212 線纜 螺絲墊片等安裝相關
。。。。
注意在DemoPackage中的excel檔案只新建了部分表單, 不包含完整表單分類。.
每一個表單中的第一行都是相同的。具體的意義如下:
圖二 資料庫檔案的格式
StockCode: 這個是資料庫的唯一鍵值,必須保證唯一。 它是Altium Designer用來尋找唯一器件的依據。
stockCode的格式採用的是3位+四位數字的格式。 前3位標示元器件的類別, 後四位標示元件 的順序編號, 例如200-0001 標示是電阻(200)類的第一個元器件,200-0002標示是電阻(200)類的第二個元器件。如果要新增新的器件按照順序往下順排即可。例如在圖二中我們要增加新的電阻器件, 它的編號就是200-0003.
Value:這個器件對應的值, 電阻類是對應的電阻值, 電容類對應的容值, IC類則是器件型號等等。 Value的內容一般比較簡短, 因為它是可以顯示在原理圖中的。
Library Ref:這是器件對應的元件庫中的名字, 必須和庫檔案中的名字一樣,否則在原理圖中新增該器件會因為找不到器件而出錯;
Library Path:庫檔案路徑。
Footprint Ref: 封裝名字;
Footprint Path: 封裝庫檔案路徑;
Manufature: 製造商;
Manufacture part: 元器件的廠家型號;
Supplier1: 1號供應商;
Suppiler1 part:1號供應商的供貨型號;
Supplier2和Suppiler2 part 則是2號供應商名字和型號。 一般在資料庫中只提供一個供應商即可。2號供應商作為備份;
Unit price: 元器件的價格。一般價格會隨數量變化, 因此這裡填入的一般為100個時的價格。這樣在小批量生產中計算成本價格會比較準確。
Description:元器件的詳細描述。
2.2 Altium designer 的資料庫檔案
DemoPackage中的資料庫檔案是C:\Demo\DemoPackage\db\DB.Dblib檔案。
開啟後的內容如下
圖三 ALtium designer資料庫檔案
由圖三可以看出Altium designer使用的是microsoft excel的資料庫型別,連線的資料庫檔案是C:\Demo\DemoPackage\db\DB.xls。
在它的左側列出了所有的表單例如200 Resistors 等等
而在圖的中下部分則是表單裡面的具體內容, 也即是上節中Excel格式內容。
讀者可以使用DemoPackage中的DB.Dblib檔案或者自己新建一個DBfile。 新建DB檔案的主要步驟如下:
(1),新建一個“Database Library“後儲存為DB.DbLib。
圖四 新建DB檔案
(2),選定資料庫的型別為Microsoft Excel。
資料庫(Excel檔案)路徑C:\Demo\DemoPackage\db\DB.xls。DemoPackage解壓在不同的路徑下,該路徑必須相應修改。
圖五 連線資料庫
然後點選connect. 正常情況下都能夠連線成功。
(3),保證左側的所有表單都使能(enable)。
圖六 使能表單
(4),最後還有非常重要的一步是必須為每一個表單選擇唯一的鍵值StockCode.
具體操作:
1,單擊左側的表單200 Resistors 確保表單200被選中;
2, 分別選擇 Database field和Part parameter為 StockCode
圖七 StockCode lookup
3,依次單擊左側的其他表單, 繼續步驟1和2 ;
2.3安裝db庫
點選Altium designer的Panels->Libraries->Libraries… 將彈出庫檔案安裝對話方塊:
圖八 庫檔案安裝操作
選擇DB檔案C:\Demo\DemoPackage\db\DB.DbLib後可以看到檔案已經安裝完成。
圖九 庫檔案安裝完成
點選Close後發現Library的下拉選單中已經有各種元件了。恭喜,元件庫已經安裝成功了。
圖十 元件庫的下拉選單
3 新建工程
可以新建一個工程或者直接開啟DemoPackage中的工程C:\Demo\DemoPackage\project\Components Demo.PrjPCB.
圖十一 Demo工程
4 解決問題
讓我們來體驗該方法的優越性:
1, 檢視元器件的屬性
在檔案DemoCircuit .SchDoc中雙擊J1
圖十二 元器件的屬性
可以看見:
1)在General選項卡中Description, Design ID和Footprint中的內容來自Excel表格中的內容(黃色部分)。
2)如果點選comment的“可見按鈕”, 在原理圖中可以看到顯示出“3.5mm 4x1 vertical Header”, 即excel表格中的value選項內容。
3)如果點選Parameter選項卡, 則原件型號,產商,供應商,價格等等都有顯示。
結論:原理圖中的元件屬性包含有所有來自資料庫(excel表格)的內容。
只要人為強制不允許在原理圖中修改任何的引數屬性, 則所有器件的引數都來自資料庫, 不會造成不一致, 解決本人開頭的問題2和3.
2 BOM的輸出
現在來解決問題1, 即匯出和準備BOM清單。
開啟原理圖DemoCircuit .SchDoc,然後點選選單reports-> Bill of materials
圖十三 BOM對話方塊
勾選上左下角的“Include Parameters From Database”, 然後在“All Columns”選擇相應要匯出的選項, 並將SotckCode和Comment拖曳到Grouped Columns, 如下圖。
圖十四 BOM匯出內容選項
BOM的列順序可以通過拖曳來安排。一般建議StockCode為第一列,然後點選StockCode旁邊的三角形可以按照stockCode的大小順序來排列BOM的行。
圖十五 BOM匯出的內容
點選Export將BOM匯出為excel檔案。
圖十六 BOM匯出操作
圖十七 BOM檔案的截圖
這裡BOM格式沒有使用模板,如果想讓BOM看起來更專業, 可以選擇各種模板。這裡不詳細說明模板的使用。
圖十八 BOM檔案的模板
BOM匯出只有第一次需要上述步驟的配置,當第一次匯出後, 儲存工程檔案。以後對原理圖進行增加器件,刪除器件, 更換器件等等操作後,不需要再次配置, 只需要直接點選Export按鈕即可。
如果生產部門或者採購部門需要BOM時,只要(也是必須)從相應的原理圖中匯出即可,能夠保證原理圖和BOM一直一致。
回到第一個問題:“ 硬體設計完成後, BOM表的輸出很費時間, 需要人工一項一項確認”:
1),按照上述步驟, 只需要點選Export按鈕就能得到BOM,非常簡單。
2),因為在原理圖的設計過程中完全沒有修改過任何器件的任何引數資訊, 所以匯出的BOM一定是和資料庫資訊一致的,匯出的BOM不需要人工一項一項確認資訊。
3 問題4的解決技巧:
如果認證閱讀DemoCircuit .SchDoc, 會發現原理圖中存在器件SK1和Cab1, 這兩個器件只有原理圖符號,而沒有封裝資訊的。因為它們是聯結器的母插頭和連線線, 不會體現在PCB中的。但是它們必須出現在BOM中, 所以在資料庫中也為它們建立了相應的行並且也新增到了原理圖中。這樣在從原理圖匯出的BOM中就包含了它們的資訊, 從而在購買器件時不會漏掉它們。
圖十九 BOM中的非PCB元件
總結:
- 通過資料庫的方式管理元器件,將元器件的引數從原理圖中剝離的同時, 也保證了元器件的引數完全一致(所有的器件都有相同的內容選項)。
- 在執行的過程中有兩個必須:
A: 必須保證所有的器件來自資料庫,元件的屬性不能在原理圖中修改;
B:BOM的匯出必須以原理圖為基準。
3, 通過實踐證明這種方法能夠有效對元器件進行管理,大大減少BOM出錯的概率。
相關文章
- 設計團隊管理用的軟體
- 小型團隊缺陷管理系統指南:如何選型
- 如何高效管理設計交付,提升設計團隊效率?
- 第一屆搞管理|志遙 - 如何在小型前端團隊的管理中踩坑前端
- 軟體測試團隊的管理
- 團隊梯度管理梯度
- Leader筆記:程式設計師小團隊透明和信任管理筆記程式設計師
- QT硬體介面設計QT
- 數位電路設計思想之硬體思維
- 團隊專案管理軟體哪個好?專案管理
- 分析如何使用專案管理軟體管理軟體開發團隊專案管理
- 技術管理之路三、團隊建設:怎麼帶隊伍?
- 團隊管理者最重要的是做好計劃管理
- 基於ESP32的桌面小螢幕實戰[2]:硬體設計之充電管理
- 341程式設計器 軟硬體程式設計
- 血氧儀硬體設計方案
- 團隊動力之群體斷層理論
- 團隊動力之群體思維理論
- 探索 .NET團隊對API的設計流程API
- 提升團隊效率:高質量軟體設計文件的編寫方法
- 實驗八 團隊作業5:團隊專案需求建模與系統設計
- 實驗七 團隊作業4:團隊專案需求建模與系統設計
- 團隊動力之團隊發展階段理論
- 硬體開發基本流程(七):建立基礎DIP元器件(晶振)封裝並關聯原理圖元器件封裝
- 程式設計師需要了解的硬核知識之控制硬體程式設計師
- DevOps 團隊的漏洞管理指南dev
- 小團隊的技術管理
- 如何做好團隊文件管理
- 企業如何高效管理團隊???
- 程式設計師如何提升管理思維,從個人到團隊的轉變?程式設計師
- 硬體設計還可以這樣學?
- UWB硬體設計相關內容
- 從 Etsy 團隊看敏捷架構的設計敏捷架構
- 程式設計師團隊如何防止內卷化?程式設計師
- 傳統文化研究團隊------軟體工程團隊專案軟體工程
- 團隊管理、團隊人員技術培養 的 思考和交流
- IT專案開發團隊建設與管理總結(轉)
- 里程碑時刻!David Baker 團隊利用 AI 從頭設計抗體AI