- Kinakailangan ang Mga Bahagi
- Pin Diagram ng Atmega328
- Mga Paglalarawan ng Component
- Bahagi-1: Pagbuo ng Arduino Circuit sa Breadboard
- Bahagi-2: Nasusunog ang Bootloader sa Atmega328 IC
- Bahagi-3: Paano Mag-Program ng Arduino Bootloader na na-upload ang Atmega 328
- Programming Atmega328 Chip gamit ang Arduino board
- Programming Arduino Atmega328 Chip gamit ang USB sa Serial converter
Alam nating lahat na, ang Atmega328 IC ay ginagamit sa Arduino UNO board. Ang IC na ito ay utak ng Arduino board. Sa totoo lang, nais ng mga taga-disenyo ng Arduino na gumawa ng isang madaling gamiting board ng prototyping para sa mga nagsisimula kaya inayos nila ang lahat ng mga bahagi sa paraan na ma-access ng sinuman ang lahat ng mga pin ng Atmega328 IC at mai-program ito sa pamamagitan lamang ng pagkonekta nito sa computer. Ang Arduino board ay napakapopular para sa pagbuo ng mga proyekto ng libangan. Ngunit sa mga produktong pang-industriya o consumer hindi magandang ideya na gamitin ang kumpletong Arduino board, kaya maaari naming gamitin ang standalone Atmega328 IC, na maaaring mai-program sa Arduino IDE ngunit hindi gumagamit ng Arduino board.
Sa tutorial na ito, makikita natin kung paano palitan ang Arduino board ng Atmega328 IC at sa ilang iba pang mga bahagi. Para sa paggamit ng Atmega328 IC kapalit ng arduino, kailangan muna nating sunugin dito ang Arduino Bootloader at pagkatapos ay ipaprogram namin ito gamit ang FTDI o paggamit ng Arduino Board. Ang tutorial na ito ay makakatulong din sa pagpapalit ng nasirang Atmega328 IC mula sa Arduino board. Sa pamamagitan din ng paggamit ng circuit na inilarawan sa ibaba maaari kang bumuo ng iyong sariling Arduino board sa pamamagitan ng pagkopya nito sa PCB.
Kinakailangan ang Mga Bahagi
- Atmega 328 IC
- Breadboard
- LM7805
- 16 MHz Crystal
- 22pF ceramic capacitors (2)
- 10uF capacitor (2)
- 10 K risistor
- 1k risistor
- Jumper wires
Bilang pagpipilian, maaari mo ring gamitin ang 3.3v voltage regulator LM1117-3.3v upang isama ang 3.3v rail sa iyong circuit.
Pin Diagram ng Atmega328
Mga Paglalarawan ng Component
Bahagi ng supply ng kuryente-
- 5V boltahe regulator: Ang Atmega 328 IC ay tumatakbo sa 5V power supply. Kaya dito, gumagamit kami ng LM7805 upang makakuha ng 5v output, maaari itong hawakan hanggang sa 30V bilang input. Kung mayroon kang isang hiwalay na 5V supply pagkatapos Maaari mong iwanan ang hakbang na ito.
- Mga Capacitor: Ang 10uF capacitor ay ginagamit sa input at output na bahagi ng 7805 upang i-bypass ang anumang bahagi ng AC sa lupa.
- LED: Ipapakita nito sa iyo na darating ang iyong 5V output.
Bahagi ng Microcontroller-
- Atmega 328: Ito ang aming pangunahing sangkap sa breadboard. Ang pin diagram nito ay ibinibigay sa itaas.
- Crystal oscillator: Ang isang panlabas na kristal na 16MHz ay konektado sa pagitan ng Pin 9 at Pin 10 ng ATmega328. Ginagamit ang kristal na ito upang mabigyan ng orasan ang microcontroller upang maisagawa nang mas mabilis ang mga gawain.
- Button ng Push: Upang mai-reset ang microcontroller ang isang pindutan ng push ay konektado sa pagitan ng pin 1 at GND. Karaniwan, ito ay konektado sa 5v gamit ang isang 10k risistor.
- LED: Ang isang led ay konektado sa digital pin 13.
Ang kumpletong tutorial na ito ay nahahati sa tatlong bahagi upang makagawa ng iyong sariling Arduino na tumatakbo sa breadboard:
- Pagbuo ng Arduino Circuit sa Breadboard
- Nasusunog ang Bootloader sa Atmega328 IC
- Paano Mag-Program ng Arduino Bootloader na-upload ang Atmega 328 IC sa breadboard.
Ngayon ay ipapaliwanag namin ang bawat bahagi nang paisa-isa.
Bahagi-1: Pagbuo ng Arduino Circuit sa Breadboard
Hakbang 1: - Ikonekta ang Bahagi ng Power Supply tulad ng ipinakita sa circuit diagram at subukan ito gamit ang panlabas na supply ng kuryente sa LM7805. Magiging ganito.
Hakbang 2: - Ngayon, ikonekta ang Bahagi ng Microcontroller tulad ng ipinakita sa circuit diagram. Maingat na gawin ang mga koneksyon.
Hakbang 3: - Ngayon, ikonekta ang supply ng kuryente at bahagi ng microcontroller gamit ang mga jumper. Ang iyong pangwakas na circuit ay magmumukhang ganito.
Kaya, ito ang aming Arduino sa breadboard. Maaari mong ipatupad ang parehong circuit sa PCB gamit ang mga simpleng tool tulad ng EasyEDA, atbp Ngayon, kailangan naming i-upload ang bootloader sa bagong Atmega 328 IC upang masimulan naming i-program ang IC.
Bahagi-2: Nasusunog ang Bootloader sa Atmega328 IC
Ano ang bootloader at bakit kailangan natin ito ??
Ang Bootloader ay isang maliit na piraso ng maipapatupad na code na permanenteng nakaimbak sa memorya ng microcontroller. Sumasakop ito nang mas mababa sa 1Kb ng memorya. Pinapayagan ng Bootloader ang IC na tanggapin ang code mula sa computer at ilagay ito sa memorya ng microcontroller.
Ayon sa kaugalian, ang lahat ng microcontroller mula sa Atmel ay na-program sa tulong ng mga programmer na mayroong ilang mga magarbong koneksyon. Binabawasan ng mga Bootloader ang pagiging kumplikado at pinapayagan kaming may isang madali at mahusay na paraan ng pagprograma ng microcontroller. Nangangahulugan ito na maaari mong mai-program ito sa pamamagitan lamang ng paggamit ng isang USB cable.
Kapag bumili ka ng isang bagong Atmega 328 mula sa merkado, wala itong bootloader dito. Kaya upang mai-program ang iyong Atmega328 gamit ang Arduino IDE kailangan mo munang i-upload ang bootloader.
Upang mai-upload ang Bootloader, mayroon kaming dalawang pamamaraan:
- Paggamit ng USBasp programmer
- Gamit ang Arduino UNO board
Ang pangalawang pamamaraan ay mas madali kumpara sa una. Dahil nangangailangan ito ng mas kaunting mga koneksyon at pinakabagong bersyon din ng Arduino IDE ay hindi sumusuporta sa mga magarbong programmer ng USBasp.
Kaya, sa tutorial na ito mai-upload namin ang bootloader gamit ang Arduino Uno board.
I-upload ang Arduino Bootloader sa Atmega328 Chip
Hakbang 1: - Buksan ang Arduino IDE. Pumunta sa File -> Mga Halimbawa -> ArduinoISP . Kaysa pumili ng ArduinoISP. Tulad ng ipinakita sa ibaba.
Hakbang 2: - Ngayon, kailangan mong i-upload ang code na ito sa iyong Arduino board. Piliin ang com port at board mula sa menu ng tool at pindutin ang upload button.
Hakbang 3: - Matapos ang ' Tapos nang mag-upload' , idiskonekta ang board ng Arduino mula sa computer at gawin ang mga koneksyon ng Arduino board sa Atmega 328 tulad ng ipinakita sa diagram sa ibaba.
Hakbang 4: - Ngayon, ikonekta ang Arduino board sa computer. Buksan ang Arduino IDE.
Pumunta sa Mga Tool, Piliin ang board bilang Arduino / Genuine Uno, Piliin ang tamang Port para sa iyong board. Piliin ang Programmer bilang "Arduino bilang ISP". Huwag malito ito sa ArduinoISP. Parehong magkakaiba.
Hakbang 5: - Ngayon, Pumunta muli sa Mga Tool at Mag-click sa Burn Bootloader sa ibaba lamang ng pagpipiliang Programmer. Pagkatapos ng ilang segundo, matagumpay na na-upload ang bootloader. Kung mayroong anumang error sa pag-upload, suriin ang mga koneksyon.
Suriin ang nasa ibaba ng Video upang maunawaan ang mga hakbang na ipinaliwanag sa itaas upang mai-upload ang Bootloader sa Atmega 328 IC.
Ang iyong breadboard Arduino ay handa nang gumana bilang totoong Arduino board. Ngayon, lumilitaw ang tanong na paano i-program ang Atmega 328 IC ? Tatalakayin namin iyon sa aming susunod na seksyon.
Bahagi-3: Paano Mag-Program ng Arduino Bootloader na na-upload ang Atmega 328
Ang Standalone Arduino Atmega328 Chip ay maaaring mai-program sa maraming paraan.
- Paggamit ng blangkong Arduino board ie Arduino board na walang Atmega 328 IC dito.
- Paggamit ng USB sa Serial TTL converter module (FTDI module).
- Paggamit ng USBasp programmer (kasangkot ang maraming mga koneksyon).
Dito, ipo-program namin ito gamit ang dalawang pamamaraan: USB sa serial converter at Arduino board.
Programming Atmega328 Chip gamit ang Arduino board
Hakbang 1: - Kumuha ng Arduino board nang walang Atmega328 chip. Gawin ang mga koneksyon ng Arduino board sa aming breadboard Arduino tulad ng ipinakita sa diagram na ito.
Hakbang 2: - Ikonekta ang Arduino board sa computer at buksan ang Arduino IDE. Piliin ang Arduino Uno mula sa menu ng Board sa Tools , Programmer bilang USBasp at iwasto ang com port ng board.
Hakbang 3: - Magsisimula kami sa pamamagitan ng pag-upload ng Blink program. Kaya piliin ang blink program mula sa Mga Halimbawa at pindutin ang pindutan ng Upload.
Ngayon, maaari mong makita na humantong sa breadboard ay magsisimulang kumurap.
Programming Arduino Atmega328 Chip gamit ang USB sa Serial converter
Hakbang 1: - Kung wala kang Arduino board. Ito ang pinakamahusay na pamamaraan upang mai- program ang iyong breadboard Arduino .
Gawin ang mga koneksyon bilang:
RXD pin ng FTDI -> Tx pin ng Atmega328 (pin 3)
TXD pin ng FTDI -> Rx pin ng Atmega328 (pin 2)
GND -> GND (pin 8)
5v -> Vcc (pin 7)
Ang ilang mga module ng FTDI ay may Reset pin na kilala rin bilang DTR pin, na kailangang maiugnay sa Reset pin ng Atmega328 (pin 1). Kung walang reset pin sa module, huwag mag-alala bibigyan ko ang solusyon kapag pinrograma namin ang maliit na tilad.
Hakbang 2: - Ngayon, ikonekta ang FTDI sa computer at buksan ang Device manager sa control panel. Makikita mo ang seksyon ng Port, Palawakin ito. Kung mayroong isang dilaw na marka sa harap ng driver pagkatapos ay kailangan mong i-update ang iyong driver ng module.
Kung walang marka, pagkatapos ay tandaan ang numero ng com port at buksan ang Arduino IDE. Pumunta sa Mga Tool -> Mga Port -> Piliin ang com na iyong napansin.
Hakbang 3: - Ngayon, Mag-a-upload kami ng blink program sa aming Breadboard Arduino . Pumunta sa File -> Mga Halimbawa -> Mga Pangunahing Kaalaman -> Blink . Piliin ang Arduino Uno mula sa menu ng Board sa mga tool, Programmer bilang USBasp at iwasto ang com port ng board.
Pagkatapos ay pindutin ang pindutan ng pag-upload.
Tandaan: Kung ang iyong module ng FTDI ay walang pin na DTR, pagkatapos ay pindutin ang I-reset ang pindutan sa breadboard at pindutin ang pindutan ng pag-upload. Panatilihing pinindot ito kung sinasabi nito ang Pagbuo ng sketch... Pakawalan ang pindutan kaagad sa sinasabi nitong Pag-upload...
Ngayon, ang programa ay matagumpay na mai-upload sa Arduino Bootloader Atmega328 chip.
Nasa ibaba ang Video para sa Programming Atmega 328 IC nang hindi ginagamit ang Arduino Board:
Natapos na namin ang aming DIY Breadboard Arduino Circuit. Maaari mong idisenyo ang circuit na ito sa PCB upang gawin itong mas siksik.