我們都知道,Atmega328 IC用于Arduino UNO板。該 IC 是 Arduino 板的大腦。實(shí)際上,Arduino 設(shè)計(jì)人員想為初學(xué)者制作一個(gè)方便的原型板,因此他們以這樣的方式組織所有組件,以便任何人都可以訪問(wèn) Atmega328 IC 的所有引腳,并且只需將其連接到計(jì)算機(jī)即可對(duì)其進(jìn)行編程。Arduino 板在構(gòu)建愛(ài)好項(xiàng)目時(shí)非常受歡迎。但在工業(yè)或消費(fèi)產(chǎn)品中,使用完整的 Arduino 板并不是一個(gè)好主意,因此我們可以使用獨(dú)立的 Atmega328 IC,它可以使用 Arduino IDE 進(jìn)行編程,但無(wú)需使用 Arduino 板。
在本教程中,我們將看到如何用 Atmega328 IC和其他一些組件替換 Arduino 板。要使用 Atmega328 IC 代替 arduino,首先我們必須在其中燒錄 Arduino Bootloader,然后我們將使用 FTDI 或使用 Arduino Board 對(duì)其進(jìn)行編程。本教程還將幫助從 Arduino 板上更換損壞的 Atmega328 IC。此外,通過(guò)使用下面描述的電路,您可以通過(guò)在 PCB 上復(fù)制來(lái)構(gòu)建自己的 Arduino 板。
所需組件
Atmega 328集成電路
面包板
LM7805
16兆赫晶體
22pF 陶瓷電容器 (2)
10uF電容(2)
10K電阻
1k電阻
跳線
或者,您還可以使用 3.3v 穩(wěn)壓器 LM1117-3.3v 在您的電路中包含 3.3v 電源軌。
Atmega328引腳圖
電路原理圖
下面給出了在面包板上復(fù)制 Arduino 的電路圖:
組件說(shuō)明
電源部分-
5V 穩(wěn)壓器: Atmega 328 IC 在 5V 電源上運(yùn)行。所以在這里,我們使用 LM7805 來(lái)獲得 5v 輸出,它可以處理高達(dá) 30V 作為輸入。如果您有單獨(dú)的 5V 電源,則可以離開(kāi)此步驟。
電容: 10uF電容用于7805的輸入和輸出部分,將任何交流分量旁路到地。
LED:這將顯示您的 5V 輸出即將到來(lái)。
微控制器部分-
Atmega 328:這是我們?cè)诿姘迳系闹饕M件。上面給出了它的引腳圖。
晶振:在 ATmega328 的 Pin 9 和 Pin 10 之間連接了一個(gè) 16MHz 的外部晶振。該晶體用于為微控制器提供時(shí)鐘以更快地執(zhí)行任務(wù)。
按鈕:要重置微控制器,在引腳 1 和 GND 之間連接一個(gè)按鈕。通常,它使用 10k 電阻與 5v 連接。
LED:LED與數(shù)字引腳 13 相連。
這個(gè)完整的教程分為三個(gè)部分,讓您自己的 Arduino 在面包板上運(yùn)行:
在面包板上構(gòu)建 Arduino 電路
將引導(dǎo)加載程序燒入 Atmega328 IC
如何編程 Arduino Bootloader 在面包板上上傳 Atmega 328 IC。
現(xiàn)在我們將一一解釋每個(gè)部分。
第 1 部分:在面包板上構(gòu)建 Arduino 電路
第 1 步:- 如電路圖所示連接電源部分,并使用 LM7805 的外部電源對(duì)其進(jìn)行測(cè)試。它看起來(lái)像這樣。
第 2 步:- 現(xiàn)在,如電路圖所示連接微控制器部分。仔細(xì)進(jìn)行連接。
第 3 步:- 現(xiàn)在,使用跳線連接電源和微控制器部分。你的最終電路看起來(lái)像這樣。
所以,這是我們?cè)诿姘迳系?Arduino。您可以使用 EasyEDA 等簡(jiǎn)單工具在 PCB 上實(shí)現(xiàn)相同的電路?,F(xiàn)在,我們必須將引導(dǎo)加載程序上傳到新的 Atmega 328 IC,以便我們可以開(kāi)始對(duì) IC 進(jìn)行編程。
第 2 部分:將引導(dǎo)加載程序燒入 Atmega328 IC
什么是引導(dǎo)加載程序以及我們?yōu)槭裁葱枰?/p>
引導(dǎo)加載程序是永久存儲(chǔ)在微控制器內(nèi)存中的一小段可執(zhí)行代碼。這占用不到 1Kb 的內(nèi)存。引導(dǎo)加載程序允許 IC 接受來(lái)自計(jì)算機(jī)的代碼并將其放入微控制器的內(nèi)存中。
傳統(tǒng)上,Atmel 的所有微控制器都是在具有一些花哨連接的程序員的幫助下進(jìn)行編程的。引導(dǎo)加載程序降低了復(fù)雜性,使我們能夠以一種簡(jiǎn)單有效的方式對(duì)微控制器進(jìn)行編程。這意味著您只需使用 USB 電纜即可對(duì)其進(jìn)行編程。
當(dāng)您從市場(chǎng)上購(gòu)買(mǎi)新的 Atmega 328 時(shí),它沒(méi)有引導(dǎo)加載程序。因此,要使用 Arduino IDE 對(duì) Atmega328 進(jìn)行編程,您必須首先上傳引導(dǎo)加載程序。
要上傳 Bootloader,我們有兩種方法:
使用 USBasp 編程器
使用 Arduino UNO 板
與第一種方法相比,第二種方法更容易。因?yàn)樗枰^少的連接,而且最新版本的 Arduino IDE 不支持花哨的 USBasp 程序員。
因此,在本教程中,我們將使用 Arduino Uno 板上傳引導(dǎo)加載程序。
在 Atmega328 芯片中上傳 Arduino Bootloader
第 1 步:-打開(kāi) Arduino IDE。轉(zhuǎn)到文件 -〉 示例 -〉 ArduinoISP。比選擇 ArduinoISP。如下所示。
第 2 步:-現(xiàn)在,您必須將此代碼上傳到您的 Arduino 板。從工具菜單中選擇 com 端口和板,然后點(diǎn)擊上傳按鈕。
第 3 步:-完成上傳后,斷開(kāi) Arduino 板與計(jì)算機(jī)的連接,并將 Arduino 板與 Atmega 328 連接,如下圖所示。
第 4 步:-現(xiàn)在,將 Arduino 板與計(jì)算機(jī)連接。打開(kāi) Arduino IDE。
轉(zhuǎn)到工具,選擇板作為 Arduino/Genuine Uno,為您的板選擇正確的端口。選擇Programmer 作為“Arduino as ISP”。不要將其與 ArduinoISP 混淆。兩者是不同的。
第 5 步:-現(xiàn)在,再次轉(zhuǎn)到工具,然后單擊Programmer 選項(xiàng)下方的Burn Bootloader 。幾秒鐘后,引導(dǎo)加載程序成功上傳。如果上傳有任何錯(cuò)誤,請(qǐng)檢查連接。
查看以下視頻以了解上述在 Atmega 328 IC 中上傳 Bootloader的步驟。
您的 面包板 Arduino 已準(zhǔn)備好作為真正的 Arduino 板工作?,F(xiàn)在,問(wèn)題出現(xiàn)了,如何對(duì) Atmega 328 IC進(jìn)行編程?我們將在下一節(jié)中討論。
第 3 部分:如何編程 Arduino Bootloader 上傳的 Atmega 328 IC
獨(dú)立的 Arduino Atmega328 芯片可以通過(guò)多種方式進(jìn)行編程。
使用空白的 Arduino 板,即沒(méi)有 Atmega 328 IC 的 Arduino 板。
使用USB轉(zhuǎn)串口TTL轉(zhuǎn)換模塊(FTDI模塊)。
使用 USBasp 編程器(涉及很多連接)。
在這里,我們將使用兩種方法對(duì)其進(jìn)行編程:USB 轉(zhuǎn)串口轉(zhuǎn)換器和 Arduino 板。
使用 Arduino 板對(duì) Atmega328 芯片進(jìn)行編程
第 1 步:-拿一塊沒(méi)有 Atmega328 芯片的 Arduino 板。如圖所示,將 Arduino 板與我們的面包板 Arduino連接起來(lái)。
第 2 步:-將 Arduino 板與計(jì)算機(jī)連接并打開(kāi) Arduino IDE。從Tools的 Board 菜單中選擇 Arduino Uno ,Programmer 為 USBasp 并正確的板子的 com 端口。
第 3 步:-我們將從上傳 Blink 程序開(kāi)始。所以從示例中選擇閃爍程序并點(diǎn)擊上傳按鈕。
現(xiàn)在,您可以看到面包板上的 LED 開(kāi)始閃爍。
使用 USB 轉(zhuǎn)串口轉(zhuǎn)換器對(duì) Arduino Atmega328 芯片進(jìn)行編程
第 1 步:-如果您沒(méi)有 Arduino 板。這是對(duì)面包板 Arduino進(jìn)行編程的最佳方法。
使連接如下:
FTDI 的 RXD 引腳 -〉 Atmega328 的 Tx 引腳(引腳 3)
FTDI 的 TXD 引腳 -〉 Atmega328 的 Rx 引腳(引腳 2)
GND -〉 GND(引腳 8)
5v -〉 Vcc(引腳 7)
部分FTDI模塊有Reset pin也稱為DTR pin,需要連接Atmega328的Reset pin(pin 1)。如果模塊中沒(méi)有reset管腳,別著急,我會(huì)在我們燒寫(xiě)芯片的時(shí)候給出解決方案。
第 2 步:-現(xiàn)在,將 FTDI 與計(jì)算機(jī)連接并在控制面板中打開(kāi)設(shè)備管理器。您將看到端口部分,展開(kāi)它。如果驅(qū)動(dòng)程序前面有黃色標(biāo)記,則必須更新模塊驅(qū)動(dòng)程序。
如果沒(méi)有標(biāo)記,則記下 com 端口號(hào)并打開(kāi) Arduino IDE。轉(zhuǎn)到工具 -〉 端口 -〉 選擇您記下的 com。
第 3 步:-現(xiàn)在,我們將 Blink 程序上傳到我們的Breadboard Arduino。轉(zhuǎn)到File -〉 Examples -〉 Basics -〉 Blink。從工具中的Board菜單中選擇Arduino Uno,Programmer as USBasp和正確的板com端口。
然后點(diǎn)擊上傳按鈕。
注意:如果您的 FTDI 模塊沒(méi)有 DTR 引腳,則按下面包板上的重置按鈕并點(diǎn)擊上傳按鈕。如果它說(shuō)Compiling sketch.。。請(qǐng)按住它,一旦它說(shuō)Uploading.。。就松開(kāi)按鈕
現(xiàn)在,程序?qū)⒊晒ι蟼鞯?Arduino Bootloader Atmega328 芯片中。
-
編程
+關(guān)注
關(guān)注
88文章
3527瀏覽量
93309 -
Arduino
+關(guān)注
關(guān)注
187文章
6454瀏覽量
185988 -
ATmega328
+關(guān)注
關(guān)注
1文章
37瀏覽量
20978
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論