||
一、焊接
由于Arduino uno rev1 的硬件是开源的,所以我们可以直接拿来用。
1. 拿到PCB板(图1)
图1 Arduino uno rev1 PCB
2. 根据元器件清单购置元器件
元器件清单如图2。
图2 元器件清单
3. 焊接元器件
根据图3来焊接元器件。
图3 PCB焊接图
这里我想说说焊接的方法与技巧(供初学者参考)。这块板子中还是有存在一些比较难焊的地方。
1) 芯片ATmega8U2
Arduino UNO与之前Arduino 2009版本的最大不同在于USB转串口部分,Arduino 2009采用的是FTDI专用芯片FT232RL,而Arduino UNO采用的是用一块ATmega8U2模拟出串口的做法。这一改动着实带来了不小的麻烦,第一是该方案所采用的ATmega8U2芯片基本上在市场上很难找到,另外一点就是该芯片的封装加大了焊接的难度和成本。
芯片ATmega8U2的封装很小,而且它芯片的外面没有引脚,可以看到的是它的焊盘非常的小。焊接方法为:在各个焊盘上滴上锡,完了后检查一下有没有焊盘连接在一起的,然后用镊子夹住芯片ATmega8U2,小心的对准位置,对准后用镊子压住芯片,用电烙铁在一边的周围滑动加热,使得焊盘上的锡熔化,则芯片的引脚就焊在了焊盘上,同样的,其他三边也这样。焊完之后用万用表检查一下。
2) 贴片晶振及其他的贴片元器件
因为左手是拿镊子夹住器件对准位置,右手拿电烙铁,所以没有另外的手来添加焊锡。这时就需要先在对应的一个焊盘上滴一点焊锡,再将器件对准位置,用电烙铁在上面加热,焊锡熔化就与元器件连接在一起,在焊接另外一个焊盘。
焊接完成后如图4所示。再用万用表检查各个焊点。
二、Arduino uno板子的调试
1. USBtinyISP的驱动安装
Arduino uno的调试用到工具官方支持下载线 USBtinyISP 。USBtinyISP也是一款 为AVR单片机设计的基于USB接口的ISP下载线,使用它可以为大部分AVR单片机下载程序。在Arduino IDE中,USBtinyISP是一直被支持的下载线,用来下载其bootloader,与之前使用的USBasp 下载线相比,使用起来更加简单。
首先下载USBtinyISP驱动程序,将其解压缩到硬盘上备用。将下载线通过USB线连接到计算机后,系统会提示找到相应的硬件:
在随后出现的“找到新的硬件向导”对话框中,选“否,暂时不”,然后单击“下一步”按钮:
在随后出现的对话框中,选“从列表或指定位置安装(高级)”,然后单击“下一步”按钮:
接着指定之前解压缩开的驱动文件所在的目录:
单击“下一步”按钮之后,系统就开始安装USBtinyISP所需要的驱动文件:
最后单击“完成”按钮,就大功告成了:
此时在系统的硬件管理器中,我们能够找到“USBtinyISP AVR Programmer”,表明该下载线已经可以使用了:
USBtinyISP在设计的时候,设置了相应的跳线来为单片机供电。在为Arduino下载bootloader的时候,我们需要将该跳线短路,这样就不需要再为Arduino提供额外的电源了:
2. ATMega8U2固件烧写与驱动安装
安裝好USBtinyISP驱动之后,首先要向ATMega8U2内写入相应的USB固件(firmware)。在Arduino-0022安装目录下的hardware\arduino\firmwares目录下,我们可以找到为Arduino UNO 编译好的USB固件文件UNO-dfu_and_usbserial_combined.hex。编译时需要调用avrdude,我们先从arduino 0022中找到avrdude的两个文件,avrdude.exe,avrdude.conf,如下图:
http://s2.sinaimg.cn/bmiddle/75ce4de1gc0465c5e2f51&690
把他们放入arduino-0022\hardware\arduino\firmwares文件夹下面
Arduino UNO上为ATMega8U2单片机也留出了ICSP接口,我们可以借助它来下载相应的USB固件,使用的工具是USBTinyISP。把tinyISP与8U2芯片上方的ICSP接口连接好。ICSP线的街头上,有一个小三角,那个指向的是1号口。板子上ICSP的1号口也都有标记,如图:
然后进入命令状态,进入arduino-0022\hardware\arduino\firmwares目录,输入命令:
avrdude -p at90usb82 -F -P usb -c usbtiny -U flash:w:UNO-dfu_and_usbserial_combined.hex
-U lfuse:w:0xFF:m -U hfuse:w:0xD9:m -U efuse:w:0xF4:m -U lock:w:0x0F:m
这段命令后半部分是设置熔丝位,熔丝低位ff,高位d9,扩展位f4,lock位0f。
完成以后我们就可以把uno的usb口连接电脑,测试是否下载成功(如果下载固件失败,很可能是ATmega8U2焊接失败)。
在win7下连接后,会提示找到新硬件
因为系统驱动中没有包含,所以会提示安装失败,不要紧。
这时进入控制面板中的系统
在有感叹号的uno上点右键,选择更新驱动。
然后选择手工查找驱动
选择驱动目录,默认是在arduino-0022\drivers目录下。
提示不用管,安装就可以。
3. ATmega328芯片bootloader的烧写
用6芯的连接线将USBtinyISP和Arduino上的ICSP座连接起来:
注意由于Arduino的ICSP座并没有设计反插反的座,你需要6芯连接线上带三角形的那一位是对应于ICSP座上的“1”:
硬件连接好之后,此时可以打开Arduino的IDE了。在菜单“Tools”->“Board”列表中选择好你的Arduino板子的型号 之后,就可以通过菜单“Tools”->“Burn Bootloader”->“w/ USBtinyISP”来下载Arduino的bootloader:
整个下载的过程中,USBtinyISP上红色的BUSY灯会一直亮着,表明其正在工作:
整个下载过程会持续一段时间,但速度与USBasp相比还是要快一些。下载完成之后,在Arduino IDE窗口中会显示“Done burning bootloader”:
4. 测试
到现在为止,板子已经全部好了,接下来将导入程序进行测试。拔掉USBtinyISP下载器,直接用USB连接板子。
可以看到工作指示灯亮。然后打开Arduino的IDE,在菜单“File”->“Example”->"Basics"->"Blink"。
在下载过程中,板子上的RX、TX灯会闪亮,下载完成后
黄色的灯L每隔一秒闪一次,表示调试成功了。
手机版|中文乐高 ( 桂ICP备13001575号-7 )
GMT+8, 2026-10-27 20:39 , Processed in 0.021097 second(s), 20 queries .
Powered by Discuz! X5.0
Copyright © 2001-2020, Tencent Cloud.