Kupanga programu ya ATTiny85, ATTiny84 na ATMega328P: Arduino kama ISP: Hatua 9 (na Picha)
Kupanga programu ya ATTiny85, ATTiny84 na ATMega328P: Arduino kama ISP: Hatua 9 (na Picha)
Anonim
Kupanga programu ya ATTiny85, ATTiny84 na ATMega328P: Arduino kama ISP
Kupanga programu ya ATTiny85, ATTiny84 na ATMega328P: Arduino kama ISP
Kupanga programu ya ATTiny85, ATTiny84 na ATMega328P: Arduino kama ISP
Kupanga programu ya ATTiny85, ATTiny84 na ATMega328P: Arduino kama ISP

Utangulizi

Hivi karibuni nimekuwa nikitengeneza miradi michache ya IoT ya ESP8266 na kugundua kuwa processor ya msingi ilikuwa ikijitahidi kutekeleza majukumu yote niliyohitaji kusimamia, kwa hivyo niliamua kusambaza shughuli zingine zisizo muhimu kwa mdhibiti mdogo tofauti kwa njia hii kuifungua ESP8266 kuendelea na kazi yake ya kuwa kifaa cha IoT.

Kwa kuwa nilitaka kuchapisha mradi wangu kwa hadhira pana iwezekanavyo niliamua kutumia IDE ya Arduino kama jukwaa la maendeleo la chaguo kwani ina jamii inayoungwa mkono sana.

Vikwazo vya Kubuni

Ili kutoa uenezaji mzuri wa vifaa lengwa vinavyoruhusu uteuzi wa mdhibiti mdogo kwa programu iliyo karibu, nilikaa kwenye sehemu zifuatazo za Atmel; ATMega328P, ATTiny84 na ATTiny85. Kupunguza ugumu wa programu muhimu nililazimisha uchaguzi wa saa ndani kwa vifaa vyote na 16MHz nje kwa ATMega328P na ATTiny84 tu.

Ifuatayo ni mkusanyiko wa maelezo juu ya programu na Arduino na maelezo ya jinsi nilivyoweka pamoja programu rahisi ya Arduino Uno ya vifaa hivi (Picha hapo juu).

Ninahitaji sehemu gani?

Ili kujenga programu utahitaji sehemu zifuatazo

  1. 1 mbali Arduino Uno
  2. 2 off 28 pin Zero Insertion Force (ZIF) soketi za DIP (kushikilia ATMega328P, ATTiny85, ATTiny84)
  3. 1 mbali ngao ya mfano wa Arduino (nilipata yangu hapa; https://www.ebay.co.uk/itm/Arduino-UNO-Prototyping ……)
  4. 2 off 5MM LEDs
  5. Punguza vipinga 1K 1
  6. 1 off 10K kontena
  7. 4 mbali 22pF kauri capacitors
  8. 2 off 16MHz fuwele
  9. 3 off 0.1uF kauri capacitors
  10. 1 mbali 47uF Electrolytic Capacitor
  11. 1 mbali 10uF Electrolytic Capacitor
  12. Urefu anuwai waya wa kufunika waya.

Ninahitaji programu gani?

Kitambulisho cha Arduino 1.6.9

Ninahitaji ujuzi gani?

  1. Ujuzi wa Arduino IDE
  2. Ujuzi fulani wa umeme na jinsi ya kuuza
  3. Mpango mkubwa wa ustadi wa mwongozo
  4. Mzigo wa uvumilivu na kuona vizuri

Mada zimefunikwa

  1. Utangulizi wa jumla wa programu ya Atmel Microcontrollers
  2. ISP au Bootloader: Inachanganya kabisa
  3. Muhtasari wa mzunguko
  4. Kuanzisha programu yako
  5. Kutumia Programu yako ya Arduino ISP
  6. Kuendeleza nambari kwenye mfumo wako wa kulenga
  7. Gotchas
  8. Hitimisho
  9. Marejeleo yaliyotumiwa

Kanusho

Kama kawaida, unatumia maagizo haya kwa hatari yako mwenyewe na hayatumiki

Hatua ya 1: Utangulizi wa jumla juu ya Udhibiti wa Atmel Microcontroller

Utangulizi wa jumla juu ya Udhibiti wa Atmel Microcontrollers
Utangulizi wa jumla juu ya Udhibiti wa Atmel Microcontrollers
Utangulizi wa jumla juu ya Udhibiti wa Atmel Microcontrollers
Utangulizi wa jumla juu ya Udhibiti wa Atmel Microcontrollers
Utangulizi wa jumla juu ya Udhibiti wa Atmel Microcontrollers
Utangulizi wa jumla juu ya Udhibiti wa Atmel Microcontrollers

Kuna njia mbili zinazopatikana za programu ndogo za kudhibiti Atmel;

  1. Katika Programu ya Mfumo (ISP),
  2. Kujipanga (kupitia bootloader).

Njia ya zamani (1) hupanga moja kwa moja microcontroller kupitia kiolesura cha SPI baada ya kuweka kifaa kwanza. Isipokuwa ilivyoagizwa vinginevyo mpango wa chanzo uliyotekelezwa umeandikwa kwa kifaa kwa kuongezeka kwa kumbukumbu ya nambari kutoka ambapo inatekelezwa wakati wa kuanza. Kuna vifaa vingi vya ISP vinavyoweza kupanga vifaa vya Atmel, ambazo chache ni (pic 1); AVRISPmkII, Atmel-ICE, Olimex AVR-ISP-MK2, Olimex AVR-ISP500. Picha ya 2 inaonyesha jinsi kifaa cha ISP kinavyounganishwa na ATMega328P (isiyo ya kawaida ICSP) kwenye bodi ya Arduino Uno R3 (picha 3 inatoa pini ya ISP nje). Inawezekana pia kupanga mpango mdogo wa Atmel kupitia kiolesura cha SPI ukitumia Arduino Uno kama ISP (picha 4), hapa Uno inatumika kupanga ATMega328P.

Njia ya mwisho (2) hutumia kijiti kidogo cha nambari kinachojulikana kama 'bootloader' anayekaa kabisa katika kumbukumbu ya nambari inayoweza kutekelezwa (kawaida imefungwa ili kuzuia kuandika tena picha 5). Nambari hii inatumiwa kwa kitu cha kwanza juu ya kuzima nguvu au kuweka upya kifaa na inaruhusu mdhibiti mdogo ajipange upya na nambari mpya inayopokelewa kupitia moja ya njia zake kutoka kwa chanzo kutoka kwake. Njia ya bootloader inatumiwa na Arduino IDE kupanga tena Arduinos kama ramani ya USB kwenye PC (Au MAC, Linux box nk, picha 6) na kwa kesi ya Arduino Uno inawasiliana na kifaa cha Atmel kupitia interface ya serial kwenye pini za IC 2 na 3 ya ATMega328P. Pia Arduino Uno (na mdhibiti mdogo wa ATMega328P ameondolewa) inaweza kutumika kupanga ATMega328P kupitia njia ya bootloader inayofanya kama USB kwa kifaa cha adapta ya serial (pic 7).

USB ni nini kwa adapta ya serial?

USB kwa adapta ya serial ni kipande cha vifaa ambavyo huingia kwenye bandari yako ya USB ya PC na inaonekana kama bandari ya serial (urithi kutoka nyakati za mapema wakati kompyuta zilitumia kiwango cha mawasiliano ya serial inayojulikana kama EIA-232, V24 au RS232) inayokuruhusu tuma na upokee data ya serial kwa viwango sawa vya umeme wa mdhibiti mdogo. Unapochagua Zana -> Bandari -> COMx kutoka kwa IDE ya Arduino unaunganisha / unaunganisha PC yako kwa Arduino yako.

Kifaa kama hiki wakati mwingine huitwa FTDI (picha ya 8, ambayo kwa kweli ni jina la chapa) au CH340G n.k. USB kwa serial kwenye Arduino uno inafanikiwa kupitia ATMega16U2-MU (R) IC ZU4 kama vile Arduino Schematic chini.

Kwa picha ya uwazi 9 hutambua vifaa viwili vya Atmel na viunganishi vya ISP kwenye Arduino Uno R3.

Kumbuka 1: Ikiwa unachagua kwenda chini kwa njia ya kifaa cha FTDI hakikisha unanunua kutoka kwa muuzaji anayejulikana kwani kumekuwa na vifaa vingi bandia sokoni ambavyo vimeshindwa wakati wa matumizi ya sasisho la windows.

Ilipendekeza: