首页 Arduino uno R1的制作

Arduino uno R1的制作

举报
开通vip

Arduino uno R1的制作Arduino uno的制作与调试 Arduino由一个基于单片机的开放源码的硬件平台和一套专的开发门环境组成。它可以用来开发交互产品,比如它可以读取大量的开关和传感器信号,并且可以控制各式各样的电灯、电机和其他物理设备。 经过两个星期的对三块Arduino uno板子的焊接与调试,我已经大概比较熟练的掌握了贴片元件及一些小芯片的焊接技术。现在我想讲讲Arduino uno rev1 这块板子的制作与调试过程。 焊接 由于Arduino uno rev1 的硬件是开源的,所以我们可以直接拿来...

Arduino uno R1的制作
Arduino uno的制作与调试 Arduino由一个基于单片机的开放源码的硬件平台和一套专的开发门环境组成。它可以用来开发交互产品,比如它可以读取大量的开关和传感器信号,并且可以控制各式各样的电灯、电机和其他物理设备。 经过两个星期的对三块Arduino uno板子的焊接与调试,我已经大概比较熟练的掌握了贴片元件及一些小芯片的焊接技术。现在我想讲讲Arduino uno rev1 这块板子的制作与调试过程。 焊接 由于Arduino uno rev1 的硬件是开源的,所以我们可以直接拿来用。 拿到PCB板(图1) 图1 Arduino uno rev1 PCB 根据元器件清单购置元器件 元器件清单如图2。 图2 元器件清单 焊接元器件 根据图3来焊接元器件。 图3 PCB焊接图 这里我想说说焊接的方法与技巧(供初学者参考)。这块板子中还是有存在一些比较难焊的地方。 芯片ATmega8U2 Arduino UNO与之前Arduino 2009版本的最大不同在于USB转串口部分,Arduino 2009采用的是FTDI专用芯片FT232RL,而Arduino UNO采用的是用一块ATmega8U2模拟出串口的做法。这一改动着实带来了不小的麻烦,第一是该 方案 气瓶 现场处置方案 .pdf气瓶 现场处置方案 .doc见习基地管理方案.doc关于群访事件的化解方案建筑工地扬尘治理专项方案下载 所采用的ATmega8U2芯片基本上在市场上很难找到,另外一点就是该芯片的封装加大了焊接的难度和成本。 芯片ATmega8U2的封装很小,而且它芯片的外面没有引脚,可以看到的是它的焊盘非常的小。焊接方法为:在各个焊盘上滴上锡,完了后检查一下有没有焊盘连接在一起的,然后用镊子夹住芯片ATmega8U2,小心的对准位置,对准后用镊子压住芯片,用电烙铁在一边的周围滑动加热,使得焊盘上的锡熔化,则芯片的引脚就焊在了焊盘上,同样的,其他三边也这样。焊完之后用万用 关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf 检查一下。 贴片晶振及其他的贴片元器件 因为左手是拿镊子夹住器件对准位置,右手拿电烙铁,所以没有另外的手来添加焊锡。这时就需要先在对应的一个焊盘上滴一点焊锡,再将器件对准位置,用电烙铁在上面加热,焊锡熔化就与元器件连接在一起,在焊接另外一个焊盘。 焊接完成后如图4所示。再用万用表检查各个焊点。 图4 Arduino uno rev1 原理图 分析 定性数据统计分析pdf销售业绩分析模板建筑结构震害分析销售进度分析表京东商城竞争战略分析 外接电源输入部分 Arduino UNO可以使用外接电源进行输入,A是电源输入口,电源的输入的范围为7V到12V.。图5中B是二极管,二极管的特性是单向导通。使用二极管的目的是:即使电源输入的正反极性反转,也不会烧毁线路板上的元器件。C是稳压管,把输入电压稳定在5V。由于C器件的输入和输出间需要一定的压差,所以A的输入电压不能低于7V。另外,如果A的输入电压过高,会使得器件C输入和输出电压差过大,从而使得C因为温度过高也烧毁。用户在使用外接电源输入时,请把输入电源的电压范围控制在7V到12V之间。原则上,越靠近7V越好。 图5 外接电源输入部分 USB电源输入部分 Arduino UNO也可以使用USB口直接供电。图6中A是USB接头,可以给Arduino UNO提供5V的电压。B是保险管,当UNO所需要的电流大于500mA的时候,该保险管会自动断开,以防止损坏电脑。图中C是10K的排阻,用来对上面提到的外接电源输入进行分压。当外接电源输入电压VIN大于7V时,D器件的第3脚由于电压高于D器件的第2脚(3.3V),所以D器件的第1脚输出高电平。器件E是PMOS,当D器件的第1脚输出高电平时,器件E处于截至状态,从而切断了USB接口的供电。当外接电源输入电压VIN小于6V时,D器件的第3脚由于电压低于D器件的第2脚(3.3V),所以D器件的第1脚输出低电平。器件E处于导通状态,此时,Arduino UNO由USB口进行供电。器件F是线性稳压器,负责把5V电源转变成3V电源,该器件能给Arduino UNO提供大约50mA的电流。 图6 USB电源输入部分 ATmega8U2/ATmega16U2 ATmega8U2和ATmega16U2是USB接口芯片,其特征包括: 1)8K/16K字节的Flash,支持自擦写功能。512字节EEPROM和512字节SRAM (8U和16U的不同处是Flash容量) 2)内置Boot-Loader功能。 3)支持USB全速,包含4个USB输入输出端口 4)包含内置晶振。 5)操作电压范围为2.7V到5.5V。2.7V时,最大工作频率是8MHz,4.5V时,最大工作频率是16MHz。 Arduino uno板子的调试 USBtinyISP的驱动安装 Arduino uno的调试用到工具官方支持下载线 USBtinyISP 。USBtinyISP也是一款 为AVR单片机设计的基于USB接口的ISP下载线,使用它可以为大部分AVR单片机下载程序。在Arduino IDE中,USBtinyISP是一直被支持的下载线,用来下载其bootloader,与之前使用的USBasp 下载线相比,使用起来更加简单。 首先下载USBtinyISP驱动程序,将其解压缩到硬盘上备用。将下载线通过USB线连接到计算机后,系统会提示找到相应的硬件: 在随后出现的“找到新的硬件向导”对话框中,选“否,暂时不”,然后单击“下一步”按钮: 在随后出现的对话框中,选“从列表或指定位置安装(高级)”,然后单击“下一步”按钮: 接着指定之前解压缩开的驱动文件所在的目录: 单击“下一步”按钮之后,系统就开始安装USBtinyISP所需要的驱动文件: 最后单击“完成”按钮,就大功告成了: 此时在系统的硬件管理器中,我们能够找到“USBtinyISP AVR Programmer”,表明该下载线已经可以使用了: USBtinyISP在设计的时候,设置了相应的跳线来为单片机供电。在为Arduino下载bootloader的时候,我们需要将该跳线短路,这样就不需要再为Arduino提供额外的电源了: 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,如下图: 把他们放入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目录下。 提示不用管,安装就可以。 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”: 测试 到现在为止,板子已经全部好了,接下来将导入程序进行测试。拔掉USBtinyISP下载器,直接用USB连接板子。 可以看到工作指示灯亮。然后打开Arduino的IDE,在菜单“File”->“Example”->"Basics"->"Blink"。 然后点把程序下载到板子里去。 在下载过程中,板子上的RX、TX灯会闪亮,下载完成后 黄色的灯L每隔一秒闪一次,表示调试成功了。 Arduino uno中常用的基本函数 结构 viod setup() 初始化变量、管脚模式、调用库函数等; void loop() 连续执行函数内的语句。 功能 数字I/O pinMode(pin, mode) 数字IO口输入输出模式定义函数,pin表示为0~13, mode表示为INPUT或OUTPUT。 digitalWrite(pin, value) 数字IO口输出电平定义函数,pin表示为0~13,value表示为HIGH或LOW。比如定义HIGH可以驱动LED。 int digitalRead(pin) 数字IO口读输入电平函数,pin表示为0~13,value表示为HIGH或LOW。比如可以读数字传感器。 模拟I/O int analogRead(pin) 模拟IO口读函数,pin表示为0~5(Arduino Diecimila为0~5,Arduino nano为0~7)。比如可以读模拟传感器(10位AD,0~5V表示为0~1023)。 analogWrite(pin, value) - PWM 数字IO口PWM输出函数,Arduino数字IO口标注了PWM癿IO口可使用该函数,pin表示3, 5, 6, 9, 10, 11,value表示为0~255。比如可用于电机PWM调速或音乐播放。 时间函数 delay(ms) 延时函数(单位ms)。 delayMicroseconds(us) 延时函数(单位us)。 数学 数学高考答题卡模板高考数学答题卡模板三年级数学混合运算测试卷数学作业设计案例新人教版八年级上数学教学计划 函数 min(x, y) 求最小值 max(x, y) 求最大值 abs(x) 计算绝对值 constrain(x, a, b) 约束函数,下限a,上限b,x必须在ab之间才能返回。 map(value, fromLow, fromHigh, toLow, toHigh) 约束函数,value必须在fromLow与toLow之间和fromHigh与toHigh之间。 pow(base, exponent) 开方函数,base的exponent次方。 sq(x) 平方 sqrt(x) 开根号
本文档为【Arduino uno R1的制作】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_476583
暂无简介~
格式:doc
大小:8MB
软件:Word
页数:24
分类:互联网
上传时间:2013-01-31
浏览量:78