Arduino uno的制作与调试Word文档格式.docx

上传人:b****6 文档编号:17980345 上传时间:2022-12-12 格式:DOCX 页数:24 大小:3.86MB
下载 相关 举报
Arduino uno的制作与调试Word文档格式.docx_第1页
第1页 / 共24页
Arduino uno的制作与调试Word文档格式.docx_第2页
第2页 / 共24页
Arduino uno的制作与调试Word文档格式.docx_第3页
第3页 / 共24页
Arduino uno的制作与调试Word文档格式.docx_第4页
第4页 / 共24页
Arduino uno的制作与调试Word文档格式.docx_第5页
第5页 / 共24页
点击查看更多>>
下载资源
资源描述

Arduino uno的制作与调试Word文档格式.docx

《Arduino uno的制作与调试Word文档格式.docx》由会员分享,可在线阅读,更多相关《Arduino uno的制作与调试Word文档格式.docx(24页珍藏版)》请在冰豆网上搜索。

Arduino uno的制作与调试Word文档格式.docx

这块板子中还是有存在一些比较难焊的地方。

1)芯片ATmega8U2

ArduinoUNO与之前Arduino2009版本的最大不同在于USB转串口部分,Arduino2009采用的是FTDI专用芯片FT232RL,而ArduinoUNO采用的是用一块ATmega8U2模拟出串口的做法。

这一改动着实带来了不小的麻烦,第一是该方案所采用的ATmega8U2芯片基本上在市场上很难找到,另外一点就是该芯片的封装加大了焊接的难度和成本。

芯片ATmega8U2的封装很小,而且它芯片的外面没有引脚,可以看到的是它的焊盘非常的小。

焊接方法为:

在各个焊盘上滴上锡,完了后检查一下有没有焊盘连接在一起的,然后用镊子夹住芯片ATmega8U2,小心的对准位置,对准后用镊子压住芯片,用电烙铁在一边的周围滑动加热,使得焊盘上的锡熔化,则芯片的引脚就焊在了焊盘上,同样的,其他三边也这样。

焊完之后用万用表检查一下。

2)贴片晶振及其他的贴片元器件

因为左手是拿镊子夹住器件对准位置,右手拿电烙铁,所以没有另外的手来添加焊锡。

这时就需要先在对应的一个焊盘上滴一点焊锡,再将器件对准位置,用电烙铁在上面加热,焊锡熔化就与元器件连接在一起,在焊接另外一个焊盘。

焊接完成后如图4所示。

再用万用表检查各个焊点。

图4Arduinounorev1

2、原理图分析

1.外接电源输入部分

ArduinoUNO可以使用外接电源进行输入,A是电源输入口,电源的输入的范围为7V到12V.。

图5中B是二极管,二极管的特性是单向导通。

使用二极管的目的是:

即使电源输入的正反极性反转,也不会烧毁线路板上的元器件。

C是稳压管,把输入电压稳定在5V。

由于C器件的输入和输出间需要一定的压差,所以A的输入电压不能低于7V。

另外,如果A的输入电压过高,会使得器件C输入和输出电压差过大,从而使得C因为温度过高也烧毁。

用户在使用外接电源输入时,请把输入电源的电压范围控制在7V到12V之间。

原则上,越靠近7V越好。

图5外接电源输入部分

2.USB电源输入部分

ArduinoUNO也可以使用USB口直接供电。

图6中A是USB接头,可以给ArduinoUNO提供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处于导通状态,此时,ArduinoUNO由USB口进行供电。

器件F是线性稳压器,负责把5V电源转变成3V电源,该器件能给ArduinoUNO提供大约50mA的电流。

图6USB电源输入部分

3.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。

3、Arduinouno板子的调试

1.USBtinyISP的驱动安装

Arduinouno的调试用到工具官方支持下载线USBtinyISP。

USBtinyISP也是一款为AVR单片机设计的基于USB接口的ISP下载线,使用它可以为大部分AVR单片机下载程序。

在ArduinoIDE中,USBtinyISP是一直被支持的下载线,用来下载其bootloader,与之前使用的USBasp下载线相比,使用起来更加简单。

首先下载USBtinyISP驱动程序,将其解压缩到硬盘上备用。

将下载线通过USB线连接到计算机后,系统会提示找到相应的硬件:

在随后出现的“找到新的硬件向导”对话框中,选“否,暂时不”,然后单击“下一步”按钮:

在随后出现的对话框中,选“从列表或指定位置安装(高级)”,然后单击“下一步”按钮:

接着指定之前解压缩开的驱动文件所在的目录:

单击“下一步”按钮之后,系统就开始安装USBtinyISP所需要的驱动文件:

最后单击“完成”按钮,就大功告成了:

此时在系统的硬件管理器中,我们能够找到“USBtinyISPAVRProgrammer”,表明该下载线已经可以使用了:

USBtinyISP在设计的时候,设置了相应的跳线来为单片机供电。

在为Arduino下载bootloader的时候,我们需要将该跳线短路,这样就不需要再为Arduino提供额外的电源了:

2.ATMega8U2固件烧写与驱动安装

安裝好USBtinyISP驱动之后,首先要向ATMega8U2内写入相应的USB固件(firmware)。

在Arduino-0022安装目录下的hardware\arduino\firmwares目录下,我们可以找到为ArduinoUNO编译好的USB固件文件UNO-dfu_and_usbserial_combined.hex。

编译时需要调用avrdude,我们先从arduino0022中找到avrdude的两个文件,avrdude.exe,avrdude.conf,如下图:

把他们放入arduino-0022\hardware\arduino\firmwares文件夹下面

ArduinoUNO上为ATMega8U2单片机也留出了ICSP接口,我们可以借助它来下载相应的USB固件,使用的工具是USBTinyISP。

把tinyISP与8U2芯片上方的ICSP接口连接好。

ICSP线的街头上,有一个小三角,那个指向的是1号口。

板子上ICSP的1号口也都有标记,如图:

然后进入命令状态,进入arduino-0022\hardware\arduino\firmwares目录,输入命令:

avrdude-pat90usb82-F-Pusb-cusbtiny-Uflash:

w:

UNO-dfu_and_usbserial_combined.hex

-Ulfuse:

0xFF:

m-Uhfuse:

0xD9:

m-Uefuse:

0xF4:

m-Ulock:

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”->

“BurnBootloader”->

“w/USBtinyISP”来下载Arduino的bootloader:

整个下载的过程中,USBtinyISP上红色的BUSY灯会一直亮着,表明其正在工作:

整个下载过程会持续一段时间,但速度与USBasp相比还是要快一些。

下载完成之后,在ArduinoIDE窗口中会显示“Doneburningbootloader”:

4.测试

到现在为止,板子已经全部好了,接下来将导入程序进行测试。

拔掉USBtinyISP下载器,直接用USB连接板子。

可以看到工作指示灯亮。

然后打开Arduino的IDE,在菜单“File”->

“Example”->

"

Basics"

->

Blink"

然后点

把程序下载到板子里去。

在下载过程中,板子上的RX、TX灯会闪亮,下载完成后

黄色的灯L每隔一秒闪一次,表示调试成功了。

4、Arduinouno中常用的基本函数

1.结构

viodsetup()初始化变量、管脚模式、调用库函数等;

voidloop()连续执行函数内的语句。

2.功能

1)数字I/O

pinMode(pin,mode)数字IO口输入输出模式定义函数,pin表示为0~13,mode表示为INPUT或OUTPUT。

digitalWrite(pin,value)数字IO口输出电平定义函数,pin表示为0~13,value表示为HIGH或LOW。

比如定义HIGH可以驱动LED。

intdigitalRead(pin)数字IO口读输入电平函数,pin表示为0~13,value表示为HIGH或LOW。

比如可以读数字传感器。

2)模拟I/O

intanalogRead(pin)模拟IO口读函数,pin表示为0~5(ArduinoDiecimila为0~5,Arduinonano为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调速或音乐播放。

3)时间函数

delay(ms)延时函数(单位ms)。

delayMicroseconds(us)延时函数(单位us)。

4)数学函数

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)开根号

 

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工程科技 > 信息与通信

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1