


1、常用快捷键:
shift+f:查找并放置元件 S:底部工具栏 W:导线 B:总线 N:网络标签
T:文本 V:过孔 P:焊盘 H:高亮 ctrl+R:隐藏所选飞线 shift+B:重建敷铜
shift+M:显示/隐藏敷铜 shift+ctrl+X:布局传递
当然,也可以自己设置快捷键:设置——快捷键
2、原理图上不同功能的电路分开放置,用折线(Alt+L)隔开,文本(T)写上功能,方便找出问题或进行优化改进
3、有些没有电气特性的地方,如type—c连接器的四个固定脚,可以根据pcb布局的方便,选择改为GND特性
4、为方便pcb的布局连线,有些时候反过来适当修改原理图,再进行更新
5、不用连接的端口用非连接符号“×”
6、pcb的布局应当分布均匀,主控芯片放中间,同样功能的放在一起,电位器和可变电容应当放在易于调试的地方,接口和按键、电源放在边上且超出边框。
布局讲究先主要后次要,先大后小,先复杂后简单;先放连接器和铜柱,把外边的元件先确定下来
7、发热元件不能紧邻导线和热敏元件;高热器件要均衡分布
8、布线时候尽量少拐弯,如若确实需要,一般取45°或圆弧状
9、设计规则时GND和VCC尽量大些,GND>VCC>信号线,若铺铜的两面都是GND,则可以不设计GND,也不连接,直接在布局后隐藏GND的飞线
10、打开实时DRC
11、画板框要注意尺寸,不要太空旷,可以在四角选择加倒角
12、“过滤”页面可以选择锁定元件
13、pcb布线一般不要从对角引出,机械强度不好,容易断掉
14、布线应当先从复杂的画起,比如主控芯片
15、滤波电容应当放在芯片电源的引脚边上,按平均分配的原则,并保持电源、电容和GND三点在同一直线上,可以滤去电源中的低频、高频噪声
16、孔径和焊盘应当在默认基础之上适当加大一点
17、一般元件的位号都朝着同一方向,文字尽量不要挡住信号线
18、太长的线可以考虑用过孔
19、晶振禁止敷铜,内部也不允许信号线通过,所以有晶振的电路可以在晶振上添加禁止敷铜区域后再敷铜
20、能用低速芯片就不用高速的,高速芯片用在关键地方。
21、模拟电路和数字电路应当分开布局
22、信号线不能出现回环走线
23、信号线应当远离电磁、电感和晶振
24、晶振周围可以加一圈gnd属性的过孔进行包地处理,可以屏蔽外来干扰,以及避免晶振向外辐射
25、一般来说,晶振要靠经主控芯片放置,远离边框,且连接晶振的信号线尽可能的短
26、pcb布局,贴片上不可放置过孔
27、可以加泪滴,加强实际焊接的成功率:工具——泪滴——全部添加
28、按键周围也可以加禁止铺铜区域
29、可以自己加丝印文字,起到提示作用,特别是可以避免VCC和GND接反的情况
30、对于贴片的usb接口这种情况,可以进行挖槽
31、0R电阻的作用
32、有热焊盘的芯片,需要做好散热处理。就是添加适当多的过孔和底层的地平面连接,芯片下面的地平面尽量保持一个比较大的完整平面,然后开窗让铜皮与空气接触,提高散热效果。
———————————————————————————————————————————
2022.11.5更新:
①缩小了尺寸:60*60—>50*54
②将电阻电容全部横置,能对齐的都对齐,下面的电阻电容方成两排
③将连接器和电位器的位置稍微放置到里面一点
④对丝印层的文字进行了处理,一律放置在元器件的左上角
⑤写明了芯片的型号
⑥对过孔的位置进行了调整




———————————————————————————————————————————
2022.11.13更新:
①对晶振部分进行了包地处理
②对主控芯片内部的vcc进行了处理,内部vcc尽量不可接在一起,为了vcc网络、滤波电容和主控芯片vcc引脚可以形成一个连贯的信号网络。
③添加了泪滴操作,提高了实际焊接的成功率
④对连接器部分添加了丝印层注释,避免焊接时出错
⑤添加制作了3D外壳部分







工程现已在立创eda开源,链接如下:
当我使用Bundler时,是否需要在我的Gemfile中将其列为依赖项?毕竟,我的代码中有些地方需要它。例如,当我进行Bundler设置时:require"bundler/setup" 最佳答案 没有。您可以尝试,但首先您必须用鞋带将自己抬离地面。 关于ruby-我需要将Bundler本身添加到Gemfile中吗?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/4758609/
我注意到像bundler这样的项目在每个specfile中执行requirespec_helper我还注意到rspec使用选项--require,它允许您在引导rspec时要求一个文件。您还可以将其添加到.rspec文件中,因此只要您运行不带参数的rspec就会添加它。使用上述方法有什么缺点可以解释为什么像bundler这样的项目选择在每个规范文件中都需要spec_helper吗? 最佳答案 我不在Bundler上工作,所以我不能直接谈论他们的做法。并非所有项目都checkin.rspec文件。原因是这个文件,通常按照当前的惯例,只
我实际上是在尝试使用RVM在我的OSX10.7.5上更新ruby,并在输入以下命令后:rvminstallruby我得到了以下回复:Searchingforbinaryrubies,thismighttakesometime.Checkingrequirementsforosx.Installingrequirementsforosx.Updatingsystem.......Errorrunning'requirements_osx_brew_update_systemruby-2.0.0-p247',pleaseread/Users/username/.rvm/log/138121
这个问题在这里已经有了答案:关闭10年前。PossibleDuplicate:Rubysyntaxquestion:Rational(a,b)andRational.new!(a,b)我正在阅读ruby镐书,我对创建有理数的语法感到困惑。Rational(3,4)*Rational(1,2)产生=>3/8为什么Rational不需要new方法(我还注意到例如我可以在没有new方法的情况下创建字符串)?
SPI接收数据左移一位问题目录SPI接收数据左移一位问题一、问题描述二、问题分析三、探究原理四、经验总结最近在工作在学习调试SPI的过程中遇到一个问题——接收数据整体向左移了一位(1bit)。SPI数据收发是数据交换,因此接收数据时从第二个字节开始才是有效数据,也就是数据整体向右移一个字节(1byte)。请教前辈之后也没有得到解决,通过在网上查阅前人经验终于解决问题,所以写一个避坑经验总结。实际背景:MCU与一款芯片使用spi通信,MCU作为主机,芯片作为从机。这款芯片采用的是它规定的六线SPI,多了两根线:RDY和INT,这样从机就可以主动请求主机给主机发送数据了。一、问题描述根据从机芯片手
作为新的阿里云用户,您可以50免费试用多种优惠,价值高达1,700美元(或8,500美元)。这将让您了解和体验阿里云平台上提供的一系列产品和服务。如果您以个人身份注册免费试用,您将获得价值1,700美元的优惠。但是,如果您是注册公司,您可以选择企业免费试用,提交基本信息通过企业实名注册验证,即可开始价值$8,500的免费试用!本教程介绍了如何设置您的帐户并使用您的免费试用版。关于免费试用在我们开始此试用之前,您还必须遵守以下条款和条件才能访问您的免费试用:只有在一年内创建的账户才有资格获得阿里云免费试用。通过此免费试用优惠,用户可以免费试用免费试用活动页面上列出的每种产品一次。如果您有多个帐
我需要用任何语言编写一个算法,根据3个因素对数组进行排序。我以度假村为例(如Hipmunk)。假设我想去度假。我想要最便宜的地方、最好的评论和最多的景点。但是,显然我找不到在所有3个中都排名第一的方法。Example(assumingthereare20importantattractions):ResortA:$150/night...98/100infavorablereviews...18of20attractionsResortB:$99/night...85/100infavorablereviews...12of20attractionsResortC:$120/night
修改(澄清问题)我已经花了几天时间试图弄清楚如何从Facebook游戏中抓取特定信息;但是,我遇到了一堵又一堵砖墙。据我所知,主要问题如下。我可以使用Chrome的检查元素工具手动查找我需要的html-它似乎位于iframe中。但是,当我尝试抓取该iframe时,它是空的(属性除外):如果我使用浏览器的“查看页面源代码”工具,这与我看到的输出相同。我不明白为什么我看不到iframe中的数据。答案不是它是由AJAX之后添加的。(我知道这既是因为“查看页面源代码”可以读取Ajax添加的数据,也是因为我有b/c我一直等到我可以看到数据页面之后才抓取它,但它仍然不存在)。发生这种情况是因为
这个问题在这里已经有了答案:HashsyntaxinRuby[duplicate](1个回答)关闭5年前。我有一个Recipe,其中包含以下未通过lint测试的代码:service'apache'dosupports:status=>true,:restart=>true,:reload=>trueend失败并出现错误:UsethenewRuby1.9hashsyntax.supports:status=>true,:restart=>true,:reload=>true不确定新语法是什么样的...有人可以帮忙吗?
我的问题很简单:我是否必须在使用RubyonRails的类上require'csv'?如果我打开一个railsconsole并尝试使用CSVgem它可以工作,但我必须在文件中这样做吗? 最佳答案 CSVlibrary是ruby标准库的一部分;它不是gem(即第三方库)。与所有标准库(与核心库不同)一样,csv不会由ruby解释器自动加载。所以是的,在您的应用程序中某处您确实需要要求它:irb(main):001:0>CSVNameError:uninitializedconstantCSVfrom(irb):1from/Us