0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

利用Atmega328構(gòu)建Arduino板并進(jìn)行編程

科技觀察員 ? 來(lái)源:circuitdigest ? 作者:Rishabh Jain ? 2022-09-23 17:11 ? 次閱讀

我們都知道,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引腳圖

pYYBAGMteDqAJGAkAABq3kiwXyE444.png

電路原理

下面給出了在面包板上復(fù)制 Arduino 的電路圖:

pYYBAGMteD-AfCDAAAFGg5b6geA061.png

組件說(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)像這樣。

poYBAGMteECAVam7AABTOmoDmsQ859.jpg

第 2 步:- 現(xiàn)在,如電路圖所示連接微控制器部分。仔細(xì)進(jìn)行連接。

pYYBAGMteEOATi2EAACI3BhGM-c332.jpg

第 3 步:- 現(xiàn)在,使用跳線連接電源和微控制器部分。你的最終電路看起來(lái)像這樣。

poYBAGMteEaAMSFIAACr92XAuPA933.jpg

所以,這是我們?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。如下所示。

poYBAGMteEiAb5SwAAAwwatTqMY413.png

第 2 步:-現(xiàn)在,您必須將此代碼上傳到您的 Arduino 板。從工具菜單中選擇 com 端口和板,然后點(diǎn)擊上傳按鈕。

第 3 步:-完成上傳后,斷開(kāi) Arduino 板與計(jì)算機(jī)的連接,并將 Arduino 板與 Atmega 328 連接,如下圖所示。

poYBAGMteEqAa0H1AADJjyk7UOg232.png

第 4 步:-現(xiàn)在,將 Arduino 板與計(jì)算機(jī)連接。打開(kāi) Arduino IDE。

轉(zhuǎn)到工具,選擇板作為 Arduino/Genuine Uno,為您的板選擇正確的端口。選擇Programmer 作為“Arduino as ISP”。不要將其與 ArduinoISP 混淆。兩者是不同的。

pYYBAGMteEuAa69-AAByB9WyydI749.png

第 5 步:-現(xiàn)在,再次轉(zhuǎn)到工具,然后單擊Programmer 選項(xiàng)下方的Burn Bootloader 。幾秒鐘后,引導(dǎo)加載程序成功上傳。如果上傳有任何錯(cuò)誤,請(qǐng)檢查連接。

pYYBAGMteE-Adx9hAADoRCBDmhw532.png

查看以下視頻以了解上述在 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 編程器(涉及很多連接)。

poYBAGMteFCAeEgiAAFFw2uysnk307.png

在這里,我們將使用兩種方法對(duì)其進(jìn)行編程:USB 轉(zhuǎn)串口轉(zhuǎn)換器和 Arduino 板。

使用 Arduino 板對(duì) Atmega328 芯片進(jìn)行編程

第 1 步:-拿一塊沒(méi)有 Atmega328 芯片的 Arduino 板。如圖所示,將 Arduino 板與我們的面包板 Arduino連接起來(lái)。

pYYBAGMteFOAIyzVAADfE27eUYk793.png

第 2 步:-將 Arduino 板與計(jì)算機(jī)連接并打開(kāi) Arduino IDE。從Tools的 Board 菜單中選擇 Arduino Uno ,Programmer 為 USBasp 并正確的板子的 com 端口。

第 3 步:-我們將從上傳 Blink 程序開(kāi)始。所以從示例中選擇閃爍程序并點(diǎn)擊上傳按鈕。

poYBAGMteFWAcUuVAAC2Ax6obmI241.jpg

現(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)程序。

pYYBAGMteFiAGSWmAABVxoH1ujE083.png

如果沒(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 芯片中。

poYBAGMteFmAUbbPAAB4gUqIBEk268.jpg

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 編程
    +關(guān)注

    關(guān)注

    88

    文章

    3527

    瀏覽量

    93309
  • Arduino
    +關(guān)注

    關(guān)注

    187

    文章

    6454

    瀏覽量

    185988
  • ATmega328
    +關(guān)注

    關(guān)注

    1

    文章

    37

    瀏覽量

    20978
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    基于ATmega328 MCU的Arduino UNO板實(shí)驗(yàn)方案

    我們從MCU以及數(shù)字和模擬IO引腳接頭開(kāi)始。Arduino UNO具有巧妙的排針布局,與ATMEGA328 28-DIP封裝的布局非常匹配。因此,無(wú)需交叉導(dǎo)線。
    發(fā)表于 01-12 11:03 ?1183次閱讀
    基于<b class='flag-5'>ATmega328</b> MCU的<b class='flag-5'>Arduino</b> UNO板實(shí)驗(yàn)方案

    基于ATmega328 MCU的電源電路設(shè)計(jì)

    我們從MCU以及數(shù)字和模擬IO引腳接頭開(kāi)始。Arduino UNO具有巧妙的排針布局,與ATMEGA328 28-DIP封裝的布局非常匹配。因此,無(wú)需交叉導(dǎo)線。
    發(fā)表于 03-02 09:27 ?1011次閱讀

    基于ATmega328的Dano設(shè)計(jì)項(xiàng)目

    。 編程Dano可以使用 Arduino 軟件(下載)進(jìn)行編程。從“工具”>“”菜單中選擇“Ar
    發(fā)表于 06-23 06:22

    ATMEGA328/8 SMD轉(zhuǎn)DIP PCB

    ic 的 Arduino Uno 的微控制器,很長(zhǎng)一段時(shí)間后,我了解了它是如何工作的,然后我想制作自己的板子版本供任何人開(kāi)發(fā),這次我用的是貼片型的ATmega328 ic,但是我覺(jué)得會(huì)給用戶帶來(lái)麻煩
    發(fā)表于 08-04 06:19

    基于Atmega328的適配器

    描述Arduino nano 到 uno 適配器Arduino Nano 是 Arduino 家族中一個(gè)不錯(cuò)、小巧且便宜的成員。它基于 Atmeg
    發(fā)表于 09-09 06:59

    AtMega328AtMega328-MU的編程

    描述AtMega328AtMega328-MU 的編程。非常適合為您的項(xiàng)目編程新芯片。用于刻錄引導(dǎo)加載程序和
    發(fā)表于 09-13 07:03

    基于ATmega328設(shè)計(jì)了智能墨鏡

    Arduino Pro Mini實(shí)現(xiàn)的可穿戴,技術(shù)宅基于ATmega328設(shè)計(jì)了智能墨鏡!
    的頭像 發(fā)表于 06-05 06:00 ?2512次閱讀

    怎樣在ATmega328微控制器上刻錄引導(dǎo)加載程序

    如果你正在查看這個(gè)項(xiàng)目,那么你可能已經(jīng)使用過(guò)Arduino了。 Arduino UNO上的ATmega328微控制器很可能在一定時(shí)間(或不正確的連接)后發(fā)生故障。為了重用
    的頭像 發(fā)表于 07-29 10:17 ?7052次閱讀

    如何采用Arduino系統(tǒng)進(jìn)行單片機(jī)編程

    Arduino最小系統(tǒng)電路見(jiàn)下圖,適用于對(duì)ATmega8、ATmega168、ATmega328等型號(hào)的單片機(jī)
    發(fā)表于 09-26 15:44 ?6300次閱讀
    如何采用<b class='flag-5'>Arduino</b>系統(tǒng)<b class='flag-5'>板</b><b class='flag-5'>進(jìn)行</b>單片機(jī)<b class='flag-5'>編程</b>

    Arduino Uno微控制器采用的是Atmel的ATmega328

    Arduino Uno微控制器采用的是Atmel的ATmega328
    發(fā)表于 11-15 12:06 ?11次下載
    <b class='flag-5'>Arduino</b> Uno微控制器采用的是Atmel的<b class='flag-5'>ATmega328</b>

    基于ATmega328Arduino的變頻驅(qū)動(dòng)器

    用于基于ATmega328Arduino的變頻驅(qū)動(dòng)器實(shí)現(xiàn)。
    發(fā)表于 04-11 14:47 ?4次下載

    用于測(cè)試Atmega328/Arduino Uno和Atmega1284/p的

    電子發(fā)燒友網(wǎng)站提供《用于測(cè)試Atmega328/Arduino Uno和Atmega1284/p的 .zip》資料免費(fèi)下載
    發(fā)表于 08-02 15:06 ?5次下載
    用于測(cè)試<b class='flag-5'>Atmega328</b>/<b class='flag-5'>Arduino</b> Uno和<b class='flag-5'>Atmega</b>1284/p的<b class='flag-5'>板</b>

    Atmega328時(shí)鐘開(kāi)源分享

    電子發(fā)燒友網(wǎng)站提供《Atmega328時(shí)鐘開(kāi)源分享.zip》資料免費(fèi)下載
    發(fā)表于 08-03 11:16 ?3次下載
    <b class='flag-5'>Atmega328</b>時(shí)鐘開(kāi)源分享

    AtMega328編程/開(kāi)發(fā)開(kāi)源分享

    電子發(fā)燒友網(wǎng)站提供《AtMega328編程/開(kāi)發(fā)開(kāi)源分享.zip》資料免費(fèi)下載
    發(fā)表于 08-19 09:43 ?6次下載
    <b class='flag-5'>AtMega328</b><b class='flag-5'>編程</b>/開(kāi)發(fā)<b class='flag-5'>板</b>開(kāi)源分享

    ATmega328/168/8/48/88編程屏蔽開(kāi)源

    電子發(fā)燒友網(wǎng)站提供《ATmega328/168/8/48/88編程屏蔽開(kāi)源.zip》資料免費(fèi)下載
    發(fā)表于 11-07 15:51 ?2次下載
    <b class='flag-5'>ATmega328</b>/168/8/48/88<b class='flag-5'>編程</b>屏蔽開(kāi)源