好了,废话不多说了,首先介绍一下它的基本组成和工作原理吧。在PC端,服务程序以一个可定制的频率不断地读取本机性能数据,通过USB电缆发送给单片机。其中,单片机侧的USB接口通过AVR309来模拟,转换成串口数据发送给M8主芯片,M8则负责把接收到的数据扫描显示,同时用蓝光LED给出工作状态。其中的LED部分可以显示2个柱状图和8个开关量,一共10个可定制的性能数据。具体来说,首先,上位机软件利用WindowsNT内置的系统性能监视器对象,以一定的间隔时间实时地采集本机性能数据,其中每个采集通道对应一个硬件显示单元。然后把采集到的数据进行分析,转换为适合硬件显示的格式,这个过程有点类似于A/D转换。接着把各通道数据映射到数据封包的指定位置,最后通过AVR309接口下发该数据包。当单片机串口正确接收到一个数据包时,闪断状态指示灯以表明接收正确,拆包后把各通道的数据分发至各显示单元所对应的缓冲区中,由定时扫描子程序负责显示。对于光柱类型的显示单元,在固件程序中还实现了对光柱高度的缓升缓降控制,以增强视觉效果。这样就完成了一次“采集-处理-显示”过程。 |
|
|
|
这样一个看似简单的项目做起来可真不简单,俗话说得好啊:“看人挑担不吃力”!做一块PCB板不容易,做一块好的PCB板更是不容易,不仅要求制作者熟电脑、精电子,还要通机械、懂化工,可以说是十八般武艺样样都要会!下面就开始讲述我的制作历程吧。 |
|
|
|
(图)PCB的正面布线及元件布局 |
|
|
|
|
|
(图)PCB的反面布线 |
|
|
|
|
|
Protel原理图就不说了,我觉得网站上的那篇ProtelDXP指导教程作为入门很不错,可惜是HTML格式的,打印下来不好看,后来我在网上找到了它的原版PDF,打下来作为参考,非常实用。由于LED数量众多(除了状态灯外均采用贴片,亮度高、视觉效果好),加上受限于PCB的面积(因为要装进软盘盒,后面会具体说明),单面板是不可能的了。Protel库提供的焊盘尺寸确实太小,因此我自建了一个封装库(用DXP的向导建库真是一件惬意的事啊)。考虑到使用双面热转印,我把各项参数设置得比较宽松:默认线宽0.6mm,VCC/GND线宽1.0mm,最小线距0.6mm,孔径0.8mm,PCB周围留出7mm左右的Keepout用于打孔安装螺丝。采用双面自动布线加手动调整,我注意到板子上除了USB接口座(而且由于它的外壳是金属的,因此插座底部不设布线,否则会有短路可能),其它元件基本上都可以两面焊。 |
|
|
|
今儿我还是头一回用热转印法,先试制了两块单面板供打孔、焊贴片、上漆练习用。我是用红心牌电熨斗烫的,因为没钱买过塑机。做第一块板的时候由于缺乏经验,板子上有非常多的断线,反正试验用,不管它了。然而它带给我更多的是惊喜,此前我一直怀疑用熨斗烫能否把电路给印上去,现在通过实践终于把这个谜团给解开了。盐酸与双氧水的威力果然了得,把板子放进溶液的一霎那,像是放进了“油锅”似的,水面上泛起一阵气泡滋滋作响,即使戴着棉口罩,也难逃氯气的“追杀”。不过看着铜皮一点点地被啃食干净,这点牺牲又算得了什么呢! |
|
|
|
经过前一次的经验总结,做第二块板时我注意到以下几个方面: |
|
1. 清洁敷铜可以用400号的水砂纸来打磨。400号的比较细腻,即使很用力,铜皮也只有轻微的磨损,可以用来加强炭粉的附着力。 |
|
2.打印好的转印纸剪成与铜板差不多大,最好稍小一点(使用电熨斗的话,PCB边缘的布线比较难处理,还是留出一些空隙为好),这样贴透明胶时转印纸才不容易起皱而导致布线移位。 |
|
3.制作一个10×10CM的小板要贴8段透明胶(每边各2段,用于固定转印纸),每段长度2厘米左右。熨烫的时候透明胶不可避免地会被高温融化,但这用不着担心会造成移位,因为转印纸面上也有一层胶,遇热后也能产生粘性,起到辅助定位的作用。 |
|
|
|
我熨烫的基本步骤如下:先把熨斗平放在板子上加热几秒钟,然后分别以两条对角线的方向熨烫,目的是让转印纸能够“粘住”板子。这样即使透明胶融了,转印纸也动不了。接下来的步骤我认为很关键,由于熨斗的底部并不是百分之百的平整(与其质量有关),因此光是平放着向各个方向熨烫并不能得到非常满意的效果。我的作法是利用熨斗的侧边(握的时候稍微向侧边用力)来回地扫板子,有点像电视机显像管的工作模式,扫完“一帧”后把板子转个90度,再重复一次。 |
|
|
|
经过这样的“待遇”,相信板子的每个角落都应该“照顾”到了吧。熨烫结束后马上把板子投入冷水中冷却,片刻捞出,再慢慢地撕去浸湿的转印纸,弄干即可。基本上我只找到2到3处的轻微断线(最小线径0.5),而且线条非常清晰。我想,用冷水冷却的效果较好的原因可能是与炭粉骤冷后收缩速度加快、附着力加强有关……最后用记号笔仔细修补断线,我用的是十多元一支的进口笔,价格是贵了点,可修补的效果和一两块钱一支的国产笔真的没法比。 |
|
|
|
第三块板,也就是我的第一块双面板也是如法炮制。对于双面板的对齐问题,我是参照论坛上的方法,即印好一面,钻孔,再印另外一面。这块板子上我一共打了5个孔,分别是四个角和一个中心点(焊盘或过孔),这样基本能够保证对齐。在印第二面的时候尤其要注意一点,对已经印好的一面要加以保护。为了防止掉粉,最好是平放在光滑的表面上,转印纸也可。注意不要在该面垫报纸之类的东西,因为报纸受热后也会将它的文字油墨转印到铜皮上!两面都印好以后再腐蚀,因此,为了让正反面的腐蚀进度保持一致,可以用一根尼龙细线以十字型扎法捆扎PCB,就像捆扎礼品一样,在板子的一端留个线头用于手持,这样浸入腐蚀液时就可以控制自如了。 |
|
|
|
板子做好了,接下来的工作是给PCB打孔。可别小看这个步骤,因为我们做的是双面板,业余条件下两面很难对齐,因此就可以在打孔的时候稍加注意,在没有对齐的地方将上下孔的位置解一下(让钻头稍稍倾斜)。打孔用手电钻,这个工具没法省,我只用了70大元买了一把,做工非常不错。由于采用了扫描方式的LED阵列,加上第一次设计PCB,因此造成PCB上的过孔数量比较多,我是用焊细线的方式连接两面的,这个操作比较简单。 |
|
|
|
然后我想说一说焊接的问题。我手里只有最基本的焊接工具,电烙铁不买贵的,手头用的是一支十多元的地摊货,对于业余焊接来说够用了,非常好用。焊锡丝一定要选那种内置松香的,至少准备两种线径,分别是0.8mm的用于焊接普通元件、0.3mm的焊贴片。第一次使用酒精松香溶液(以下简称“焊剂”),我简直无法相信它的助焊效果!我的焊接习惯是不大喜欢在烙铁上挂锡,而是一手持铁一手持锡,左右开弓,这样能够比较方便地控制焊锡量。 |
|
|
|
DIP封装的芯片尽量使用那种单排圆孔插座,虽然成本高了点,但发现它有两个较大的优点:1.可以自行根据芯片的大小和管脚数目定制,要多少剪多少;2.元件面的插座引脚也是圆柱形的,使DIP芯片的直接两面焊变得很简单。另外对于业余爱好者来说,使用芯片插座的好处不用我多说,大家都很清楚吧。对于DIP插座我是这样焊接的,不知大家有没有更好的方法: |
|
|
|
1.先把插座的反面引脚焊好,这非常容易,大家都会。 |
|
2.在正面的引脚及焊盘上刷上焊剂,多涂点,反正可以清洗的。 |
|
3.使插座排与自己平行,此外为了加强焊锡的流动性,可以在板子的前下方垫一些物品,使板子与桌面有一个合适的倾角。 |
|
4.将尖头烙铁倾斜地点在焊盘外侧的边缘上(尽量避免烫坏插座上的塑料壳),烙铁尖面向自己(手腕向内)。 |
|
5.另一只手持0.8mm焊锡丝,慢慢地点向烙铁尖直至融化,可以看到焊锡流向整个焊盘。由于使用了焊剂,焊锡具有非常好的流动性,因此不用担心引脚的内侧会上不到锡。焊锡量的控制可以目测,不宜过少,以能够包住插座引脚为宜。 |
|
6.最后移开烙铁,这样就形成了非常光滑的焊点。 |
|
|
|
(DIP插座的焊点) |
|
|
|
|
|
焊接的另一个难点就是贴片元件的焊接,当然,这是对于新手而言的。其实,焊贴片的难度并不在于焊接本身,而是在于怎样焊得美观,焊得牢固。以下是我焊贴片的一些体会,希望能给大家带来一些帮助。 |
|
|
|
虽然焊接通孔元件还比较熟练,但是对于贴片我还是第一次焊,所以在正式焊接之前我也作了不少练习。一开始我是按照网上教的方法焊的,元件采用0805电阻,大致过程是这样的:先在一侧的焊盘挂锡,用镊子将元件摆正,同时用烙铁融化刚才所挂的焊锡,这样元件的一头就固定住了,另外一头的操作就简单了,人人都会。但是我发现其中还有点问题,不知是由于操作不熟练还是其它什么原因,焊接后元件的位置总是不太理想,不是七翘八歪就是高低不平。我估计这与焊接时用镊子夹持元件有点关系,镊子毕竟不如手灵活,还有一点就是挂锡总有厚度,这也会造成元件左右高低不平……有了几次实践后,我自己琢磨了一个办法,屡试不爽,不知是否有人也是如此焊接的: |
|
|
|
先给焊盘涂上焊剂,然后用镊子夹住元件,给元件的两头和底面涂,注意不要涂得过多。涂完之后把元件粗略地定位在PCB上,用手指(牙签也行)仔细地摆正元件,压平。接着用烙铁尖分别点在两侧焊盘上,待焊剂蒸发(发出滋滋响声为止,不要等全蒸发完了:-)后元件就被“钉”在PCB上了。因为松香焊剂蒸发时能产生一定的固化作用,基本上只要不是太用力,即使是用手指推也移动不了。不过在操作的时候还是要小心,避免造成元件位移,别让你的定位工作重来一遍!焊接的方法与DIP插座类似,也是用烙铁尖抵住焊盘的边缘,但目的不同,这里是为了尽量不碰到元件而造成位移。手持0.3mm焊锡丝在此加热融化,由于加入了焊剂,因此在焊盘边缘融化的焊锡会很快地流向元件一侧的触点。要说明一点的是,这个动作要快,焊锡量不宜多,目的是固定。一旦元件被固定住,就可以用类似的方法焊另一头了,此时就要多加点焊锡了,以使焊点光滑圆润。焊完后移开烙铁,万一出现焊锡拉尖现象,可以用烙铁头抵住焊盘拖动至其一角再移开。最后再用相同的方法焊好原来的那头即可。这种方法熟练了以后,应该还可以推广到其它贴片元件的焊接上去。 |
|
|
|
(1206贴片LED的焊点) |
|
|
|
|
|
当所有的焊接工作完成后,一块基本的电路板也就做好了,它至少可以工作了。但是我的目标是尽可能地把PCB做得完美一些,因此以下的几道工序也是不可或缺的。用异丙基酒精(异丙醇,化工店有售,我只买到分析纯的,要15元一瓶500ml)清洗一下板子,除去残留的助焊剂,使PCB更清爽美观。最后一道工序,也是耗费我时间最多去琢磨的,就是怎样自制保护漆。看到网上有许多朋友是用酒精松香保护的,总觉得那个东西容易脏,而且不太美观。一直觉得专业PCB上的那层绿漆非常漂亮,总想着什么时候自己也能做出这个效果(当然质量并不是首要因素),所以在网上找了许多资料,发现基本上都是使用丝印工艺的,并不适合业余制作,不过最终还是让我找到了PCB保护漆的化学配方,分别是虫胶片、无水酒精和次甲基蓝这三样东西。实际上虫胶+酒精就是平时装修用的那种清水油漆,也没有什么神秘的,但是不知道就是不知道,害得我找了这么久。只要保护的话清漆就够了,如果要让板子看上去更专业,可以在其中加入少量的次甲基蓝以使溶液呈现一定的绿色,具体效果如何我也没试过。于是我跑了几家化工店打听了一下,虫胶片一公斤起卖,70元/kg,用不了那么多啊;次甲基蓝25元/25g,单价是比较贵,但是由于用量少,应该还能接受。不过最终我还是没有选择这个方案,成本较高,而且心里没底,后来还是选用模型专用油漆代替的。国产的比较便宜,我买的是天使牌的透明罩光漆(也有透明绿色的品种),6块钱一小瓶(23ml)。进口的也有卖,价格贼贵,开价12元一瓶,才10ml!试用了一下,感觉还不错,一下子让PCB明亮了许多,有一种镜面反光的效果。不过要涂得均匀有不小的难度,可能还要用有机溶剂稀释一下吧。这样小小的一瓶油漆很耐用,涂上十块板子不成问题。 |