PCB设计基础:Stencil种类与油墨详解

需积分: 7 0 下载量 27 浏览量 更新于2024-07-12 收藏 3.21MB PPT 举报
"b網版(Stencil)的種類-PCB设计基础" 在电子制造领域,特别是PCB(Printed Circuit Board)设计中,网版(Stencil)的选择和使用至关重要,因为它直接影响到印刷质量和生产效率。本文将详细介绍两种主要的网版类型——直接网版和间接网版,以及油墨的分类,这些都是PCB制作过程中的基础知识。 直接网版(Direct Stencil)是通过将感光乳胶均匀涂布在网布上,经过烘干、曝光和显影等步骤形成的一种网版。这种方法制作出的网版耐用性高,适合大批量生产。然而,由于乳胶的层数和厚度会影响印刷效果,过厚可能导致分辨率降低或厚度不均,不适合精细线路的印刷。 间接网版(Indirect Stencil)则是先将感光版膜曝光显影,然后将其转移到网面上,干燥后撕去保护膜。这种网版的优点在于其厚度均匀,分辨率高,制作速度快,适用于样品制作和小批量生产。 油墨在PCB制作中扮演着关键角色,根据其成分、干燥方式和用途,可以分为以下几类: 1. 组分分类:单液型和双液型。单液型油墨在混合后即可使用,而双液型需要混合两种成分才能固化。 2. 干燥方式:蒸发干燥型、化学反应型和紫外线硬化型(UV)。蒸发干燥型通过溶剂挥发干燥,化学反应型通过化学反应固化,紫外线硬化型则需要紫外线照射快速固化。 3. 用途分类:包括抗蚀、抗镀、防焊、文字、导电和塞孔油墨等。每种油墨都有特定的用途,例如,抗蚀油墨用于保护电路在蚀刻过程中不受侵蚀,导电油墨用于形成电路路径,防焊油墨则用于保护不需要焊接的区域。 此外,PCB制造过程中还会涉及一系列质量控制问题,如LONGWIDTH VIOLATION(长度过宽违规)、NICKS(缺口)、PROTRUSION(突出)、DISHDOWN(下沉)、FINEOPEN(精细开口)等,这些都对PCB的性能和可靠性有直接影响。了解并解决这些问题,是确保PCB高质量的关键。 PCB的发展历程从早期的金属箔线路到现代的多层板技术,经历了巨大的变革。如今,PCB种类繁多,包括硬板、软板、软硬板,以及单面、双面和多层结构,以适应不同电子产品的需求。同时,材料选择(如有机和无机材料)、制造工艺(如印制-蚀刻技术)的多样性也是PCB技术进步的体现。 在通信、计算机、医疗设备等各个领域,PCB都发挥着核心作用,将电子元器件连接起来形成具有特定功能的模块。因此,了解PCB设计基础,掌握网版和油墨的选用,以及处理各种制造问题,对于电子工程师来说至关重要。
2023-06-09 上传

Public Function UpdateStencilData(stencil As StencilDetailEntity) As Boolean Dim arrSql(2) As String If stencil.IsDateEdit Then '当状态不是维修状态下不用添加维修时间 arrSql(0) = $"UPDATE M_StencilDetails SET StencilID='{stencil.StencilID}',StencilName='{stencil.StencilName}',Thickness='{stencil.Thickness}' ,location_char='{stencil.Location.Substring(0, 1)}',location_no='{stencil.Location.Substring(1)}',workshop='{stencil.WorkShop}' ,MakeDate='{stencil.MakeDate}',StartDate='{stencil.StartDate}',StateID ={stencil.StateID},stencilUsesCount={stencil.StencilUseCount} ,Notes='{stencil.Notes}' " Else '当状态不是维修状态下不用添加维修时间 arrSql(0) = $"UPDATE M_StencilDetails SET StencilID='{stencil.StencilID}',StencilName='{stencil.StencilName}',Thickness='{stencil.Thickness}' ,location_char='{stencil.Location.Substring(0, 1)}',location_no='{stencil.Location.Substring(1)}',workshop='{stencil.WorkShop}' ,MakeDate='{stencil.MakeDate}',StateID ={stencil.StateID},stencilUsesCount={stencil.StencilUseCount} ,Notes='{stencil.Notes}' ,StartDate=NULL" End If If stencil.StateID = 3 Then arrSql(0) = arrSql(0) & $",repairDate='{stencil.RepairDate}' " End If arrSql(0) = arrSql(0) & $" where ID={stencil.ID}" '钢网编号发生改变时 If stencil.StencilID <> stencil.oldStencilID Then arrSql(1) = $"delete M_StencilAndProduct where StencilID='{stencil.oldStencilID}'" arrSql(2) = $"update M_StencilOperationLog set StencilId='{stencil.StencilID}' where StencilID='{stencil.oldStencilID}'" Else arrSql(1) = $"delete M_StencilAndProduct where StencilID='{stencil.StencilID}'" arrSql(2) = $"update M_StencilOperationLog set StencilId='{stencil.StencilID}' where StencilID='{stencil.StencilID}'" End If ReDim Preserve arrSql(3) arrSql(3) = $"insert into M_StencilOperationLog (StencilID,Time,Nickname,Reason,Operation) values ('{stencil.StencilID}','{stencil.Time}','{stencil.Nickname}' ,'{stencil.OperationReason}','{stencil.Operation}')" If stencil.StateID <> 2 Then ReDim Preserve arrSql(4) If stencil.ProductName.Count <> 0 Then Dim sql = $"insert into M_StencilAndProduct (StencilID,ProductName) values('{stencil.StencilID}','{stencil.ProductName(0)}')" For i = 1 To stencil.ProductName.Count - 1 sql += $",('{stencil.StencilID}','{stencil.ProductName(i)}')" Next arrSql(4) = sql End If End If Return DBHel.ExecuteNoQueryMul(arrSql, 1) > 0 End Function 请在原有逻辑的情况下对以上代码进行优化,让代码具有更好的可读性,可维护性,提升性能,并说出理由

2023-06-09 上传