Orodha ya maudhui:

Sahani wa Atmega328p: Hatua 6 (na Picha)
Sahani wa Atmega328p: Hatua 6 (na Picha)

Video: Sahani wa Atmega328p: Hatua 6 (na Picha)

Video: Sahani wa Atmega328p: Hatua 6 (na Picha)
Video: Wagogo_ Maludeje/Sahani Yangu 2024, Novemba
Anonim
Mwenzi wa Atmega328p
Mwenzi wa Atmega328p

Rafiki wa ATMEGA328P: Mfumo wa Bootloader na Programu

Ikiwa wewe ni kama mimi, wewe ni mraibu wa miradi na Arduino. Walakini, ikiwa umefanya miradi kadhaa na Arduino kama ubongo, labda umeanza kuugua kwa kutazama bodi ya Arduino kwa ujumla, ukichanganya mradi wako na kwa jumla unaonekana mbaya tu. Kwa hivyo, niliamua kuwa ninataka kuhama kutoka bodi za Arduino na kutumia IC tu.

Ingiza atmega328p.

Atmega328p labda ni IC inayohusiana zaidi na Arduino IC kwenye soko. Sio ya bei rahisi au yenye nguvu zaidi, hata hivyo, wakati wa kuzingatia yote haya, ni kwa maoni yangu utendaji bora kwa dola. Je! Uko tayari kuanza kuifanya miradi yako ionekane kuwa ya kitaalam zaidi na sio kama mkusanyiko wa moduli za rafu? Ikiwa ndivyo, soma hii inayoweza kufundishwa na utapata habari muhimu ili ujenge moduli yako mwenyewe ambayo itakuruhusu kuwasha bootloader kwa lengo lako atmega328p, pakia mchoro wa blink ili kuhakikisha kuwa mambo yanafanya kazi, na mwishowe pakia michoro yako mwenyewe kwa miradi yako binafsi.

Hatua ya 1: BOM na Zana

Vitu vya kwanza kwanza, mafundisho haya hayatakuwa hatua kwa hatua jinsi ya kujenga mwongozo, lakini badala yake nadhani kuwa unajua kusoma maandishi na unaweza kutafsiri kwa bodi. Kwa kuzingatia, hapa kuna vifaa na zana muhimu:

Vifaa:

  • 1x 40x60mm protoboard au PCB
  • Kichwa cha kiume cha 1x 6pin (nilitumia pembe za kulia wanaume)
  • 2x 14pin kichwa cha kike
  • 1x 6pin kichwa cha kike
  • 1x 2pin kichwa cha kike
  • 2x 22pF capacitor (22)
  • 1x 0.1uF capacitor (104)
  • 1x 10kohm kupinga
  • 2x 330ohm kupinga
  • 1x LED (rangi yoyote ya kiashiria cha nguvu - 3mm kwa muundo wa PCB)
  • 1x LED (rangi yoyote kwa pini ya dijiti 13 kwa mchoro wa blink - 3mm kwa muundo wa PCB)
  • Kioo cha 1x 16MHz
  • Kubadilisha slaidi ya 1x
  • Kitufe cha kushinikiza cha 1x

Zana:

  • Arduino Uno
  • Chuma cha kulehemu
  • 6x MM kuruka
  • Programu ya FTDI
  • Cable ya USB inayofanana na programu yako ya FTDI
  • Arduino IDE

Hatua ya 2: Mpangilio / Mpangilio

Mpangilio / Mpangilio
Mpangilio / Mpangilio
Mpangilio / Mpangilio
Mpangilio / Mpangilio

Zilizounganishwa na hatua hii ni faili za tai ambazo nilitumia. Uko huru kuzirekebisha na kuzibadilisha hata upendeze. Nilifanya, hata hivyo, kubuni bodi ili athari zote ziwe kwenye safu ya chini ili iwe rahisi kutengeneza kwenye kinu cha PCB (ikiwa unayo moja) na bodi moja ya upande. Pia iko chini ili iwe rahisi kugeuza vifaa pamoja.

Ikiwa unataka PCB, hata hivyo, endesha tu CAM kupata faili muhimu za mtengenezaji kwa mtengenezaji wako unayempenda. Ninapenda Hifadhi ya OSH kwa sababu unawapa tu faili ya bodi na wanaendesha CAM zinazohitajika kupata faili wanazohitaji.

Hatua ya 3: Kufunga

Kufundisha
Kufundisha
Kufundisha
Kufundisha

Kwa hivyo kuna njia tatu za kutengeneza bodi hii:

  • Kujaza PCB
  • Kujaza bodi ya milled
  • Kueneza kitabu cha maandishi

Kueneza PCB iko mbele kabisa, na haipaswi kukupa shida kwani kila kitu kinaitwa lebo.

Kujaza bodi ya kusaga pia haipaswi kuwa ngumu sana, kwani imeigwa sawa sawa na PCB, isipokuwa hauna alama, kwa hivyo fuata faili ya bodi katika Tai ili uhakikishe unaweka vitu mahali pazuri (haswa polarity ya LEDs).

Mwishowe, kujaza nyumba ya kumbukumbu ni ya kufikiria sana, hata hivyo, sio ngumu sana. Nina picha chache kwenye hatua hii inayoonyesha toleo langu la protoboard na jinsi ninavyofaa kila kitu. Kumbuka kuwa LM7805, capacitors mbili 4.7uF na vituo vya screw havitakuwa kwenye bodi yako. Nilikuwa nikicheza karibu na wazo la kuwa na hii uwezo wa kuongezewa nguvu nje, lakini mara tu nilipoanza kufikiria juu yake, niliamua kuwa mwishowe ni kupoteza nafasi ya bodi.

Hatua ya 4: Upakiajiji wa boot

Upakiaji boot
Upakiaji boot

Kuanzisha Upakuaji wa Arduino:

Kwa hivyo hapa ndipo utahitaji Arduino yako nyingine. Kwanza nenda hapa na pakua faili kutoka kwa mtu huyu. Kwa wakati huu, faili zina umri wa miaka michache, lakini bado zinafanya kazi vizuri. Mara baada ya kuzipakua, fungua optiLoader.ino na IDE yako ya Arduino inapaswa kukushawishi kuiweka kwenye folda. Fanya hivyo kisha weka faili ya optiLoader.h kwenye folda na.ino. Sasa uko tayari kupakia mchoro huo kwenye bootloading yako Arduino. Nilitumia Arduino Uno, kwa hivyo najua inafanya kazi na hiyo, lakini nina hakika itafanya kazi na bodi zingine pia.

Mara tu unapopakia optiLoader.ino kwa Arduino yako, yote imewekwa ili kupakia vifungo vingi tofauti vya Arduino. Nimefanya tu na atmega328p, hata hivyo, nambari imewekwa ili kugundua lengo la MCU na kuwasha bootloader sahihi, ambayo ni nzuri sana. Kwa hivyo sasa, kila unapounganisha Arduino hii na bodi ya Atmega Companion na chip iliyosanikishwa na kuiwasha, itagundua kiatomati kuwa lengo ni atmega328p na kuwasha bootloader inayofaa kiatomati. Hakuna kuruka upya, hakuna vitu vya kushangaza; tu kuziba na kucheza.

Kuunganisha Bootloader kwa Bodi ya Masahaba:

[Bootloader Arduino] [Bodi ya Masahaba ya Atmega328p]

  • Rudisha D10 / pini 1
  • D11 MOSI / pini 17
  • D12 MISO / pini 18
  • D13 SCK / pini 19
  • 5V Vcc / pini 20 au 21
  • GND Gnd / pini 22

Pini zinahusu miguu ya IC yenyewe. Ikiwa hii inachanganya, angalia picha ya bodi kutoka kwa hatua ya usanidi / mpangilio wakati pini kwenye bodi ya mwenzi zimeandikwa.

Kuangaza Bootloader:

Sasa kwa kuwa umepata usanidi wa Bootloader Arduino na mchoro wa optiLoader.ino na pia sasa imeunganishwa kwa Bodi yako ya Swahaba, hakikisha kwamba swichi ya bodi mwenza imewekwa "bootload" badala ya "upload", na kisha ingiza kwenye yako Arduino kwa kompyuta. Unapaswa kuona taa kwenye Arduino yako na Bodi ya Masahaba mara kadhaa. Baada ya sekunde chache, zote zinapaswa kuwa giza na sio kuwaka tena. Hii labda inamaanisha kuwa imeangaza kwa ufanisi atmega328p IC yako na bootloader. Ili kuhakikisha kuwa kila kitu kilienda sawa, ingiza kwenye kompyuta yako na ufungue Arduino IDE na kisha mfuatiliaji wa serial. Badilisha kiwango cha baud kuwa 19200. Halafu, ikiwa haitaanza upya kiatomati, bonyeza kitufe cha kuweka upya kwenye Arduino yako. Unapaswa kuona rundo la maandishi kuelezea maandishi yanafanya nini. Mwishowe, haipaswi kuwa na ujumbe wowote wa hitilafu na inapaswa kukujulisha kuwa mchakato umefanywa.

Ikiwa unapata hitilafu, angalia swichi yako na uhakikishe kuwa uko kwenye "bootload". Ikiwa bado unapata makosa wakati huu, angalia wiring yako yote na uhakikishe kuwa ni sawa.

Hatua ya 5: Inapakia

Inapakia
Inapakia

Hii ni hatua rahisi.

Tenganisha waya zote kutoka hatua ya awali na ubadilishe swichi kutoka "bootload" hadi "upload." Chomeka moduli yako ya FTDI. Ninapenda Adafruit CP2104 na SparkFun CH340G haswa kwa sababu zina bei rahisi na pini inalingana na pini za FTDI zinazotoka kwa bodi rafiki.

Mara baada ya kuwa na FTDI yako imechomekwa kwenye bodi ya mwenzako, nenda mbele na uiingize kwenye kompyuta yako. Kutoka hapo, pakia mchoro wa mfano mkali ili kuhakikisha kuwa bootloader iliangaza vyema. Chagua Arduino / Genuino Uno kutoka kwenye menyu ya bodi. Mara tu mchoro wa blink unapopakiwa, unapaswa kuona blink LED ikiangaza, kama inavyotarajiwa. Ikiwa hiyo inafanya kazi, basi uko tayari kutumia kupakia michoro yako ya kawaida kwa IC, kama vile ungefanya na Arduino nyingine yoyote.

Hatua ya 6: Kazi ya Baadaye

Katika siku zijazo, ninapanga kuifanya hii kuwa ngao ya Arduino Uno. Haipaswi kuchukua muda kufanya hivyo, na ikiwa watu wanataka, ninaweza kupakia faili za Tai kwa hiyo hapa pia. Hii inaweza kurahisisha hatua ya kupakia boot, kwani hautahitaji kuwa na wasiwasi juu ya kuifunga vibaya. Niko wazi kwa maoni mengine ya kuboresha pia, hata hivyo, sidhani nitafanya mengi zaidi na hii, kwani ilikuwa hatua tu ya lazima katika kuandaa miradi yangu ya baadaye.

Ikiwa unataka kuona zaidi ya miradi yangu ya baadaye, nijulishe, na nitajaribu kuweka jamii ikichapishwa.

Ilipendekeza: