Spisu treści:

Własna płytka Arduino: 8 kroków
Własna płytka Arduino: 8 kroków

Wideo: Własna płytka Arduino: 8 kroków

Wideo: Własna płytka Arduino: 8 kroków
Wideo: Arduino dla każdego! Czym jest Arduino UNO, kiedy się przydaje i jak zacząć? 2024, Lipiec
Anonim
Samodzielna płytka Arduino
Samodzielna płytka Arduino

Projektując własną płytkę Arduino dowiesz się o kilku nowych komponentach i obwodach elektronicznych, w tym o niektórych zaawansowanych tematach, takich jak zasilanie, układ taktowania i zastosowanie ATmega IC (Integrated Circuit).

Pomoże Ci w przyszłości w tworzeniu własnych projektów, takich jak stacja pogodowa, osłony automatyki domowej itp.

Zaletą samodzielnie wykonanego Arduino jest to, że ma niskie zużycie energii i zapewnia, że projekt może działać przez długi czas na baterii.

Dodatkowo można rozbudować płytkę poprzez dodanie rozszerzenia portu cyfrowego lub analogowego lub niektórych modułów komunikacyjnych.

Kieszonkowe dzieci

Sprzęt

Aby zbudować minimalistyczne Arduino, potrzebujesz następującego sprzętu:

1x mikrokontroler ATmega328P-PU z bootloaderem Arduino

1x 7805 liniowy regulator napięcia (wyjście 5v, wejście maks. 35v)

1x płytka stykowa (używam płytki 830 pinów)

Różne przewody łączące

1x oscylator kwarcowy 16 MHz

1x28-pinowe gniazdo ic;

Kondensator elektrolityczny 1x 1 μF, 25 V

Kondensator elektrolityczny 1x 100 μF, 25 V

Kondensatory ceramiczne 2x 22 pF, 50 V

Kondensatory ceramiczne 2x 100 nF, 50 V

Rezystory 2x 330 Ohm (R1 i R2)

1x rezystor 10 kΩ (R3)

2x diody LED do wyboru (LED1 i LED2)

1x przycisk

Opcjonalne 2x 6-pinowe i 3x 8-pinowe

1x zatrzask baterii typu PP3

1x bateria 9 V typu PP3

1x adapter do programowania FTDI

Krok 1: 7805 liniowy regulator napięcia

7805 Liniowy regulator napięcia
7805 Liniowy regulator napięcia
7805 Liniowy regulator napięcia
7805 Liniowy regulator napięcia
7805 Liniowy regulator napięcia
7805 Liniowy regulator napięcia

Liniowy regulator napięcia zawiera prosty obwód, który przekształca jedno napięcie na drugie. Regulator 7805 może konwertować napięcie między 7 a 30 V na stałe 5 V, z prądem do 1 A, co jest idealne dla naszej płytki Arduino.

Zaczniemy od stworzenia układu zasilającego, który zawiera regulator napięcia 7805 w postaci TO-220 oraz dwa kondensatory po 100 μF każdy.

Kiedy patrzysz na przód układu 7805 - pin po lewej to napięcie wejściowe, pin środkowy łączy się z GND, a pin po prawej to złącze wyjściowe 5 V. Polecam umieścić radiator, ponieważ gdy obwód pobiera maksymalnie 1 amper prądu, chip 7805 będzie cicho gorący (można poparzyć koniuszek palca, gdy go dotkniesz).

Umieścić kondensator 100 μF pomiędzy wejściem IN regulatora a masą oraz kondensator 100 μF na prawej szynie między zasilaniem a masą. Musisz uważać - kondensator elektrolityczny jest spolaryzowany (srebrny pasek na kondensatorze oznacza nóżkę masową) i musi być umieszczony dokładnie według schematu.

Dodaj przewody zasilające i uziemiające w miejscu, w którym będzie regulator napięcia, łącząc każdą szynę pośrodku i po prawej stronie płyty. W ten sposób mamy zasilanie 5 V z górnej i dolnej szyny płytki stykowej. Dodatkowo dodamy czerwoną diodę LED, która świeci się, gdy włączone jest zasilanie, dzięki czemu zawsze możemy zobaczyć, kiedy nasza płyta jest zasilana.

Dioda LED jest diodą i umożliwia przepływ prądu tylko w jednym kierunku. Elektryczność powinna płynąć do długiej nogi iz krótkiej nogi. Katoda diody LED ma również jeden lekko spłaszczony bok, co odpowiada krótkiej, ujemnej odnodze diody.

Nasz obwód ma zasilanie 5 woltów, a czerwona dioda LED ma wartość około 1,5 - 2 woltów. Aby zmniejszyć napięcie musimy połączyć rezystor szeregowo z diodą ograniczając ilość przepływającego prądu, aby zapobiec zniszczeniu diody. Część napięcia zostanie zużyta przez rezystor i tylko odpowiednia jego część zostanie przyłożona do diody LED. Włóż rezystor między krótką nogę diody LED a rząd zawierający czarny przewód po prawej stronie chipa (GND).

Czerwony i czarny przewód po lewej stronie regulatora napięcia to miejsce, w którym zostanie podłączony zasilacz. Czerwony przewód służy do ZASILANIA, a czarny przewód do uziemienia (GND).

UWAGA: Możesz podłączyć tylko zasilacz o napięciu 7-16V. Niżej nie wyjdzie 5V z regulatora, a wyższe 17V uszkodzi układ. Odpowiednia jest bateria 9 V, zasilacz 9 V DC lub zasilacz 12 V DC.

A w przypadku bardziej zaawansowanych obwodów można umieścić regulator napięcia z regulowanym napięciem. W ten sposób można dodać do płytki czujniki 3,3 V lub zasilić silnik 9 V DC.

Więcej o liniowych regulatorach napięcia -

www.instructables.com/id/Introduction-to-Linear-Voltage-Regulators

Krok 2: Mikrokontroler ATmega328P-PU

ATmega328P-PU Mikrokontroler
ATmega328P-PU Mikrokontroler
ATmega328P-PU Mikrokontroler
ATmega328P-PU Mikrokontroler
ATmega328P-PU Mikrokontroler
ATmega328P-PU Mikrokontroler

Do zbudowania Arduino na płytce prototypowej potrzebny jest mikrokontroler ATmega328P-PU, który jest mózgiem naszej samodzielnie wykonanej płytki Arduino. Umieść go tak, jak pokazano na schemacie i bądź ostrożny - nogi mogą się złamać, jeśli je wepchniesz na siłę, lub możesz użyć 28-pinowego gniazda IC. IC należy umieścić tak, aby wycięcie w kształcie księżyca było skierowane w lewo od płytki stykowej (piny są ponumerowane od 1 do 28 w kierunku przeciwnym do ruchu wskazówek zegara).

UWAGA: Nie wszystkie układy ATmega IC zawierają bootloader Arduino (oprogramowanie, które pozwala interpretować szkice napisane dla Arduino). Szukając mikrokontrolera do samodzielnie wykonanego Arduino, wybierz taki, który zawiera już bootloader.

Tutaj trochę teorii mikrokontrolerów

Mikrokontroler to mały komputer z procesorem, który wykonuje instrukcje. Posiada różne rodzaje pamięci do przechowywania danych i instrukcji z naszego programu (szkic); ATmega328P-PU posiada trzy rodzaje pamięci: 32kB ISP (programowanie w systemie) pamięć flash, w której przechowywane są szkice, 1kB EEPROM (elektrycznie kasowalna programowalna pamięć tylko do odczytu) do długoterminowego przechowywania danych oraz 2kB SRAM (statyczna pamięć o dostępie swobodnym) do przechowywania zmiennych, gdy szkic jest uruchomiony.

UWAGA: Ważne jest, aby wiedzieć, że dane w pamięci flash i EEPROM są zachowywane po odłączeniu zasilania mikrokontrolera.

Mikrokontroler posiada 13 cyfrowych linii wejścia/wyjścia ogólnego przeznaczenia (GPIO) i sześć 10-bitowych (wartości od 0 do 1023) linii GPIO analogowo-cyfrowych (ADC) do konwersji napięcia na pinie na wartość cyfrową. Istnieją trzy zegary z dwoma 8-bitowymi zegarami o wartościach od 0 do 255 i jeden 16-bitowy zegar o wartościach od 0 do 65535, które są używane przez funkcję delay() w szkicu lub przez modulację szerokości impulsu (PWM).

Dostępnych jest pięć trybów oszczędzania energii wybieranych programowo, a mikrokontroler działa w zakresie od 1,8 V do 5,5 V. Możesz użyć obrazu jako odniesienia do układu pinów ATmega328P-PU.

Istnieją trzy grupy portów: PB, PC i PD z odpowiednio 8, 7 i 8 pinami, plus dwa piny uziemienia (GND), pin 5 V (VCC) z napięciem zasilania (AVCC) i analogowe napięcie odniesienia (AREF) piny do przetwornika analogowo-cyfrowego (ADC).

Krok 3: Połączenie ATmega328P-PU

Połączenie ATmega328P-PU
Połączenie ATmega328P-PU

Po umieszczeniu układu scalonego podłącz styki 7, 20 i 21 ATmega do dodatniej szyny zasilania na płytce stykowej, a styki 8 i 23 do ujemnych szyn zasilających, użyj przewodów połączeniowych, aby połączyć dodatnie i GND szyny zasilania po obu stronach pokładzie, jak pokazano na rysunku.

Pin 7 - Vcc - Cyfrowe napięcie zasilania

Pin 8 - GND

Pin 22 - GND

Pin 21 - AREF - Analogowy pin referencyjny dla ADC

Pin 20 - AVcc - Napięcie zasilania konwertera ADC. Musi być podłączony do zasilania, jeśli ADC nie jest używany, jak w naszym przykładzie. Jeśli chcesz go używać w przyszłości, musi być zasilany przez filtr dolnoprzepustowy (w celu zmniejszenia szumów).

Następnie umieść czternastokierunkowy pin nagłówka – będzie podobny do GPIO Arduino.

Krok 4: Przycisk resetowania

Przycisk reset
Przycisk reset
Przycisk reset
Przycisk reset

Dodaj mały przełącznik dotykowy, aby można było zresetować Arduino i przygotować chip do wgrania nowego programu. Szybkie, chwilowe naciśnięcie tego przełącznika zresetuje chip.

Wstawimy przycisk resetowania w nasz obwód, jak pokazano na rysunku, gdy go wciśniemy, obwód elektryczny zostanie zwarty do GND z pominięciem rezystora 1kOhm i podłączeniem ATmega Pin 1 do GND. Następnie dodaj przewód z lewej dolnej nogi przełącznika do pinu RESET układu ATmega oraz przewód z lewej górnej nogi przełącznika do masy.

Dodatkowo należy dodać rezystor podciągający 10 k Ohm do +5 V z pinu RESET, aby zapobiec samoczynnemu resetowaniu się układu podczas normalnej pracy. Rezystor ten zostanie podłączony do zasilacza 5 V, podciągając pin 1 do 5 V. A kiedy podłączysz Pin 1 do 0V bez rezystora, układ zrestartuje się. Po ponownym uruchomieniu mikrokontrolera poszukaj nowego wgrywanego programu (po włączeniu zasilania, jeśli nic nowego nie zostanie wysłane, uruchamia ostatnio wysłany program).

Rezystor ma czterokolorowy pasek. Odczyt Brown=1, Black=0, Orange=3 daje nam liczbę 103. Opór w omach zaczyna się od „10” z 3 zerami po - 10 000 omów lub 10 kilo omów, a złoty pasek to tolerancja (5 %).

Aby ulepszyć nasz układ – możemy umieścić kondensator „odsprzęgający”. Umieść kondensator ceramiczny 100 nF (nano Farad). Jest to mały krążek z dwoma przewodami z oznaczeniem „104” i tego typu kondensator nie jest spolaryzowany i można go ustawić w dowolnej orientacji.

Ten kondensator „odsprzęgający” wygładza impulsy elektryczne, dzięki czemu sygnał ponownego uruchomienia wysyłany do styku 1 jest niezawodnie wykrywany. Cyfry 104 pokazują jego pojemność in pico Farad w notacji naukowej. Ostatnia cyfra „4” mówi nam, ile zer należy dodać. Pojemność zaczyna się od „10”, a następnie kontynuuje z kolejnymi 4 zerami - 100 000 pico Faradów, a ponieważ 1000 pico Faradów to 1 nano Faradów, jest 100 nano Faradów (104).

Włóż kondensator między górną lewą nogę chipa (pin 1, przeciwnie do ruchu wskazówek zegara od kształtu półksiężyca)

Krok 5: Oscylator kryształowy

Oscylator kwarcowy
Oscylator kwarcowy
Oscylator kwarcowy
Oscylator kwarcowy

Teraz zrobimy zegar dla IC. Jest to kwarcowy 16 MHz i dwa kondensatory ceramiczne 22pF (piko Farad) każdy. Oscylator kwarcowy wytwarza sygnał elektryczny o bardzo dokładnej częstotliwości. W tym przypadku częstotliwość wynosi 16 MHz, co oznacza, że mikrokontroler może wykonać 16 milionów instrukcji procesora na sekundę.

Kryształ 16 MHz (rysunek) pozwala Arduino na obliczanie czasu, a kondensatory służą do wygładzania napięcia zasilania.

Nogi z kryształu kwarcu są takie same - nie można ich podłączyć odwrotnie. Podłącz jedną nogę kryształu do styku 9 w układzie ATmega, a drugą do styku 10. Podłącz nogi jednego z kondensatorów dyskowych 22 pF do styku 9 i GND, a drugi kondensator do styku 10 i GND, tak jak pokazano na rysunku.

Uwaga: kondensatory płytowe są niespolaryzowane i można je włożyć w dowolny sposób.

Warto wspomnieć, że długości przewodów pomiędzy kondensatorami 22pF muszą być równe długości i powinny znajdować się jak najbliżej sterownika, aby uniknąć interakcji z innymi częściami obwodów.

Krok 6: Dodanie diody LED do pinu 13

Dodanie diody LED do pinu 13
Dodanie diody LED do pinu 13
Dodanie diody LED do pinu 13
Dodanie diody LED do pinu 13
Dodanie diody LED do pinu 13
Dodanie diody LED do pinu 13

Teraz dodamy zieloną diodę LED (cyfrowy pin 13 w Arduino).

Wstaw długą nóżkę diod LED do rzędu poniżej czerwonego przewodu (po prawej stronie chipa - zasilanie lub 5 V) i krótką nóżkę w pierwszym pustym rzędzie poniżej mikrokontrolera.

Ten rezystor 330 Ohm jest połączony szeregowo z diodą LED, ograniczając ilość przepływającego prądu, aby zapobiec zniszczeniu diod LED.

Włóż rezystor między krótką nogę diody LED a rząd zawierający czarny przewód po prawej stronie układu (GND lub 0 V)

Wszystkie piny analogowe, cyfrowe i inne dostępne na normalnej płytce Arduino są również dostępne w naszej wersji płytki stykowej. Możesz użyć schematu ATmega i tabeli pinów jako odniesienia.

Krok 7: Złącze USB do portu szeregowego

Złącze USB na szeregowe
Złącze USB na szeregowe
Złącze USB na szeregowe
Złącze USB na szeregowe
Złącze USB na szeregowe
Złącze USB na szeregowe
Złącze USB na szeregowe
Złącze USB na szeregowe

Mikrokontroler ATmega 328P-PU zapewnia trzy tryby komunikacji: szeregowy programowalny USART (uniwersalny synchroniczny i asynchroniczny odbiornik-nadajnik), port szeregowy SPI (Serial Peripheral Interface) oraz dwuprzewodowy interfejs szeregowy. USART pobiera bajty danych i przesyła poszczególne bity sekwencyjnie, co wymaga linii komunikacyjnych nadawania (TX) i odbierania (RX). SPI wykorzystuje cztery linie komunikacyjne: master-out slave-in (MOSI), master-in slave-out (MISO) i zegar szeregowy (SCK) z oddzielną linią wyboru urządzenia podrzędnego (SS) dla każdego urządzenia. Magistrala dwuprzewodowa (TWI) komunikacji I2C wykorzystuje dwie linie sygnałowe: dane szeregowe (SDA) i zegar szeregowy (SCL).

Aby podłączyć naszą płytkę do komputera z Arduino IDE w celu pobrania szkicu, użyjemy interfejsu USB do szeregowego UART, takiego jak FT232R FTDI.

Kupując kabel FTDI upewnij się, że jest to model 5 V, ponieważ model 3,3 V nie będzie działał poprawnie. Kabel ten (pokazany na rysunku) ma z jednej strony wtyczkę USB, az drugiej gniazdo z sześcioma przewodami.

Podczas podłączania kabla upewnij się, że strona gniazda z czarnym przewodem łączy się z pinem GND na stykach nagłówka płytki stykowej. Po podłączeniu kabla dostarcza on również zasilanie do obwodu, tak jak zrobiłaby to normalna płytka Arduino.

Następnie połączymy nasze FTDI z naszą samodzielnie wykonaną płytką Arduino; w celach informacyjnych możesz skorzystać z tabeli i schematu.

Kondensator elektrolityczny 0,1 μF jest podłączony między pinem DTR (Data Terminal Ready) interfejsu USB do szeregowego UART a mikrokontrolerem Reset, który resetuje mikrokontroler do synchronizacji z USB do interfejsu szeregowego.

UWAGA: Jedna sprytna część polega na tym, że pin RX mikrokontrolera musi być podłączony do TX adaptera USB do portu szeregowego i to samo z TX jednego urządzenia do RX drugiego.

Pin CTS (Clear to Send) na USB do interfejsu szeregowego UART nie jest podłączony do mikrokontrolera.

Aby pobrać szkic do mikrokontrolera w środowisku Arduino IDE, z menu Narzędzia ➤ Port wybierz odpowiedni port komunikacyjny (COM) iz menu Narzędzia ➤ Płytka wybierz Arduino/Genuino Uno. Szkic jest kompilowany w środowisku Arduino IDE, a następnie ładowany do mikrokontrolera z interfejsem USB do szeregowego UART. Po pobraniu szkicu zielone i czerwone diody LED interfejsu USB-szeregowego UART TXD i RXD migają.

Interfejs USB do szeregowego UART można odłączyć i podłączyć zasilacz 5V do mikrokontrolera. Dioda LED i rezystor 220kΩ są podłączone do styku 19 mikrokontrolera, odpowiadającego stykowi 13 Arduino, aby uruchomić szkic migania.

Krok 8: Przesyłanie szkicu lub instalowanie bootloadera

Przesyłanie szkicu lub instalowanie bootloadera
Przesyłanie szkicu lub instalowanie bootloadera
Przesyłanie szkicu lub instalowanie bootloadera
Przesyłanie szkicu lub instalowanie bootloadera

Jeśli nie masz konwertera USB na szeregowy – możesz użyć innego Arduino (w moim przypadku Arduino UNO) do wgrania szkicu lub bootloadera na samodzielnie wykonaną płytkę.

Mikrokontrolery ATmega238P-PU wymagają bootloadera do przesyłania i uruchamiania szkiców z Arduino IDE; po podłączeniu zasilania do mikrokontrolera bootloader określa, czy wgrywany jest nowy szkic, a następnie ładuje szkic do pamięci mikrokontrolera. Jeśli masz ATmega328P-PU bez bootloadera, możesz wgrać bootloader za pomocą komunikacji SPI między dwiema płytami.

Oto jak wgrać bootloader do ATmega IC.

Najpierw zacznijmy od skonfigurowania naszego Arduino UNO jako ISP, dzieje się tak, ponieważ chcesz, aby Arduino UNO przesyłał szkic do układu ATmega IC, a nie do siebie.

Krok 1: Konfiguracja naszego Arduino UNO jako ISP

Nie podłączaj ATmega IC, gdy poniższe przesyłanie jest uruchomione.

  • Podłącz arduino do komputera!
  • Otwórz IDE arduino
  • Wybierz odpowiednią płytkę (Narzędzia > Płytka > Arduino UNO) i Port COM (Narzędzia > Port > COM?)
  • Otwórz > Przykłady > ArduinoISP
  • Prześlij szkic

Następnie możesz podłączyć własną płytkę do Arduino UNO, postępując zgodnie z obwodem, jak pokazano na schemacie. Na tym etapie nie ma potrzeby zasilania własnej płytki, ponieważ Arduino zapewniłoby niezbędne zasilanie.

Krok 2: Przesyłanie szkicu lub programu ładującego

Gdy wszystko jest połączone, otwórz IDE z folderu, który właśnie utworzyłeś (kopia).

  • Wybierz Arduino328 z Narzędzia > Płytka
  • Wybierz Arduino jako ISP z Narzędzia > Programista
  • Wybierz Nagraj bootloader

Po udanym nagraniu otrzymasz komunikat „Done burning bootloader”.

Bootloader jest teraz ładowany do mikrokontrolera, który jest gotowy do odbioru szkicu po zmianie portu COM w menu Narzędzia ➤ Port.

Zalecana: