Schemat podłączenia Arduino mega 2560. Jak zrobić inteligentny dom na Arduino własnymi rękami. Schemat, arkusz danych, pinout

Układ scalony sterownika silnika szczotkowanego, pilot na podczerwień, moduł radiowy NRF24L01, OKI 120A2, moduł karty SD, układ scalony sterownika silnika szczotkowanego, modem GSM GPRS M590E, zegar czasu rzeczywistego DS 3231/DS 1307, Mini 360 na LM2596, L293D, czujniki odległości na podczerwień, Zegar czasu rzeczywistego, HC-SR501, zasilacz Mini 360 oparty na schemacie LM2596, kontroler L298N, HC-SR501, GSM GPRS, modem GSM GPRS M590E, zegar czasu rzeczywistego DS 3231/DS 1307, moduł Wi-Fi ESP8266-12E, karta Moduł, Zasilacz, Mini 360, L293D, Zasilacz Mini 360 w schemacie LM2596, Moduł radiowy, Pilot IR, Pilot IR, Nakładka Ethernet, IC sterownika silnika szczotkowego, IC sterownika silnika szczotkowego, Pilot IR, Moduł karty SD, NRF24L01 Moduł radiowy, silnik OKI, L293D, silnik krokowy, zasilacz, L293D, zasilacz Mini 360 na LM2596, karta pamięci SD, osłona Ethernet, czujnik ruchu HC-SR501, moduł Wi-Fi ESP8266-12E, silnik krokowy OKI 120A2, Silnik krokowy,

Arduino Mega opiera się na mikrokontrolerze ATmega2560.



Płyta Arduino Mega2560

Specyfikacja płytki Arduino Mega2560

mikrokontroler

ATmega2560

Napięcie robocze

5 V

7-12 V

Napięcie wejściowe (ograniczenie)

6-20 V

Wejścia/wyjścia cyfrowe

54 (z czego 14 może pracować jako wyjścia PWM)

Wejścia analogowe

Prąd stały na wejściu/wyjściu

40 mA

DC dla wyjścia 3,3 V

50 mA

Pamięć flash

256 KB, z czego 8 KB jest wykorzystywane na bootloader

Baran

8KB

EEPROM

4KB

Częstotliwość zegara

16 MHz

Informacje ogólne

Arduino Mega 2560 to urządzenie oparte na mikrokontrolerze ATmega2560. Zawiera wszystko co potrzebne do wygodnej pracy z mikrokontrolerem: 54 wejścia/wyjścia cyfrowe (w tym 15 z możliwością wykorzystania jako wyjścia PWM), 16 wejść analogowych, 4 UART (sprzętowy transceiver do realizacji interfejsów szeregowych), kryształ 16 MHz, złącze USB, złącze zasilania, złącze ICSP do programowania w obwodzie i przycisk resetowania. Aby rozpocząć pracę z urządzeniem, wystarczy zasilić urządzenie za pomocą zasilacza AC/DC lub akumulatora, albo podłączyć je do komputera za pomocą kabla USB. Arduino Mega jest kompatybilne z większością płytek rozszerzeń zaprojektowanych dla Arduino Duemilanove i Diecimila.

Mega 2560 to zaktualizowana wersja Arduino Mega.

Arduino Mega 2560 różni się od wszystkich poprzednich płytek tym, że zamiast chipa FTDI wykorzystuje mikrokontroler ATmega16U2 do konwersji interfejsów USB-UART (ATmega8U2 w wersjach płytki R1 i R2).

Na płycie Mega 2560 w wersji R2 dodano rezystor, który przyciąga linię HWB mikrokontrolera 8U2 do masy. Takie rozwiązanie pozwala uprościć proces aktualizacji oprogramowania i przełączenia urządzenia w tryb DFU.

Zmiany na płycie R3 są wymienione poniżej:

    Pinout 1.0: Dodano piny SDA i SCL (w pobliżu pinu AREF), a także dwa nowe piny umieszczone w pobliżu pinu RESET. Pierwsza – IOREF – pozwala płytom rozszerzeń dostosować się do napięcia roboczego Arduino. Ten pin zapewnia kompatybilność kart rozszerzeń zarówno z Arduino 5 V opartym na mikrokontrolerach AVR, jak i płytkami Arduino Due 3,3 V. Drugi pin nie jest do niczego podłączony i jest zarezerwowany do wykorzystania w przyszłości.

    Poprawiona odporność na zakłócenia obwodu resetowania.

    Mikrokontroler ATmega16U2 zastąpiony przez 8U2.

Schemat, oryginalny projekt i układ pinów

Pinout: PinMap2560

Odżywianie

Arduino Mega można zasilać z USB lub z zewnętrznego źródła zasilania – rodzaj źródła dobierany jest automatycznie.

Zewnętrznego zasilacza AC/DC lub baterii/baterii można używać jako zewnętrznego źródła zasilania (nie USB). Wtyczkę adaptera (średnica - 2,1 mm, środkowy pin - dodatni) należy włożyć do odpowiedniego złącza zasilania na płycie. W przypadku zasilania akumulatorowego/akumulatorowego jego przewody należy podłączyć do zacisków Gnd i Vin złącza POWER.

Napięcie zewnętrznego zasilacza może mieścić się w zakresie od 6 do 20 V. Jednakże spadek napięcia zasilania poniżej 7 V prowadzi do spadku napięcia na pinie 5 V, co może spowodować niestabilność urządzenia. Użycie napięcia większego niż 12V może doprowadzić do przegrzania regulatora napięcia i uszkodzenia płytki. Mając to na uwadze zaleca się stosowanie zasilacza o napięciu z zakresu od 7 do 12V.

Poniżej wymieniono piny zasilania znajdujące się na płycie:

    VIN. Napięcie dostarczane do Arduino bezpośrednio z zewnętrznego zasilacza (niezwiązanego z 5V z USB lub innym regulowanym napięciem). Dzięki temu wyjściu można zarówno zasilać z zewnątrz, jak i pobierać prąd, gdy urządzenie jest zasilane z zewnętrznego zasilacza.

    5 V. Pin ten otrzymuje napięcie 5V z regulatora napięcia na płytce, niezależnie od sposobu zasilania urządzenia: z zasilacza (7 - 12V), z USB (5V) czy poprzez pin VIN (7 - 12V). Nie zaleca się zasilania urządzenia przez piny 5 V lub 3 V3, ponieważ w tym przypadku nie jest używany regulator napięcia, co może prowadzić do awarii płytki.

    3 na 3. Z regulatora napięcia na płycie wychodzi 3,3V. Maksymalny prąd pobierany z tego pinu wynosi 50 mA.

    GND. Podstawowe wnioski.

    IOREF. Pin ten dostarcza płytom rozszerzeń informację o napięciu pracy mikrokontrolera Arduino. W zależności od napięcia odczytanego z pinu IOREF, płytka rozszerzeń może przełączyć się na odpowiedni zasilacz lub zastosować konwertery poziomów, co pozwoli jej współpracować zarówno z urządzeniami 5V, jak i 3,3V.

Pamięć

Mikrokontroler ATmega2560 posiada 256 kB pamięci programu flash (z czego 8 kB wykorzystuje bootloader), 8 kB pamięci SRAM i 4 kB pamięci EEPROM (która służy do pracy z tą pamięcią).

Wejścia i wyjścia

Korzystając z funkcji digitalWrite() i digitalRead(), każdy z 54 cyfrowych pinów Arduino Mega można skonfigurować tak, aby działał jako wejście lub wyjście. Poziom napięcia na wyjściach jest ograniczony do 5V. Maksymalny prąd, jaki może dostarczać lub pobierać pojedyncze wyjście, wynosi 40 mA. Wszystkie piny są sparowane z wewnętrznymi rezystorami podciągającymi (domyślnie wyłączonymi) o wartości 20-50 kΩ. Dodatkowo niektóre wyjścia Arduino mogą pełnić dodatkowe funkcje:

    Interfejs szeregowy Szeregowy: piny 0 (RX) i 1 (TX); Szeregowy 1: 19 (RX) i 18 (TX); Szeregowy 2: 17 (RX) i 16 (TX) Szeregowy 3: 15 (RX) i 14 (TX). Piny te służą do odbierania (RX) i przesyłania (TX) danych przez interfejs szeregowy. Piny 0 i 1 podłączamy także do odpowiednich pinów układu ATmega16U2, który pełni funkcję konwertera USB-UART.

    PWM: piny 2 - 13 i 44 - 46. Funkcja może wyprowadzać 8-bitowe wartości analogowe jako sygnał PWM.

    Interfejs SPI: piny 50 (MISO), 51 (MOSI), 52 (SCK), 53 (SS). Gdy są używane, te piny umożliwiają komunikację przez interfejs SPI. Linie SPI są również kierowane do nagłówka ICSP kompatybilnego z Arduino Uno, Duemilanove i Diecimila.

    Dioda: 13. Wbudowana dioda LED podłączona do pinu 13. Wysłanie wartości HIGH powoduje włączenie diody, wysłanie LOW ją wyłącza.

    TWI: piny 20 (SDA) i 21 (SCL). Gdy te piny są używane, umożliwiają komunikację poprzez interfejs TWI. Należy pamiętać, że układ tych pinów różni się od układu Arduino Duemilanove i Diecimila.

Arduino Mega 2560 ma 16 wejść analogowych, z których każde może reprezentować napięcie analogowe jako liczbę 10-bitową (1024 różne wartości). Domyślnie pomiar napięcia odnosi się do zakresu od 0 do 5 V. Górną granicę tego zakresu można jednak zmienić za pomocą pinu AREF i funkcji analogReference().

Oprócz tych wymienionych na tablicy wniosków jest jeszcze kilka:

    AREF. Napięcie odniesienia dla wejść analogowych. Można używać z funkcją.

    Resetowanie. Utworzenie niskiego poziomu (LOW) na tym pinie spowoduje zresetowanie mikrokontrolera. Zwykle ten pin służy do obsługi przycisku resetowania na kartach rozszerzeń.

Połączenie

Arduino Mega 2560 zapewnia szereg opcji komunikacji z komputerem, innym Arduino lub innymi mikrokontrolerami. ATmega2560 posiada cztery sprzętowe transceivery UART do implementacji interfejsów szeregowych (z poziomem logicznym TTL 5V). Mikrokontroler ATmega16U2 (lub ATmega8U2 na płytach R1 i R2) łączy jeden z transceiverów z portem USB komputera, a po podłączeniu do komputera PC umożliwia zdefiniowanie Arduino jako wirtualnego portu COM (w tym celu system operacyjny Windows potrzebujesz odpowiedniego pliku .inf, w przeciwieństwie do OSX i Linux, gdzie płyta jest automatycznie rozpoznawana jako port COM). Pakiet oprogramowania Arduino zawiera specjalny program SerialMonitor, który umożliwia odczytywanie i wysyłanie prostych danych tekstowych do Arduino. Podczas przesyłania danych poprzez układ ATmega8U2/ATmega16U2 podczas połączenia USB z komputerem, diody RX i TX na płytce będą migać. (Komunikacja szeregowa poprzez piny 0 i 1, bez użycia konwertera USB, nie spowoduje zapalenia tych diod LED.)

Programowanie

Arduino Mega programuje się za pomocą oprogramowania Arduino (pobierz). Aby uzyskać więcej informacji, zobacz ATmega2560 w Arduino Mega.Jest wyposażony w flashowany program ładujący, który pozwala na przesyłanie nowych programów do mikrokontrolera bez potrzeby korzystania z zewnętrznego programisty. Interakcja z nim odbywa się według autorskiego protokołu STK500 ( , ).

Kod źródłowy oprogramowania sprzętowego mikrokontrolera ATmega16U2 (lub ATmega8U2 na płytach R1 i R2) znajduje się w repozytoriach Arduino. Oprogramowanie sprzętowe ATmega16U2/8U2 zawiera bootloader DFU (Device Firmware Update), który umożliwia aktualizację oprogramowania sprzętowego mikrokontrolera. Aby aktywować tryb DFU, musisz:

    Na płytach wersji R1: zamknij zworkę z tyłu płytki (w pobliżu obrazu Włoch), a następnie zresetuj 8U2.

Reset automatyczny (programowy).

Aby uniknąć konieczności każdorazowego naciskania przycisku resetowania przed pobraniem programu, Arduino Mega 2560 zaprojektowano w taki sposób, aby można go było programowo zresetować z podłączonego komputera. Jeden z pinów kontroli przepływu danych (DTR) ATmega8U2 jest podłączony do pinu RESET ATmega2560 poprzez kondensator 100nF. Kiedy linia DTR osiągnie zero, pin RESET również przejdzie w stan niski na okres wystarczająco długi, aby zresetować mikrokontroler. Funkcja ta wykorzystywana jest po to, aby jednym kliknięciem móc flashować mikrokontroler w środowisku programistycznym Arduino. Ta architektura pozwala skrócić limit czasu bootloadera, ponieważ proces flashowania jest zawsze zsynchronizowany z zanikiem sygnału na linii DTR.

Jednak system ten może prowadzić do innych konsekwencji. Po podłączeniu Mega 2560 do komputerów z systemem Mac OS X lub Linux, jego mikrokontroler zostanie zresetowany za każdym razem, gdy oprogramowanie połączy się z płytą. Po zresetowaniu Arduino Mega2560 aktywuje program ładujący na około pół sekundy. Mimo że bootloader jest zaprogramowany tak, aby ignorować obce dane (tj. wszystkie dane, które nie są związane z procesem flashowania nowego programu), może przechwycić kilka pierwszych bajtów danych z pakietu wysłanego do płytki natychmiast po nawiązaniu połączenia przyjęty. Odpowiednio, jeśli program działający na Arduino ma przy pierwszym uruchomieniu pobierać jakiekolwiek ustawienia lub inne dane z komputera, należy upewnić się, że oprogramowanie, z którym współdziała Arduino, wysyła sekundę po nawiązaniu połączenia.

Na płycie Mega 2560 znajduje się ścieżka (oznaczona jako „RESET-EN”), otwierając ją, można wyłączyć automatyczny reset mikrokontrolera. Aby ponownie przywrócić funkcję automatycznego resetu, należy zlutować przewody znajdujące się wzdłuż krawędzi tej ścieżki. Automatyczne resetowanie można również wyłączyć, podłączając rezystor 110 omów między pinem RESET a napięciem 5 V.

Zabezpieczenie przed przeciążeniem USB

Arduino Mega 2560 posiada resetowalne bezpieczniki, które chronią port USB komputera przed zwarciami i przeciążeniami. Chociaż większość komputerów ma własne zabezpieczenia, bezpieczniki te zapewniają dodatkową warstwę ochrony. Jeżeli z portu USB zostanie pobrany prąd większy niż 500 mA, bezpiecznik automatycznie rozłączy połączenie do czasu usunięcia przyczyny zwarcia lub przeciążenia.

Specyfikacje fizyczne i kompatybilność z kartami rozszerzeń

Maksymalna długość i szerokość płytki Mega2560 wynosi odpowiednio 10,2 cm i 5,4 cm, łącznie ze złączem USB i złączem zasilania wystającymi z płytki. Trzy otwory montażowe umożliwiają przymocowanie płytki do powierzchni lub obudowy. Należy pamiętać, że odległość między pinami cyfrowymi 7 i 8 nie jest wielokrotnością tradycyjnych 2,54 mm i wynosi 4 mm.

Arduino Mega2560 został zaprojektowany tak, aby był kompatybilny z większością kart rozszerzeń Arduino Uno, Diecimila i Duemilanove. Aby to zrobić, piny cyfrowe 0 - 13 (a także sąsiednie piny AREF i GND), wejścia analogowe 0 - 5, złącze zasilania i złącze ICSP są umieszczone tak samo na wszystkich płytach. Dodatkowo w tych urządzeniach główne linie nadawczo-odbiorcze UART są podłączone do tych samych pinów (0 i 1), co zewnętrzne linie przerwań 0 i 1 (odpowiednio piny 2 i 3). Linie interfejsu SPI są poprowadzone do złącza ICSP na obu płytach - zarówno w Mega2560, jak i w Duemilanove / Diecimila. Należy pamiętać, że w Arduino Mega układ pinów interfejsu I2C różni się od płytek Duemilanove/Diecimila: w Arduino Mega są to piny 20 i 21, a w Duemilanove/Diecimila wejścia analogowe 4 i 5.

Jeśli sam tworzysz Arduino i nie masz programatora w obwodzie lub innej płytki Arduino innej niż Arduino Mega 2560 do programowania mikrokontrolera, możesz go użyć do flashowania chipa bez żadnych problemów.

Co będzie wymagane:

  • Arduino Mega
  • Płytka z mikrokontrolerem ATmega do flashowania
  • Kondensator 100nF
  • Kabel USB łączący Arduino Mega z komputerem
  • Środowisko programistyczne Arduino IDE
  • Kilka przewodów do połączenia Arduino Mega z domowym Arduino

Główną trudnością jest to, że Arduino Mega ma inny układ pinów niż Arduino UNO, Duemilanove czy Diecimila, więc instrukcje dotyczące używania wymienionych płytek jako programisty nie są odpowiednie. Możesz dowiedzieć się więcej o pinoutach Arduino Mega.


Musisz podłączyć Arduino Mega 2560 do płytki z chipem Atmega 168/328 w następujący sposób:



Pierwszą rzeczą, którą musisz zrobić, to przesłać szkic ArduinoISP. Otwórz Arduino IDE, wybierz Narzędzia - Płytka - Arduino Mega 2560 (Serwis - Płytka - Arduino Mega 2560). Wybierz właściwy port COM: Narzędzia - Port szeregowy - żądany port (Serwis - Port szeregowy - żądany port). Teraz przejdź do Plik - Przykłady - ArduinoISP (Plik - Przykłady - ArduinoISP). Szkic ArduinoISP otworzy się przed tobą. Kliknij przycisk Prześlij i prześlij go do Arduino Mega 2560.


Po całkowitym załadowaniu szkicu podłącz kondensator 100nF między linią zasilającą +5 V a pinem RESET Arduino Mega, aby wyłączyć automatyczne resetowanie. W przeciwnym razie nic nie będzie działać.



Wybierz Narzędzia - Nagraj program ładujący - Arduino jako ISP (Serwis - Programista - Arduino jako ISP). Po pobraniu kodu będziesz mógł cieszyć się domowym Arduino.


Jeśli wystąpią błędy:

  • Sprawdź, czy tablica jest poprawna
  • Jeśli pojawi się błąd taki jak avrdude: stk500_getsync(): not in sync: resp=0x00, to nie umieściłeś kondensatora 100nF pomiędzy linią zasilania +5V a pinem RESET w Arduino Mega
  • Jeśli masz inny błąd, poszukaj odpowiedzi w Google
  • Jeżeli nie znalazłeś odpowiedzi w Google to skorzystaj z forów tematycznych poświęconych Arduino

Jeśli pojawi się błąd avrdude: stk500_getsync(): brak synchronizacji: resp=0x00 avrdude: stk500_disable(): błąd protokołu, oczekiwanie=0x14, resp=0x51 podczas programowania Arduino, oznacza to, że automatyczne resetowanie (DTR) nie działa . Oznacza to, że Arduino IDE nie może zresetować Arduino i przesyłanie kodu nie powiedzie się. Aby tego uniknąć, możesz:

  • Naciśnij przycisk resetowania na Arduino, pojawi się kod „Rozmiar szkicu binarnego: xxxx bajtów (maksymalnie xxxxxxx bajtów)”
  • Jeśli to nie pomoże, to możesz podłączyć kabel USB do komputera, ale nie do Arduino i po pojawieniu się „szkicu binarnego…” szybko podłącz kabel do Arduino
  • Jeśli to nie zadziała, możesz przytrzymać przycisk resetowania na Arduino, nacisnąć Prześlij w Arduino IDE i zwolnić przycisk, gdy pojawi się „rozmiar szkicu binarnego…”.
  • Jeśli to nie pomoże, możesz nacisnąć przycisk resetowania po wyświetleniu „binarnego rozmiaru szkicu ...” i przytrzymać go przez 2-10 sekund
  • Jeśli to nie pomoże, możesz ponownie pobrać program ładujący
  • Jeśli to nie pomoże, możesz wziąć inną płytkę Arduino, jeśli masz ją na stanie.
  • Jeśli to nie pomoże, możesz zapytać tylko na forum

Tłumaczenie

Ta płyta różni się od innych Arduino dużą liczbą wejść i wyjść, zwiększoną pamięcią i innymi cechami, które omówimy poniżej. Arduino Mega prezentowane jest w kilku wersjach. Praktycznie niczym się od siebie nie różnią. Różnice pomiędzy Arduino Mega 2560 R3 a poprzednimi wersjami płytki polegają na następujących szczegółach:

  • Do konwersji interfejsu USB-UART zastosowano mikrokontroler ATmega16U2 w wersji R3 oraz ATmega8U2 w wersjach R1 i R2 płytki.
  • Od wersji R2 na płytce dodano rezystor podciągający dla linii HWB. Dzięki temu proces tworzenia oprogramowania sprzętowego mikrokontrolera jest łatwiejszy i wygodniejszy.
  • W wersji R3 dodano kilka pinów dla interfejsu szeregowego I2C SDA i SCL.
  • Poprawiono także odporność na zakłócenia obwodu resetującego.
  • Zmieniono mikrokontroler do współpracy z interfejsem USB-UART z ATmega8U2 na ATmega16U2

Jak widać zmiany nie wpłynęły na wydajność. Dlatego dalej będziemy mówić tylko o najnowszej wersji tej płyty.

Arduino Mega2560 R3

Arduino Mega 2560 wyposażony jest w mikrokontroler ATmega2560 o częstotliwości taktowania 16 MHz.

Charakterystyka Arduino Mega 2560

  • Mikrokontroler: ATmega2560
  • Częstotliwość zegara: 16 MHz
  • Napięcie robocze: 5V
  • Ograniczone napięcie zasilania: 5-20 V
  • Zalecane napięcie zasilania: 7-12V
  • Maksymalny prąd z jednego wyjścia: 40 mA
  • Wejścia/wyjścia cyfrowe: 54
  • Cyfrowe wejścia/wyjścia z obsługą PWM: 15
  • Wejścia analogowe: 16
  • Pamięć Flash: 256 KB (z czego 8 wykorzystuje bootloader)
  • Pamięć RAM: 8 KB
  • EEPROM: 4 KB

Zasilanie Arduino Mega 2560

Płytę tę można zasilać na cztery różne sposoby:

  1. Przez port USB. Arduino możesz zasilać z komputera, powerbanku, smartfona (jeśli obsługuje tryb OTG) lub z zasilacza podłączonego do gniazdka elektrycznego.
  2. Przez pin + 5V. Ten pin jest nie tylko wyjściem, ale także wejściem. Bądź ostrożny! Do tego pinu należy przyłożyć napięcie 5 woltów. W przeciwnym razie możesz spalić sam mikrokontroler.
  3. Przez wtyczkę zasilania znajdującą się na płytce. Można używać baterii, akumulatorów i różnorodnych zasilaczy. Wtyczka ta jest podłączona do pinu VIN. Napięcie i środki ostrożności opisano w następnym akapicie.
  4. Przez pin VIN. Prąd z tego pinu przepływa przez wbudowany regulator napięcia. Według producenta można zastosować od 5 do 20 woltów. Ale tak nie jest. Ponieważ stabilizator nie jest w 100% skuteczny, po przyłożeniu napięcia 5 woltów do pinu VIN napięcie może nie wystarczyć do zasilania mikrokontrolera, a piny cyfrowe nie będą miały 5 woltów, ale mniej. Nie należy także pracować przy maksymalnym napięciu. Przy napięciu 20 V na pinie VIN regulator napięcia nagrzewa się bardzo mocno, aż do awarii. Dlatego zaleca się stosowanie napięcia od 7 do 12 woltów.

Jak już wspomniano powyżej, płytka posiada 54 piny cyfrowe. Mogą być zarówno wejściowe, jak i wyjściowe. Napięcie robocze tych pinów wynosi 5 V. Każdy z nich posiada rezystor podciągający i napięcie poniżej 5 V przyłożone do jednego z tych pinów nadal będzie uznawane za 5 V (logiczne).

Piny analogowe są wejściami i nie mają rezystorów podciągających. Mierzą przyłożone do nich napięcie i zwracają wartość z zakresu od 0 do 1024, gdy są używane z funkcją. Piny te mierzą napięcie z dokładnością do 0,005 V.

PWM Arduino Mega

Jeśli przyjrzysz się uważnie płytce, zobaczysz ikonę tyldy (~) obok niektórych pinów cyfrowych. Ta ikona oznacza, że ​​ten pin może być używany jako wyjście PWM. Niektóre płytki Arduino nie mają tej ikonki, ponieważ producenci nie zawsze znajdują miejsce na ten symbol na płytce. Arduino Mega ma 15 pinów PWM, są to piny cyfrowe od 2 do 13 i od 44 do 46. Aby korzystać z PWM, Arduino ma specjalną funkcję.

Inne piny:

  • Szeregowy: 0 (rx) i 1 (tx), Szeregowy 1: 19 (rx) 18 (tx), Szeregowy 2: 17 (rx) i 16 (tx), Szeregowy 3: 15 (rx) i 14 (tx) są używane do danych transmisja poprzez interfejs szeregowy.
  • Piny 53 (SS), 51 (MOSI), 50 (MISO), 52 (SCK) przeznaczone są do komunikacji SPI.
  • Również na pinie 13 znajduje się dioda LED wbudowana w płytkę.
  • 20 (SDA) i 21 (SCL) można wykorzystać do komunikacji z innymi urządzeniami poprzez magistralę I2C. Więcej o tym interfejsie możesz przeczytać w Wikipedii. Arduino IDE posiada wbudowaną bibliotekę „wire.h” ułatwiającą pracę I2C.
  • Przerwania zewnętrzne: piny 2 (przerwanie 0), 3 (przerwanie 1), 18 (przerwanie 5), 19 (przerwanie 4), 20 (przerwanie 3) i 21 (przerwanie 2). Piny te mogą być używane jako źródła przerwań dla różnych warunków: niski, rosnący, opadający lub zmieniający się. Więcej informacji znajdziesz w tej funkcji.
  • AREF. Napięcie odniesienia dla wejść analogowych. Może być używany przez funkcję.
  • Resetowanie. Utworzenie niskiego poziomu (LOW) na tym pinie spowoduje zresetowanie mikrokontrolera. Zwykle ten pin służy do obsługi przycisku resetowania na kartach rozszerzeń.

Charakterystyka fizyczna

Arduino Mega ma następujące wymiary: długość 102mm i szerokość 54mm. Arduino Mega waży około 45 gramów. Tablica posiada 4 otwory umożliwiające mocowanie jej do podłoża. Odległość pomiędzy pinami wynosi 2,5 mm, za wyjątkiem pinów 7 i 8. Pomiędzy nimi jest 4 mm.

Schemat obwodu


Informacje ogólne

Arduino Mega 2560 to urządzenie oparte na mikrokontrolerze ATmega2560 (). Zawiera wszystko, co potrzebne do wygodnej pracy z mikrokontrolerem: 54 cyfrowe wejścia/wyjścia (z czego 15 można wykorzystać jako wyjścia PWM), 16 wejść analogowych, 4 UART (transceivery sprzętowe do realizacji interfejsów szeregowych), rezonator kwarcowy 16 MHz, Złącze USB, złącze zasilania, złącze ICSP do programowania w obwodzie i przycisk resetowania. Aby rozpocząć pracę z urządzeniem, wystarczy zasilić urządzenie za pomocą zasilacza AC/DC lub akumulatora, albo podłączyć je do komputera za pomocą kabla USB. Arduino Mega jest kompatybilne z większością płytek rozszerzeń zaprojektowanych dla Arduino Duemilanove i Diecimila.

Mega 2560 to zaktualizowana wersja Arduino Mega.

Arduino Mega 2560 różni się od wszystkich poprzednich płytek tym, że zamiast chipa FTDI wykorzystuje mikrokontroler ATmega16U2 do konwersji interfejsów USB-UART (ATmega8U2 w wersjach płytki R1 i R2).

Na płycie Mega 2560 Wersje R2 dodawany jest rezystor, który przyciąga linię HWB mikrokontrolera 8U2 do masy. Takie rozwiązanie pozwala uprościć proces aktualizacji oprogramowania i przełączenia urządzenia w tryb DFU.

Zmiany w zarządzie Wersje R3 wymienione poniżej:

  • Pinout 1.0: Dodano piny SDA i SCL (w pobliżu pinu AREF), a także dwa nowe piny umieszczone w pobliżu pinu RESET. Pierwsza – IOREF – pozwala płytom rozszerzeń dostosować się do napięcia roboczego Arduino. Ten pin zapewnia kompatybilność kart rozszerzeń zarówno z Arduino 5 V opartym na mikrokontrolerach AVR, jak i płytkami Arduino Due 3,3 V. Drugi pin nie jest do niczego podłączony i jest zarezerwowany do wykorzystania w przyszłości.
  • Poprawiona odporność na zakłócenia obwodu resetowania.
  • Mikrokontroler ATmega16U2 zastąpiony przez 8U2.

Schemat, oryginalny projekt i układ pinów

Charakterystyka

mikrokontroler ATmega2560
Napięcie robocze 5 V
Napięcie zasilania (zalecane) 7-12 V
Napięcie zasilania (ograniczenie) 6-20 V
Wejścia/wyjścia cyfrowe 54 (z czego 15 można wykorzystać jako wyjścia PWM)
Wejścia analogowe 16
Maksymalny prąd jednego wyjścia 40 mA
Maksymalny prąd wyjściowy 3,3 V 50 mA
Pamięć flash 256 KB, z czego 8 KB jest wykorzystywane przez program ładujący
SRAM 8KB
EEPROM 4KB
Częstotliwość zegara 16 MHz

Odżywianie

Arduino Mega można zasilać z USB lub z zewnętrznego źródła zasilania – rodzaj źródła dobierany jest automatycznie.

Zewnętrznego zasilacza AC/DC lub baterii/baterii można używać jako zewnętrznego źródła zasilania (nie USB). Wtyczkę adaptera (średnica - 2,1 mm, środkowy pin - dodatni) należy włożyć do odpowiedniego złącza zasilania na płycie. W przypadku zasilania akumulatorowego/akumulatorowego jego przewody należy podłączyć do zacisków Gnd i Vin złącza POWER.

Napięcie zewnętrznego zasilacza może mieścić się w zakresie od 6 do 20 V. Jednakże spadek napięcia zasilania poniżej 7 V prowadzi do spadku napięcia na pinie 5 V, co może spowodować niestabilność urządzenia. Użycie napięcia większego niż 12V może doprowadzić do przegrzania regulatora napięcia i uszkodzenia płytki. Mając to na uwadze zaleca się stosowanie zasilacza o napięciu z zakresu od 7 do 12V.

Poniżej wymieniono piny zasilania znajdujące się na płycie:

  • VIN. Napięcie dostarczane do Arduino bezpośrednio z zewnętrznego zasilacza (niezwiązanego z 5V z USB lub innym regulowanym napięciem). Dzięki temu wyjściu można zarówno zasilać z zewnątrz, jak i pobierać prąd, gdy urządzenie jest zasilane z zewnętrznego zasilacza.
  • 5 V. Pin ten otrzymuje napięcie 5V z regulatora napięcia na płytce, niezależnie od sposobu zasilania urządzenia: z zasilacza (7 - 12V), z USB (5V) czy poprzez pin VIN (7 - 12V). Nie zaleca się zasilania urządzenia przez piny 5 V lub 3 V3, ponieważ w tym przypadku nie jest używany regulator napięcia, co może prowadzić do awarii płytki.
  • 3 na 3. Z regulatora napięcia na płycie wychodzi 3,3V. Maksymalny prąd pobierany z tego pinu wynosi 50 mA.
  • GND. Podstawowe wnioski.
  • IOREF. Pin ten dostarcza płytom rozszerzeń informację o napięciu pracy mikrokontrolera Arduino. W zależności od napięcia odczytanego z pinu IOREF, płytka rozszerzeń może przełączyć się na odpowiedni zasilacz lub zastosować konwertery poziomów, co pozwoli jej współpracować zarówno z urządzeniami 5V, jak i 3,3V.

Pamięć

Mikrokontroler ATmega2560 posiada 256 kB pamięci programu flash (z czego 8 kB wykorzystuje bootloader), 8 kB SRAM i 4 kB EEPROM (do pracy z tą pamięcią wykorzystywana jest biblioteka EEPROM).

Wejścia i wyjścia

Programowanie

ATmega2560 w Arduino Mega jest wyposażony w bootloader oprogramowania sprzętowego, który umożliwia ładowanie nowych programów do mikrokontrolera bez potrzeby korzystania z zewnętrznego programisty. Interakcja z nim odbywa się według autorskiego protokołu STK500 ( , ).

Kod źródłowy oprogramowania sprzętowego mikrokontrolera ATmega16U2 (lub ATmega8U2 na płytach R1 i R2) znajduje się w repozytoriach Arduino. Oprogramowanie sprzętowe ATmega16U2/8U2 zawiera bootloader DFU (Device Firmware Update), który umożliwia aktualizację oprogramowania sprzętowego mikrokontrolera. Aby aktywować tryb DFU, musisz:

  • Na płytach wersji R1: zamknij zworkę z tyłu płytki (w pobliżu obrazu Włoch), a następnie zresetuj 8U2.
  • Na płytach w wersji R2 i wyższych dla ułatwienia przejścia do trybu DFU znajduje się rezystor ściągający do masy linię HWB mikrokontrolera 8U2/16U2.Po przejściu w tryb DFU można skorzystać z oprogramowania FLIP firmy Atmel (dla Windows) lub (dla Mac OS X i Linux). Alternatywą jest flashowanie mikrokontrolera przez gniazdo ISP przy użyciu zewnętrznego programatora, jednak w tym przypadku program ładujący DFU zostanie nadpisany. Aby uzyskać więcej informacji, zapoznaj się z instrukcjami użytkowników.

Reset automatyczny (programowy).

Aby uniknąć konieczności każdorazowego naciskania przycisku resetowania przed pobraniem programu, Arduino Mega 2560 zaprojektowano w taki sposób, aby można go było programowo zresetować z podłączonego komputera. Jeden z pinów kontroli przepływu danych (DTR) ATmega8U2 jest podłączony do pinu RESET ATmega2560 poprzez kondensator 100nF. Kiedy linia DTR osiągnie zero, pin RESET również przejdzie w stan niski na okres wystarczająco długi, aby zresetować mikrokontroler. Funkcja ta wykorzystywana jest po to, aby jednym kliknięciem móc flashować mikrokontroler w środowisku programistycznym Arduino. Ta architektura pozwala skrócić limit czasu bootloadera, ponieważ proces flashowania jest zawsze zsynchronizowany z zanikiem sygnału na linii DTR.

Jednak system ten może prowadzić do innych konsekwencji. Po podłączeniu Mega 2560 do komputerów z systemem Mac OS X lub Linux, jego mikrokontroler zostanie zresetowany za każdym razem, gdy oprogramowanie połączy się z płytą. Po zresetowaniu Arduino Mega2560 aktywuje program ładujący na około pół sekundy. Mimo że bootloader jest zaprogramowany tak, aby ignorować obce dane (tj. wszystkie dane, które nie są związane z procesem flashowania nowego programu), może przechwycić kilka pierwszych bajtów danych z pakietu wysłanego do płytki natychmiast po nawiązaniu połączenia przyjęty. Odpowiednio, jeśli program działający na Arduino ma przy pierwszym uruchomieniu pobierać jakiekolwiek ustawienia lub inne dane z komputera, należy upewnić się, że oprogramowanie, z którym współdziała Arduino, wysyła sekundę po nawiązaniu połączenia.

Zabezpieczenie przed przeciążeniem USB

Arduino Mega 2560 posiada resetowalne bezpieczniki, które chronią port USB komputera przed zwarciami i przeciążeniami. Chociaż większość komputerów ma własne zabezpieczenia, bezpieczniki te zapewniają dodatkową warstwę ochrony. Jeżeli z portu USB zostanie pobrany prąd większy niż 500 mA, bezpiecznik automatycznie rozłączy połączenie do czasu usunięcia przyczyny zwarcia lub przeciążenia.

Specyfikacje fizyczne i kompatybilność z kartami rozszerzeń

Maksymalna długość i szerokość płytki Mega2560 wynosi odpowiednio 10,2 cm i 5,4 cm, łącznie ze złączem USB i złączem zasilania wystającymi z płytki. Trzy otwory montażowe umożliwiają przymocowanie płytki do powierzchni lub obudowy. Należy pamiętać, że odległość między pinami cyfrowymi 7 i 8 nie jest wielokrotnością tradycyjnych 2,54 mm i wynosi 4 mm.

Arduino Mega2560 został zaprojektowany tak, aby był kompatybilny z większością kart rozszerzeń Arduino Uno, Diecimila i Duemilanove. Aby to zrobić, piny cyfrowe 0 - 13 (a także sąsiednie piny AREF i GND), wejścia analogowe 0 - 5, złącze zasilania i złącze ICSP są umieszczone tak samo na wszystkich płytach. Dodatkowo w tych urządzeniach główne linie nadawczo-odbiorcze UART są podłączone do tych samych pinów (0 i 1), co zewnętrzne linie przerwań 0 i 1 (odpowiednio piny 2 i 3). Linie interfejsu SPI są poprowadzone do złącza ICSP na obu płytach - zarówno w Mega2560, jak i w Duemilanove / Diecimila. Należy pamiętać, że w Arduino Mega układ pinów interfejsu I2C różni się od płytek Duemilanove/Diecimila: w Arduino Mega są to piny 20 i 21, a w Duemilanove/Diecimila wejścia analogowe 4 i 5.

W górę