Jak mogę stworzyć stałą aplikację z czegoś prototypowanego za pomocą Arduino?

22

Część pierwsza z trzyczęściowej serii na temat przejścia z Arduino do zwykłego mikrokontrolera AVR i minimalnych elementów wspierających ( część druga , część trzecia )

Stworzyłem projekt na moim Arduino Uno, aby kontrolować różne aspekty mojego systemu warzenia piwa. W tym momencie wydaje się, że robi to, co chcę, ale chciałbym ponownie użyć mojego Uno do innego projektu. Jak powinienem przenieść swój projekt z Uno i płyty chlebowej na płytkę drukowaną, płytę perforowaną lub cokolwiek innego? Jakieś dobre rozwiązania?

Społeczność
źródło
1
Hej, mam dwuczęściową serię ( arduino.stackexchange.com/q/207/6 , arduino.stackexchange.com/q/221/6 ) na temat przejścia z Arduino do zwykłego rozwoju ATmega. Dobrym pomysłem może być dodanie tego pytania do serii jako nowej części 1, ponieważ jest to jeden z ważnych kroków przejścia na atmega. Chcesz to zrobić?
Manishearth 11.04.13
Pewnie! Czy powinienem po prostu edytować moje pytanie, aby być częścią pierwszą i wskazać część drugą i trzecią?
Zrobię to, pozostałe będę musiał zachować w tym samym formacie :)
Manishearth,
... i gotowe. Choć każde pytanie ma szersze zastosowanie poza przejście z Arduino dla czystego programowania mikrokontrolerów, mający połączony cykl pożycza trochę przepływ do procesu :)
Manishearth

Odpowiedzi:

23

Oto kilka instrukcji. Jeśli chcesz tylko wiedzieć, co się dzieje w twoim perfboardie, czytaj dalej.

Oto pinout dla ATmega328:

wprowadź opis zdjęcia tutaj

Po pierwsze, potrzebujesz LM7805 lub czegoś podobnego, aby uzyskać 5 V. Jeśli nie wiesz, jak one działają, zapoznaj się z tym obrazem .

Moc

Teraz podłącz + koniec swojej baterii 12V do wejścia IN 7805, a - do COM. Odtąd będę odnosić się do każdego połączenia z COM jako „GND”, a wszelkie połączenia z OUT jako „Vcc”.

Nastawić

Podłącz Vcc do styku 7 i 20 ATmega328, a GND do styku 8 i 22. Podłącz Vcc do rezystora ~ 10 kiloohmów i podłącz drugi koniec tego styku do styku RST (pin 1). Podłącz GND do przełącznika resetowania, a drugi zacisk przełącznika resetowania do styku 1. Gdy przełącznik resetowania jest włączony, Arduino uruchomi się ponownie. Jeśli nie chcesz przełącznika resetowania, po prostu podłącz Vcc bezpośrednio do styku 1.

wprowadź opis zdjęcia tutaj

Zegar

Podłącz GND do ujemnych zacisków dwóch 22 pikofaradowych kondensatorów. Podłącz jeden kondensator do styku 9, a drugi kondensator do styku 10.

Teraz podłącz zegar 16 MHz między stykami 9 i 10:

wprowadź opis zdjęcia tutaj

wprowadź opis zdjęcia tutaj

Odniesienie analogowe

Jeśli używasz pinu AREF, po prostu podłącz swój AREF do pinu 21.

Reszta szpilek

Są one oznaczone na powyższym schemacie. Kołki 23–28 to A0-A5. Piny 2-6 są cyfrowe 1-4, 11-19 są cyfrowe 5-13. Używaj ich normalnie. Zauważ, że cyfrowy styk 13 (styk 19 mikrokontrolera) nie będzie już miał diody LED, ale jeśli chcesz ją podłączyć, podłącz ją do diody LED, a następnie rezystor 200-300 omów, a następnie uziemienie:

wprowadź opis zdjęcia tutaj

Programowanie

Jeśli twoje Arduino to DIP Arduino (ATmega jest wymienna), to po prostu zaprogramuj go za pomocą IDE, usuń ATmega i umieść go w obwodzie perfboard (zakładam, że używasz uchwytu IC). Jeśli Arduino ma montaż powierzchniowy ATmega, zobacz Jak mogę użyć mojego SMD Arduino do zaprogramowania osobnego DIP ATmega328? .

To jest to! Teraz możesz łatwo przenieść projekt Arduino na perfboard!

Oto ostateczny schemat:

wprowadź opis zdjęcia tutaj

Manishearth
źródło
9

Twój projekt brzmi jak to, co wielu ludzi wezwałoby do obsługi tarczy. W takim przypadku kupiłbym niedrogi wariant arduino i zastąpiłbym go Uno. To naprawdę zależy od potrzebnej funkcjonalności.

Jest tam tak wiele klonów i obawiam się, że zaczynam brzmieć jak spamer, gdy wspominam o klonach, których użyłem i jak w wielu moich odpowiedziach. Ale...

Jeśli potrzebujesz monitoringu szeregowego USB, Seeed Studio ma kilka modeli, które wydają się idealnie odpowiednie i mają mini gniazdo USB. W niewielkim stopniu tablice teensy są małe i tanie.

Jeśli nie potrzebujesz monitoringu szeregowego USB, możesz użyć klonu, który ma tylko interfejs TTL / FTDI. Digispump digispark jest bardzo mały, bardzo tani. Emsl diavolino jest świetny, podobnie jak nowoczesne urządzenie BBB.

Jeśli wybierzesz tę ścieżkę i wybierzesz klon, który utrzymuje „standardowe” lokalizacje pinów arduino, możesz wybrać dowolne z pół tuzina „protoshields”. Oto jeden, który wygląda całkiem fajnie, jeśli twój obwód w ogóle zawiera układy scalone:

Prototypowa tarcza Protoshield kompatybilna z Arduino ... ale oczywiście można znaleźć tańsze alternatywy. Zależy od tego, jakie udogodnienia w obwodzie potrzebujesz do swojego projektu ... szyny zasilające i uziemiające, przewody do pinów układów itp.

Steve Cooley
źródło
5

Oto jeden pomysł, na pewno będą inne:

Możesz pobrać Express PCB i użyć go do zaprojektowania płytki drukowanej. Oprogramowanie jest bezpłatne i zapewniają usługę, w której wyprodukują dla ciebie płytkę. Jednak dla pojedynczej planszy będzie to drogie. Alternatywnie możesz wydrukować projekt (bezpośrednio z tego oprogramowania) na drukarce laserowej, a następnie są sposoby, aby użyć laserowo wydrukowanego schematu, aby samodzielnie wytrawić płytkę drukowaną. Oto jeden film na YouTube, który pokazuje, jak to zrobić.

Ośmiornica
źródło
Jak trudno jest zaprojektować płytkę drukowaną dla kogoś, kto ma wstęp do elektroniki?
taco
@taco: Nie jest zbyt trudno zaprojektować podstawową płytkę drukowaną za pomocą np. oprogramowania EagleCAD (bezpłatnie). Możesz zacząć od tej serii samouczków wideo i rozwijać się. Alternatywnie, Jeremy Blum ma również kilka samouczków na swojej stronie, które są całkiem dobre.
Boardbite
3
@Taco Najłatwiejszym programem dla początkujących jest fritzing.org . Możesz zaprojektować go na desce, a następnie możesz po prostu ułożyć wszystkie części na płytce drukowanej, a powie ci, gdzie należy dodać ślady. Ma również bardzo dobrą grafikę, więc jest przyjazny dla użytkownika. To nawet to, czego używa Arduino do zdjęć na tablicy. Najlepsza część: jest darmowy i open source!
Anonimowy pingwin
Dzięki @ Annonomous Person, pobrałem Fritzing. Spróbuję.
taco,