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









