- Wymagane składniki
- Schemat pinów Atmega328
- Opisy komponentów
- Część 1: Budowanie obwodu Arduino na płytce prototypowej
- Część 2: Wypalanie bootloadera do układu Atmega328
- Część 3: Jak zaprogramować bootloader Arduino przesłał Atmega 328
- Programowanie układu Atmega328 za pomocą płytki Arduino
- Programowanie układu Arduino Atmega328 za pomocą konwertera USB na port szeregowy
Wszyscy wiemy, że na płycie Arduino UNO zastosowano układ Atmega328. Ten układ scalony jest mózgiem płyty Arduino. Właściwie projektanci Arduino chcieli stworzyć poręczną płytkę prototypową dla początkujących, więc zorganizowali wszystkie komponenty w taki sposób, aby każdy miał dostęp do wszystkich pinów układu Atmega328 i mógł go zaprogramować po prostu podłączając go do komputera. Płytka Arduino jest bardzo popularna przy tworzeniu projektów hobbystycznych. Ale w produktach przemysłowych lub konsumenckich nie jest dobrym pomysłem używanie całej płytki Arduino, więc możemy użyć samodzielnego układu scalonego Atmega328, który można zaprogramować za pomocą Arduino IDE, ale bez użycia płytki Arduino.
W tym samouczku zobaczymy, jak wymienić płytkę Arduino na układ scalony Atmega328 i kilka innych komponentów. Aby użyć układu Atmega328 zamiast arduino, najpierw musimy wypalić w nim Arduino Bootloader, a następnie zaprogramować go za pomocą FTDI lub za pomocą płytki Arduino. Ten poradnik pomoże również w wymianie uszkodzonego układu Atmega328 z płytki Arduino. Również korzystając z opisanego poniżej obwodu możesz zbudować własną płytkę Arduino, replikując ją na PCB.
Wymagane składniki
- Atmega 328 IC
- Płytka prototypowa
- LM7805
- Kryształ 16 MHz
- Kondensatory ceramiczne 22pF (2)
- Kondensator 10uF (2)
- Rezystor 10 K.
- Rezystor 1k
- Przewody połączeniowe
Opcjonalnie można również użyć regulatora napięcia 3,3 V LM1117-3,3 V, aby dołączyć szynę 3,3 V do obwodu.
Schemat pinów Atmega328
Opisy komponentów
Część zasilająca
- Regulator napięcia 5 V: Atmega 328 IC działa na zasilaniu 5 V. Więc tutaj używamy LM7805, aby uzyskać wyjście 5 V, może obsłużyć do 30 V jako wejście. Jeśli masz oddzielne zasilanie 5 V, możesz opuścić ten krok.
- Kondensatory: kondensator 10uF jest używany w części wejściowej i wyjściowej 7805 w celu obejścia dowolnego komponentu prądu przemiennego do masy.
- LED: To pokaże, że nadchodzi wyjście 5 V.
Część mikrokontrolera
- Atmega 328: To jest nasz główny komponent na płytce prototypowej. Jego schemat pinów podano powyżej.
- Oscylator kwarcowy: zewnętrzny kryształ 16 MHz jest podłączony między Pin 9 i Pin 10 ATmega328. Ten kryształ jest używany do nadawania zegara mikrokontrolerowi w celu szybszego wykonywania zadań.
- Push Button: Aby zresetować mikrokontroler, przycisk jest podłączony między pinem 1 a GND. Zwykle jest połączony z 5 V za pomocą rezystora 10 k.
- Dioda LED: dioda jest podłączona do cyfrowego pinu 13.
Ten kompletny samouczek jest podzielony na trzy części, aby stworzyć własne Arduino działające na płytce prototypowej:
- Budowanie obwodu Arduino na płycie prototypowej
- Wypalanie bootloadera w Atmega328 IC
- Jak zaprogramować bootloader Arduino wgrał Atmega 328 IC na płytkę prototypową.
Teraz wyjaśnimy każdą część po kolei.
Część 1: Budowanie obwodu Arduino na płytce prototypowej
Krok 1: - Podłącz część zasilacza, jak pokazano na schemacie obwodu i przetestuj za pomocą zewnętrznego zasilacza do LM7805. Będzie to wyglądało tak.
Krok 2: - Teraz podłącz część mikrokontrolera, jak pokazano na schemacie obwodu. Wykonuj połączenia ostrożnie.
Krok 3: - Teraz podłącz zasilacz i część mikrokontrolera za pomocą zworek. Twój ostatni obwód będzie wyglądał mniej więcej tak.
A więc to jest nasze Arduino na płytce prototypowej. Możesz zaimplementować ten sam obwód na PCB za pomocą prostych narzędzi, takich jak EasyEDA, itp. Teraz musimy wgrać bootloader do nowego układu Atmega 328, abyśmy mogli rozpocząć programowanie układu.
Część 2: Wypalanie bootloadera do układu Atmega328
Co to jest bootloader i dlaczego go potrzebujemy?
Bootloader to mały fragment wykonywalnego kodu, który jest trwale przechowywany w pamięci mikrokontrolera. Zajmuje mniej niż 1 KB pamięci. Bootloader umożliwia układowi scalonemu przyjęcie kodu z komputera i umieszczenie go w pamięci mikrokontrolera.
Tradycyjnie wszystkie mikrokontrolery firmy Atmel są programowane przy pomocy programistów, którzy mają kilka fantazyjnych połączeń. Bootloadery zmniejszają złożoność i pozwalają nam w łatwy i efektywny sposób zaprogramować mikrokontroler. Oznacza to, że możesz go zaprogramować po prostu za pomocą kabla USB.
Kiedy kupujesz nową Atmega 328 z rynku, nie ma w niej bootloadera. Aby zaprogramować Atmega328 za pomocą Arduino IDE, musisz najpierw załadować bootloader.
Aby przesłać Bootloader, mamy dwie metody:
- Korzystanie z programatora USBasp
- Korzystanie z płyty Arduino UNO
Druga metoda jest łatwiejsza w porównaniu do pierwszej. Ponieważ wymaga mniej połączeń, a także najnowsza wersja Arduino IDE nie obsługuje wyszukanych programistów USBasp.
Tak więc, w tym tutorialu będziemy załadować bootloader Arduino Uno, przy użyciu karty.
Prześlij program ładujący Arduino do układu Atmega328
Krok 1: - Otwórz Arduino IDE. Przejdź do Plik -> Przykłady -> ArduinoISP . Wybierz ArduinoISP. Jak pokazano niżej.
Krok 2: - Teraz musisz przesłać ten kod do swojej płyty Arduino. Wybierz port COM i kartę z menu narzędzi i naciśnij przycisk przesyłania.
Krok 3: - Po „ Gotowym ładowaniu” odłącz płytkę Arduino od komputera i wykonaj połączenia płyty Arduino z Atmega 328, jak pokazano na poniższym schemacie.
Krok 4: - Teraz podłącz płytkę Arduino do komputera. Otwórz Arduino IDE.
Przejdź do menu Narzędzia, wybierz kartę jako Arduino / Genuine Uno, wybierz odpowiedni port dla swojej płyty. Wybierz Programmer jako „Arduino as ISP”. Nie myl go z ArduinoISP. Obie są różne.
Krok 5: - Teraz przejdź do Narzędzia ponownie i kliknij Burn Bootloader tuż pod opcją Programmer. Po kilku sekundach bootloader został pomyślnie załadowany. Jeśli podczas przesyłania wystąpi błąd, sprawdź połączenia.
Sprawdź poniższe wideo, aby zrozumieć kroki wyjaśnione powyżej, aby załadować bootloader w Atmega 328 IC.
Twoja płytka prototypowa Arduino jest gotowa do pracy jako prawdziwa płytka Arduino. Teraz nasuwa się pytanie, jak zaprogramować Atmega 328 IC ? Omówimy to w następnej sekcji.
Część 3: Jak zaprogramować bootloader Arduino przesłał Atmega 328
Samodzielny układ Arduino Atmega328 można zaprogramować na wiele sposobów.
- Korzystanie z pustej płyty Arduino, tj. Płyty Arduino bez układu Atmega 328 w niej.
- Korzystanie z modułu konwertera USB na szeregowy TTL (moduł FTDI).
- Korzystanie z programatora USBasp (wymaga wielu połączeń).
Tutaj zaprogramujemy go na dwa sposoby: konwerter USB na port szeregowy i płytkę Arduino.
Programowanie układu Atmega328 za pomocą płytki Arduino
Krok 1: - Weź płytkę Arduino bez układu Atmega328. Wykonaj połączenia płyty Arduino z naszą płytką prototypową Arduino, jak pokazano na tym schemacie.
Krok 2: - Połącz płytkę Arduino z komputerem i otwórz Arduino IDE. Wybierz Arduino Uno z menu Płytka w Narzędziach , Programator jako USBasp i popraw port COM płytki.
Krok 3: - Zaczniemy od wgrania programu Blink. Wybierz program migający z przykładów i naciśnij przycisk Prześlij.
Teraz możesz zobaczyć, że dioda na płytce stykowej zacznie migać.
Programowanie układu Arduino Atmega328 za pomocą konwertera USB na port szeregowy
Krok 1: - Jeśli nie masz płyty Arduino. To najlepsza metoda programowania płytki prototypowej Arduino .
Wykonaj połączenia jako:
Pin RXD FTDI -> Pin Tx Atmega328 (pin 3)
Pin TXD FTDI -> Pin Rx Atmega328 (pin 2)
GND -> GND (pin 8)
5v -> Vcc (pin 7)
Niektóre moduły FTDI mają pin Reset, znany również jako pin DTR, który musi być połączony z pinem Reset Atmega328 (pin 1). Jeśli w module nie ma pinu resetującego, nie martw się, podam rozwiązanie podczas programowania chipa.
Krok 2: - Teraz podłącz FTDI do komputera i otwórz Menedżera urządzeń w panelu sterowania. Zobaczysz sekcję Port, rozwiń ją. Jeśli przed sterownikiem znajduje się żółty znak, musisz zaktualizować sterownik modułu.
Jeśli nie ma znaku, zanotuj numer portu com i otwórz Arduino IDE. Idź do Narzędzia -> Porty -> Wybierz zanotowany com.
Krok 3: - Teraz prześlemy program blink do naszego Breadboard Arduino . Przejdź do Plik -> Przykłady -> Podstawy -> Miganie . Wybierz Arduino Uno z menu Board w narzędziach, Programmer jako USBasp i popraw port com płyty.
Następnie naciśnij przycisk przesyłania.
Uwaga: Jeśli twój moduł FTDI nie ma pinów DTR, naciśnij przycisk Reset na płytce prototypowej i naciśnij przycisk przesyłania. Trzymaj wciśnięty, jeśli wyświetli się komunikat Kompilowanie szkicu… Zwolnij przycisk, gdy tylko wyświetli się komunikat Przesyłanie…
Teraz program zostanie pomyślnie przesłany do układu Arduino Bootloader Atmega328.
Poniżej wideo do programowania układu Atmega 328 bez użycia płytki Arduino:
Zrobiliśmy z naszym obwodem DIY Breadboard Arduino. Możesz zaprojektować ten obwód na PCB, aby był bardziej kompaktowy.