BAN BEN előző cikk megmutattuk, hogyan kell programozni az ATtiny45 és az ATtiny85 chipeket. Ha több portra vagy kommunikációs interfészre van szüksége, akkor az ATmega328 mikrovezérlőt is használhatja a tervezéshez - ugyanúgy, mint az Arduino fejlesztőtáblán. Hibakeresheti a programot és a perifériák csatlakozását az Arduino-n, majd programozhatja a mikrokontrollert a konstrukció nyomtatott áramköri lapján. Megkérdezi, miért nem használja közvetlenül az Arduino-t, mert olcsó? Ha nem számít a méretek és a gazdaságos működés, akkor miért ne. De a kivitel közvetlenül a chip mellett lényegesen kisebb, könnyebb és jelentősen alacsonyabb az energiafogyasztása. Az Arduino tipikus áramfogyasztása 50 mA, mert áramkörei is vannak az USB-n keresztüli programozáshoz. Maga a chip fogyasztása körülbelül 15 mA, és ha a könyvtár segítségével energiatakarékos módra vált, akkor jelentősen alacsonyabb.

ATmega328 programozási eljárás:

ATmega 328

Az egyszerű csomagoláshoz vagy forrasztáshoz feltételezzük, hogy az ATmega328P chip egy DIL (Dual In Lina) tokban van, 28 terminállal mindkét oldalon 14 elhelyezkedéssel. Van egy chip is a felületre szereléshez, de ehhez forrasztási ismeretekre van szükség, és nem használható a csatlakozási területen.

nextech

Ha leírjuk az áramkört szélességben, az 1. kapocslappal a bal alsó sarokban, akkor a bal sorkapocs felső sorában:

  • Az A6-A0 6 érintkező, amelyek analóg bemenetként is működnek
  • GND, azaz elektromos föld vagy mínusz pólus, ha akkumulátorral működik
  • AREF és AVCC
  • D13-D9 - digitális csapok

A bal alsó sarokban csapok találhatók:

  • RST - jel visszaállítása
  • RX és TX - csapok a soros kommunikációhoz. Digitális 0 és 1 tűként is működhetnek.
  • D2-D4 digitális csapok
  • VCC tápfeszültség 5V
  • GND elektromos földelés
  • XTL 1 és 2 - terminálok egy külső 16 MHz-es kristály csatlakoztatásához. A belső oszcillátor használatakor nem kell csatlakoztatnia
  • D5-D8 digitális csapok

A legtöbb érintkezõnek alternatív funkciója is van, például kommunikációs interfész jelei.

Arduino az ATmega programozójaként

Az ATmega 328 chip külön használatához be kell töltenie egy programot. Programozóként bármilyen Arduino-t használhat, és több vezetékkel csatlakoztathatja a mikrovezérlő csapjaihoz. Csatlakoznia kell:

A programozáshoz csatlakoznia kell:

Csatlakoztasson egy 10 uF elektrolit kondenzátort az Arduino RESET és GND csapjai közé. A kondenzátor plusz pólusa a RESET-hez csatlakozik. Csatlakoztassa a többi csapot a táblázat szerint:

A táblázatban a portok és a PIN-kódok is szerepelnek, azaz az Arduino esetében a rendszercsatlakozón lévő számozás és az ATmega integrált áramkör esetén a "lábai" vannak.

A programozó működésének figyelemmel kíséréséhez három LED-et kell csatlakoztatnia az Arduino csapokhoz, de nem kell:

  • PIN7 - villog a slave mikrokontroller programozása során.
  • PIN8 - hibát jelez.
  • PIN9 - Tompítással villogó PWM I segítségével jelzi, hogy a programozó működőképes

Arduino IDE fejlesztői környezet konfigurálása

Ha még nincs telepítve az Arduino IDE, töltse le a következő címen: https://www.arduino.cc a Szoftver részben. Windows, Mac OS és Linux platformokra érhető el. A fejlesztői környezet nincs telepítve, az alkalmazást közvetlenül az Internetről tölti le, a Windows megfelelő könyvtárába helyezi, és a Letöltött könyvtárból átmásolja a Mac OS platform Alkalmazások könyvtárába. Az új MacOS Catalina alkalmazásban engedélyeznie kell egy harmadik féltől származó alkalmazás működését.

A fejlesztői környezethez hozzá kell adni egy külön AT Mega 328P áramkör támogatását. Letöltés innen oldalakat támogató fájlok, különösen ITT. Abban a könyvtárban, ahol az Arduino IDE projektek találhatók, alapértelmezés szerint ez a C: \ Felhasználók \ Felhasználónév \ Dokumentumok \ Arduino hozzon létre egy hardver mappát, és másolja a kibővített kenyérvágódeszka mappát a letöltött archívumból, ahol a rendszerbetöltő és a konfigurációs fájl található.

Az Arduino IdE elindítása után rájön, hogy az Eszközök/Táblák menübe új elem kerül az ATmega 328 áramkörhöz.

Az Arduino programozói használatához külön ATmega áramkörön futtassa az Arduino IDE fejlesztői környezetet, és nyissa meg a példát Fájl> Példák> ArduinoISP. Töltse fel ezt a programot az Arduino alkalmazásba. Nem kell foglalkoznia a program működésével, ez csak egy eszköz, amellyel kódot lehet feltölteni az ATmega mikrovezérlőbe.

Először be kell tölteni a rendszerbetöltőt a mikrovezérlőbe, azaz a rendszerbetöltőt a menü segítségével Eszközök> Bootloader írása. A mikrokontroller, legyen az ATtiny vagy ATmega, gyárilag rendelkezik flash memóriával, amely teljesen üres a felhasználói kód számára. A gyártó feltételezi, hogy az áramkört egy speciális programozó segítségével programozzák. Az Arduino-ban és a kapcsolatainkban is azonban az áramkörbe kapcsolt mikrovezérlőt programozzuk, vagyis az ISP (In-System Programmer) módszert alkalmazzuk. Ez lehetővé teszi a mikrovezérlő programozását soros interfészen keresztül. A flash memóriában van egy speciális kód, az úgynevezett bootloader, amely a memória végén található. A felhasználói kód helyét a memória elején feltételezzük. A visszaállítás után elindul egy bootloader, amely érzékeli, hogy megérkezett-e egy speciális karaktersorozat a soros interfész csapjaira, jelezve, hogy be lesz programozva. Ha igen, a rendszerbetöltő beolvassa az adatokat a soros interfészről, és programozza vele a flash memóriát.

Tegyük fel, hogy van egy program az ATmega számára a fejlesztői környezetben, például egy példa sor a példa menüből, amely villog egy LED-del, módosítva úgy, hogy egy LED kigyulladjon egy kimeneten, például a D8, amely az utolsó az integrált alsó sorában áramkör sorkapcsai.