国外课栈 - 国外电子信息技术视频教程、电子书和博文栈

如何在Atemga328 IC中刻录Arduino Bootloader并使用Arduino IDE编程

 二维码 24
发表时间:2018-12-25 15:29



我们都知道,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板

所需组件

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芯片。




文章分类: Arduino
分享到:
会员登录
登录
我的资料
留言
回到顶部