Using gEDA
ArticleCategory: [Choose a category, translators: do not translate
this, see list below for available categories]
Applications
AuthorImage:[Here we need a little image from you]
TranslationInfo:[Author + translation history. mailto: or http://homepage]
original in en Iznogood
en to cn 王旭
AboutTheAuthor:[A small biography about the author]
我已经使用 GNU/Linux 有一段时间了,现在用的是
Debian。除了关于电子方面的学习,我大部分时间在为 GNU/Linux 社区做翻译工作。
Abstract:[Here you write a little summary]
如何利用 gEDA 社区的自由软件绘制印刷电路版图。
ArticleIllustration:[One image that will end up at the top of the
article]
ArticleBody:[The main part of the article]
简介
为什么又有一篇文章讲 EDA
(电子设计自动化)?因为有不同的方法可以完成,而这种是自由(开放)的。自由带来的最好的一面就是我们有很多工具,既有图形化的,也有更多的命令行的。而这篇文章,我将介绍怎么从头开始绘制一块
PCB (印刷电路版)。
gEDA 是什么?
最重要的是 gEDA 是一组自由的 (GPL的)
电子设计工具。于是,它总是处于开发状态。这里,我给出一张 gEDA
的框图。点击可以看到放大的图。
在图的中间是 gschem,图形化的原理图与元件编辑器。它可以被 geda,也就是上
面的那个管理器调用。使用这个管理器,不仅可以调用 gschem,也可以调用 spice
仿真器, PCB designer, gerber 和一个波形显示器。
使用左上角的 tragesym,可以建立元件符号,而 gsymcheck 可以用来检察它们
时候正确。
我们的主要兴趣在于 gschem 下面的工具,是两种处理网络表的方法。这是 gEDA
的一个特点:所有的文件都是纯文本,只是扩展名的不同标志着不同的目的:
- .sym 符号文件
- .sch 原理图文件
- .net 网络表文件
- .pcb PCB 图文件和其他...
gnetlist 是“官方”的处理用于使用 tclspice, gnucap, ngspice, 等进行 spice
仿真,用 Icarus 进行 Verilog 综合或是生成 PCB 的网络表的工具。gsch2pcb
是一个用于从网络表生成 PCB 的专用工具。它用于从 sch 文件到 pcb 的双向的
翻译工作。最后我们还可以使用 gerbv 检察 pcb 文件。
本文中,我只介绍 gschem, gsch2pcb 和 PCB。首先我们从 gschem 开始。
使用 gschem 放置器件
我就不过多讨论安装了,使用 GNU/Debian 的话只要apt-get install geda-gschem
geda-symbols geda-utils pcb 就可以了。
对于其他系统,可以从 http://geda.seul.org/source.html, 下载需要的文件,
从 http://pcb.sourceforge.net/ 下载 PCB 需要的文件并用通常的方法:
./configure & make & make install 来安装。
好,现在打开 gschem 吧。有两种方法打开 gschem:直接使用 gschem 命令,或者
带着文件名打开:gschem sample.sch。现在放置器件,这次我们又有两个
选择:使用鼠标点击“添加器件”或是用键盘命令“i”。我们选择 connector 中
的 BNC-1.sym, pwrjack-1.sym,analog 中的两个 resistor-2.sym, 一个
resistor-variable-2.sym, 两个 capacitor-1.sym, 和一个 bridge-1.sym,还有
linear 重的一个 lm317-1.sym。现在,我们得到如下的结果:
不用急,你可从
我的
主页 或本地服务器
下载所有这些文件。
现在我们连接这些元件。这样,我们需要移动、旋转它们。因为我们比较懒,所以我
们使用键盘快捷键来完成这个工作:点击元件,用“er”命令来旋转它,用“ei”命
令来镜向翻动它,“m”命令是移动,而“n”则是连线。我们可以通过选择元件的
名字来移动或旋转它。
接下来,我们可以使用“ee”命令编辑元件属性。首先修改最重要的元件“LM317”。
打开元件属性对话框,我们可以看到:
我们在 value name 属性处写入 LM317, 而 footprint 属性写成 TO220L(让它不可
见)。对电阻,写上电阻值并把 footprint 写成 R025。对电容、电位器重复这个
工作(可以参考本文附带的 sample.sch 文件)……
完成之后,我们用“fs”命令另保文件,或是“fa”保存文件。
使用 gsch2pcb 生成 PCB
首先,我们需要使用如下命令来给每个元件一个编号:
refdes_renum sample.sch
如果现在我们再打开原理图,会发现原来的 R?, C?, U? 中的?都变成数字了。这样
我们就可以生成一个网络表了。首先我们必须安装一些 footprint 库并建立一个工程
文件。我们要建立这个文件,因为用于 gschem 的 pcb footprint 的文档很难找。这
里可以找到一个不错的 footprint 库:
http://
web.wt.net/%7Ebillw/gsch2pcb/gsch2pcb-libs.tar.gz. (本地拷贝)
下载并安装它:
mv gsch2pcb-libs.tar.gz ~/toTheLocationYouWant/
tar xvzf gsch2pcb-libs.tar.gz
这样,你就可以修改工程文件为:
schematics sample.sch
elements-dir ~/XXX/pcb-elements
output-name sample
我命名它为 sampleLFproject,但你可以使用人和你喜欢的名称。schematics 就是
我们的原理图文件。Element-dir 是 pcb 的 footprint 目录,把 XXX 换成你自己
的目录名吧。output-name 就是接下来 pcb 的文件名了。我们把它们保存在和原理
图相同的目录中。
下一步就是运行:
gsch2pcb tutorialLFprojet
输出的文件是 sample.board 和 sample.net。前者是 PCB 使用的所有元件。而后者
是网络表。
使用 PCB 进行布线
现在,我们来打开 PCB:
pcb sample.pcb
我们将看到这样的画面:
所有的元件都放在左上角。我们需要把它们布置在电路板上。然后使用 sample.net
中德 网络表进行连线:File --> load net-list file and optimize Connect
--> rast-nets。挺奇妙的。
现在我们把网络用线和焊点把线布好。
完成了:现在保存文件,使用 File --> print layou 就可以印制了。
结论
本文的目的就是简单直接的介绍 gEDA 工具的一些用法,并给出一个简单制作 PCB
的方法。但 gEDA 远远不止这么简单,它值得你使用更长的时间来试用它:你还需
要进行很多优化工作来让输出文件可以用于专业的 PCB 制板商。
相关文章
这篇文章主要参考了 Bill Wilson的
bill--at--gkrellm.net 文档 gsch2pcb.html。
你可以在www.geda.seul.org
找到更多信息。
PCB 可以在pcb.sourceforge.net找到。
如果你懂法语,你可以在
http://www.iznogood-factory.org
找到根多信息,而对于英语读者也有
一些材料。