单片机微信公众号有二维码吗什么

【KiCad中文教程】如何画PCB和生成gerber文件
作者:瑞生
阅读:3,414次
瑞生网版权所有
自从【科技老顽童】(微信公众号)上一次翻译了一下如何用Kicad画原理图的内容,很多朋友开始关注KiCad这个免费的强大的PCB软件。
应广大网友要求,老顽童这次又翻译了一下如何用KiCad画PCB以及生成gerber文件,以便拿去厂家生产。
下面的内容翻译自官方的《Getting Started in KiCad》第4节内容,和上一次发的第3节绘制原理图是衔接的。
4.印刷电路板布局
现在,该用网络表文件生成PCB文件了。这个工作要用Pcbnew来完成。
4.1使用Pcbnew
1.在KiCad工程管理界面,点击Pcbnew图标,Pcbnew的窗口就会打开。如果这时候弹出来一个窗口,窗口中提示 *.kicad_pcb文件不存在而且问你是否要创建它,选择“是”就可以了。
2.开始输入一些信息。在顶部工具栏点击Page settings图标,设置页面大小为A4,标题为Tutorial1。
3.我们最好先根据你的PCB制造商的要求设置一下两条线的最小间隙(Clearance)和线条的最小宽度(Minimum track width)。通常,你可以设置最小间隙为0.25,最小线宽为0.25。点击菜单Design Rules → Design Rules,选择Net Classes Editor标签,修改最小间隙(Clearance)为0.25,修改线宽(Tarck width)为0.25,这里的单位是mm。
4.在上边的窗口中选择Global Design Rules标签,修改Min track width为0.25,点击OK按钮提交这些改动关闭这个Design Rules Editor窗口。
5.现在,我们该导入网络表文件了。在顶部工具栏点击Read Netlist图标,在弹出窗口中点击Browse按钮,选择之前生成的tutorial1.net文件,然后点击 Read Current Netlist按钮,然后点击Close关闭。(老顽童:在Message窗口中将会出现一些信息,如果有错误,将会以红色的字体表示,按照之前原理图的教程,这里不会有错误。)
6.这时候你会在图中的左上角看到所有的元器件。如果看不清楚,可以滚动鼠标滚轮放大元器件。(老顽童:我导入的元器件在图的正中间,不在左上角。)
7.用鼠标选中所有的元器件,然后把他们拖到图纸的正中间。如果需要的话,你可以用鼠标把它们放大和缩小。
8所有的元器件都通过一组细导线连接,这些线叫做ratsnest。确保左侧工具栏的Hide board ratsnest按钮是按下的状态,你才能够看到连接元器件的这些线。
注意:这些工具提示是向后的,例如这里,按下的时候表示显示ratsnest。
9.把鼠标悬浮到元器件上边,然后按下键盘上的G键,你就可以移动它们,移动到你想要放的地方时,点击一下鼠标即可。移动元器件,直到这些线交叉的最少。
注意:你也可以用快捷键M来移动这些元器件,不过,在后边你会发现,当你已经用导线把元器件连接起来之后,用M移动的话,连接导线不会动,用G移动的话,连接的导线也会动。这个在原理图中也讲过了。
10.如果ratsnest在屏幕中显示的很乱,单击右键,选择Redraw view。注意一下电阻和单片机PIN6连接的那个引脚,这个是我们在原理图中用网络标号连接的引脚。网络标号和实际连线先比,网络标号是首选的,因为它可以使画出来的原理图看起来不乱。
11.现在我们要画PCB的边框了。在顶层工具栏中,找到选择“层”的地方,默认是“F.Cu(PgUp)”,这里我们点击倒三角,选择Edge.Cuts层。点击右侧工具栏中的Add graphic line or polygon图标,在元器件的周围,画一个正方形,注意,元器件的绿色边框和PCB的边框要有一定的间隙。
12.下一步,我们要连接除了地以外的所有导线。因为,我们将会在buttom copper层(叫做B.Cu)用一个地覆铜来连接所有的GND。
13.现在,我们必须要选择我们将要在哪个层上工作。在顶层工具栏中有个向下拖动的菜单,选择F.Cu (PgUp)层。这个层就是电路板的顶部覆铜层。(就是我们熟知的toplayer)
14.如果你想做4层板的话,选择菜单Design Rules → Layers Setup,然后修改Copper Layers为4。在layers表格中,你可以给layer起名,决定每一层的用途。这些内容其实都可以通过 Preset Layer Groupings菜单来解决。
15.在右侧工具栏中,点击Add Tracks and vias图标,点击J1的PIN1脚,连接到R2的焊盘上,然后双击结束这条线的绘制。这条线的宽度是默认的0.25mm,在顶部工具栏的最左边,有个下拉菜单,可以选择线的宽度,不过,默认情况,只有一种线宽可选。如下图所示:
16.如果你想增加更多的线宽可供选择,选择菜单Design Rules → Design Rules → Global Design Rules ,在这个窗口的右下脚,可以加入你想要的其它线宽。在绘制PCB图的时候,你就可以有多种线宽可供选择了。例如下图所示:单位(mm)
17.另外,你可以增加一个Net Class用来指定一组选项。进入菜单Design Rules → Design Rules → Net Classes Editor,点击Add,在弹出的窗口中,输入power,也就是增加一个power class。然后可以修改Track Width为你想要的宽度。除了GND,把其它的都加入power class。加入的方法是:在membership选项卡中,左上边有一个下拉菜单,选中default,右上边有一个下拉菜单,选中power,点击中间的箭头按钮Select All,然后按下键盘的Ctrl键不要放,在左边的里边找到GND点击一下,就可以把Ctrl放开了。这样,就选中了除了GND之外的所有NET。然后点击一下向右的按钮,就达到目的了。
18.如果你想改变grid大小,单击右键,把鼠标放到Grid Select,右边会出来一些grid大小,选择一个自己合适的即可。
19.除了GND,连接好所有的焊盘,如下图所示:
20.现在,让我们在PCB的另一面画线吧。在顶部工具栏中选择B.Cu,点击Add tracks and vias icon图标,连接J1的PIN3和IC1的PIN8。(这个操作其实也没有必要非要做,因为我们接下来将在底层覆铜铺地。)注意一下这跳线的颜色和其它线的颜色是不同的。
21.顶层的引脚A连接到底层的引脚B。这个可以用过孔来实现。当你从顶层的引脚画出一条线之后,右键后在菜单中选择Place Via(放置过孔),或者直接点击键盘上的V键,这时候就会自动跳转到底层,然后你就可以在底层画线完成你的连接。
22.如果你想检查一下某根线是否连接好,你可以在右侧的工具栏中点击Net highlight图标,然后再点击一下J1的PIN3,这根线以及所有连接到这个焊盘上的线都将呈现高亮状态。
23.现在,我们该给底层覆铜连接到GND了。点击右侧工具栏的Add Zones图标,接下来我们需要围绕电路板画一个矩形,在图中你想要作为矩形的一个拐角的地方点击一下,在新出现的对话框中,设置Pad connected为”Thermal relief”,设置Outline slope为”H,V,and 45 deg only”,然后点击OK按钮。
24.沿着PCB的四个边,画一个矩形,在终点双击完成。在刚才你画好的矩形框中单击右键,然后选择菜单Fill or Refill All Zones,电路板就会被绿色的占满整个矩形,如下图所示:
25.现在我们来执行规则检查命令。点击顶部工具栏中的Perform Design Rules Check图标。点击Start DRC(开始规则检查)按钮,应该不会有错误。点击List Unconnected(列出没有连接的线)按钮,现在应该是没有未连接的线。点击OK关闭DRC Control窗口。
26.点击菜单File → Save保存你的文件,如果你想以3D形式欣赏一下你的作品,点击菜单View → 3D Viewer。
27.你可以用鼠标来拖动和旋转你的PCB模型。
28.你的电路板就画完了,如果想要交给生产厂家生产,还需要生成gerber文件。
4.2生成Gerber文件
当你完成PCB之后,你就可以生成Gerber文件给PCB生产商了,PCB生产商拿到你的gerber文件就会给你做出电路板。
1.在Kicad工程管理界面,点击pcbnew图标打开你的PCB图。
2.点击菜单 File → Plot,Plot Format选择gerber,点击Browers选择保存文件的文件夹,然后再点击Plot按钮。
3.下面这张表格是做2层板所需要的图层。
4.3 使用GerbView工具
1.在Kicad工程管理界面,点击GerbView图标,可以打开看所有的gerber文件。在顶层工具栏下拉菜单中选择Layer1。点击菜单File → Load Gerber file或者点击图标,一次加载所有的gerber文件。注意看他们叠加在一起的样子。
2.右边的菜单栏里可以选择哪个显示以及哪个不显示。在生产之前,仔细的检查一下每一个层。
3.在Pcbnew窗口中,再次进入菜单File → Plot,保持默认选择,点击Generate Drill File按钮,就可以了。
推荐:我的微信公众号(扫一扫关注)二维码页面
该链接会唤起手机QQ,
若无法正常跳转请先。需求发布后1小时内收到服务商响应每个需求平均有10个服务商参与95%以上的需求得到了圆满解决所有需求不向雇主收取任何佣金双11电商狂欢 爆款服务超乎你想像
需要开发微信和单片机,要能对接的
有相似问题想解决?专业顾问来帮助您
匹配服务商
选择服务商,签单
服务商工作
验收并付款
已投标服务商
综合评分:5颗星
速度:5.00
服务:5.00
态度:5.00
好评率:100%
共有2个服务商参与报价,查看更多服务商报价
参与报价,开始赚钱
提交你的报价和方案
中标后交付作品
获得任务赏金
极速:10分钟急速响应
高品质:精选服务商提供服务
放心:不满意可退款
微信行业开发
微信官方套餐
根据浏览的需求为您推荐
交易成功的需求
微信定制开发相关需求
关注猪八戒微信网站已改版,请使用新地址访问:
chapter-11 《微信公众平台应用开发:方法、技巧与案例》源代码-柳峰老师 SCM 单片机
238万源代码下载-
&文件名称: chapter-11
& & & & &&]
&&所属分类:
&&开发工具: Java
&&文件大小: 4894 KB
&&上传时间:
&&下载次数: 25
&&提 供 者:
&详细说明:《微信公众平台应用开发:方法、技巧与案例》源代码-柳峰老师-"Micro message application development platform: public method, technique and case" source code- Liu Feng teacher
文件列表(点击判断是否您需要的文件,如果是垃圾请在下面评价投诉):
&&chapter-11\.classpath&&..........\.myeclipse\profiler\AnalyzerTest.xml&&..........\.mymetadata&&..........\.project&&..........\.settings\.jsdtscope&&..........\.........\com.genuitec.eclipse.migration.prefs&&..........\.........\org.eclipse.jdt.core.prefs&&..........\.........\org.eclipse.wst.jsdt.ui.superType.container&&..........\.........\org.eclipse.wst.jsdt.ui.superType.name&&..........\src\META-INF\MANIFEST.MF&&..........\...\mysql_ddl.sql&&..........\...\org\liufeng\course\message\event\BaseEvent.java&&..........\...\...\.......\......\.......\.....\LocationEvent.java&&..........\...\...\.......\......\.......\.....\MenuEvent.java&&..........\...\...\.......\......\.......\.....\QRCodeEvent.java&&..........\...\...\.......\......\.......\.....\SubscribeEvent.java&&..........\...\...\.......\......\.......\req\BaseMessage.java&&..........\...\...\.......\......\.......\...\ImageMessage.java&&..........\...\...\.......\......\.......\...\LinkMessage.java&&..........\...\...\.......\......\.......\...\LocationMessage.java&&..........\...\...\.......\......\.......\...\TextMessage.java&&..........\...\...\.......\......\.......\...\VideoMessage.java&&..........\...\...\.......\......\.......\...\VoiceMessage.java&&..........\...\...\.......\......\.......\..sp\Article.java&&..........\...\...\.......\......\.......\....\BaseMessage.java&&..........\...\...\.......\......\.......\....\Image.java&&..........\...\...\.......\......\.......\....\ImageMessage.java&&..........\...\...\.......\......\.......\....\Music.java&&..........\...\...\.......\......\.......\....\MusicMessage.java&&..........\...\...\.......\......\.......\....\NewsMessage.java&&..........\...\...\.......\......\.......\....\TextMessage.java&&..........\...\...\.......\......\.......\....\Video.java&&..........\...\...\.......\......\.......\....\VideoMessage.java&&..........\...\...\.......\......\.......\....\Voice.java&&..........\...\...\.......\......\.......\....\VoiceMessage.java&&..........\...\...\.......\......\pojo\Knowledge.java&&..........\...\...\.......\......\service\ChatService.java&&..........\...\...\.......\......\.......\CoreService.java&&..........\...\...\.......\......\....let\CoreServlet.java&&..........\...\...\.......\......\test\AnalyzerTest.java&&..........\...\...\.......\......\....\LuceneTest.java&&..........\...\...\.......\......\util\MessageUtil.java&&..........\...\...\.......\......\....\MySQLUtil.java&&..........\...\...\.......\......\....\SignUtil.java&&..........\WebRoot\index.jsp&&..........\.......\META-INF\MANIFEST.MF&&..........\.......\WEB-INF\classes\META-INF\MANIFEST.MF&&..........\.......\.......\.......\mysql_ddl.sql&&..........\.......\.......\.......\org\liufeng\course\message\event\BaseEvent.class&&..........\.......\.......\.......\...\.......\......\.......\.....\LocationEvent.class&&..........\.......\.......\.......\...\.......\......\.......\.....\MenuEvent.class&&..........\.......\.......\.......\...\.......\......\.......\.....\QRCodeEvent.class&&..........\.......\.......\.......\...\.......\......\.......\.....\SubscribeEvent.class&&..........\.......\.......\.......\...\.......\......\.......\req\BaseMessage.class&&..........\.......\.......\.......\...\.......\......\.......\...\ImageMessage.class&&..........\.......\.......\.......\...\.......\......\.......\...\LinkMessage.class&&..........\.......\.......\.......\...\.......\......\.......\...\LocationMessage.class&&..........\.......\.......\.......\...\.......\......\.......\...\TextMessage.class&&..........\.......\.......\.......\...\.......\......\.......\...\VideoMessage.class&&..........\.......\.......\.......\...\.......\......\.......\...\VoiceMessage.class&&..........\.......\.......\.......\...\.......\......\.......\..sp\Article.class&&..........\.......\.......\.......\...\.......\......\.......\....\BaseMessage.class&&..........\.......\.......\.......\...\.......\......\.......\....\Image.class&&..........\.......\.......\.......\...\.......\......\.......\....\ImageMessage.class&&..........\.......\.......\.......\...\.......\......\.......\....\Music.class&&..........\.......\.......\.......\...\.......\......\.......\....\MusicMessage.class&&..........\.......\.......\.......\...\.......\......\.......\....\NewsMessage.class&&..........\.......\.......\.......\...\.......\......\.......\....\TextMessage.class&&..........\.......\.......\.......\...\.......\......\.......\....\Video.class&&..........\.......\.......\.......\...\.......\......\.......\....\VideoMessage.class&&..........\.......\.......\.......\...\.......\......\.......\....\Voice.class&&..........\.......\.......\.......\...\.......\......\.......\....\VoiceMessage.class&&..........\.......\.......\.......\...\.......\......\pojo\Knowledge.class&&..........\.......\.......\.......\...\.......\......\service\ChatService.class&&..........\.......\.......\.......\...\.......\......\.......\CoreService.class&&..........\.......\.......\.......\...\.......\......\....let\CoreServlet.class&&..........\.......\.......\.......\...\.......\......\test\AnalyzerTest.class&&..........\.......\.......\.......\...\.......\......\....\LuceneTest.class&&..........\.......\.......\.......\...\.......\......\util\MessageUtil$1$1.class&&..........\.......\.......\.......\...\.......\......\....\MessageUtil$1.class&&..........\.......\.......\.......\...\.......\......\....\MessageUtil.class&&..........\.......\.......\.......\...\.......\......\....\MySQLUtil.class&&..........\.......\.......\.......\...\.......\......\....\SignUtil.class&&..........\.......\.......\lib\dom4j-1.6.1.jar&&..........\.......\.......\...\IKAnalyzer2012FF_u1.jar&&..........\.......\.......\...\lucene-core-4.6.0.jar&&..........\.......\.......\...\lucene-queryparser-4.6.0.jar&&..........\.......\.......\...\mysql-connector-java-5.1.6-bin.jar&&..........\.......\.......\...\xstream-1.3.1.jar&&..........\.......\.......\web.xml&&..........\.......\.......\classes\org\liufeng\course\message\event&&..........\.......\.......\.......\...\.......\......\.......\req&&..........\.......\.......\.......\...\.......\......\.......\resp&&..........\.......\.......\.......\...\.......\......\message&&..........\.......\.......\.......\...\.......\......\pojo&&..........\.......\.......\.......\...\.......\......\service&&..........\.......\.......\.......\...\.......\......\servlet&&..........\.......\.......\.......\...\.......\......\test&&..........\.......\.......\.......\...\.......\......\util&&..........\src\org\liufeng\course\message\event
&近期下载过的用户:
&相关搜索:
&输入关键字,在本站238万海量源码库中尽情搜索:
&[] - 基于Java的微信公告帐号SDK,封装好了所有的消息类型,开发者只要关注消息的处理和要实现的功能就好
&[] - 《微信公众平台应用开发:方法、技巧与案例》源代码-柳峰
&[] - TW9910应用说明,包括PAL、NTSC、CVBS视频信号寄存器控制数据。
&[] - 《微信公众平台应用开发:方法、技巧与案例》源代码-柳峰-07
&[] - android 平台自己整理的一套快速开发框架,主要包括网络连接,图片缓存,mvc等模块内容,用助于相关开发人员可以快速开发相关应用。
&[] - 电脑上的微信,能实现简单的微信功能,还不算很完美
&[] - 微信公众平台开发demo,含有柳峰提供的一些工具类
&[] - 一套完整的oa源码,可以进行二次开发,实现自定义表单和工作流程配置
&[] - 小弟正在做关于微信分享功能,谢了如下测试项,使用中能够调到微信界面。
&[] - 微信源代码反编译后的源程序,包括图片,音频,文字,源码等资源,需要的朋友可以下下来学习学习}

我要回帖

更多关于 微信公众号有趣的标题 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信