ARDUINOuno原理与资料简介
Arduino Uno开发板——以ATmega328 MCU控制器为基础——具备14路数字输入/输出引脚(其中6路可用于PWM输出)、6路模拟输入、一个16MHz陶瓷谐振器、一个USB接口、一个电源插座、一个ICSP接头和一个复位按钮。它采用Atmega16U2芯片进行USB到串行数据的转换。Uno PCB的最大长度和宽度分别为2.7和2.1英寸,USB连接器和电源插座超出了以前的尺寸。4个螺丝孔让电路板能够附着在表面或外壳上。请注意,数字引脚7和8之间的距离是160密耳(0.16),不是其他引脚间距(100密耳)的偶数倍。它包含了组成微控制器的所有结构,同时,只需要一条USB数据线连接至电脑。目前,Arduino Uno已成为Arduino主推的产品。
Arduino Uno
ATmega328具有32 KB闪存(其中0.5 KB被启动加载器占用)。它还具有2KB SRAM和1KB EEPROM(可以利用EEPROM库读取和写入)。
Arduino Uno可通过USB连接或者外部电源供电。外部(非USB)电源可以是AC-DC适配器,也可以是电池。通过将2.1mm中心正极插头插入电路板的电源插座即可连接适配器。电池的引线可插入电源连接器的Gnd和Vin排针。电路板可由6~20V外部电源供电。然而,如果电源电压低于7V,那么5V引脚可能会提供低于5V的电压,电路板也许会不稳定。如果电源电压超过12V,稳压器可能会过热,从而损坏电路板。电压范围建议为7~12V。电源引脚如下:
· VIN. 使用外部电源时Arduino板的输入电压(与通过USB连接或其它稳压电源提供的5V电压相对)。可以通过该引脚提供电压,或者如果通过电源插座提供电压,则可通过该引脚使用它。
· 5V. 该引脚通过电路板上的稳压器输出5V电压。电路板可由DC电源插座(7-12V)、USB连接器(5V)或电路板的VIN引脚(7-12V)供电。通过5V或3.3V引脚供电会旁路稳压器,从而损坏电路板。我们不建议如此。
· 3V3. 板载稳压器产生的3.3V电源。最大电流消耗为50 mA。
· GND. 接地引脚。
· IOREF. Arduino板上的该引脚提供微控制器的工作电压参考。配置得当的盾板可以读取IOREF引脚电压,选择合适的电源或者启动输出上的电压转换器以便在5V或3.3V电压下运行。
利用pinMode()、digitalWrite()和digitalRead()功能,Uno上的14个数字引脚都可用作输入或输出。它们的工作电压为5V。每个引脚都可以提供或接受最高40 mA的电流,都有1个20-50 kΩ的内部上拉电阻器(默认情况下断开)。此外,某些引脚还具有特殊功能:· 串口:0(RX)和1(TX)。用于接收(RX)和发送(TX)TTL串口数据。这些引脚与ATmega8U2 USB转TTL串口芯片的相应引脚相连。
· 外部中断:2和3。这些引脚可以配置成在低值、上升或下降沿或者数值变化时触发中断。详情请参照attachInterrupt()功能。
· PWM:10和11。为8位PWM输出提供analogWrite()功能。
· SPI:10(SS)、11(MOSI)、12(MISO)、13(SCK)。这些引脚支持利用SPI库进行SPI通信。
· LED:13。有1个内置式LED连至数字引脚13。在引脚为高值时,LED打开;引脚为低值时,LED关闭。Uno有6个模拟输入,编号为A0至A5,每个模拟输入都提供10位的分辨率(即1024个不同的数值)。默认情况下,它们的电压为0~5V,虽然可以利用AREF引脚和analogReference()功能改变其范围的上限值。此外,某些引脚还具有特殊功能:
· TWI:A4或SDA引脚和A5或SCL引脚。支持通过线库实现TWI通信。电路板上还有另外2个引脚:
· AREF. 模拟输入的参考电压。与analogReference()一起使用。
为什么芯片上有参考电压还需电源电压?
电源电压一般是给芯片供电用的,要求电压稳定,电流充足。
参考电压一般是给芯片特定功能模块提供的,比如模数转换模块就需要一个转换参考电压(可能和电源电压不同),还有可能芯片包含了其他模拟电路,需要其他的电压值。
如果芯片所需的参考电压和电源电压相同,可以通过隔离器(电感之类的元件)也连接到电源电压上。
· Reset. 降低线路值以复位微控制器。通常用于为盾板添加复位按钮。
Arduino Uno有很多工具可供与计算机、另一个Arduino或其它微控制器通信之用。ATmega328提供了可在数字引脚0(RX)和1(TX)上进行的UART TTL(5V)串口通信。电路板上的ATmega16U2会通过USB进行该串行通信,在计算机上充当软件的虚拟通信端口。16U2固件采用标准USB COM驱动器,无需外部驱动器。然而,在Windows上,需要1个.inf文件。Arduino软件包含1个串行监控器,使得简单的文本数据能够发送到或者从Arduino板上发出。当通过USB转串口芯片和计算机的USB连接传输数据时,电路板上的RX和TX LED会闪烁(但不适于引脚0和1上的串行通信)。SoftwareSerial库可以在Uno的任何数字引脚上进行串行通信。ATmega328还支持I2C(TWI)和SPI通信。Arduino软件包含1个线库,可简化I2C总线的使用;至于SPI通信,则使用SPI库。
Arduino
可以利用Arduino软件(下载)给Arduino Uno编程。通过ToolsBoard菜单选择Arduino Uno(根据电路板上的微控制器)。Arduino Uno上的ATmega328预先烧录了启动加载器,从而无需使用外部硬件编程器即可将新代码上传给它。它利用原始的STK500协议进行通信。您还可以旁路启动加载器,利用Arduino ISP等通过ICSP(在线串行编程)头为微控制器编程。
简介
Arduino UNO是Arduino USB接口系列的最新版本,作为Arduino平台的参考标准模板。UNO的处理器核心是ATmega328,同时具有14路数字输入/输出口(其中6路可作为PWM输出),6路模拟输入,一个16MHz晶体振荡器,一个USB口,一个电源插座,一个ICSP header和一个复位按钮。UNO已经发布到第三版,与前两版相比有以下新的特点:
在AREF处增加了两个管脚SDA和SCL,支持I2C接口;增加IOREF和一个预留管脚,将来扩展板将能兼容5V和3.3V核心板。
改进了复位电路设计
USB接口芯片由ATmega16U2替代了ATmega8U2
概要
处理器 ATmega328
工作电压 5V
输入电压(推荐) 7-12V
输入电压(范围) 6-20V
数字IO脚 14 (其中6路作为PWM输出)
模拟输入脚 6
IO脚直流电流 40 mA
3.3V脚直流电流 50 mA
Flash Memory 32 KB (ATmega328,其中0.5 KB 用于 bootloader)
SRAM 2 KB (ATmega328)
EEPROM 1 KB (ATmega328)
工作时钟 16 MHz
电路图和PCB
所有的参考设计是基于Atmega8,168,or 328,他们的管脚是兼容的
电路图
硬件设计文件(Eagle文件)
电源
Arduino UNO可以通过3种方式供电,而且能自动选择供电方式
外部直流电源通过电源插座供电。
电池连接电源连接器的GND和VIN引脚。
USB接口直接供电。
电源引脚说明
VIN --- 当外部直流电源接入电源插座时,可以通过VIN向外部供电;也可以通过此引脚向UNO直接供电;VIN有电时将忽略从USB或者其他引脚接入的电源。
5V --- 通过稳压器或USB的5V电压,为UNO上的5V芯片供电。
3.3V --- 通过稳压器产生的3.3V电压,最大驱动电流50mA。
GND --- 地脚。
存储器
ATmega328包括了片上32KB Flash,其中0.5KB用于Bootloader。同时还有2KB SRAM和1KB EEPROM。
输入输出
14路数字输入输出口:工作电压为5V,每一路能输出和接入最大电流为40mA。每一路配置了20-50K欧姆内部上拉电阻(默认不连接)。除此之外,有些引脚有特定的功能
串口信号RX(0号)、TX(1号): 与内部 ATmega8U2 USB-to-TTL 芯片相连,提供TTL电压水平的串口接收信号。
外部中断(2号和3号):触发中断引脚,可设成上升沿、下降沿或同时触发。
脉冲宽度调制PWM(10 、11):提供6路8位PWM输出。
SPI(10(SS),11(MOSI),12(MISO),13(SCK)):SPI通信接口。
LED(13号):Arduino专门用于测试LED的保留接口,输出为高时点亮LED,反之输出为低时LED熄灭。
6路模拟输入A0到A5:每一路具有10位的分辨率(即输入有1024个不同值),默认输入信号范围为0到5V,可以通过AREF调整输入上限。除此之外,有些引脚有特定功能
TWI接口(SDA A4和SCL A5):支持通信接口(兼容I2C总线)。
AREF:模拟输入信号的参考电压。
Reset:信号为低时复位单片机芯片。
通信接口
串口:ATmega328内置的UART可以通过数字口0(RX)和1(TX)与外部实现串口通信;ATmega16U2可以访问数字口实现USB上的虚拟串口。
TWI(兼容I2C)接口:
SPI 接口:
下载程序
Arduino UNO上的ATmega328已经预置了bootloader程序,因此可以通过Arduino软件直接下载程序到UNO中,参见[[]]。
可以直接通过UNO上ICSP header直接下载程序到ATmega328,参见[[]]。
ATmega16U2的Firmware(固件)也可以通过DFU工具升级,参见[[]]。
物理特征
Arduino UNO的最大尺寸为2.7 x 2.1 inches。
注意要点
Arduino UNO上USB口附近有一个可重置的保险丝,对电路起到保护作用。当电流超过500mA是会断开USB连接。
Arduino UNO提供了自动复位设计,可以通过主机复位。这样通过Arduino软件下在程序到UNO中软件可以自动复位,不需要在复位按钮。在印制板上丝印RESET EN处可以使能和禁止该功能。
扩展阅读
The UNO is the best board to get started with electronics and coding. If this is your first experience tinkering with the platform, the UNO is the most robust board you can start playing with. The UNO is the most used and documented board of the whole Arduino family.
OVERVIEW
TECH SPECS
DOCUMENTATION
Arduino Unois a microcontroller board based on the ATmega328P (datasheet). It has 14 digital input/output pins (of which 6 can be used as PWM outputs), 6 analog inputs, a 16 MHz quartz crystal, a USB connection, a power jack, an ICSP header and a reset button. It contains everything needed to support the microcontroller; simply connect it to a computer with a USB cable or power it with a AC-to-DC adapter or battery to get started.. You can tinker with your UNO without worring too much about doing something wrong, worst case scenario you can replace the chip for a few dollars and start over again.
Uno means one in Italian and was chosen to mark the release of Arduino Software (IDE) 1.0. The Uno board and version 1.0 of Arduino Software (IDE) were the reference versions of Arduino, now evolved to newer releases. The Uno board is the first in a series of USB Arduino boards, and the reference model for the Arduino platform; for an extensive list of current, past or outdated boards see the Arduino index of boards.
You can findhereyour board warranty informations.
Getting Started
You can find in theGetting Started sectionall the information you need to configure your board, use the Arduino Software (IDE), and start tinker with coding and electronics.
Need Help?
On the Softwareon the Arduino Forum
On Projectson the Arduino Forum
On the Product itself throughour Customer Support
OSH: Schematics
Arduino Uno is open-source hardware! You can build your own board using the following files:
EAGLE FILES IN .ZIPSCHEMATICS IN .PDFBOARD SIZE IN .DXF
Programming
The Arduino Uno can be programmed with the (Arduino Software(IDE)). Select Arduino/Genuino Uno from the ToolsBoard menu (according to the microcontroller on your board). For details, see thereferenceandtutorials.
The ATmega328 on the Arduino Uno comes preprogrammed with abootloaderthat allows you to upload new code to it without the use of an external hardware programmer. It communicates using the original STK500 protocol (reference,C header files).
You can also bypass the bootloader and program the microcontroller through the ICSP (In-Circuit Serial Programming) header usingArduino ISPor similar; seethese instructionsfor details.
The ATmega16U2 (or 8U2 in the rev1 and rev2 boards) firmware source code is available in the Arduino repository. The ATmega16U2/8U2 is loaded with a DFU bootloader, which can be activated by:
On Rev1 boards: connecting the solder jumper on the back of the board (near the map of Italy) and then rese ing the 8U2.
On Rev2 or later boards: there is a resistor that pulling the 8U2/16U2 HWB line to ground, making it easier to put into DFU mode.
You can then useAtmels FLIP software(Windows) or theDFU programmer(Mac OS X and Linux) to load a new firmware. Or you can use the ISP header with an external programmer (overwriting the DFU bootloader). Seethis user-contributed tutorialfor more information.
Warnings
The Arduino Uno has a resettable polyfuse that protects your computers USB ports from shorts and overcurrent. Although most computers provide their own internal protection, the fuse provides an extra layer of protection. If more than 500 mA is applied to the USB port, the fuse will automatically break the connection until the short or overload is removed.
Differences with other boards
The Uno differs from all preceding boards in that it does not use the FTDI USB-to-serial driver chip. Instead, it features the Atmega16U2 (Atmega8U2 up to version R2) programmed as a USB-to-serial converter.
Power
The Arduino Uno board can be powered via the USB connection or with an external power supply. The power source is selected automatically.
External (non-USB) power can come either from an AC-to-DC adapter (wall-wart) or battery. The adapter can be connected by plugging a 2.1mm center-positive plug into the boards power jack. Leads from a battery can be inserted in the GND and Vin pin headers of the POWER connector.
The board can operate on an external supply from 6 to 20 volts. If supplied with less than 7V, however, the 5V pin may supply less than five volts and the board may become unstable. If using more than 12V, the voltage regulator may overheat and damage the board. The recommended range is 7 to 12 volts.
The power pins are as follows:
Vin. The input voltage to the Arduino/Genuino board when its using an external power source (as opposed to 5 volts from the USB connection or other regulated power source). You can supply voltage through this pin, or, if supplying voltage via the power jack, access it through this pin.
5V.This pin outputs a regulated 5V from the regulator on the board. The board can be supplied with power either from the DC power jack (7 - 12V), the USB connector (5V), or the VIN pin of the board (7-12V). Supplying voltage via the 5V or 3.3V pins bypasses the regulator, and can damage your board. We dont advise it.
3V3. A 3.3 volt supply generated by the on-board regulator. Maximum current draw is 50 mA.
GND. Ground pins.
IOREF. This pin on the Arduino/Genuino board provides the voltage reference with which the microcontroller operates. A properly configured shield can read the IOREF pin voltage and select the appropriate power source or enable voltage translators on the outputs to work with the 5V or 3.3V.
Memory
The ATmega328 has 32 KB (with 0.5 KB occupied by the bootloader). It also has 2 KB of SRAM and 1 KB of EEPROM (which can be read and written with theEEPROM library).
Input and Output
See the mapping between Arduino pins and ATmega328P ports. The mapping for the Atmega8, 168, and 328 is identical.
PIN MAPPING ATmega328P
Each of the 14 digital pins on the Uno can be used as an input or output, usingpinMode(),digitalWrite(), anddigitalRead()functions. They operate at 5 volts. Each pin can provide or receive 20 mA as recommended operating condition and has an internal pull-up resistor (disconnected by default) of 20-50k ohm. A maximum of 40mA is the value that must not be exceeded on any I/O pin to avoid permanent damage to the microcontroller.
In addition, some pins have specialized functions:
Serial: 0 (RX) and 1 (TX). Used to receive (RX) and transmit (TX) TTL serial data. These pins are connected to the corresponding pins of the ATmega8U2 USB-to-TTL Serial chip.
External Interrupts: 2 and 3. These pins can be configured to trigger an interrupt on a low value, a rising or falling edge, or a change in value. See the attachInterrupt() function for details.
PWM: 3, 5, 6, 9, 10, and 11. Provide 8-bit PWM output with the analogWrite() function.
SPI: 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK). These pins support SPI communication using the SPI library.
LED: 13. There is a built-in LED driven by digital pin 13. When the pin is HIGH value, the LED is on, when the pin is LOW, its off.
TWI: A4 or SDA pin and A5 or SCL pin. Support TWI communication using the Wire library.
The Uno has 6 analog inputs, labeled A0 through A5, each of which provide 10 bits of resolution (i.e. 1024 different values). By default they measure from ground to 5 volts, though is it possible to change the upper end of their range using the AREF pin and the analogReference() function. There are a couple of other pins on the board:
AREF. Reference voltage for the analog inputs. Used with analogReference().
Reset. Bring this line LOW to reset the microcontroller. Typically used to add a reset button to shields which block the one on the board.
Communication
Arduino/Genuino Uno has a number of facilities for communicating with a computer, another Arduino/Genuino board, or other microcontrollers. The ATmega328 provides UART TTL (5V) serial communication, which is available on digital pins 0 (RX) and 1 (TX). An ATmega16U2 on the board channels this serial communication over USB and appears as a virtual com port to software on the computer. The 16U2 firmware uses the standard USB COM drivers, and no external driver is needed. However,on Windows, a .inf file is required. The Arduino Software (IDE) includes a serial monitor which allows simple textual data to be sent to and from the board. The RX and TX LEDs on the board will flash when data is being transmitted via the USB-to-serial chip and USB connection to the computer (but not for serial communication on pins 0 and 1).
ASoftwareSerial libraryallows serial communication on any of the Unos digital pins.
The ATmega328 also supports I2C (TWI) and SPI communication. The Arduino Software (IDE) includes a Wire library to simplify use of the I2C bus; see thedocumentationfor details. For SPI communication, use theSPI library.
Automatic (Software) Reset
Rather than requiring a physical press of the reset button before an upload, the Arduino/Genuino Uno board is designed in a way that allows it to be reset by software running on a connected computer. One of the hardware flow control lines (DTR) of the ATmega8U2/16U2 is connected to the reset line of the ATmega328 via a 100 nanofarad capacitor. When this line is asserted (taken low), the reset line drops long enough to reset the chip. The Arduino Software (IDE) uses this capability to allow you to upload code by simply pressing the upload button in the interface toolbar. This means that the bootloader can have a shorter timeout, as the lowering of DTR can be well-coordinated with the start of the upload.
This setup has other implications. When the Uno is connected to either a computer running Mac OS X or Linux, it resets each time a connection is made to it from software (via USB). For the following half-second or so, the bootloader is running on the Uno. While it is programmed to ignore malformed data (i.e. anything besides an upload of new code), it will intercept the first few bytes of data sent to the board after a connection is opened. If a sketch running on the board receives one-time configuration or other data when it first starts, make sure that the software with which it communicates waits a second after opening the connection and before sending this data.
The Uno board contains a trace that can be cut to disable the auto-reset. The pads on either side of the trace can be soldered together to re-enable it. Its labeled RESET-EN. You may also be able to disable the auto-reset by connecting a 110 ohm resistor from 5V to the reset line; seethis forum threadfor details.
Revisions
Revision 3 of the board has the following new features:
1.0 pinout: added SDA and SCL pins that are near to the AREF pin and two other new pins placed near to the RESET pin, the IOREF that allow the shields to adapt to the voltage provided from the board. In future, shields will be compatible with both the board that uses the AVR, which operates with 5V and with the Arduino Due that operates with 3.3V. The second one is a not connected pin, that is reserved for future purposes.
Stronger RESET circuit.
Atmega 16U2 replace the 8U2.
ATmega168/328P-Arduino Pin Mapping
Note that this chart is for the DIP-package chip. The Arduino Mini is based upon a smaller physical IC package that includes two extra ADC pins, which are not available in the DIP-package Arduino implementations.
Arduino UNO硬件介绍
这一章会对照开发板简单讲解一下硬件原理图,如果你想深入了解硬件原理图,这里附上官网的PDF版。下图是一张原理图和开发板的概览图:
Arduino UNO是Arduino USB接口系列的最新版本,作为Arduino平台的参考标准模板。UNO的处理器核心是ATmega328,同时具有14路数字输入/输出口(其中6路可作为PWM输出),6路模拟输入,一个16MHz晶体振荡器,一个USB口,一个电源插座,一个ICSP header和一个复位按钮。
特性:
处理器 ATmega328
工作电压 5V
输入电压(推荐) 7-12V
输入电压(范围) 6-20V
数字IO脚 14 (其中6路作为PWM输出)
模拟输入脚 6
IO脚直流电流 40 mA
3.3V脚直流电流 50 mA
Flash Memory 32 KB (ATmega328,其中0.5 KB 用于 bootloader)
SRAM 2 KB (ATmega328)
EEPROM 1 KB (ATmega328)
工作时钟 16 MHz
原理图:
工程文件见下:
本工程文件包括原理图、PCB文件、说明文档
Arduino UNO.zip
注意:本工程文件均为DesignSpark PCB支持格式,用DesignSpark PCB可打开原理图和PCB文件。
Arduino DIY 必备:10种Arduino板原理图及PCB文件
Arduino是当下一款十分火爆的开源开发板,很多人都在使用Arduino开发板来开发有趣的、创意的产品原型。自己动手的DIY一块Arduino的开发板,是不是更带劲?想要DIY Arduino开发板,肯定绕不过电路图和PCB图了,特地收集汇总了10款Arduino开发板以及扩展板的电路原理图和PCB工程文件,方便大家自己动手DIY,资料收集不易,且看且珍惜!
Arduino万能板:
|ARDUINOuno原理与资料简介
arduino ARDUINOuno原理与资料简介 电脑