Talaan ng mga Nilalaman:

Atmega328p Kasamang: 6 Hakbang (na may Mga Larawan)
Atmega328p Kasamang: 6 Hakbang (na may Mga Larawan)

Video: Atmega328p Kasamang: 6 Hakbang (na may Mga Larawan)

Video: Atmega328p Kasamang: 6 Hakbang (na may Mga Larawan)
Video: Andonstar AD409 Pro 10.1 inch Digital PCB Microscope 300X Magnifier with HDMI output 2024, Hulyo
Anonim
Atmega328p Kasamang
Atmega328p Kasamang

Kasamang ATMEGA328P: Ang Bootloader at Programmer Module

Kung katulad mo ako, adik ka sa mga proyekto at Arduino. Gayunpaman, kung nagawa mo ang isang bilang ng mga proyekto na may isang Arduino bilang utak, malamang na nagsimula kang magkasakit na tingnan ang Arduino board bilang isang buo, kalat ang iyong proyekto at sa pangkalahatan ay mukhang masama lamang. Tulad nito, napagpasyahan kong nais kong lumipat mula sa mga board ng Arduino patungo sa paggamit lamang ng IC.

Ipasok ang atmega328p.

Ang atmega328p ay marahil ang pinaka masagana Arduino katugmang IC sa merkado. Hindi sa anumang paraan ang pinakamura o pinakamakapangyarihang, gayunpaman, kapag isinasaalang-alang ang pareho sa mga ito, sa palagay ko ito ang pinakamahusay na pagganap bawat dolyar. Sa gayon handa ka na bang simulang gawing mas propesyonal ang iyong mga proyekto at hindi gaanong tulad ng isang pagsasama-sama ng mga module ng istante? Kung gayon, basahin ang itinuturo na ito at makakakuha ka ng kinakailangang impormasyon upang mabuo ang iyong sariling module na magpapahintulot sa iyo na mag-flash ng isang bootloader sa iyong target na atmega328p, i-upload ang blink sketch upang matiyak na gumagana ang mga bagay, at sa wakas ay mag-upload ng iyong sariling mga sketch para sa iyong mga indibidwal na proyekto.

Hakbang 1: BOM at Mga Tool

Una sa mga unang bagay, ang itinuturo na ito ay hindi magiging isang hakbang-hakbang kung paano bumuo ng manu-manong, ngunit sa halip ay ipinapalagay ko na alam mo kung paano basahin ang isang eskematiko at maaaring isalin iyon sa isang board. Sa pag-iisip na iyon, narito ang mga kinakailangang materyales at tool:

Mga Materyales:

  • 1x 40x60mm protoboard o PCB
  • 1x 6pin male header (Gumamit ako ng mga tamang anggulo na lalaki)
  • 2x 14pin babaeng header
  • 1x 6pin babaeng header
  • 1x 2pin babaeng header
  • 2x 22pF capacitor (22)
  • 1x 0.1uF capacitor (104)
  • 1x 10kohm risistor
  • 2x 330ohm risistor
  • 1x LED (anumang kulay para sa tagapagpahiwatig ng kuryente - 3mm para sa disenyo ng PCB)
  • 1x LED (anumang kulay para sa digital pin 13 para sa blink sketch - 3mm para sa disenyo ng PCB)
  • 1x 16MHz na kristal
  • 1x slide switch
  • 1x pansamantalang pindutan ng push

Mga tool:

  • Arduino Uno
  • Panghinang
  • 6x M-M jumper
  • FTDI programmer
  • USB cable na tumutugma sa iyong FTDI programmer
  • Arduino IDE

Hakbang 2: Schematic / Layout

Skema / Layout
Skema / Layout
Skema / Layout
Skema / Layout

Nakalakip sa hakbang na ito ang mga file ng agila na ginamit ko. Malaya kang baguhin ang mga ito at baguhin ang mga ito subalit nais mo. Gayunpaman, ginawa ko ang disenyo ng board upang ang lahat ng mga bakas ay nasa ilalim na layer upang madali itong makagawa sa isang PCB mill (kung mayroon kang access sa isa) na may isang panig na board. Nasa ilalim din ito upang madali itong maghinang ng mga sangkap nang magkasama.

Kung nais mo ang PCB, gayunpaman, patakbuhin lamang ang CAM upang makuha ang kinakailangang mga gerber file para sa iyong paboritong tagagawa. Gusto ko ang OSH Park dahil bibigyan mo lang sila ng board file at pinapatakbo nila ang mga kinakailangang CAM upang makuha ang mga file na kailangan nila.

Hakbang 3: Paghihinang

Paghihinang
Paghihinang
Paghihinang
Paghihinang

Kaya mayroong tatlong paraan ng paggawa ng board na ito:

  • Populate ng isang PCB
  • Populate isang milled board
  • Populate ng isang protoboard

Ang pagpopular sa PCB ay tuwid na pasulong, at hindi dapat bigyan ka ng anumang problema dahil ang lahat ay may label.

Ang pagpopular sa isang milled board ay hindi rin dapat maging mahirap, dahil ito ay na-modelo nang eksakto sa parehong paraan tulad ng PCB, maliban kung wala kang mga marka, kaya sundin kasama ang board file sa Eagle upang matiyak na naglalagay ka ng mga bagay sa tamang lugar (partikular ang polarity ng mga LED).

Panghuli, ang pag-populate ng isang protoboard ay ang pinakaisipang masinsinan, subalit, hindi ito labis na nahihirapan. Mayroon akong ilang mga larawan sa hakbang na ito na ipinapakita ang aking bersyon ng protoboard at kung paano ko nababagay ang lahat. Tandaan na ang LM7805, ang dalawang 4.7uF capacitor at ang mga screw terminal ay wala sa iyong board. Nagpe-play ako sa ideya ng pagkakaroon nito na may kakayahang maging panlabas na pinapatakbo, ngunit nang magsimula akong mag-isip tungkol dito, napagpasyahan kong nasayang na ito sa puwang ng board.

Hakbang 4: Bootloading

Naglo-boot
Naglo-boot

Pag-set up ng Bootloading Arduino:

Kaya narito kung saan kakailanganin mo ang iyong iba pang Arduino. Pumunta muna dito at i-download ang mga file mula sa taong ito. Sa puntong ito, ang mga file ay ilang taong gulang na, ngunit gumagana pa rin ito ng mahusay. Kapag nakuha mo na ang kanilang na-download, buksan ang optiLoader.ino at ang iyong Arduino IDE ay dapat na mag-prompt sa iyo upang ilagay ito sa isang folder. Gawin ito at pagkatapos ay ilagay ang optiLoader.h file sa folder gamit ang.ino. Handa ka na ngayong i-upload ang sketch na iyon sa iyong bootloading Arduino. Gumamit ako ng isang Arduino Uno, kaya alam kong gumagana ito sa na, ngunit sigurado akong gagana rin ito sa iba pang mga board.

Kapag na-upload mo na ang optiLoader.ino sa iyong Arduino, ang lahat ay naka-set up upang mag-bootload ng maraming iba't ibang mga chip ng Arduino. Natapos ko lang ito sa atmega328p, gayunpaman, naka-set up ang code upang makita ang target na MCU at i-flash ang tamang bootloader, na medyo maganda. Kaya ngayon, tuwing ikinokonekta mo ang Arduino na ito sa Atmega Companion board na may naka-install na chip at i-on ito, awtomatiko nitong matutukoy na ang target ay isang atmega328p at awtomatikong i-flash ang naaangkop na bootloader. Walang pag-reset ng paglukso, walang kakaibang bagay; plug and play lang.

Pag-kable ng Bootloader sa Kasamang Board:

[Bootloader Arduino] [Atmega328p Kasamang Lupon]

  • D10 I-reset / pin 1
  • D11 MOSI / pin 17
  • D12 MISO / pin 18
  • D13 SCK / pin 19
  • 5V Vcc / pin 20 o 21
  • GND Gnd / pin 22

Ang mga pin ay tumutukoy sa mga binti ng IC mismo. Kung nakalilito ito, tingnan ang larawan ng board mula sa iskematiko / hakbang ng layout habang ang mga pin sa kasamang board ay may label.

Flashing ang Bootloader:

Ngayon na nakuha mo ang pag-set up ng Bootloader Arduino gamit ang optiLoader.ino sketch at naka-wire na rin ito sa iyong Kasamang Board, tiyaking ang kasamang switch ng board ay nakatakda sa "bootload" sa halip na "upload", at pagkatapos ay isaksak ang iyong Arduino sa isang computer. Dapat mong makita ang mga ilaw sa parehong iyong Arduino at Kasamang Board na nag-flash ng maraming beses. Pagkatapos ng ilang segundo, pareho dapat na maging madilim at hindi na flash. Marahil nangangahulugan ito na matagumpay na na-flash ang iyong atmega328p IC gamit ang bootloader. Upang matiyak na maayos ang lahat, isaksak ito sa iyong computer at buksan ang Arduino IDE at pagkatapos ang serial monitor. Baguhin ang rate ng baud sa 19200. Pagkatapos, kung hindi ito awtomatikong i-restart, pindutin ang pindutan ng pag-reset sa iyong Arduino. Dapat mong makita ang isang pangkat ng teksto na naglalarawan sa ginagawa ng script. Sa huli, hindi ito dapat magkaroon ng anumang mga mensahe ng error at dapat ipaalam sa iyo na tapos na ang proseso.

Kung nakakuha ka ng isang error, suriin ang iyong switch at tiyaking nasa "bootload" ka. Kung nakakakuha ka pa rin ng mga error sa puntong ito, suriin ang lahat ng iyong mga kable at tiyaking tama ito.

Hakbang 5: Pag-upload

Nag-a-upload
Nag-a-upload

Ito ang madaling hakbang.

Idiskonekta ang lahat ng mga wire mula sa nakaraang hakbang at i-flip ang switch mula sa "bootload" patungong "upload." I-plug ang iyong module na FTDI. Gusto ko ang Adafruit CP2104 at ang SparkFun CH340G higit sa lahat dahil medyo mura sila at ang pinout ay tumutugma sa mga pin ng FTDI na nagmumula sa kasamang board.

Kapag na-plug mo na ang iyong FTDI sa iyong kasamang board, sige at isaksak ito sa iyong computer. Mula doon, mag-upload ng blink halimbawa ng sketch upang matiyak na ang bootloader ay na-flash nang tama. Piliin ang Arduino / Genuino Uno mula sa menu ng boards. Kapag na-upload na ang blink sketch, dapat mong makita ang blink LED blinking, tulad ng inaasahan. Kung gagana iyon, handa ka nang gumamit ng pag-upload ng iyong sariling pasadyang mga sketch sa IC, tulad ng gagawin mo sa anumang ibang Arduino.

Hakbang 6: Trabaho sa Hinaharap

Sa hinaharap, pinaplano ko itong gawing isang Arduino Uno na kalasag. Hindi ito dapat magtagal upang gawin ito, at kung nais ng mga tao, maaari ko ring mai-upload ang mga file ng Eagle para dito din. Pasimplehin nito ang hakbang sa bootloading, dahil hindi mo kakailanganing mag-alala tungkol sa mga kable nito nang hindi tama. Bukas ako sa iba pang mga mungkahi para sa pagpapabuti din, gayunpaman, hindi ako maghinala na gagawin ko pa ang maraming ito, dahil ito ay isang kinakailangang hakbang lamang sa paghahanda ng aking mga susunod na proyekto.

Kung nais mong makita ang higit pa sa aking mga susunod na proyekto, ipaalam sa akin, at susubukan kong panatilihing nai-post ang komunidad.

Inirerekumendang: