|
前言:
网络还在继续封锁中,最近找到了代理服务器,虽然慢,还经常断线,和拨号上网差不多,但是能出去喘口气了,继续潜水,做个好人,看到了不少的新东西、新信息,也看到了大家的无奈,为了让生活不再沉闷,于是订购到了怀表。我的焊接过程参考了论坛上大家的各种资料,用代理上网不容易,以前简单的事情变得复杂多了,最大的挑战是下载86M的EW430-EV-web-4212.exe,断点续传没法用,前后折腾了一星期才下载到完整的,我还把许多看到的资料保存成了word文档,以防万一上不了网还可以继续组装怀表。
2010-2-8:收到怀表套件,是镀金板,为了好焊接,先镀上一层锡。
2010-2-9:焊接工具:所有烙铁头从上向下排队:
我用的烙铁头 (原文件名:image1.jpg)
前三个是在淘宝买的,价格好像是一只35元左右,别看头上颜色不好,松香里过下,镀锡后烙铁头光亮光亮的。最上面一种型号3C的最好用,传热快,易上锡,其次是刀头的K型,再次是B型的适合焊较大的元件;第四个是sword936ad焊台带的I型,难用,经常连锡都化不开;第五I型、第六个K型是我在本地买的假白光,5元一只,不易吃锡导热慢,超级难用浪费钱。接下来要焊接LED,得要I型的头,看来得去买个好点的头去了。
(原文件名:image2.jpg)
自己掏钱买的热风枪和焊台,放在单位用。公家的工具比这个土,没法用。
给pcb板镀锡:注意别把8个和小板连接的过孔给堵住了。镀锡大概用了一个上午,包括找合适的工具材料,烙铁温度定在300°C,使用3C马蹄型焊头,这时候焊锡不易氧化,流动性也好。
后记(2010-2-21):大家要注意了,全彩LED焊盘别上锡了,否则焊接时不好放平。或者是只给所有的LED(全部)的一个焊盘上锡。
(原文件名:image3.jpg)
大板正面,表面上有一层松香。
(原文件名:image4.jpg)
大板反面:不小心把4个连小板的过孔给堵住了,用吸锡器搞通了。测温IC有个脚始终不上锡,好在是空脚。
(原文件名:image5.jpg)
小板正面
(原文件名:image6.jpg)
小板反面,以后要在那8个焊点上焊上细导线连接大板。
(原文件名:image7.jpg)
全部电子零件(外壳被我收起保存了)
2010-2-11:
LED焊接准备:
模拟时钟: 秒针LED:用60个黄、绿、红、间隔的LED,12个黄色LED做整5秒钟的显示(24个红、24个绿、12个黄)。顺序:
黄60,绿1,红2,绿3,红4,黄5,绿6,红7,绿8,红9,黄10,绿11,红12,绿13,红14,
黄15,……………. 红59。
分针LED:用12个蓝色LED做分钟的整5分钟显示;其他分钟用12*4=48个黄色LED。
时针LED:用12个全彩LED。
数字时钟: 18:88显示
18和88用23个绿色LED,中间的“:”用2个红色LED。
温度指示: 用14个红色LED。
星期指示: 星期一、二、三、四:4个红色LED
星期五:1个蓝色LED
星期六、天:2个绿色LED
总计: 红LED:24+2+14+4个 (剩16)
绿LED:24+23个 (剩13)
黄LED:12+48=60个 (用完)
蓝LED:13个 (用完)
全彩LED:12个 (用完)
2010-2-20:
过年休息结束,年前焊接了半圈秒针LED,今天接着焊完全部秒针LED:
(原文件名:image8.jpg)
注意了,我只是焊了最外圈的焊点,里圈的焊点和分针的焊点一块焊;印刷版上的线太细了,有一条线烙铁一碰就活动了,还好,用搭锡法连上了。使用的是B型的烙铁头,温度310度。本来要买I型的头用的,趁着过年回家看父母,大老远跑去腾威电子市场,但是商家休息关门到21号,大街上一片萧条景象,人流比往年少多了,偶尔有巡逻车队轰轰开过,路上还有巡逻小队,大部分拿木棒,队尾的拿木仓,还让人有点安全感,难道我到了伊拉克?
(原文件名:image9.jpg)
用放大镜看:LED的方向是有一根细丝的焊盘向外,有颜色标记的点向内。LED的阳极是连细丝的那一端。
2010-2-21:
早上上班了,继续昨天的进度,焊完了120个LED:
(原文件名:image10.jpg)
焊接时发现的问题,焊盘镀锡一定要薄,否则LED放不平,为了对齐LED,也费了不少功夫,到最后才发现,用PCB上分针的圆弧走线来当参照物就容易多了。
接下来准备焊接CPU:
要在镀过锡的焊盘上涂上一层松香水,把MSP430放上对齐引脚,四个对角焊上固定,把周围元件用胶布隔离下,再用热风枪吹,等待焊锡融化,用镊子轻轻一压就好,注意压的时候别挪动了IC。
(原文件名:image11.jpg)
热风温度300度,风量3.0,吹20秒后(时间是不是太长了?担心热坏了)
再焊上容易烫坏的全彩LED:方向是有颜色标记的的焊盘向外。现在又碰到焊盘上锡镀太厚,LED放不平的问题了,早知道全彩LED的焊盘就不上锡了。
(原文件名:image12.jpg)
把大板翻个面,下面要焊QFN封装的加速度传感器MMA7660了,用白沙的怀表焊接资料里的方法焊的。先确定IC方向,不要搞错了,涂上助焊剂,放在镀好锡的引脚上,大概对好位置,热风枪温度300度,风量1.0,芯片不会被吹飞,大概10秒钟就观察到焊锡融化,芯片自动漂移到对准焊点的位置了。
(原文件名:image13.jpg)
焊接测温IC,有CBZ字母的那个:安装方向刚好和MMA7660相反,我涂了好多松香才焊好。
焊接他小元件:R1~R12:100欧;R13没有;R14,R15,R16,R19:10K;R17,R18:4.7K;C1,C6:104;还差晶振和蜂鸣器没焊
用医用酒精洗了下板:
(原文件名:image14.jpg)
(原文件名:image15.jpg)
不是很干净,LED间的松香没彻底洗掉。看来又要添新工具了,想要个超声波清洗器。现在临时想了个办法:把板子泡到酒精里,第二天看看效果好不好。
2010-2-22:
结果出来了,酒精泡了15小时,没有效果,改用牙刷在酒精里轻轻刷,干净了:
来看看我用的助焊剂,至少有10年的历史了:
(原文件名:image16.jpg)
焊完小板,洗刷了下:
(原文件名:image17.jpg)
为了摆放LED,费了不少时间,用了一下午时间焊完小板,焊完后发现有的LED还是歪了,8字的口子形状不一样。
【2010-3-5备注:】星期的LED排列从左到右“红,红,红,红,蓝,绿,绿”表示星期一到星期天,我按自己的使用习惯排列的,要改下mumberdata.h程序里的才行,白沙原版的排列是“星期天,1,2,3,4,5,星期六”。
找到numberdata.h,
把 unsigned char weekday_data[14]={0x50,0x40,0x44,0x40,0x41,0x01,0x41,0x40,0x42,0X40,0x60,0x40,0x60,0x20};
改成:unsigned char weekday_data[14]={ 0x60,0x20,0x50,0x40,0x44,0x40,0x41,0x01,0x41,0x40,0x42,0x40,0x60,0X40};
2010-2-23:
昨晚上下了好大的雪,多年不见这么大的雪了,现在还没停,地上积雪最浅处有30多厘米厚,上班路上看到好多小车都在打滑,有的车陷在雪地里出不来,快到单位门口时积雪更厚,路根本看不到,前面堵了一辆中华骏捷走不动了,大家下车推,好不容易才打通一条路。
上班了,接着焊上大板的晶振和蜂鸣器。现在要考虑给M430F4152下载程序了,我在买怀表套件前自己焊了一个并口简易JTAG,要接8根线到大板才能用,要用到CPU的54、55、56、57、58、59脚,看了下大板的原理图,只有57脚没有引出焊点,决定在大板上合适的位置打个小孔,用细线把CPU的57脚P7.3/TCK引到大板背面去(可以固定在蜂鸣器的3脚焊点上,3脚是NC,刚好可以用【2010-2-25备注】),除了下载使用,以后还可以用来扩展功能。
用最细的0.4mm钻头,用手拿着在CPU64脚附近拧了个小孔:找了一段0.13mm的漆包线焊接到CPU的57脚上,然后穿过刚才打的小孔到背面去,在漆包线上涂点助焊剂加热下当做胶水固定,小孔部分也要固定。这部分盖上小板后就看不到了,不影响外观。(焊漆包线时太费劲了,换上I型的烙铁头,传热慢,锡融化不彻底,用了不少时间才搞好)
(原文件名:image18.jpg)
(原文件名:image19.jpg)
看看打小孔的钻头:左边两个是0.4mm的,右边粗的是1.14mm的。在郑州东明买的台湾二手货。
2010-2-24:
下午才有时间,把小板上的8个焊点上焊上8根细导线,我用的是阿莫电子邮购部的Wrapping Wire 线的芯线,线径0.25mm。
(原文件名:image20.jpg)
焊上后涂上热熔胶固定,把8根细线斜着剪一下,从高到低排列(图上我还没有剪),然后从高到低穿过大板的8个孔,小板在CPU上用双面胶带固定,星期值中间的LED对齐12点钟LED,再把多余的脚剪短,在大板的背面焊接上这8根线。
(原文件名:image21.jpg)
试着装在表壳里看下,怀表的模样有了,还不错。
2010-2-25:
今天把怀表接了8根线到自己做的并口JTAG,下载程序,竟然提示找不到仿真器,我晕!
(原文件名:image22.jpg)
来回检查接线,没问题。Jtag 1 (TDO)----cpu 54
Jtag 2 (Vcc)----板子的Vcc (Vcc从并口jtag上外接了3.3V,图片上为了好拍照,去掉了。)
Jtag 3 (TDI)------ cpu 55
Jtag 5 (TMS)----- cpu 56
Jtag 7 (TCK)------ cpu 57
Jtag 8 (TST)------ cpu 59
Jtag 9 (GND)----板子的GND
Jtag 11 (RST)----cpu 58
如果用两线制的JTAG UIF 接线是: Jtag 1 (TDO)--- cpu 58 (SBWTDIO)
Jtag 2 (Vcc)--- 接板子Vcc (由jtag供电)
Jtag 7 (TCK) --- cpu 59 (SBWTCK)
Jtag 9 (GND) --- GND (接板子GND)
(原文件名:image23.jpg)
图上是连并口JTAG时用到的焊点:cpu的54、55、56、57、58、59、Vcc、GND。57脚在另一面直接接CPU的57,这一头接蜂鸣器的3脚(用万用表量过,是空脚)。
难道是自己焊的并口JTAG不好,有问题?真是好事多磨。好在淘宝网开了,一恼火,干脆花138元+25元邮费=163元在淘宝上定购了一个430UIF仿真器,寄到了再下载程序。
2010-2-26:
下面要制作按钮检测开关并且安装表轴:
(原文件名:image24.jpg)
发现怀表按钮和白沙的焊装资料上的不一样,短了许多不好固定,于是找了节二极管的腿焊上加长;剪下拨码开关上的两条金属片按照白沙的焊接资料里的样子弯好并焊好,用网线的铜芯线绕了个轴套焊牢,轴的尾部套上一小段导线的绝缘皮,右端搞点万能胶水固定,也可以改用合适的热缩管固定轴尾端。
(原文件名:image25.jpg)
固定板子的方法是:剪两条粗细合适的导线绝缘皮,嵌入到表壳两边即可。还发现个小问题:图上最下端的表盖弹簧当前表盖扣上时会向上挤压到电路板,造成板子位置偏上,这个问题不好解决。
2010-3-2:
买的msp430uif到了,连上怀表,下载时提示uif的固件版本不对,要更新,选“是”更新不了,晕死。打电话给卖家技术支持,态度很好,到下午时接到回电,问题解决了,终于把程序下载到怀表里了。
2010-3-3:
今天下午大概看了一遍怀表的源程序,看得我晕头晕脑,一知半解,大概了解了下使用的方法。
使用中发现以下8个bug:
1. 秒针到12后,分针没有进位,而是过一秒后才进位;【2010-3-5备注:已经修改好main.c里的show_second和show_minute两个程序,现在可以正常进位】
2. 分针到12后,时针没有进位,而是在一分钟后才进位。【备注:分秒进位正常后,时针进位就正常了】
3. 复位MSP430F4152时,观察到时间显示为11:17:33 星期二,11月25日,时间的分、秒多了1,看程序里rtc_init(void)初始值是11:16:32。【2010-3-5备注:和bug 1 同时改好,现在正常了】
4. 调整“日”时:增量调ok,减量调整到0后就会0,1来回跳,不会到31。【2010-3-9备注:改好了】
5. 调整“月”时:增量调ok,减量调整到0后就会0,1来回跳,不会到12。【2010-3-9备注:改好了】
6. 调整“年”时:增量调,数字到40后显示异常,星期、月、日部分有的LED异常显示。
减量调,递减到个位数时,会异常。
7. 调整“时”时:增量调ok,减量调第一次到12(应该是表示调到了中午12点)后继续动,再到12(应该表示调到了晚上24点)后就不动了,滴答声还在继续。【2010-3-8备注:这个bug不想改动,因为正好可以用来判断目前时间是调到了12点还是0点,减量调到12的位置不动了正好是0点】
8. 调整“分”时:增量调ok,减量调到秒针位置后就不动了;【2010-3-8备注:改minute为int类型,在adjust_mode()里加了减量调整到0以后的判断,main.c里一共改动了三处】
9. 在“星期”调整时,增量调ok,减量调到星期天不动了。【2010-3-9备注:改好了,dow改成int类型】
10. 这个不算bug:时针全彩LED的红色发光强度高,显得其他两色暗淡,要减少红色的显示时间来平衡一下。【2010-3-8备注:修改完成,红色已经减弱】
11. 温度显示有点偏高。
(原文件名:image26.jpg)
上图是敲击怀表一下,进入了调整分针时的状态,秒针在1秒位置长亮,怀表右倾,分针顺时针方向调整ok,但是怀表左倾,逆时针方向调整到秒针位置时就不动了,此时调整的滴答声还在继续响。
2010-3-4:
我这里室温是22度,发现刚上电时温度显示正常22度,随着时间推移,过一会后就增加到23,24,25,26,保持在26度不动了,偏高4度。难道怀表上有什么发热源?
做了个实验:室温是22度(中央空调上显示的回风温度),目前怀表显示26度,按下怀表的开关,LED全熄灭,进入低功耗状态;等上几分钟后按一下怀表的开关,LED显示开,温度显示降到了23度,但是过了不到10秒,温度开始增加了,几分钟后到了26度,稳定下来了。以前用DS18B20测温也发现了同样的现象,温度显示偏高,始终找不到原因,怀表测温IC:TMP102是第一次见到,板子供电是3.26V,难道有影响?
又发现一个问题:40以后的数字显示没有做处理,2040年以后显示会出错,温度高于40度后显示会错。【2010-3-9 备注,已经修改好了】
装到表壳里后发现有的不该亮的LED亮了,表边沿有短路,取出在大板的周围粘了一圈透明胶带,用剪刀修了下边粘好,问题解决。
2010-3-10:改动了一下怀表程序,在小板显示“月、日、温度”的位置显示“时、分、秒”。
2010-3-12:时分之间的“:”分成两部分,上部分闪动表示“AM”,下部分闪动表示“PM”。
2010-3-19:改进怀表小板显示模式切换方式:使用MMA7660检测表的Y轴倾斜角度,用于小板显示 时间,月日、温度 的切换。发现IAR编译器的一个特别点:主程序里要调用的子程序要放在主程序前,要不然会提示“declared implicitly”错误;而AVR的GCC编译器函数要事先声明才行。
显示温度时,点要不闪动。!!
2010-4-6:
前段时间没有空折腾怀表,忙着做LED节能灯给家里用,客厅、厨房、卧室全换了LED灯,等着长时间使用看看LED的光衰如何。
今天发现2010-3-19我改的怀表程序运行不大正常,进入不了调整模式,并且用买来的430UIF JTAG烧写程序失败,开始还以为是JTAG坏了,把以前做的简易并口JTAG按下图改好:(以前做的R6是330欧,并且没有R19:33K下拉电阻,没有C5和R20组成的上电复位电路;PG的33K电阻我没焊)
(原文件名:image27.jpg)
还是连不上怀表的M430F4152,把简易并口JTAG连接到买的430UIF上,可以读写CPU M430F1612里的内容,证明并口JTAG是可以用的。
以前用的代理服务器被咔嚓了,好在现在搜狐网全开,搜狗可以用了,立刻到网上查找M430的故障现象,靠着网页快照查看了许多资料,有可能是怀表cpu M430F4152被我无意中把熔丝位BLOW锁住了,导致进入不了JTAG模式,现在只能用BSL方式下载程序了。找出以前保存的资料,做了个串口Bootstrap下载器(见下图),又在怀表板上焊了两根线:P1.0和P1.1,连到下载器上,打开配套的软件SF_BSL430.exe(V1.10),软件太老了,里头居然找不到M430F4152,下载不成功。换成利尔达的bootstrap.exe(V1.10)下载也不成功,问题出在哪里啊??好像还有个gcc的下载器,不知道去哪里找了。
================================================================
以前(2010-1-27)用代理服务器从www.ourdev.cn上保存的资料TXT文本:
http://www.ourdev.cn/bbs/bbs_content.jsp?bbs_sn=3447867&bbs_page_no=1&bbs_id=3064
相关文件在这里。
点击此处下载 ourdev_459972.rar(文件大小:911K) (原文件名:SF_BSL430.rar)
利尔达卖的东东,运放打磨掉了,DB9母头,图上C2反了(注:2010-4-6---warbird--- C2 :10uF没有反,Vss是负电压)
能不能发个上位机软件上了呢?
点击此处下载 ourdev_460721.rar(文件大小:243K) (原文件名:LSD-BSL430.rar)
复位要软件控制输出相应复位信号,估计编程软件没输出复位
点击此处下载 ourdev_510315.pdf(文件大小:447K) (原文件名:msp430boot.pdf)
软件应该是发出了复位指令,我估计是硬件原因造成不能复位运行程序的~我的硬件是串口dtr,rts信号经过2个反相器(74hc14)得到的,txd,rxd信号是通过232芯片得到的,没有采用ti原理图那种方式~
不过奇怪的地方是如果计算机不能有效控制dtr和rts信号的话,根本就不会进入bsl模式,所以这块事有点奇怪~
不过,现在用gcc的下载器,很强大
msp430-bsl -e -p -v -T -r a.txt一条龙,那个-r就是复位运行程序的
哈哈~复位现在也可以了,和我想的类似~估计软件的rst模式和430有点区别,不过gcc可以修改口线的正负逻辑,现在下载完也可以复位了~不过这种方式不兼容利尔达的软件~只能用在gcc,不过自己用足够了,而且我觉得gcc还要强大很多~
有没人有usb借口的电路呢?呵呵
用CP2102直接接单片机就可以了
===================================================================
串口Bootstrap下载器和怀表的接线:
1:BSL TX 接CPU的P1.0:53脚 2:TCK接CPU的TCK:57脚 3:BSL RX 接CPU的P1.1:52脚
4:RST接CPU的RST:58脚 5:GND接怀表板上的GND 7:TST接CPU的TST:59脚
8:VCC接接怀表板上的Vcc
然后在5和8脚上加上工作电压3.2V给下载器和怀表板一块供电。
(原文件名:image28.jpg)
按照上图做的串口Bootstrap下载器:用万用表量VDD=-5.33V和VSS=-7.38V,都是负电压,奇怪了。
在SF_BSL430.exe软件界面不断按手动复位,用万用表量得VDD=9.7V和VSS=-8.6V,还算正常。看来软件工作时,DTR和RTS才输出正电压,平常是负电压。
用万用表量PC TXD=-8V,74C14的1=-0.597V,2=1.237V,不对劲,2应该是3.2V才对,难道1和2之间的反相器坏了?量14=0V,13=3.21V,之间的反相器正常,13,14脚是空脚,把1,2的脚不用,改用14,13后和用1,2时电压一样,是输入的负电压-8V搞的。
(照片以后补拍)
2010-4-7:
附上怀表程序的修改版,修正了我发现的所有bug,Y轴前后倾斜改变显示模式功能注释掉了:
点击此处下载 ourdev_544258.rar(文件大小:52K) (原文件名:PW(2007-4-7).rar)
由于我的F4152下载不进去程序,上面的程序还没有实际使用,但是应该没问题的。 |
|