Spisu treści:
- Krok 1: BOM i narzędzia
- Krok 2: Schemat/układ
- Krok 3: Lutowanie
- Krok 4: Ładowanie
- Krok 5: Przesyłanie
- Krok 6: Przyszła praca
Wideo: Towarzysz Atmega328p: 6 kroków (ze zdjęciami)
2024 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2024-01-30 11:32
Towarzysz ATMEGA328P: moduł bootloadera i programatora
Jeśli jesteś podobny do mnie, jesteś uzależniony od projektów i Arduino. Jeśli jednak wykonałeś wiele projektów z Arduino jako mózgiem, prawdopodobnie zacząłeś mieć dość patrzenia na płytę Arduino jako całość, zaśmiecając swój projekt i ogólnie po prostu wyglądając źle. W związku z tym zdecydowałem, że chcę przejść od płyt Arduino do używania samego układu scalonego.
Wpisz atmega328p.
Atmega328p jest prawdopodobnie najbardziej płodnym układem scalonym kompatybilnym z Arduino na rynku. W żadnym wypadku nie jest najtańszy ani najmocniejszy, jednak biorąc pod uwagę oba te czynniki, jest to moim zdaniem najlepsza wydajność w przeliczeniu na dolara. Czy jesteś więc gotowy, aby Twoje projekty wyglądały bardziej profesjonalnie i mniej jak konglomerat gotowych modułów? Jeśli tak, przeczytaj tę instrukcję, a otrzymasz informacje niezbędne do zbudowania własnego modułu, który pozwoli ci flashować bootloader do docelowego atmega328p, przesłać szkic migający, aby upewnić się, że wszystko działa, i na koniec przesłać własne szkice dla Twoich indywidualnych projektów.
Krok 1: BOM i narzędzia
Po pierwsze, ta instrukcja nie będzie krok po kroku, jak zbudować instrukcję, ale zamiast tego zakładam, że wiesz, jak czytać schemat i możesz go przetłumaczyć na tablicę. Mając to na uwadze, oto niezbędne materiały i narzędzia:
Materiały:
- 1x płyta prototypowa lub płytka drukowana 40x60mm
- 1x 6-pinowy męski nagłówek (użyłem męskiego kąta prostego)
- 2x 14-pinowe złącze żeńskie
- 1x 6-pinowy nagłówek żeński
- 1x 2-pinowy nagłówek żeński
- Kondensator 2x 22pF (22)
- 1x kondensator 0,1uF (104)
- 1x rezystor 10kohm
- Rezystor 2x 330ohm
- 1x LED (dowolny kolor dla wskaźnika zasilania - 3mm dla projektu PCB)
- 1x LED (dowolny kolor dla cyfrowego pinu 13 dla szkicu migającego - 3mm dla projektu PCB)
- 1x16 MHz kryształ
- 1x przełącznik suwakowy
- 1x chwilowy przycisk
Narzędzia:
- Arduino Uno
- Lutownica
- 6x swetry M-M
- Programista FTDI
- Kabel USB pasujący do twojego programatora FTDI
- IDE Arduino
Krok 2: Schemat/układ
Do tego kroku dołączone są pliki eagle, których użyłem. Możesz je dowolnie modyfikować i zmieniać w dowolny sposób. Zaprojektowałem jednak płytkę tak, aby wszystkie ślady znajdowały się na dolnej warstwie, aby można je było łatwo wytworzyć na frezarce PCB (jeśli masz do niej dostęp) z płytką jednostronną. Jest również na spodzie, co ułatwia lutowanie elementów.
Jeśli jednak chcesz PCB, po prostu uruchom CAM, aby uzyskać niezbędne pliki gerber dla swojego ulubionego producenta. Lubię OSH Park, ponieważ po prostu dajesz im plik tablicy, a oni uruchamiają niezbędne moduły CAM, aby uzyskać potrzebne pliki.
Krok 3: Lutowanie
Są więc trzy sposoby na zrobienie tej tablicy:
- Zapełnianie PCB
- Wypełnianie frezowanej płyty
- Zapełnianie płyty prototypowej
Zapełnianie PCB jest dość proste i nie powinno sprawić żadnych problemów, ponieważ wszystko jest oznaczone.
Zapełnianie frezowanej płytki również nie powinno być zbyt trudne, ponieważ jest ona modelowana dokładnie tak samo jak płytka drukowana, z wyjątkiem tego, że nie masz oznaczeń, więc postępuj zgodnie z plikiem płytki w Eagle, aby upewnić się, że umieszczasz rzeczy we właściwym miejscu (szczególnie polaryzacja diod LED).
Wreszcie, zaludnienie tablicy prototypowej jest najbardziej wymagające, jednak nie jest strasznie trudne. Mam kilka zdjęć na tym kroku, pokazujących moją wersję prototypową i jak wszystko pasuje. Zauważ, że LM7805, dwa kondensatory 4,7 uF i zaciski śrubowe nie będą na twojej płycie. Bawiłem się pomysłem, aby to miało możliwość zasilania zewnętrznego, ale kiedy zacząłem o tym myśleć, zdecydowałem, że ostatecznie jest to strata miejsca na planszy.
Krok 4: Ładowanie
Konfiguracja rozruchowego Arduino:
Więc tutaj będziesz potrzebować swojego drugiego Arduino. Najpierw wejdź tutaj i pobierz pliki od tego gościa. W tym momencie pliki mają już kilka lat, ale nadal działają świetnie. Po ich pobraniu otwórz optiLoader.ino, a Twoje Arduino IDE powinno poprosić o umieszczenie go w folderze. Zrób to, a następnie umieść plik optiLoader.h w folderze z.ino. Teraz jesteś gotowy do wgrania tego szkicu do ładującego się Arduino. Użyłem Arduino Uno, więc wiem, że działa z tym, ale jestem pewien, że będzie działać również z innymi płytkami.
Po przesłaniu optiLoader.ino do Arduino, wszystko jest skonfigurowane do ładowania wielu różnych układów Arduino. Zrobiłem to tylko z atmega328p, jednak kod jest skonfigurowany do wykrywania docelowego MCU i flashowania prawidłowego bootloadera, co jest całkiem miłe. Więc teraz, za każdym razem, gdy podłączysz to Arduino do płyty towarzyszącej Atmega z zainstalowanym chipem i włączysz ją, automatycznie wykryje, że celem jest atmega328p i automatycznie sflashuje odpowiedni bootloader. Bez resetowania skoków, bez dziwnych rzeczy; po prostu podłącz i graj.
Podłączanie bootloadera do płyty towarzyszącej:
[Bootloader Arduino] [Płytka towarzysząca Atmega328p]
- D10 Reset / pin 1
- D11 MOSI / pin 17
- D12 MISO / pin 18
- D13 SCK / kołek 19
- 5V Vcc / pin 20 lub 21
- GND Masa / pin 22
Piny odnoszą się do nóg samego układu scalonego. Jeśli jest to mylące, spójrz na zdjęcie płytki z etapu schematu/układu, gdy szpilki na płytce towarzyszącej są oznaczone.
Flashowanie bootloadera:
Teraz, gdy masz już konfigurację Bootloadera Arduino ze szkicem optiLoader.ino i jest ona teraz również podłączona do płyty towarzyszącej, upewnij się, że przełącznik płyty towarzyszącej jest ustawiony na „bootload” zamiast „upload”, a następnie podłącz swoją Arduino do komputera. Powinieneś zobaczyć, jak kontrolki na Arduino i na tablicy pomocniczej migają kilka razy. Po kilku sekundach oba powinny zgasnąć i przestać migać. To prawdopodobnie oznacza, że pomyślnie sflashował twój atmega328p IC za pomocą bootloadera. Aby upewnić się, że wszystko poszło dobrze, podłącz go do komputera i otwórz Arduino IDE, a następnie monitor szeregowy. Zmień szybkość transmisji na 19200. Następnie, jeśli nie uruchomi się automatycznie, naciśnij przycisk resetowania na Arduino. Powinieneś zobaczyć garść tekstu opisującego, co robi skrypt. Na końcu nie powinien zawierać żadnych komunikatów o błędach i powinien informować o zakończeniu procesu.
Jeśli pojawi się błąd, sprawdź przełącznik i upewnij się, że korzystasz z „bootload”. Jeśli w tym momencie nadal pojawiają się błędy, sprawdź całe okablowanie i upewnij się, że jest poprawne.
Krok 5: Przesyłanie
To jest łatwy krok.
Odłącz wszystkie przewody z poprzedniego kroku i przełącz przełącznik z „bootload” na „upload”. Podłącz swój moduł FTDI. Podoba mi się Adafruit CP2104 i SparkFun CH340G głównie dlatego, że są stosunkowo tanie, a pinout pasuje do pinów FTDI wychodzących z płytki towarzyszącej.
Po podłączeniu FTDI do płyty towarzyszącej, podłącz ją do komputera. Stamtąd prześlij przykładowy szkic migania, aby upewnić się, że bootloader został poprawnie sflashowany. Wybierz Arduino/Genuino Uno z menu tablic. Po przesłaniu szkicu migania powinna być widoczna migająca dioda LED zgodnie z oczekiwaniami. Jeśli to zadziała, możesz przesłać własne niestandardowe szkice do układu scalonego, tak jak w przypadku każdego innego Arduino.
Krok 6: Przyszła praca
W przyszłości planuję zrobić z tego nakładkę Arduino Uno. Nie powinno to zająć dużo czasu, a jeśli ludzie chcą, mogę również przesłać pliki Eagle tutaj. Uprościłoby to etap ładowania systemu, ponieważ nie musiałbyś się martwić o nieprawidłowe okablowanie. Jestem również otwarty na inne propozycje ulepszeń, jednak nie podejrzewam, że będę robił z tym o wiele więcej, ponieważ był to tylko niezbędny krok w przygotowaniu moich przyszłych projektów.
Jeśli chcesz zobaczyć więcej moich przyszłych projektów, daj mi znać, a postaram się na bieżąco informować społeczność.
Zalecana:
Alternatywnie okludujący dichoptyczny modyfikator transmisji stereoskopowej [ATmega328P+HEF4053B VGA Superimposer]: 7 kroków
Alternatywnie okludujący dichoptyczny modyfikator transmisji stereoskopowej [ATmega328P+HEF4053B VGA Superimposer]: Po moich eksperymentach ze szkłami ciekłokrystalicznymi używanymi do okluzji oczu (tu i tam), postanowiłem zbudować coś, co jest trochę bardziej wyrafinowane i nie zmusza użytkownika nosić PCB na czole (ludzie czasami mogą beha
Samodzielny Arduino ATmega328p: 7 kroków (ze zdjęciami)
Stand Alone Arduino ATmega328p: Wszystko zaczęło się, gdy zobaczyłem instruktażową „grę binarną”; przez Keebie81https://www.instructables.com/id/Binary-Game/ Ale pomyślałem, że samodzielna wersja zamiast płyty Arduino byłaby lepsza, aby uwolnić
Jak zrobić niestandardowy miernik temperatury DIY za pomocą wykresu słupkowego i Atmega328p: 3 kroki (ze zdjęciami)
Jak zrobić własny miernik temperatury za pomocą wykresu słupkowego i Atmega328p: W tym poście pokażę, jak zrobić miernik temperatury za pomocą wykresu słupkowego i amp; Atmega328p. Post będzie zawierał wszystkie szczegóły, takie jak schemat obwodu, produkcja PCB, kodowanie, montaż i amp; Testowanie. Dołączyłem również wideo zawierające wszystkie
Jak zrobić zdalnie sterowane urządzenie do usuwania kolców lub tablicę rozdzielczą za pomocą samodzielnego Atmega328P: 6 kroków (ze zdjęciami)
Jak zrobić zdalnie sterowany Spike Buster lub Switch Board przy użyciu samodzielnego Atmega328P: W tym projekcie pokażę, jak zbudować zdalnie sterowany Spike Buster lub Switch Board przy użyciu samodzielnego Atmega328P. Ten projekt jest zbudowany na niestandardowej płytce PCB z bardzo małą liczbą komponentów. Jeśli wolisz oglądać wideo, umieściłem to samo lub
Programowanie ATTiny85, ATTiny84 i ATMega328P: Arduino jako ISP: 9 kroków (ze zdjęciami)
Programowanie ATTiny85, ATTiny84 i ATMega328P: Arduino As ISP: Przedmowa Ostatnio pracowałem nad kilkoma projektami IoT opartymi na ESP8266 i stwierdziłem, że procesor lokalny ma problemy z wykonaniem wszystkich zadań, którymi powinienem zarządzać, więc zdecydowałem się rozprowadzić niektóre z mniej ważne czynności na inny mikrofon