自制单片机最小系统
> 自制单片机最小系统     2018-11-14

  本人是学软件的,终究的理想是去开发游戏(卓越的单机游戏,向FC、SFC、PS、GBA、PC上的经典游戏看齐),我不想只懂软件,硬件也想懂,而且自制单片机后我可以在上面做一些最简单的游戏(华容道,俄罗斯方块,贪吃蛇,推箱子等),从硬件到驱动到上层的软件通通的做一遍,先用汇编写游戏(或者者用C加内嵌的汇编语言),如果完成为了这些会有很大成绩感,哈哈哈~~

  步入正题,第一件麻烦的事是采购元器件。前前后后我买了三四趟才买齐,主要的麻烦是电容的选购,以及老板交谈前真的是甚么也不懂。单片机经常使用的电容是有极性的电解电容以及无极性的瓷片电容。交谈中知道不同材质所能充的电量是有差别的,uF以上的基本是电解电容,uF以下的是瓷片电容,像胆电容等不经常使用的我也没有去了解,双层的瓷片电容又叫独石电容,质量更好一点。极性电解电容的柱面上有一条灰白色的带子,上面标着负号,这样即便引脚被剪去了也能知道正负极。还有关于发光二极管的正负极,透过光往里看,能看到一条倾向一边的黑线,倾向的那一边要接正极。

  本以为万事大吉了,就把元器件摆在洞洞板上看看模样,结果这才发现直流电源座的引脚太宽了无法穿过100mil(2.54mm的孔)。拿出我买过的arm开发板,上面的电源座也是一样的宽脚,无非人家用的是PCB板,孔都是可以定制的。一开始我的想法是把引脚剪细,于是去买了把斜口钳,费了老大的劲才把引脚剪细,还把斜口钳尖端弄了个缺口,悲剧地发现引脚太短了,穿到焊接面但没露出来。还有一种更小的电源座,尽管能穿过孔,但能经受的电流就要小不少了。这个方法不行,我就想把两个孔串起来用,想来想去觉患上可操作性不强,况且我还有直流电源,不必非患上用电源座。最后的定案是引出两根导线接直流电源。

  show一下到目前为止用到的工具:

自己制作单片机系统用到的工具

  从左到右:1.直流电源 2.螺丝刀套件、橡皮(弄笑的)、直镊子、弯镊子 3.恒温烙铁 4.烙铁架 5.吸锡器 5.计算器(乱入的)

  值患上一提的是最左侧的直流电源,我买的时候只送了鳄鱼夹以及连着的导线,没有高中时在学校用过很利便的接线片,没有这个东西,想在一根铜柱上接两根线都很难题啦。电子市场里也有接线片卖,我买了几个,回家后发现手的气力不足以压线到接触到金属,所以我买了把下面的钢丝钳,还做了个两头都是鳄鱼夹的长线。

自己制作单片机系统需要的工具

  从左到右:
  1.指针万用表
  2.数字万用表 现在用的至多的是蜂鸣档
  3.剪刀
  4.斜口钳(剪引脚)、钢丝钳(压东西)、森海塞尔PX80(听音乐必需的)
  5.尖嘴钳(拉东西)、剥线钳(剥导线绝缘皮)
  6.压线钳(压排线用的)、美工刀(刮洞洞板最外围电源线上的绝缘层)
  开始学protel 99SE的时候没有atmel单片机的原理图库,从网上当了一个,后来照着视频学自己画元器件的原理图后就发现,只要有datasheet或者实物,完整可以自己画出来,而且不用费多少时间。画连线的时候,先用的是placeLine工具,结果在画完进行ERC检测的时候就有一大堆没有连的线。上网搜缘由,才发现应该选placeWire工具,想必这个过错初学者很容易犯。

自己制作单片机系统原理图

  有必要对各个功能模块做些说明:

  1)左下的是起振电路,用短路帽选择晶振,用11.0952MHZ是为了在与串口通信的时候不会发生过错。两个接地的小电容是起振电容,使晶振更易起振。

  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写反了,或许是我的版本太旧了。经由网络表生成为了扎堆的元器件,然后就需要手动的摆放位置,下面是终究图:

自己制作单片机PCB图

  难点是要不发生交叉线,主要是各个元器件要接电源以及地,而且默许protel中连在一起的线是会自动选择最近的,但有时最近的反而会发生交叉。图中的重点是左侧穿过两个极性电容以及电阻的那根地线,这是解决交叉线的一种办法。原本电源引脚是在电源座的屁股上的,他从反面引线到正面,为了正面的美观又把一段隐藏在电源座底下,最后从正面穿到反面进行焊接。这样就把电源以及地的交叉解决了,实际上市应用了多层走线的方法。网上有华为硬件工程师的规范,上面提到极性电容的方向最好一致,上面的图碰巧做到了这一点~。还有走线最好不要发生平行,会有干扰,不同工作层面的走线最好有所不同。
  终于到了最刺激的焊接啦~。先给两张终究实物图:

自制单片机最小系统的终实物图
自制单片机最小系统的终实物图

  我首先焊接的是紧锁座。拿出买的紧锁座在洞洞板上比画,居然发现引脚太宽了穿无非去。看了一下紧锁座的构造,发现一个引脚是对折后的一根铁条,宽点也正常。焊肯定是要焊的,就想到把焊孔钻大一点,说干就干,大不了弄坏一个洞洞板而已经。用斜口钳把孔钻大了一点,使劲把紧锁座按下去——悲剧还没休止:可能由于没有对齐,有少部份引脚没有插进去,反而挤出来了,按又按不下去,一番蛮力之后发现有的引脚从对折的地方断了-_-。还好我买了两个紧锁座,有了第一次的经验,这次我对准了孔在用劲按下去,无非还是有一个引脚挤出来,用尖嘴钳拉一拉引脚就行了(夹力不要太重,不然会断的)。我插上排针,然后焊上了紧锁座以及一面的排针。

  这应该是我第二次焊接,第一次是尝试飞线的方法,只玩了一会。这次的活可就多了,焊接技术也渐渐试探出来啦。

  0)筹备。带上橡皮手套以及口罩,防止接触到铅以及吸入松香。

  1)蘸锡。把温度调到200度,发现融不了锡,把温度调到350,也就是手焊的上限才把锡融掉,在烙铁头上涂啊涂,可是就是不能均匀地布在烙铁头的表面。网上有视频说在松香水里涂,我也试了,结果把松香盒烫出一个窟窿。我也会把蘸锡的烙铁头在松香里滚来滚去,可是液态锡就是一个球。后来焊多了,我一火炬烙铁头猛地往未熔化的松香上一戳,锡球掉了,无非涂地倒是很均匀。这个办法迅速,就是挥霍了一点锡。其实也没有挥霍,后面把这些锡球采集起来,用来给飞线镀锡用。

  2)焊接引脚。拿出arm开发板观摩一下,人家机器焊接所用的焊锡量很少,我也想做到如斯。用的焊法当然是五步法,通过尝试知道加热时间过长会造成黏锡,会形成锡尖,一开始送焊锡丝也不到位,预热也不行。后来知道烙铁头越粗的地方越容易传热,预热的角度很重要,需要统筹焊盘以及被焊件。由前面给飞线镀锡的经验(那根飞线插在锡里,结果四处的锡好像被它吸进去的模样),知道只有充沛的预热才能形成混合层,这是焊接是不是牢固的症结之一。从图中可以看到两排焊点有胖有瘦,是由于焊锡丝送的不够好的原因。

  3)锡接走线。这个也是试探了很久才知道该怎么做。网上说要应用加热时间过长的黏锡效果,可是我老是试不成功,后来知道必需两个孔上的锡都要预热。在黏锡的时候再加一点锡就不会粘锡了,所以我总结出我的办法是:先预热使锡熔化,量少的时候应用黏锡,然后再送焊锡丝,量多的时候直接迅速移走。

      接下来我焊的是晶振电路。先按着PCB图把元器件摆上去,肯定位置以及如何飞线。然后我把过长的引脚用斜口钳剪掉了,剪下来的引脚用作飞线的材料。布线的时候好像还遵循一个原则:相邻的器件互相垂直摆放。这个应该是不难做到的,然而由于不知道效果如何所以没有严格遵循,等有干扰的时候再说吧。

  4)焊接的手法。由于正反两面的高下不平,在焊接的时候有时需要抵住被焊件。我请教过在硬件公司呆过的同事,他的做法是左手小拇指抵住被焊件,食指以及大拇指负责送焊锡丝,焊接还真是精细活~~

   固定了元器件后要开始焊飞线啦。用美工刀把地线上的绝缘层刮掉露出铜,在洞洞板的角上分离地线以及电源线。由于要在焊接面焊接,我想当然地在焊接面的左上以及右下割断了铜片。结果在筹备焊晶振电路的接地线的时候才发现割错了地方,应该割的是正面的左上以及右下,由于摆器件是在正面摆的。看图中伤痕累累的电源以及地线就明白了。

  由于从边上的焊盘到地线的距离稍大,锡接走线难度大了点,因此就筹备用短短的飞线链接。先制作适合的飞线,然后一次性焊接。做飞线也是件细活~。焊接前还有件重要的工作是给飞线两端镀一层焊锡。这样做可以增加焊接的强度。缘由我体会下来大概是这样:把混合的进程提前做,那在点焊的时候就不是铁接触锡,而是锡接触锡,不会有虚焊的风险。晶振电路中的飞线我都是贴着电路板的,后来发现这样不便于飞线的取下,后面的没有绝缘皮的飞线都留一段空隙到洞洞板。

  然后我焊的是电源滤波电路以及JTAG接口电路。还是先摆放元器件,这次我没有把引脚剪短,直接在引脚林中焊接。这时才体现出尖烙铁头的好处来,不用耽心会加热到临近的焊盘。焊好了蛮开心的,引脚也剪了,但以及后续的电路图一比,发现40PIN的排线放不下了,只好把刚焊好的拿下来,向边上移动四个孔再焊上去。

  5)拆卸元器件。有的元器件引脚跨度四个焊盘,想同时加热两个引脚有点难题,其实只要一个脚一个脚地拆便可以了。而占两个焊盘的器件就需要同时加热再拔出来。由于拆的时候加的焊锡太多了,就用吸锡器吸走一些,全部拆下来后重焊的时候也把一些碍事的锡吸走,图上还可以看到痕迹。

  移动完后,把背面的需要锡接走线的地方连好,才开始做飞线。这次要做的飞线不少,有的飞线还要从中间把绝缘皮去掉一段,所以稍微费了点时间。以及以前的一样,都是先做路线内部的飞线,焊好了再做外围的连电源以及地的飞线。最费心思的是接JTAG的四条长长的平行飞线。把四条挤在一起,可我认为这类做法不妥,所以加大了间距并且抬高了飞线的高度。用剪下的引脚做的裸露飞线把两头弯一下,使以及电路板之间留有空隙便于取下。这样做的坏处是板子放不平,而我又没有支撑的铜柱,更没有钻孔的工具,其实是懒患上买。

  6)点焊。个人理解点焊不会粘锡是由于锡还没有完整熔化,所以锡那边的吸力比烙铁头要大。无非还是要元器件以及焊锡同时加热,有时这是不容易办到的。后来联想一下看过的点焊视频,发现用烙铁头尖端去加热的话传热慢,用稍微粗一点部份的话则较容易完成点焊,但要注意不要碰到或者凑近其他器件或者焊锡。

  关于路线的检测。一般我焊完一块电路后会用数字万用表的蜂鸣档测试电路的通断,全部焊完后连上直流电源测试电源指导灯是不是亮,测试OK!接下来要开始弄ISP下载线啦。
 


 

 

© Copyright 吾爱微电子 | 琥珀川