Wgrywanie Bootloadera na Atmega 328P-PU

Arduino jest bardzo ciekawym urządzeniem dzięki którego możemy samemu stworzyć mnóstwo niezwykłych elektronicznych projektów. Koszt jednak oryginalnej płytki takiej jak Arduino Uno to około 100 zł i nawet jeśli zdecydujemy się na chińska podróbkę rzadko znajdziemy coś o cenie niższej niż 20zł. To dla wielu projektów może być już odpowiednia cena, niemniej z wszystkich opcji jakie daje nam płytka najczęściej potrzebujemy jedynie to co oferuję nam mikrokontroler którego cena jak i wielkość jest nie duża.

 
Mikrokontlorer atmega 328P-PU to koszt raptem 6 zł jeśli korzystamy z ebaya, przy tym nie musimy zazwyczaj płacić za przesyłkę. Istnieje wiele mikroktorolerów różnią się one głównie rozmiarami, ilością dostępnych pinów, pamięcią, prędkością czy ceną. Osobiście polecam mikrokontroler atmega 328P-PU który jest podstawą dla Arduino Uno oraz mniejszy odpowiednik ATiny13A który jest jednym z najmniejszych mikrokontrolerów tego producenta. Niemniej jeśli potrzebujemy mikrokontroller o jakiś szczególnych parametrach możemy skorzystać z oficjalnej strony producenta gdzie jest udostępniona porównywarka ponad 600 różnych mikrokontrolerów http://www.atmel.com/selector.html
 
Niezależnie jednak na jaki mikrokotnroler się zdecydujemy musi on mieć wgrane odpowiednie oprogramowanie zwane bootloadererm. Nierzadko sprzedawane mikrokontrolery maja już wgrany bootloader. Jednak jeśli zamówimy całkowicie czyste mikrokontrolery zaoszczędzimy kilka groszy, a dodatkowo nie raz zdarzyło mi się kupować na ebayu mikrokontrolery które powinny mieć wgrane oprogramowanie, a jednak ostatecznie tą kwestią musiałem zając się sam.
 
Jako że niedawno doszła do mnie dostawa nowych mikrokontrolerów postanowiłem stworzyć krótki instruktaż jak wgrać taki bootloader na mikrokontroler 328P-PU
 
Potrzebne nam będą:
 
Arduino Uno
Atmega 328P-PU
16 MHz rezonator kwarcowy
2×22 nf kondensator
 

Stwórzmy nie skomplikowany układ zgodny z poniższym schematem:


bootloader schematics

Poniżej mamy schemat pinów dla atmegi 328P-PU jak widzimy piny 7,20 i 21 podłączamy do zasilania +5V. Piny 8 i 22 uziemiamy. Pin 1 atmega pozwala na restartowanie urządzenia jest on nam potrzebny przy wypalaniu bootloadera. Do pinów 9 i 10 podłączamy rezonator kwarcowy oraz dwa kondensatory i ostatecznie je uziemiamy, dzięki tego zegar naszego mikrokontrolera będzie działać poprawnie. Pin 17 MOSI . Pin 18 MISO Pin 19 SCK są to piny wykorzystywane do protokołu SPI. Protokół SPI pozwala na komunikacje między sobą dwóch mikrokontrolerów. W połączeniu tym dwa kontrolery działają że sobą w relacji typy master-slave. MOSI Odpowiada za przesyłanie informacji z urządzenia master do urządzenia slave. MISO przesyła informacje z urządzenia slave do urządzenia master. SCK to zegar umożliwiający synchronizacje danych.


328 pins

Zdjęcie gotowego układu:


328 photo

Jeżeli mamy wszystko dobrze podłączone odpalamy Arduino IDE i podłączamy naszą płytkę pod USB.
 
Wybieramy plik->Przykłady->11.ArduinoISP-> ArduinoISP


boot1

Wgrywamy ten przykład na naszą płytkę


boot2

Następnie w narzędzia→płytka wybieramy arduino uno


boot3

Ustawiamy programator narzędzia→ programator → arduino as isp


boot4

Upewniamy się ze mamy odpowiedni port zaznaczony narzędzia → port → nasz port do którego podłączony jest płytka arduino


boot5

Wypalamy bootlader narzędzia → wypal bootloader


boot6

I to w zasadzie tyle powinniśmy mieć wgrany bootlader do naszego mikrokontrolera który możemy wykorzystać niemal w każdym projekcie.

Dodaj komentarz

WordPress Video Lightbox Plugin