Nagrywanie Bootload’era na układzie ATMega328, przy użyciu Arduino Uno, jako programatora ISP.
Autor konstruował pewne zdalnie sterowane urządzenie, które wymagało, aby Arduino działało przez 24 godziny na dobę, siedem dni w tygodniu, jednak nie chciał w nim montować całego, wartego $32 Arduino Uno. Autor zdecydował się więc na kupno kilku elementów i wykonanie własnego Arduino. Najważniejszym punktem zakupów było kupno mikrokontrolera. Możemy wybierać spośród następujących mikroprocesorów:
-ATMega328P-PU z Optiboot ~ $5.50 (Sparkfun) / $5.19 (Digikey)
-ATMega328P-PU ~ $3.16 (Digikey)
-ATMega328-PU ~ $2.88 (Digikey)
Autor oczywiście wybrał... Najtańszą możliwość. Popełniając tym samym ogromny błąd. Po krótkich poszukiwaniach informacji na ten temat, okazało się, że najprostszym rozwiązaniem byłby wybór opcji pierwszej, czyli ATMega328P-PU z Optiboot. Podłącza się go tak samo, jak normalne Arduino, w przeciwieństwie do pozostałych układów, które wymagają dodatkowych modyfikacji.
Pozostałe dwa układy nie zawierają czegoś nazywanego Bootloader’em. Bootloader jest czymś w rodzaju małego programu, który musi zostać na samym początku załadowany do układu. Umożliwia on wgrywanie kodu bez użycia żadnych dodatkowych urządzeń.
A więc, jeśli chcesz zrobić cokolwiek z użyciem tych układów, najpierw musisz nagrać na nich bootloader. Jak pewnie zauważyłeś, różnica pomiędzy układem drugim i trzecim polega tylko na literce P, występującej po numerze 328. Literka P symbolizuje pico, które zaś jest skrótem od picopower, technologii firmy ATMEL, która pozwala na działanie mikrokontrolera przy zużyciu znacznie mniejszej mocy.
A więc, jeśli szukasz mikrokontrolera do swojego Arduino, UNO, lepiej upewnij się, czy posiada on funkcję picopower. Autor kupił 3 „zwykłe” układy, więc kiedy się o tym dowiedział, był załamany. W takim wypadku, konieczne jest dokonanie kilku modyfikacji w plikach Arduino, aby układ zadziałał.
W tym artykule właśnie te modyfikacje zostaną przedstawione.
Krok 1: Materiały
Będziemy potrzebowali następujących materiałów:
-1x przewód USB, do połączenia PC-Arduino
-1x Arduino UNO (autor użył R1)
-1x Atmega328-PU
-1x mała płytka uniwersalna
-1x kwarc 16MHz (ten użyty w projekcie ma pojemność 20pF)
-2x ceramiczne kondensatory o pojemności 22pF
-Oraz kilka zworek…
Krok 2: Ustawianie Arduino, jako programator ISP
Na początku należy wydać odpowiednie polecenie naszej platformie Arduino UNO (w przypadku autora Arduino UNO R1), tak aby wiedziała ona, że cokolwiek będziemy do niej przesyłać, nie ma trafić do niej, a do naszego mikrokontrolera znajdującego się w niej. Innymi słowy, wykorzystujemy nasze Arduino, jako prosty transmiter. Do tego celu autor użył oprogramowania Arduino (IDE) w wersji 1.0.1.
1. Podłącz twój moduł Arduino UNO poprzez interfejs USB do twojego komputera. (BEZ ŻADNYCH DODATKOWYCH POŁĄCZEŃ, TYLKO USB)
2. Otwórz IDE
3. Open > Example > ArduinoISP
4. Wybierz Arduino UNO z menu Tools > Board
5. Wybierz swój port szeregowy z menu Tools > Board (w przypadku autora był to port COM3, jednak można wybrać inny)
6. Zastosuj ustawienia
To może zająć chwilę. Kiedy proces dobiegnie końca, zamknij IDE I odłącz twoje Arduino. Teraz należy przygotować oprogramowanie i sprzęt.
Krok 3: Przygotowywanie sprzętu
Jest to bardzo łatwy krok, po prostu postępuj zgodnie ze schematem, aby podłączyć każdy element.
Krok 4: Przygotowywanie oprogramowania
Niestety, ta część już nie jest prosta, postępuj tylko zgodnie ze wskazówkami instrukcji. Autor zamieścił 2 pliki, które należy podmienić. Postępuj według następującej instrukcji, aby tego dokonać.
0. Upewnij się, że IDE jest zamknięty
1. Skopiuj cały folder zawierający twój IDE.
2. Otwórz nowy folder.
3. Przejdź do …\ arduino-1.0.1 BURN BOOTS\hardware\tools\avr\etc.
4. Znajdź plik, nazywający się avrdude.conf .
5. Zamień go na zamieszczony przez autora plik. (Najpierw trzeba go rozpakować.)
6. Przejdź do ...\arduino-1.0.1 BURN BOOTS\hardware\arduino .
7. Znajdź plik o nazwie boards.txt .
8. Zamień go na zamieszczony przez autora plik.
9. Zamknij wszystko.
boards.txt
avrdude.conf
Świetnie! Teraz pozostalo tylko wgrać nasz bootloader i nasz tani mikrokontroler powinien działać tako samo, jak każdy inny, normalny układ.
Krok 5: Ostatni krok! Nagrywanie Bootloader’a
Kiedy będziemy mieli wszystko podłączone, należy otworzyć IDE z folderu, który utworzyliśmy (kopia).
1. Wybierz Arduino328 z menu Tools > Board
2. Wybierz twój port szeregowy (ten sam, co poprzednio)
3. Uruchom Arduino w trybie programatora ISP w menu Tools > Programmer
4. Wybierz Burn Bootloader
Proces ten zajmie około 30 sekund. Gotowe! Teraz możesz używać taniej wersji układu (bez funkcji pico) ATMega328, tak samo jak zwykłego Arduino.
Źródło:Link



Autor konstruował pewne zdalnie sterowane urządzenie, które wymagało, aby Arduino działało przez 24 godziny na dobę, siedem dni w tygodniu, jednak nie chciał w nim montować całego, wartego $32 Arduino Uno. Autor zdecydował się więc na kupno kilku elementów i wykonanie własnego Arduino. Najważniejszym punktem zakupów było kupno mikrokontrolera. Możemy wybierać spośród następujących mikroprocesorów:
-ATMega328P-PU z Optiboot ~ $5.50 (Sparkfun) / $5.19 (Digikey)
-ATMega328P-PU ~ $3.16 (Digikey)
-ATMega328-PU ~ $2.88 (Digikey)
Autor oczywiście wybrał... Najtańszą możliwość. Popełniając tym samym ogromny błąd. Po krótkich poszukiwaniach informacji na ten temat, okazało się, że najprostszym rozwiązaniem byłby wybór opcji pierwszej, czyli ATMega328P-PU z Optiboot. Podłącza się go tak samo, jak normalne Arduino, w przeciwieństwie do pozostałych układów, które wymagają dodatkowych modyfikacji.
Pozostałe dwa układy nie zawierają czegoś nazywanego Bootloader’em. Bootloader jest czymś w rodzaju małego programu, który musi zostać na samym początku załadowany do układu. Umożliwia on wgrywanie kodu bez użycia żadnych dodatkowych urządzeń.
A więc, jeśli chcesz zrobić cokolwiek z użyciem tych układów, najpierw musisz nagrać na nich bootloader. Jak pewnie zauważyłeś, różnica pomiędzy układem drugim i trzecim polega tylko na literce P, występującej po numerze 328. Literka P symbolizuje pico, które zaś jest skrótem od picopower, technologii firmy ATMEL, która pozwala na działanie mikrokontrolera przy zużyciu znacznie mniejszej mocy.
A więc, jeśli szukasz mikrokontrolera do swojego Arduino, UNO, lepiej upewnij się, czy posiada on funkcję picopower. Autor kupił 3 „zwykłe” układy, więc kiedy się o tym dowiedział, był załamany. W takim wypadku, konieczne jest dokonanie kilku modyfikacji w plikach Arduino, aby układ zadziałał.
W tym artykule właśnie te modyfikacje zostaną przedstawione.
Krok 1: Materiały


Będziemy potrzebowali następujących materiałów:
-1x przewód USB, do połączenia PC-Arduino
-1x Arduino UNO (autor użył R1)
-1x Atmega328-PU
-1x mała płytka uniwersalna
-1x kwarc 16MHz (ten użyty w projekcie ma pojemność 20pF)
-2x ceramiczne kondensatory o pojemności 22pF
-Oraz kilka zworek…
Krok 2: Ustawianie Arduino, jako programator ISP

Na początku należy wydać odpowiednie polecenie naszej platformie Arduino UNO (w przypadku autora Arduino UNO R1), tak aby wiedziała ona, że cokolwiek będziemy do niej przesyłać, nie ma trafić do niej, a do naszego mikrokontrolera znajdującego się w niej. Innymi słowy, wykorzystujemy nasze Arduino, jako prosty transmiter. Do tego celu autor użył oprogramowania Arduino (IDE) w wersji 1.0.1.
1. Podłącz twój moduł Arduino UNO poprzez interfejs USB do twojego komputera. (BEZ ŻADNYCH DODATKOWYCH POŁĄCZEŃ, TYLKO USB)
2. Otwórz IDE
3. Open > Example > ArduinoISP
4. Wybierz Arduino UNO z menu Tools > Board
5. Wybierz swój port szeregowy z menu Tools > Board (w przypadku autora był to port COM3, jednak można wybrać inny)
6. Zastosuj ustawienia
To może zająć chwilę. Kiedy proces dobiegnie końca, zamknij IDE I odłącz twoje Arduino. Teraz należy przygotować oprogramowanie i sprzęt.
Krok 3: Przygotowywanie sprzętu

Jest to bardzo łatwy krok, po prostu postępuj zgodnie ze schematem, aby podłączyć każdy element.
Krok 4: Przygotowywanie oprogramowania



Niestety, ta część już nie jest prosta, postępuj tylko zgodnie ze wskazówkami instrukcji. Autor zamieścił 2 pliki, które należy podmienić. Postępuj według następującej instrukcji, aby tego dokonać.
0. Upewnij się, że IDE jest zamknięty
1. Skopiuj cały folder zawierający twój IDE.
2. Otwórz nowy folder.
3. Przejdź do …\ arduino-1.0.1 BURN BOOTS\hardware\tools\avr\etc.
4. Znajdź plik, nazywający się avrdude.conf .
5. Zamień go na zamieszczony przez autora plik. (Najpierw trzeba go rozpakować.)
6. Przejdź do ...\arduino-1.0.1 BURN BOOTS\hardware\arduino .
7. Znajdź plik o nazwie boards.txt .
8. Zamień go na zamieszczony przez autora plik.
9. Zamknij wszystko.
boards.txt
avrdude.conf
Świetnie! Teraz pozostalo tylko wgrać nasz bootloader i nasz tani mikrokontroler powinien działać tako samo, jak każdy inny, normalny układ.
Krok 5: Ostatni krok! Nagrywanie Bootloader’a



Kiedy będziemy mieli wszystko podłączone, należy otworzyć IDE z folderu, który utworzyliśmy (kopia).
1. Wybierz Arduino328 z menu Tools > Board
2. Wybierz twój port szeregowy (ten sam, co poprzednio)
3. Uruchom Arduino w trybie programatora ISP w menu Tools > Programmer
4. Wybierz Burn Bootloader
Proces ten zajmie około 30 sekund. Gotowe! Teraz możesz używać taniej wersji układu (bez funkcji pico) ATMega328, tak samo jak zwykłego Arduino.
Źródło:Link
Cool? Ranking DIY