Prototypowanie jest jednym z najważniejszych etapów projektowania elektroniki. Zanim układ trafi na docelową płytkę PCB, warto sprawdzić jego logikę, zasilanie i zachowanie poszczególnych modułów w możliwie prostym środowisku. Dla elektroników cyfrowych Arduino pozostaje jednym z najwygodniejszych punktów startu.

Przed upowszechnieniem Arduino nauka mikrokontrolerów była dla początkujących znacznie trudniejsza. Często wymagała drogich zestawów uruchomieniowych, osobnych programatorów i pracy blisko rejestrów lub asemblera.

Arduino uprościło ten proces: połączyło tanią płytkę z mikrokontrolerem, bootloader, środowisko Arduino IDE i język oparty na C/C++. Dzięki temu można szybko uruchomić pierwszy program, a później stopniowo przechodzić do bardziej świadomego projektowania sprzętu.

Poniżej omawiamy, czym jest Arduino, jak działa płytka stykowa oraz jak zbudować prosty układ Arduino na bazie mikrokontrolera ATmega328P.

Co to jest Arduino?

Arduino to otwarta platforma sprzętowo-programowa do tworzenia prototypów elektronicznych. Obejmuje płytki z mikrokontrolerami, środowisko programistyczne, biblioteki oraz dużą społeczność użytkowników. Najpopularniejsze płytki, takie jak Arduino Uno, zawierają wszystko, czego potrzeba do zasilenia mikrokontrolera, zaprogramowania go przez USB i podłączenia podstawowych czujników lub elementów wykonawczych.

Płytka Arduino

Co to jest płytka stykowa?

Płytka stykowa, nazywana też płytką prototypową, to plastikowa baza z siatką otworów połączonych wewnętrznymi stykami. Umożliwia szybkie łączenie przewodów, rezystorów, kondensatorów, układów scalonych i modułów bez lutowania. To wygodne narzędzie do sprawdzenia koncepcji, zanim powstanie schemat i projekt PCB.

Najważniejsza różnica względem płytki drukowanej polega na tym, że płytka stykowa nie tworzy trwałego połączenia. Układ można szybko przebudować, ale nie jest to rozwiązanie do pracy wibracyjnej, produkcji seryjnej ani urządzeń, które mają działać niezawodnie przez długi czas.

Bezlutowa płytka stykowa

W praktyce używa się jej razem z przewodami połączeniowymi, modułem zasilania oraz podstawowymi elementami elektronicznymi: rezystorami, kondensatorami, diodami LED, tranzystorami i czujnikami.

Najważniejsze parametry Arduino Uno

Napięcie pracy płytki: 5 V. Zalecane napięcie wejściowe na gnieździe zasilania lub Vin: 7-12 V; z USB płytka jest zasilana napięciem 5 V.

Liczba cyfrowych wejść/wyjść: 14, z czego 6 może pracować jako wyjścia PWM.

Liczba wejść analogowych: 6.

Pamięć Flash na program: 32 KB, z czego część zajmuje bootloader.

Pamięć SRAM: 2 KB.

Pamięć EEPROM: 1 KB.

Częstotliwość zegara: 16 MHz.

Zalecany prąd stały dla pojedynczego pinu wejścia/wyjścia: do 20 mA.

Jak zbudować prototyp Arduino na płytce stykowej

Sercem Arduino Uno jest mikrokontroler ATmega328P. Można użyć go także poza gotową płytką Arduino, bezpośrednio na płytce stykowej, pod warunkiem że zapewnimy mu prawidłowe zasilanie, reset, taktowanie oraz interfejs do programowania.

Mikrokontroler ATmega328P

ATmega328P z bootloaderem Arduino można programować bezpośrednio z Arduino IDE, tak jak standardową płytkę Uno. To dobre rozwiązanie, gdy chcesz lepiej zrozumieć sprzęt stojący za Arduino i jednocześnie zachować wygodę znanego środowiska.

Lepsze zrozumienie działania sprzętu Arduino.

Łatwiejsza rozbudowa własnego układu.

Możliwość ograniczenia poboru energii w projekcie docelowym.

Wymagane składniki

Do zbudowania prostego układu potrzebne będą: ATmega328P z bootloaderem Arduino, płytka stykowa, przewody połączeniowe, stabilizowane zasilanie 5 V lub regulator napięcia, rezonator kwarcowy 16 MHz, dwa kondensatory 22 pF, rezystor podciągający reset 10 kΩ, przycisk reset, dioda LED z rezystorem oraz moduł konwertera USB-UART.

Połącz elementy zgodnie ze schematem pokazanym na ilustracji.

ATmega328P na płytce stykowej z modułem konwertera USB-UART

Przed wykonaniem połączeń warto sprawdzić układ wyprowadzeń mikrokontrolera. W dokumentacji ATmega328P znajdziesz funkcje pinów zasilania, resetu, UART, wejść analogowych i linii cyfrowych.

Układ pinów ATmega328P i odpowiadających im wyprowadzeń Arduino

Podłącz zewnętrzny zasilacz

Najpierw przygotuj szyny zasilania płytki stykowej. Poprowadź przewody 5 V i GND tak, aby łatwo zasilić obie strony układu. Zanim podłączysz mikrokontroler, sprawdź numerację pinów i orientację obudowy DIP, ponieważ pomyłka przy zasilaniu może uszkodzić układ.

Jeżeli korzystasz z zasilacza wyższego niż 5 V, użyj regulatora napięcia i dopiero jego wyjście podłącz do szyny 5 V. Wspólna masa musi łączyć zasilacz, mikrokontroler i konwerter USB-UART.

Na pin VCC mikrokontrolera nie podawaj napięcia z gniazda 9-12 V. ATmega328P pracuje typowo w zakresie 1,8-5,5 V, a dla konfiguracji z zegarem 16 MHz standardowo zasila się go napięciem 5 V.

Typowy zasilacz 9-12 V może zasilać regulator, ale nie mikrokontroler bezpośrednio. Sprawdź zakres wejściowy wybranego regulatora i jego wydajność prądową; na wyjściu układ powinien otrzymać stabilne 5 V.

Dodaj kondensatory filtrujące przy wejściu i wyjściu regulatora zgodnie z jego kartą katalogową. W prostych układach często stosuje się kondensatory elektrolityczne rzędu 10 uF oraz kondensatory ceramiczne 100 nF blisko pinów zasilania mikrokontrolera.

Diodę LED z rezystorem około 220 Ω możesz podłączyć jako wskaźnik zasilania lub do pinu cyfrowego używanego w programie testowym. To szybki sposób, aby sprawdzić, czy układ uruchamia się poprawnie.

Przed włożeniem mikrokontrolera odłącz zasilanie. Po sprawdzeniu napięcia na szynach można umieścić ATmega328P na płytce i przejść do połączeń programujących.

Podłącz mikrokontroler

Włóż układ scalony w środek płytki stykowej, tak aby jego dwa rzędy wyprowadzeń znalazły się po przeciwnych stronach przerwy. Pin RESET podciągnij rezystorem 10 kΩ do +5 V. Gdy RESET zostanie chwilowo zwarty do masy, mikrokontroler uruchomi się ponownie.

Następnie podłącz rezonator kwarcowy 16 MHz do pinów 9 i 10 mikrokontrolera. Do każdego z tych pinów dodaj kondensator 22 pF do masy.

ATmega328P zamontowany na płytce stykowej

Mały przycisk chwilowy podłącz między RESET a GND. Będzie pełnił funkcję ręcznego resetu, przydatną podczas testów i wgrywania programu.

Niektóre mikrokontrolery sprzedawane jako zgodne z Arduino mają już wgrany bootloader, a czasem także program testowy Blink. Jeżeli używasz czystego ATmega328P, najpierw trzeba wgrać bootloader odpowiednim programatorem ISP.

Sprawdź połączenia zasilania i odniesienia ADC

Pin 7: VCC, czyli cyfrowe zasilanie mikrokontrolera.

Pin 20: AVCC, zasilanie części analogowej i przetwornika ADC. Należy połączyć go z VCC także wtedy, gdy nie korzystasz z wejść analogowych; przy pomiarach analogowych warto zastosować filtr dolnoprzepustowy.

Pin 21: AREF, wejście napięcia odniesienia dla przetwornika ADC. Nie zwieraj go przypadkowo z zasilaniem, jeśli program korzysta z wewnętrznego źródła odniesienia.

Po podłączeniu zasilania dioda zasilania powinna świecić, a dioda testowa może migać, jeśli w mikrokontrolerze znajduje się odpowiedni program. Jeśli dioda zasilania nie świeci albo regulator szybko się nagrzewa, odłącz zasilanie i sprawdź, czy nie ma zwarcia.

Sam działający układ to dopiero początek. Aby wgrywać własny kod z Arduino IDE, podłącz do płytki moduł konwertera USB-UART.

Konwerter USB-UART zapewnia komunikację szeregową między komputerem a ATmega328P. Po zainstalowaniu sterownika system widzi go jako port COM lub urządzenie szeregowe, które można wybrać w Arduino IDE.

Podłącz konwerter USB-UART

Do podstawowego programowania wystarczy wykonać pięć połączeń.

Połącz GND z GND, VCC z szyną 5 V, TX konwertera z RX mikrokontrolera, RX konwertera z TX mikrokontrolera oraz DTR lub RTS z linią RESET przez kondensator 100 nF.

Połączenie DTR/RTS przez kondensator umożliwia automatyczny reset podczas wgrywania programu. Jeżeli konwerter go nie udostępnia, możesz nacisnąć przycisk RESET ręcznie w chwili rozpoczęcia uploadu.

Po wgraniu programu Blink możesz eksperymentować z kolejnymi szkicami: obsługą przycisków, czujników, komunikacją szeregową albo trybami uśpienia, które zmniejszają pobór energii.

Przykład programu migającej diody LED w Arduino IDE

Podsumowanie

Arduino jest prostą i niedrogą platformą do nauki mikrokontrolerów oraz wczesnego prototypowania elektroniki cyfrowej. Płytka stykowa pozwala szybko sprawdzić układ, ale projekt przeznaczony do realnego urządzenia warto przenieść na poprawnie zaprojektowaną PCB, z właściwym zasilaniem, filtrowaniem i złączami. Jeśli potrzebujesz wsparcia przy przejściu od prototypu do produkcji, OurPCB może pomóc w przygotowaniu PCB, montażu i analizie DFM.