ATMega328P - bez płytki Arduino

Przychodzi moment kiedy chcemy wykorzystać mikrokontroler w projekcie na stałe a rozmiar płytki z Arduino zaczyna przeszkadzać. Samodzielny mikrokotroler ATMega328P zwykle nie ma wgranego bootloadera Arduino, musimy zatem "wypalić" go samodzielnie. W tym celu potrzebne będą:

  • Arduino UNO
  • płytka stykowa
  • kilka kabelków
  • kondensator 10uF
  • kondesatory 22pf
  • kondensator 10nF
  • rezystor 10kOhm
  • dioda świecąca
  • rezystor 220-560Ohm (do diody)
  • kwarc 16MHz
  • środowisko Arduino
  • konwerter USB-UART (programator FTDI)
Przygotowanie programatora

Podłączamy Arduino UNO do komputera z użyciem kabla USB, w środowsiku Arduino z przykładów otwieramy szkic o nazwie ArduinoIPS i wgrywamy go do naszego UNO. Następnie w menu Tools wybieramy jako programator Arduino as ISP.

Kabelkolgia

Osadzamy niezaprogramowany mikrokontroler na płyce stykowej i łączymy z Arduino UNO w sposób zaprezentowany poniżej: ArduinoISP Teraz możemy kliknąć Tools/Burn bootloader, proces wgrywania bootloadera powinien zająć do 30 sekund.

Programowanie ATMega328P

Jeżeli podczas wgrywania bootloadera nie wystąpił żaden błąd to możemy odłączyć Arduino UNO. Trzeba pamiętać by w środowisku Arudino przywrócić standardowy programator czyli wybieramy Tools/Programmer/AVRISP mkII. Warto zacząć od prostego programu (np.: Blink) by sprawdzić czy mikrokotroler działa poprawnie i czy wgrywanie bootloadera rzeczywiście zakończyło się sukcesem. Łaczymy ATMegę z programatorem w poniższy sposób:

ArduinoFTDI

Pin RTS programatora podpinamy do pinu Reset ATMegi, na niektórych programtorach może mieć on oznaczenie DTR. Pin 19 ATMega328P ma w Arduino oznaczeni D13 - przy powyższym połączeniu dioda powinna zacząć migać po wgraniu programu Blink z przykładów Arduino bez żadnych modyfikacji.

Radykalne odchudzanie projektu

Jeżeli zależy nam na maksymalnych uproszczeniu projektu możemy zrezygnować z zewnętrznego zegara, jego kondensatorów i rezystora przy pinie reset ale skutkiem będzie użycie wewnętrznego zegara 8MHz. Instrukcja jak wgrać bootloader z ustawionymi parametrami dla wewnętrznego zegara jest tutaj: https://docs.arduino.cc/built-in-examples/arduino-isp/ArduinoToBreadboard

Poprzedni wpis Następny wpis