Jaki jest minimalny zestaw części do cyrkulacji z tym mikrokontrolerem AVR?

10

Moje Arduino Uno ma mikrokontroler ATMEGA328P-PU i kilka innych rzeczy na płycie. Chciałbym zaprogramować układ bez oprogramowania Arduino i tylko minimum innych komponentów. Chcę w końcu tworzyć rzeczy bez kosztów Arduino i chcę dowiedzieć się o innych częściach na planszy i dodać je w razie potrzeby. Czuję się swobodnie z C i gcc, więc prawdopodobnie mogę dowiedzieć się, jaka jest część oprogramowania. Ale co, oprócz tych dwóch produktów poniżej, muszę mieć na płycie z mikrokontrolerem?

Mikrokontroler Programatora Atmel

Rob N.
źródło
Możesz samodzielnie odpowiedzieć na to pytanie, znajdując i czytając arkusz danych ATMEGA328P-PU.
Phil Frost
7
Może kiedy dowiem się więcej. Arkusz danych ma 550 stron, jestem początkującym, a przeglądanie niczego mi nie ujawniło. Dużo się uczę, ale doceniam takie strony, na których od czasu do czasu mogę uzyskać odpowiedzi od ludzi. :)
Rob N
6
@PhilFrost To najgorsza rada, jaką możesz dać początkującemu.
capcom
1
@PhilFrost Chociaż zgadzam się z tobą, że wyszukiwanie informacji jest prawdopodobnie najważniejszą umiejętnością, jaką może posiadać początkujący, szczególnie z dużą ilością informacji dostępnych dzięki Internetowi, otwarcie arkusza danych po raz pierwszy może być nieco zastraszające. Gdy ktoś bardziej doświadczony odpowie na swoje pytanie i powie, gdzie w arkuszu danych znalazł odpowiedź, początkujący może ponownie ją przeanalizować i zyskać trochę pewności siebie. Podany link nie jest również arkuszem danych. Powiedziałeś mu, żeby przeczytał „Arkusz danych ATMEGA328P-PU”, a nie przeszukiwał Google w poszukiwaniu odpowiedzi.
capcom
1
OK, powtórzę. Rob, powinieneś wiedzieć, że każdy producent niebanalnego urządzenia opublikuje dokumentację, aby dokładnie odpowiedzieć na to pytanie. Producenci wyraźnie interesują się ułatwieniem korzystania z ich produktów. Przejrzenie arkusza danych jest sposobem na rozpoczęcie. W przypadku skomplikowanych rzeczy, takich jak mikrokontrolery, może istnieć osobna nota aplikacyjna. „typowa aplikacja” to magiczne słowa, których musisz użyć w wyszukiwanych hasłach. Nie jest tak, że prosi się o pomoc, ale dobrze jest wiedzieć, jak łowić ryby.
Phil Frost

Odpowiedzi:

13

Wszystko, czego potrzebujesz oprócz programatora i układu, to kilka odsprzęgających nasadek i jakiś sposób podłączenia sygnałów programowania do płyty chlebowej.

Więc:

  • 1 duży korek elektrolityczny (np.> 100uF) Możesz tego zrobić, jeśli twoje źródło jest ładne i ciche (np. Bateria)
  • 1 ceramika 100nF na pinach zasilania mikro
  • 1 rezystor 10 kΩ do połączenia ze szpilki resetującej z Vcc, aby nie dopuścić do resetu mikro.
  • Trochę zworki do połączenia węzłów na twojej płycie (możesz kupić gotowe zworki, ale używam rolki 22AWG i przecinam własne - znacznie tańsze, jeśli często to robisz)
  • Nagłówek do podłączenia kabla programatora. Zgodnie z instrukcją obsługi wygląda na to, że potrzebujesz 2-pinowej listwy o rozstawie 2,54 mm.

Opcjonalny

  • Przycisk do połączenia linii zerowania z ziemią, jeśli chcesz fizycznie zresetować układ (nie używam AVR, ale jestem na 99,9% pewien, że programista może to zrobić z IDE)
  • Kryształ do zastosowania zamiast wewnętrznego oscylatora
  • 2 * 22pF kondensatory do kryształu (miejsce z każdej strony do ziemi)
  • Elementy pasywne, diody LED, czujniki itp. W celu zrobienia czegoś użytecznego z pisanym kodem ;-)

Oprócz nagłówka (który jest 10-pinowy z pewnymi nieużywanymi pinami - możesz użyć etykiet jako przewodnika dla swoich połączeń, nazwy są takie same), ten schemat jest najprostszy, jaki mogłem znaleźć za pomocą szybkiego Google:

Prosty schemat AVR

Zabawne jest to, że właśnie napisałem blog na temat robienia prawie tego samego z mikrokontrolerem PIC (być może warto to sprawdzić, oba są bardzo podobne)

Oli Glaser
źródło
3
Jeśli mówimy o absolutnym minimum, nie potrzebujesz rezystora pullup na linii zerowania - AVR ma wewnętrzny pullup. A jeśli mówimy, że wskazane jest wskazane, należy również wprowadzić ograniczenie w wierszu resetowania - zobacz notatkę aplikacji: atmel.com/images/doc2521.pdf . Ponadto wspomniany nagłówek ISP 2x3 pin jest znacznie bardziej powszechny niż 2x5 pokazany na schemacie.
Nick Johnson
Dzięki! Jeśli zaślepka 100nF dotyczy pinów zasilania, to po co jest to> 100µF?
Rob N
1
@RobN mocny kondensator służy do filtrowania / wygładzania szumów w zasilaniu
vicatcu 11.01.2013
@NickJohnson - dziękuję za drobniejsze punkty - możesz edytować moją odpowiedź, jeśli chcesz (jak wspomniano, nie korzystałem z AVR, moją małą mikroukładem jest PIC - lub w rzeczywistości ARM taki jak STM32F10xxx obecnie częściej)
Oli Glaser,
1
Jeśli korzystasz ze szkieletu Arduino, potrzebujesz również kondensatora 100nF między sygnałem DTR z adaptera szeregowego na USB a linią zerowania, w przeciwnym razie będziesz zmuszony ręcznie lutować płytkę adaptera na perfboard z kondensatorem 0402, ponieważ to to jedyny pakiet, w którym masz 100nF, i nikt nigdy nie zrobiłby tak głupiej rzeczy.
Simon Richter
4

Publikuję to tylko jako odpowiedź na ukrycie brzydkich adresów URL. Z pewnością powinieneś rzucić okiem na Atmel Appnote AVR042: Uwagi dotyczące projektowania sprzętu AVR .

vicatcu
źródło
+1 za doskonałą referencję, szukałem czegoś takiego jak to, aby uzupełnić „ogólne” porady dotyczące drobnych ustawień mikro. @RobN - powinieneś dokładnie przeczytać ten dokument.
Oli Glaser,
0

Znalazłem też ten pomocny link od Arduino: https://www.arduino.cc/en/Main/Standalone Wyjaśnia, jak przejść z układu, który właśnie dostałeś od DigiKey (lub gdziekolwiek), do załadowania bootloadera i minimum minimalne elementy wsparcia.

Nieprawidłowy
źródło