前文介绍了PCB电路板设计生产指南 、PCB板孔壁分离的影响原因 、PCB板设计注意事项等等PCB设计注意事项。本文就重点讲解PCB设计避坑指南,99%的PCB工程师容易忽略的坑!点进来避坑
大家在PCB设计中都踩过哪些坑,一起来围观这些奇奇怪怪的坑。
(1)环境引起板卡腐蚀
(2)PCB过孔处理不当导致产品可靠性降低
(3)Altium设计的文件槽孔放错层
(4)芯片因太靠近PCB边缘而容易损坏
(5)差分端口线太细导致485电路不工作
(6)焊盘重叠
......
这些坑也太多了吧!
今天我们就来聊聊一些比较容易忽略的坑。
Altium设计的文件槽孔放错层
工程师在设计封装时漏做USB器件的槽,在画板时又没有修改封装,直接在孔府图层画槽,这么看似乎没什么问题,但在制造过程中打孔只是用钻孔层,因此容易忽略其他层存在槽孔,导致此槽孔漏做打孔,产品无法使用。
现象:漏做槽孔
板卡腐蚀
板卡腐蚀,是指PCB上的管脚、焊点等直接暴露在环境中,其中的金属部分与空气中的水蒸气等发生反应(物理因素、化学因素、生物因素),使其自身的稳定性受损,造成板卡或设备不稳定。环境引起板卡腐蚀的现象,因其腐蚀的速度比较缓慢,因此不易被察觉和发现。
现象:器件颜色异常;附着黑色颗粒物;焊盘边缘出现明显缺口。
芯片太靠近PCB边缘
芯片引脚是最重要也是最容易被损坏的部分。出于对板子空间和芯片面积的考虑,芯片的引脚有时会太靠近板边的位置,而一些保护器件的保护能力往往非常有限,这些引脚也会无意间被工具接触,通过PCB引入到CPU的引脚,导致CPU引脚被烧毁,设备出现异常。
现象:CPU不正常工作;IO引脚损坏。
PCB过孔处理不当
过孔是PCB设计中必备的一项工艺,但很多工程师容易忽略对过孔的正确处理,比如过孔靠近板边、没有采用灌封胶工艺、忽略对过孔的防护等,导致过孔被腐蚀,设备可靠性降低。
现象:过孔靠近板边;过孔防护不当;过孔被腐蚀
差分端口线太细导致485电路不工作
一般是工程师在阻抗和PCB走粗线之间,优先选择了阻抗,从而导致问题的出现。
现象:PCB走线太细;RS485端口PCB走线烧毁;防护器件未损坏
PADS设计的文件过孔无法输出
工程师在设计时错误地将过孔设计为半导通孔,输出钻孔时漏输出半导通孔,导致漏孔。这种误操作不易被发现。最好是在设计完成后进行DFM可制造性分析检查,及早排查问题。
现象:设计文件漏孔
无论是经验丰富的工程师还是新手小白,多多少少都有踩过一些坑,遇到的可能是一些比较常见的问题,也可能是一些比较容易忽略的细节,多多总结,避免犯错。
文章转载来源:https://www.ebyte.com/new-view-info.html?id=2323
我有一个模型:classItem项目有一个属性“商店”基于存储的值,我希望Item对象对特定方法具有不同的行为。Rails中是否有针对此的通用设计模式?如果方法中没有大的if-else语句,这是如何干净利落地完成的? 最佳答案 通常通过Single-TableInheritance. 关于ruby-on-rails-Rails-子类化模型的设计模式是什么?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.co
我将应用程序升级到Rails4,一切正常。我可以登录并转到我的编辑页面。也更新了观点。使用标准View时,用户会更新。但是当我添加例如字段:name时,它不会在表单中更新。使用devise3.1.1和gem'protected_attributes'我需要在设备或数据库上运行某种更新命令吗?我也搜索过这个地方,找到了许多不同的解决方案,但没有一个会更新我的用户字段。我没有添加任何自定义字段。 最佳答案 如果您想允许额外的参数,您可以在ApplicationController中使用beforefilter,因为Rails4将参数
所以我开始关注ruby,很多东西看起来不错,但我对隐式return语句很反感。我理解默认情况下让所有内容返回self或nil但不是语句的最后一个值。对我来说,它看起来非常脆弱(尤其是)如果你正在使用一个不打算返回某些东西的方法(尤其是一个改变状态/破坏性方法的函数!),其他人可能最终依赖于一个返回对方法的目的并不重要,并且有很大的改变机会。隐式返回有什么意义?有没有办法让事情变得更简单?总是有返回以防止隐含返回被认为是好的做法吗?我是不是太担心这个了?附言当人们想要从方法中返回特定的东西时,他们是否经常使用隐式返回,这不是让你组中的其他人更容易破坏彼此的代码吗?当然,记录一切并给出
给定以下方法:defsome_method:valueend以下语句按我的预期工作:some_method||:other#=>:valuex=some_method||:other#=>:value但是下面语句的行为让我感到困惑:some_method=some_method||:other#=>:other它按预期创建了一个名为some_method的局部变量,随后对some_method的调用返回该局部变量的值。但为什么它分配:other而不是:value呢?我知道这可能不是一件明智的事情,并且可以看出它可能有多么模棱两可,但我认为应该在考虑作业之前评估作业的右侧...我已经在R
我在我的Rails3示例应用程序上使用CarrierWave。我想验证远程位置上传,因此当用户提交无效URL(空白或非图像)时,我不会收到标准错误异常:CarrierWave::DownloadErrorinImageController#createtryingtodownloadafilewhichisnotservedoverHTTP这是我的模型:classPaintingtrue,:length=>{:minimum=>5,:maximum=>100}validates:image,:presence=>trueend这是我的Controller:classPaintingsC
电脑0x0000001A蓝屏错误怎么U盘重装系统教学分享。有用户电脑开机之后遇到了系统蓝屏的情况。系统蓝屏问题很多时候都是系统bug,只有通过重装系统来进行解决。那么蓝屏问题如何通过U盘重装新系统来解决呢?来看看以下的详细操作方法教学吧。 准备工作: 1、U盘一个(尽量使用8G以上的U盘)。 2、一台正常联网可使用的电脑。 3、ghost或ISO系统镜像文件(Win10系统下载_Win10专业版_windows10正式版下载-系统之家)。 4、在本页面下载U盘启动盘制作工具:系统之家U盘启动工具。 U盘启动盘制作步骤: 注意:制作期间,U盘会被格式化,因此U盘中的重要文件请注
目录前言滤波电路科普主要分类实际情况单位的概念常用评价参数函数型滤波器简单分析滤波电路构成低通滤波器RC低通滤波器RL低通滤波器高通滤波器RC高通滤波器RL高通滤波器部分摘自《LC滤波器设计与制作》,侵权删。前言最近需要学习放大电路和滤波电路,但是由于只在之前做音乐频谱分析仪的时候简单了解过一点点运放,所以也是相当从零开始学习了。滤波电路科普主要分类滤波器:主要是从不同频率的成分中提取出特定频率的信号。有源滤波器:由RC元件与运算放大器组成的滤波器。可滤除某一次或多次谐波,最普通易于采用的无源滤波器结构是将电感与电容串联,可对主要次谐波(3、5、7)构成低阻抗旁路。无源滤波器:无源滤波器,又称
项目介绍随着我国经济迅速发展,人们对手机的需求越来越大,各种手机软件也都在被广泛应用,但是对于手机进行数据信息管理,对于手机的各种软件也是备受用户的喜爱小学生兴趣延时班预约小程序的设计与开发被用户普遍使用,为方便用户能够可以随时进行小学生兴趣延时班预约小程序的设计与开发的数据信息管理,特开发了小程序的设计与开发的管理系统。小学生兴趣延时班预约小程序的设计与开发的开发利用现有的成熟技术参考,以源代码为模板,分析功能调整与小学生兴趣延时班预约小程序的设计与开发的实际需求相结合,讨论了小学生兴趣延时班预约小程序的设计与开发的使用。开发环境开发说明:前端使用微信微信小程序开发工具:后端使用ssm:VU
我在我的项目中有一个用户和一个管理员角色。我使用Devise创建了身份验证。在我的管理员角色中,我没有任何确认。在我的用户模型中,我有以下内容:devise:database_authenticatable,:confirmable,:recoverable,:rememberable,:trackable,:validatable,:timeoutable,:registerable#Setupaccessible(orprotected)attributesforyourmodelattr_accessible:email,:username,:prename,:surname,:
我正在研究使用EventMachine支持的twitter-streamrubygem来跟踪和捕获推文。我对整个事件编程有点陌生。我如何判断我在事件循环中所做的任何处理是否导致我落后?有没有简单的检查方法? 最佳答案 您可以通过使用周期性计时器并打印出耗时来确定延迟。如果您使用的是1秒的计时器,您应该已经过了大约1秒,如果它更长,您就知道您正在减慢react器的速度。@last=Time.now.to_fEM.add_periodic_timer(1)doputs"LATENCY:#{Time.now.to_f-@last}"@