本人是学软件的,最终的理想是去开发游戏(出色的单机游戏,向FC、SFC、PS、GBA、PC上的经典游戏看齐),我不想只懂软件,硬件也想懂,而且自制单片机后我可以在上面做一些最简单的游戏(华容道,俄罗斯方块,贪吃蛇,推箱子等),从硬件到驱动到上层的软件通通的做一遍,先用汇编写游戏(或者用C加内嵌的汇编语言),如果完成了这些会有很大成就感,哈哈哈~~ 步入正题,第一件麻烦的事是采购元器件。前前后后我买了三四趟才买齐,主要的麻烦是电容的选购,和老板交谈前真的是什么也不懂。单片机常用的电容是有极性的电解电容和无极性的瓷片电容。交谈中知道不同材质所能充的电量是有差别的,uF以上的基本是电解电容,uF以下的是瓷片电容,像胆电容等不常用的我也没有去了解,双层的瓷片电容又叫独石电容,质量更好一点。极性电解电容的柱面上有一条灰白色的带子,上面标着负号,这样即使引脚被剪去了也能知道正负极。还有关于发光二极管的正负极,透过光往里看,能看到一条偏向一边的黑线,偏向的那一边要接正极。 本以为万事大吉了,就把元器件摆在洞洞板上看看样子,结果这才发现直流电源座的引脚太宽了无法穿过100mil(2.54mm的孔)。拿出我买过的arm开发板,上面的电源座也是同样的宽脚,不过人家用的是PCB板,孔都是可以定制的。一开始我的想法是把引脚剪细,于是去买了把斜口钳,费了老大的劲才把引脚剪细,还把斜口钳尖端搞了个缺口,悲剧地发现引脚太短了,穿到焊接面但没露出来。还有一种更小的电源座,虽然能穿过孔,但能承受的电流就要小很多了。这个方法不行,我就想把两个孔串起来用,想来想去觉得可操作性不强,况且我还有直流电源,没必要非得用电源座。最后的定案是引出两根导线接直流电源。 show一下到目前为止用到的工具:
从左到右:1.直流电源 2.螺丝刀套件、橡皮(搞笑的)、直镊子、弯镊子 3.恒温烙铁 4.烙铁架 5.吸锡器 5.计算器(乱入的) 值得一提的是最左边的直流电源,我买的时候只送了鳄鱼夹和连着的导线,没有高中时在学校用过很方便的接线片,没有这个东西,想在一根铜柱上接两根线都很困难啦。电子市场里也有接线片卖,我买了几个,回家后发现手的力量不足以压线到接触到金属,所以我买了把下面的钢丝钳,还做了个两头都是鳄鱼夹的长线。
从左到右:
有必要对各个功能模块做些说明: 1)左下的是起振电路,用短路帽选择晶振,用11.0952MHZ是为了在与串口通信的时候不会产生错误。两个接地的小电容是起振电容,使晶振更容易起振。#p#分页标题#e# 2)起振电路上方的是复位电路,AT89S51的datasheet上说复位需要reset引脚维持100ms的高电平状态,具体电容电阻数值不会计算(正在看电路分析的书),原理是懂的。接电源的时候电容会充电,开关按下去的时候电容会放电,把reset引脚的电平拉高,开关断开的时候再充电到满。 3)单片机芯片上方的电路是JTAG接口电路,后面的ISP接并口的不同是受所用的下载软件的影响,软件说你引脚1必须接地,那你就得这么接,要么自己写一个,网上也有可以配置接法的flash烧写的软件,像Easy_51Pro2.0。 4) 电源和地之间(电路图右侧)还有个电容滤波电路,增加直流电源输出的稳定性。 5)还有的电路,一个是电源指示灯电路,一个是测试程序的电路,通过控制P1.0的电平来实现LED的闪烁。 画完了原理图,然后要做的是填写元器件的封装,也就是实物的外形和焊盘,英文是footprint,直译就是“脚印”,各个元器件在PCB板子上的脚印,很形象不是吗。看着视频做没有多少困难,需要注意的是工作层面的选择:不同的层面有不同的颜色,一开始没有概念我选择的是红色的topLayer,结果就和黄色的protel 99SE默认的封装不一致了。还发现protel自带的库中的一个问题,就是LED的name和number写反了,也许是我的版本太旧了。经由网络表生成了扎堆的元器件,然后就需要手动的摆放位置,下面是最终图:
难点是要不产生交叉线,主要是各个元器件要接电源和地,而且默认protel中连在一起的线是会自动选择最近的,但有时最近的反而会产生交叉。图中的重点是左边穿过两个极性电容和电阻的那根地线,这是解决交叉线的一种办法。本来电源引脚是在电源座的屁股上的,他从反面引线到正面,为了正面的美观又把一段隐藏在电源座底下,最后从正面穿到反面进行焊接。这样就把电源和地的交叉解决了,实际上市运用了多层走线的方法。网上有华为硬件工程师的规范,上面提到极性电容的方向最好一致,上面的图碰巧做到了这一点~。还有走线最好不要产生平行,会有干扰,不同工作层面的走线最好有所不同。
我首先焊接的是紧锁座。拿出买的紧锁座在洞洞板上比划,竟然发现引脚太宽了穿不过去。看了一下紧锁座的构造,发现一个引脚是对折后的一根铁条,宽点也正常。焊肯定是要焊的,就想到把焊孔钻大一点,说干就干,大不了弄坏一个洞洞板而已。用斜口钳把孔钻大了一点,使劲把紧锁座按下去——悲剧还没停止:可能因为没有对齐,有少部分引脚没有插进去,反而挤出来了,按又按不下去,一番蛮力之后发现有的引脚从对折的地方断了-_-。还好我买了两个紧锁座,有了第一次的经验,这次我对准了孔在用劲按下去,不过还是有一个引脚挤出来,用尖嘴钳拉一拉引脚就好了(夹力不要太重,不然会断的)。我插上排针,然后焊上了紧锁座和一面的排针。 这应该是我第二次焊接,第一次是尝试飞线的方法,只玩了一会。这次的活可就多了,焊接技术也慢慢摸索出来啦。 0)准备。带上橡皮手套和口罩,防止接触到铅和吸入松香。 1)蘸锡。把温度调到200度,发现融不了锡,把温度调到350,也就是手焊的上限才把锡融掉,在烙铁头上涂啊涂,可是就是不能均匀地布在烙铁头的表面。网上有视频说在松香水里涂,我也试了,结果把松香盒烫出一个窟窿。我也会把蘸锡的烙铁头在松香里滚来滚去,可是液态锡就是一个球。后来焊多了,我一火把烙铁头猛地往未融化的松香上一戳,锡球掉了,不过涂地倒是很均匀。这个办法迅速,就是浪费了一点锡。其实也没有浪费,后面把这些锡球收集起来,用来给飞线镀锡用。#p#分页标题#e# 2)焊接引脚。拿出arm开发板观摩一下,人家机器焊接所用的焊锡量很少,我也想做到如此。用的焊法当然是五步法,通过尝试知道加热时间太长会造成黏锡,会形成锡尖,一开始送焊锡丝也不到位,预热也不行。后来知道烙铁头越粗的地方越容易传热,预热的角度很重要,需要兼顾焊盘和被焊件。由前面给飞线镀锡的经验(那根飞线插在锡里,结果四周的锡好像被它吸进去的样子),知道只有充分的预热才能形成混合层,这是焊接是否牢固的关键之一。从图中可以看到两排焊点有胖有瘦,是因为焊锡丝送的不够好的缘故。 3)锡接走线。这个也是摸索了很久才知道该怎么做。网上说要利用加热时间太长的黏锡效果,可是我总是试不成功,后来知道必须两个孔上的锡都要预热。在黏锡的时候再加一点锡就不会粘锡了,所以我总结出我的办法是:先预热使锡融化,量少的时候利用黏锡,然后再送焊锡丝,量多的时候直接迅速移走。 接下来我焊的是晶振电路。先按着PCB图把元器件摆上去,确定位置以及如何飞线。然后我把过长的引脚用斜口钳剪掉了,剪下来的引脚用作飞线的材料。布线的时候好像还遵循一个原则:相邻的器件相互垂直摆放。这个应该是不难做到的,但是因为不知道效果如何所以没有严格遵守,等有干扰的时候再说吧。 4)焊接的手法。因为正反两面的高低不平,在焊接的时候有时需要抵住被焊件。我请教过在硬件公司呆过的同事,他的做法是左手小拇指抵住被焊件,食指和大拇指负责送焊锡丝,焊接还真是精细活~~ 固定了元器件后要开始焊飞线啦。用美工刀把地线上的绝缘层刮掉露出铜,在洞洞板的角上分离地线和电源线。因为要在焊接面焊接,我想当然地在焊接面的左上和右下割断了铜片。结果在准备焊晶振电路的接地线的时候才发现割错了地方,应该割的是正面的左上和右下,因为摆器件是在正面摆的。看图中伤痕累累的电源和地线就明白了。 因为从边上的焊盘到地线的距离稍大,锡接走线难度大了点,因此就准备用短短的飞线连接。先制作合适的飞线,然后一次性焊接。做飞线也是件细活~。焊接前还有件重要的工作是给飞线两端镀一层焊锡。这样做可以增加焊接的强度。原因我体会下来大概是这样:把混合的过程提前做,那在点焊的时候就不是铁接触锡,而是锡接触锡,不会有虚焊的风险。晶振电路中的飞线我都是贴着电路板的,后来发现这样不便于飞线的取下,后面的没有绝缘皮的飞线都留一段空隙到洞洞板。 然后我焊的是电源滤波电路和JTAG接口电路。还是先摆放元器件,这次我没有把引脚剪短,直接在引脚林中焊接。这时才体现出尖烙铁头的好处来,不用担心会加热到邻近的焊盘。焊好了蛮开心的,引脚也剪了,但和后续的电路图一比,发现40PIN的排线放不下了,只好把刚焊好的拿下来,向边上移动四个孔再焊上去。 5)拆卸元器件。有的元器件引脚跨度四个焊盘,想同时加热两个引脚有点困难,其实只要一个脚一个脚地拆就可以了。而占两个焊盘的器件就需要同时加热再拔出来。因为拆的时候加的焊锡太多了,就用吸锡器吸走一些,全部拆下来后重焊的时候也把一些碍事的锡吸走,图上还可以看到痕迹。 移动完后,把背面的需要锡接走线的地方连好,才开始做飞线。这次要做的飞线很多,有的飞线还要从中间把绝缘皮去掉一段,所以稍微费了点时间。和之前的一样,都是先做线路内部的飞线,焊好了再做外围的连电源和地的飞线。最费心思的是接JTAG的四条长长的平行飞线。把四条挤在一起,可我认为这种做法不妥,所以加大了间距并且抬高了飞线的高度。用剪下的引脚做的裸露飞线把两头弯一下,使和电路板之间留有空隙便于取下。这样做的坏处是板子放不平,而我又没有支撑的铜柱,更没有钻孔的工具,其实是懒得买。 6)点焊。个人理解点焊不会粘锡是因为锡还没有完全融化,所以锡那边的吸力比烙铁头要大。不过还是要元器件和焊锡同时加热,有时这是不容易办到的。后来联想一下看过的点焊视频,发现用烙铁头尖端去加热的话传热慢,用稍微粗一点部分的话则较容易完成点焊,但要注意不要碰到或靠近其他器件或焊锡。
关于线路的检测。一般我焊完一块电路后会用数字万用表的蜂鸣档测试电路的通断,全部焊完后连上直流电源测试电源指示灯是否亮,测试OK!接下来要开始搞ISP下载线啦。 |