- 所需组件
- Atmega328的引脚图
- 组件说明
- 第1部分:在面包板上构建Arduino电路
- 第2部分:将Bootloader烧入Atmega328 IC
- 第3部分:如何对Arduino Bootloader进行编程,上传了Atmega 328
- 使用Arduino开发板对Atmega328芯片进行编程
- 使用USB到串行转换器对Arduino Atmega328芯片进行编程
众所周知,Arduino UNO板上使用了Atmega328 IC。该集成电路是Arduino开发板的大脑。实际上,Arduino设计师想为初学者制作一个方便的原型板,以便他们组织所有组件,使任何人都可以访问Atmega328 IC的所有引脚,并可以通过将其连接到计算机来对其进行编程。Arduino开发板在构建业余项目中非常受欢迎。但是在工业或消费产品中,使用完整的Arduino板并不是一个好主意,因此我们可以使用独立的Atmega328 IC,该IC可通过Arduino IDE进行编程,而无需使用Arduino板。
在本教程中,我们将看到如何用Atmega328 IC和少量其他组件替换Arduino板。为了使用Atmega328 IC代替arduino,我们首先必须在其中烧录Arduino Bootloader,然后再使用FTDI或Arduino Board对其进行编程。本教程还将帮助您从Arduino板上更换损坏的Atmega328 IC。同样,通过使用下面描述的电路,您可以通过将其复制到PCB上来构建自己的Arduino板。
所需组件
- Atmega 328 IC
- 面包板
- LM7805
- 16 MHz晶振
- 22pF陶瓷电容器(2)
- 10uF电容器(2)
- 10 K电阻
- 1K电阻
- 跳线
或者,您也可以使用3.3v稳压器LM1117-3.3v在电路中包括3.3v电源轨。
Atmega328的引脚图
组件说明
电源部分
- 5V稳压器: Atmega 328 IC使用5V电源供电。因此,在这里,我们使用LM7805获得5v输出,它可以处理高达30V的输入。如果您有单独的5V电源,则可以离开此步骤。
- 电容器:在7805的输入和输出部分使用10uF电容器将任何交流分量旁路到地。
- LED:这将告诉您5V输出即将到来。
单片机部分
- Atmega 328:这是面包板上的主要组件。上面给出了其引脚图。
- 晶体振荡器: ATmega328的引脚9和引脚10之间连接了一个16MHz的外部晶体。该晶体用于为微控制器提供时钟,以更快地执行任务。
- 按钮:要复位微控制器,请在引脚1和GND之间连接一个按钮。通常,它使用10k电阻与5v连接。
- LED:LED与数字引脚13连接。
完整的教程分为三个部分,以使您自己的Arduino在面包板上运行:
- 在面包板上构建Arduino电路
- 将Bootloader烧入Atmega328 IC
- 如何编程Arduino Bootloader在面包板上上传了Atmega 328 IC。
现在,我们将逐一解释每个部分。
第1部分:在面包板上构建Arduino电路
步骤1: 按照电路图所示连接电源部分,并使用外部电源对LM7805进行测试。它看起来像这样。
步骤2:- 现在,按照电路图所示连接微处理器部分。仔细进行连接。
步骤3:- 现在,使用跳线连接电源和微控制器部分。您的最终电路将如下所示。
因此,这是我们的面包板上的Arduino。您可以使用EasyEDA等简单工具在PCB上实现同一电路。现在,我们必须将引导加载程序上载到新的Atmega 328 IC,以便我们可以开始对该IC进行编程。
第2部分:将Bootloader烧入Atmega328 IC
什么是引导加载程序,为什么我们需要它?
引导加载程序是永久存储在微控制器内存中的一小段可执行代码。这占用不到1Kb的内存。引导加载程序允许IC接受来自计算机的代码,并将其放入微控制器的存储器中。
传统上,Atmel的所有微控制器都是在程序员的帮助下进行编程的,这些程序员之间存在一些联系。引导加载程序降低了复杂性,并允许我们以简单有效的方式对微控制器进行编程。这意味着您可以仅使用USB电缆对其进行编程。
从市场上购买新的Atmega 328时,其中没有引导程序。因此,要使用Arduino IDE编程Atmega328,您必须首先上传引导程序。
要上传Bootloader,我们有两种方法:
- 使用USBasp编程器
- 使用Arduino UNO开发板
与第一种方法相比,第二种方法更容易。因为它需要较少的连接,并且Arduino IDE的最新版本也不支持高级USBasp程序员。
因此,在本教程中,我们将使用Arduino Uno board上传引导程序。
在Atmega328芯片中上传Arduino Bootloader
步骤1:-打开Arduino IDE。转到 文件->示例-> ArduinoISP 。比选择ArduinoISP。如下所示。
步骤2:-现在,您必须将此代码上传到Arduino开发板。从工具菜单中选择COM端口和开发板,然后点击上载按钮。
步骤3:- 完成上传 后,从计算机上断开Arduino板的连接,并与Atmega 328进行Arduino板的连接,如下图所示。
步骤4:-现在,将Arduino开发板与计算机连接。打开Arduino IDE。
转到工具,选择板为Arduino / Genuine Uno,为您的板选择正确的端口。选择Programmer作为“ Arduino as ISP”。不要将其与ArduinoISP混淆。两者是不同的。
步骤5:-现在,再次转到“ 工具” ,然后单击Programmer选项下方的Burn Bootloader。几秒钟后,引导加载程序成功上传。如果上传有任何错误,请检查连接。
观看下面的视频,了解上面说明的在Atmega 328 IC中上传Bootloader的步骤。
您的 面包板Arduino 准备好用作真正的Arduino板。现在,出现了如何编程Atmega 328 IC的问题?我们将在下一节中讨论。
第3部分:如何对Arduino Bootloader进行编程,上传了Atmega 328
独立的Arduino Atmega328芯片可以通过多种方式进行编程。
- 使用空白的Arduino板,即其中没有Atmega 328 IC的Arduino板。
- 使用USB到串行TTL转换器模块(FTDI模块)。
- 使用USBasp编程器(涉及许多连接)。
在这里,我们将使用两种方法对其进行编程:USB到串行转换器和Arduino板。
使用Arduino开发板对Atmega328芯片进行编程
步骤1:-拿一块没有Atmega328芯片的Arduino板。如下图所示,将Arduino板与 面包板Arduino 进行连接。
步骤2:-将Arduino开发板与计算机连接并打开Arduino IDE。从“ 工具” ,“编程器”中的“板”菜单中选择“ Arduino Uno”作为USBasp,并更正板的com端口。
步骤3:-我们将从上传Blink程序开始。因此,从“示例”中选择闪烁程序,然后单击“上载”按钮。
现在,您可以看到面包板上的led将开始闪烁。
使用USB到串行转换器对Arduino Atmega328芯片进行编程
步骤1:-如果您没有Arduino开发板。这是对 面包板Arduino 进行编程的最佳方法。
进行如下连接:
FTDI的RXD引脚-> Atmega328的Tx引脚(引脚3)
FTDI的TXD引脚-> Atmega328的Rx引脚(引脚2)
GND-> GND(引脚8)
5v-> Vcc(引脚7)
某些FTDI模块具有复位引脚,也称为DTR引脚,该引脚需要与Atmega328的复位引脚(引脚1)连接。如果模块中没有复位引脚,请不要担心,我们在对芯片进行编程时会给出解决方案。
步骤2:-现在,将FTDI与计算机连接,然后在控制面板中打开设备管理器。您将看到端口部分,展开它。如果驱动程序前面有一个黄色标记,则必须更新模块驱动程序。
如果没有标记,请记下com端口号并打开Arduino IDE。转到 工具->端口->选择 您已记下的com。
步骤3:-现在,我们将把闪烁程序上传到我们的 Breadboard Arduino上 。转到 文件->示例->基础->闪烁 。从工具中的板菜单中选择Arduino Uno,将编程器设置为USBasp并选择板的正确com端口。
然后点击上传按钮。
注意:如果您的FTDI模块没有DTR引脚,则按试验板上的Reset(重置)按钮,然后单击Upload(上载)按钮。如果显示“正在编译草图”,请保持按下状态,并在显示“正在上传…”后立即释放按钮。
现在,该程序将成功上载到Arduino Bootloader Atmega328芯片中。
以下是在不使用Arduino板的情况下对Atmega 328 IC进行编程的视频:
我们已经完成了DIY面包板Arduino电路。您可以在PCB上设计该电路以使其更紧凑。