如何在Atemga328 IC中刻录Arduino Bootloader

----国外课栈www.viadean.com
在这里插入图片描述

我们都知道,Atmega328 IC用于Arduino UNO板。这个IC是Arduino板的大脑。实际上,Arduino设计师希望为初学者制作一个方便的原型板,这样他们就可以组织所有组件,任何人都可以访问Atmega328 IC的所有引脚,只需将其连接到计算机即可对其进行编程。 Arduino板是非常受欢迎的爱好项目。但在工业或消费产品中使用完整的Arduino板并不是一个好主意,因此我们可以使用独立的Atmega328 IC,可以使用Arduino IDE进行编程,但不使用Arduino板。
在本教程中,我们将看到 如何用Atmega328 IC替换Arduino板 以及其他一些组件。要使用Atmega328 IC代替arduino,首先我们必须在其中刻录Arduino Bootloader,然后我们将使用FTDI或使用Arduino Board对其进行编程。本教程还将有助于从Arduino板更换损坏的Atmega328 IC。此外,通过使用下面描述的电路,您可以来 构建自己的Arduino板在PCB上复制它。
所需组件
Atmega 328 IC
面包板
LM7805
16 MHz晶体
22pF陶瓷电容器(2)
10uF电容器(2)
10 K电阻器
1k电阻器
跳线
选择性地,您还可以使用3.3v稳压器LM1117-3.3v在电路中包含3.3v电压轨。
Atmega328的引脚图
在这里插入图片描述

电路图电路图
复制面板上的Arduino如下:
在这里插入图片描述
组件说明
电源部分 -
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
什么是bootloader以及我们为什么需要它?
Bootloader是一小段可执行代码,永久存储在微控制器的内存中。这占用不到1Kb的内存。 Bootloader允许IC接受来自计算机的代码并将其放入微控制器的存储器中。
传统上,Atmel的所有微控制器都是在程序员的帮助下编程的,这些程序员有一些奇特的连接。 Bootloader降低了复杂性,使我们能够以简单有效的方式对微控制器进行编程。这意味着 您只需使用USB电缆即可对其进行编程。
当您从市场上购买新的Atmega 328时,它没有引导程序。因此,要使用Arduino IDE对Atmega328进行编程,首先必须上传引导加载程序。
要上传Bootloader,我们有两种方法:
使用USBasp编程器
使用Arduino UNO板
与第一种方法相比,第二种方法更容易。因为它需要较少的连接,并且最新版本的Arduino IDE不支持花哨的USBasp程序员。
因此, 在本教程中,我们将使用Arduino Uno板上传bootloader。
在Atmega328芯片上传Arduino Bootloader
步骤1: - 打开Arduino IDE。转到 文件 - >示例 - > ArduinoISP。比选择ArduinoISP。如下所示。
在这里插入图片描述

第2步: - 现在,您必须将此代码上传到Arduino板。从工具菜单中选择com端口和板,然后点击上传按钮。
步骤3: - “完成上传”后,断开Arduino板与计算机的连接,并将Arduino板与Atmega 328连接,如下图所示。
在这里插入图片描述
步骤4: - 现在,将Arduino板与计算机连接。打开Arduino IDE。
转到 工具 ,选择板 作为Arduino / Genuine Uno,选择正确的 端口 为您的板。选择 Programmer作为“Arduino as ISP”。不要将它与ArduinoISP混淆。两者都不同。
在这里插入图片描述
步骤5: - 现在,转到 Tools 再次并单击 Burn Bootloader Programmer选项下方的。几秒钟后,bootloader成功上传。如果上传时出现任何错误,请检查连接。

在这里插入图片描述
您的 面包板Arduino 已准备好作为真正的Arduino板工作。现在,问题是如何编程Atmega 328 IC?我们将在下一节讨论。
第3部分:如何编程Arduino Bootloader上传Atmega 328 IC
独立Arduino Atmega328芯片可以通过多种方式进行编程。
使用空白Arduino板,即没有Atmega 328 IC的Arduino板。
使用USB转串口TTL转换器模块(FTDI模块)。
使用USBasp编程器(涉及许多连接)。
在这里插入图片描述
在这里,我们将使用两种方法对其进行编程:USB转串口转换器和Arduino板。
使用Arduino板编程Atmega328芯片
步骤1: - 使用不带Atmega328芯片的Arduino板。将Arduino板与我们的连接起来, 面包板Arduino 如下图所示。
在这里插入图片描述
步骤2: - 将Arduino板与计算机连接,然后打开Arduino IDE。从Board菜单中选择Arduino Uno Tools,Programmer中的作为USBasp并更正电路板的com端口。
第3步: - 我们将从上传Blink程序开始。因此,从Examples中选择blink程序,然后点击Upload按钮。
在这里插入图片描述
现在,你可以看到面包板上的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与计算机连接,然后打开 设备管理器 在控制面板中。您将看到Port部分,展开它。如果驱动程序前面有黄色标记,则必须更新模块驱动程序。
在这里插入图片描述
如果没有标记,请记下com端口号并打开Arduino IDE。转到 工具 - >端口 - >选择 您注意到的com。
第3步: - 现在,我们将上传blink程序到我们的 Breadboard Arduino。转到 文件 - >示例 - >基础 - >闪烁。从工具板上的菜单中选择Arduino Uno,用USBasp选择Programmer,并更正板的com端口。
然后点击上传按钮。
注意:如果您的FTDI模块没有DTR引脚,则按面包板上的Reset按钮并点击上传按钮。保持按下,如果它说 编译草图… 一旦它说就释放按钮 上传…
现在,该程序将成功上传到Arduino Bootloader Atmega328芯片。
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/jiyotin/article/details/85439218