Arduino MKR WAN 1310 — LoRa-плата: характеристики, распиновка и питание

Arduino MKR WAN 1310 — плата серии MKR с радиомодулем LoRa для сетей дальней связи малой мощности (LoRaWAN). В основе — 32-битный микроконтроллер ATSAMD21G18A (Arm Cortex-M0+), модуль Murata CMWX1ZZABZ (процессор STM32L0 и трансивер Semtech SX1276), криптомикросхема ATECC508 и внешняя SPI flash на 2 МБ. Это не одноплатный компьютер: на плате нет операционной системы, она выполняет один скетч. Производитель — Arduino.

Плата рассчитана на датчики и устройства, которым нужна дальняя радиосвязь при небольшом объёме передаваемых данных: системы мониторинга, учёта, сельского хозяйства и окружающей среды. В подходящих условиях связь может работать на расстоянии нескольких километров, но фактическая дальность зависит от антенн, радиопараметров, рельефа и местных ограничений. Wi-Fi и Bluetooth на плате нет. Питание возможно через USB или вывод VIN; для автономной работы предусмотрен разъём одноклеточного аккумулятора Li-Po / Li-ion и встроенное зарядное устройство. Логические уровни — 3,3 В.

Формат MKR не совместим с шилдами Uno. Для задач, где нужен Wi-Fi и Bluetooth, смотрите MKR WiFi 1010 — у неё тот же микроконтроллер и формат.

Плата Arduino MKR WAN 1310, вид сверху

Основные характеристики Arduino MKR WAN 1310

  • Микроконтроллер: Microchip ATSAMD21G18A (Arm Cortex-M0+, 32 бита)
  • Тактовая частота: до 48 МГц
  • Flash-память микроконтроллера: 256 КБ
  • SRAM: 32 КБ
  • Внешняя flash-память: W25Q16, 16 Мбит (2 МБ), SPI
  • EEPROM: отдельной нет
  • Радиомодуль: Murata CMWX1ZZABZ (STM32L0 с 192 КБ flash и трансивер Semtech SX1276), максимальная мощность передачи модуля до +20 дБм; внешняя антенна подключается через разъём Micro U.FL
  • Криптомикросхема: ATECC508
  • Зарядное устройство: BQ24195L для аккумулятора Li-Po / Li-ion 1S, 3,7 В; минимальная рекомендуемая ёмкость аккумулятора — 1024 мА·ч
  • Рабочее напряжение логики: 3,3 В (5 В на сигнальных выводах не допускается); выход 3,3 В для внешней схемы — до 300 мА
  • Входное напряжение (VIN): 4,5–5,5 В (рекомендуемое), абсолютный максимум 5,5 В
  • Цифровые выводы: 15 (D0–D14); вместе с аналоговыми — 22
  • Аналоговые входы: 7 (A0–A6), АЦП 12 бит; аналоговый выход (ЦАП 10 бит) на A0
  • Ток выводов: по схеме выводов Arduino — до 7 мА на вывод; также ограничены суммарный ток источника (46 мА) и ток стока на группу выводов (65 мА)
  • Интерфейсы: UART (D13/D14), I²C (D11/D12), SPI (D8–D10), I²S
  • USB: Micro-USB Type-B, встроенный USB Full-Speed (device/host)
  • Размеры и масса: около 67,7 × 25 мм, 32 г
  • Способ программирования: Arduino IDE, пакет Arduino SAMD Boards

Технические характеристики

Микроконтроллер

ATSAMD21G18A — 32-битный микроконтроллер Arm Cortex-M0+ с частотой до 48 МГц, 256 КБ flash и 32 КБ SRAM. В его состав входят 12-канальные DMA и система событий, пять 16-битных и три 24-битных таймера, 32-битный RTC, сторожевой таймер, полноскоростной USB, шесть блоков SERCOM (USART, I²C, SPI и LIN), двухканальный I²S, 12-битный АЦП с частотой до 350 тыс. выборок/с и 10-битный ЦАП. Радиомодуль связан с SAMD21 по SPI и I²C; внешняя flash подключена к SPI, а криптомикросхема — к I²C. Эти интерфейсы используются несколькими компонентами платы.

Память (Flash, SRAM, EEPROM)

  • Flash 256 КБ для скетча (часть занимает загрузчик), SRAM 32 КБ.
  • Внешняя SPI flash W25Q16 на 2 МБ: хранение журналов и данных; не менее 100 тыс. циклов стирания/записи, хранение данных более 20 лет, ток в активном режиме около 4 мА, в режиме Power-down менее 1 мкА.
  • EEPROM нет.

Порядок работы с внешней flash. В datasheet указано: чтобы корректно пользоваться внешней flash-памятью, нужно сначала сохранить данные в RAM микроконтроллера, затем выключить радиомодем и только после этого включить flash и записать данные.

Цифровые и аналоговые выводы (I/O)

Нумерация: цифровые выводы D0–D14, аналоговые A0–A6; аналоговые контакты также имеют цифровые номера D15–D21. ШИМ доступен на D0–D8, D10, D12, а также на A3 и A4. На A0 выведен настоящий аналоговый выход DAC0 (10 бит), а не ШИМ.

⚠ Только 3,3 В и малые токи. Сигнальные выводы работают с логическими уровнями 3,3 В и не толерантны к 5 В: подача 5 В может повредить плату. По схеме выводов Arduino ток одного вывода ограничен 7 мА; суммарный ток источника — 46 мА, а ток стока — до 65 мА на группу выводов. Для реле, двигателей и других нагрузок используйте транзистор или драйвер.

Распиновка Arduino MKR WAN 1310

Интерфейсы связи (UART, I²C, SPI)

  • UART: D14 (TX) и D13 (RX) — Serial1. Связь с компьютером по USB идёт отдельно (Serial).
  • I²C: D11 (SDA) и D12 (SCL), те же линии выведены на 5-контактный разъём сверху платы.
  • SPI: D8 (COPI, MOSI), D9 (SCK), D10 (CIPO, MISO); CS выбирается программно.
  • I²S: два канала.

USB

Для подключения к компьютеру используется разъём Micro-USB Type-B и встроенный в SAMD21 контроллер USB Full-Speed. Он поддерживает режимы USB Device и USB Host; в режиме Device плата может работать с USB-классами, например HID. Для USB Host datasheet требует подать питание через контакт VUSB и замкнуть расположенную рядом перемычку. Примечание: в текстовом разделе datasheet кабель назван Mini-B, хотя на плате установлен разъём Micro-USB.

LoRa-модуль

Murata CMWX1ZZABZ содержит микроконтроллер STM32L0 (Cortex-M0+, 192 КБ flash) и радиотрансивер Semtech SX1276. Максимальная мощность передачи самого радиомодуля — до +20 дБм, но разрешённая мощность излучения зависит от частотного плана, антенны и законодательства страны. На модуле работает открытая прошивка Arduino, основанная на коде Semtech; управление из скетча выполняется через библиотеку MKRWAN. Региональный план выбирается при настройке модема. Набор доступных планов зависит от версии и сборки прошивки: некоторые диапазоны в официальной сборке могут быть отключены. Для работы выбирайте только регион и частоты, разрешённые в вашей стране и поддерживаемые используемой прошивкой.

⚠ Радиочасть и антенна. Изменение прошивки радиомодуля требует повторной сертификации радиоканала. Не включайте передатчик без антенны: модуль рассчитан на внешнюю антенну, подключаемую к разъёму на плате. В документации для Канады указана одобренная антенна — внешний всенаправленный диполь Dynaflex 505012UFL с усилением −1 дБи; антенны с большим усилением использовать запрещено.

Скорость передачи, чувствительность и дальность в datasheet платы не приводятся — они зависят от параметров LoRa (коэффициент расширения спектра, полоса), региона и условий связи.

Криптомикросхема

ATECC508 — криптосопроцессор с защищённым хранением до 16 ключей, сертификатов или данных; поддержка ECDH, ECDSA, кривой NIST P-256, SHA-256 и HMAC. Служит для безопасного хранения секретов и ускорения защищённых протоколов.

Питание и аккумулятор

Плату можно питать через USB, вывод VIN или от одноклеточного аккумулятора Li-Po / Li-ion с номинальным напряжением 3,7 В, подключённого к JST-разъёму. За зарядку отвечает BQ24195L с управлением по I²C. Микросхема поддерживает зарядный ток до 2,5 А, однако datasheet самой платы отдельно предупреждает о минимальном зарядном токе 512 мА: выбранный аккумулятор должен быть рассчитан на такой ток. Arduino указывает минимальную рекомендуемую ёмкость аккумулятора 1024 мА·ч. Цепочка питания по datasheet:

ИсточникПреобразованиеПотребители по шине 3,3 В
USB (VUSB) через MOSFET и VIN через диод → VChrgBQ24195L → +3V8; затем LDO (до 600 мА) → +3V3SAMD21 — 30 мА, CMWX1ZZABZ — 128 мА, ECC508 — 16 мА, W25Q16 — 30 мА, пользовательская схема — 300 мА

⚠ Питание и аккумулятор. Рекомендуемое напряжение VIN — 4,5–5,5 В; абсолютный максимум VIN и USB — 5,5 В. Подавать 12 В нельзя. Минимальный зарядный ток, указанный Arduino, — 512 мА; используйте совместимый аккумулятор Li-Po / Li-ion 1S ёмкостью не менее 1024 мА·ч и проверьте допустимый ток его зарядки. Соблюдайте полярность JST-разъёма.

⚠ Вывод +5V — не стабилизированный источник. Контакт +5V связан через перемычку с входной шиной USB и передаёт входное напряжение, когда плата питается от USB или VIN. Это не выход стабилизатора, а напряжение от источника питания; при работе только от аккумулятора на нём нельзя рассчитывать на 5 В. Не используйте этот контакт как универсальный стабилизированный выход.

Напряжение VUSB подаётся на VIN через диод Шоттки. Поскольку минимальное входное напряжение преобразователя составляет 4,5 В, Arduino указывает, что под нагрузкой напряжение на USB-разъёме должно находиться примерно в диапазоне 4,8–4,96 В. В таблице энергопотребления datasheet значения помечены как TBC; на странице продукта Arduino отдельно указывает, что при правильной настройке потребление может снижаться примерно до 104 мкА.

Размеры и конструкция

Габариты платы — около 67,7 × 25 мм по чертежу; ряды выводов (по 14 контактов, шаг 2,54 мм) распаяны. Крепёжные отверстия — по углам платы. Радиомодуль и разъём антенны расположены у края платы, противоположного USB-разъёму.

Чертёж Arduino MKR WAN 1310 с размерами платы
Положение разъёмов Arduino MKR WAN 1310: USB, аккумулятор, антенна и выводы

Интерфейсы и разъёмы

  • Micro-USB — питание, программирование, USB;
  • Два ряда по 14 контактов (цифровой и аналоговый);
  • Разъём аккумулятора Li-Po / Li-ion;
  • Разъём антенны LoRa;
  • 5-контактный разъём ESLOV сверху платы: GND, SDA, SCL, WK (сигнал пробуждения/оповещения), +5V; линии SDA/SCL подключены к шине I²C;
  • Кнопка Reset; светодиоды питания, зарядки и пользовательский (D6);
  • Площадки отладки (SWD) на нижней стороне: +3V3, SWD, RESETN, SWCLK, GND (распаяно 5 контактов из 6).

Программирование

Плата программируется в Arduino IDE (в том числе 2.x) и Arduino Cloud Editor. Нужен пакет Arduino SAMD Boards и библиотека MKRWAN. Загрузка — по USB; если скетч завис, режим загрузчика включается двойным нажатием Reset сразу после подачи питания.


Распиновка

Таблица составлена по datasheet (ABX00029) и схеме выводов Arduino. Сигнальные выводы работают с логическими уровнями 3,3 В и не толерантны к 5 В. Расположение контактов и назначение основных выводов совместимы с другими платами формата MKR, включая MKR WiFi 1010.

Левый ряд (контакты 1–14)

КонтактОбозначениеПорт SAMD21Функции
1AREFPA03Опорное напряжение АЦП
2A0 (D15)PA02АЦП; ЦАП (DAC0)
3A1 (D16)PB02АЦП
4A2 (D17)PB03АЦП
5A3 (D18)PA04АЦП, ШИМ
6A4 (D19)PA05АЦП, ШИМ
7A5 (D20)PA06АЦП
8A6 (D21)PA07АЦП
9D0PA22Цифровой вывод, ШИМ
10D1PA23Цифровой вывод, ШИМ
11D2PA10Цифровой вывод, ШИМ
12D3PA11Цифровой вывод, ШИМ
13D4PB10Цифровой вывод, ШИМ
14D5PB11Цифровой вывод, ШИМ

Правый ряд (контакты 15–28)

КонтактОбозначениеПорт SAMD21Функции
15D6PA20Цифровой вывод, ШИМ; светодиод LED_BUILTIN
16D7PA21Цифровой вывод, ШИМ
17D8PA16SPI COPI (MOSI), ШИМ
18D9PA17SPI SCK
19D10PA19SPI CIPO (MISO), ШИМ
20D11PA08I²C SDA
21D12PA09I²C SCL, ШИМ
22D13PB23UART RX
23D14PB22UART TX
24RESETN—Сброс
25GND—Земля
26+3V3—Выход 3,3 В
27VIN—Вход питания 4,5–5,5 В
28+5V—Через перемычку к питанию USB

Возможности и особенности

  • LoRa на плате Arduino с готовой библиотекой и открытой прошивкой модема.
  • Внешняя flash 2 МБ для журналов и данных.
  • Зарядное устройство для аккумулятора: автономные узлы с питанием от Li-Po.
  • Крипточип ATECC508 для хранения ключей.
  • Native USB и ЦАП.

Для чего подходит Arduino MKR WAN 1310

  • Датчики дальней связи в сети LoRaWAN: погода, почва, уровень воды, учёт;
  • Автономные удалённые устройства с питанием от аккумулятора и подзарядкой;
  • Сбор данных на большие расстояния там, где нет Wi-Fi или сотовой связи;
  • Прототипы промышленного IoT.

Преимущества

  • Дальняя связь LoRa и возможность экономичной передачи небольших объёмов данных при правильной настройке режима сна и радиопараметров.
  • Зарядка Li-Po на борту, flash 2 МБ, крипточип.
  • 32-битный процессор и native USB.
  • Открытая прошивка LoRa-модема.

Ограничения

  • Нет Wi-Fi и Bluetooth.
  • Логические уровни 3,3 В, небольшой допустимый ток одного вывода и ограничения на суммарный ток групп контактов.
  • VIN только до 5,5 В.
  • Для работы нужна антенна и шлюз/сеть LoRaWAN; низкая скорость передачи данных.
  • Радиоканал привязан к региональному диапазону; смена прошивки модема требует повторной сертификации.
  • Нет EEPROM; мощность процессора ограничена.
  • Точные типовые значения энергопотребления в datasheet платы не приведены (в таблице стоят отметки TBC).

Arduino MKR WAN 1310 и похожие платы

ХарактеристикаMKR WAN 1310MKR WiFi 1010MKR Zero
МикроконтроллерSAMD21G18ASAMD21G18ASAMD21G18A
Беспроводная связьLoRa (CMWX1ZZABZ)Wi-Fi + Bluetoothнет
Внешняя память2 МБ SPI flash2 МБ SPI flashслот microSD
Зарядка Li-Poестьестьесть
КриптомикросхемаATECC508ATECC508нет

Сравните также с MKR WiFi 1010 и MKR Zero.


Заключение

Arduino MKR WAN 1310 — плата формата MKR с радиомодулем LoRa, зарядным устройством для Li-Po/Li-ion аккумулятора, 2 МБ внешней SPI flash и криптомикросхемой. Она подходит для автономных датчиков и других устройств, которым нужна дальняя связь с небольшим объёмом данных.

Перед покупкой учтите, что для подключения к LoRaWAN потребуется совместимый шлюз и сеть, а для радиопередачи — подходящая антенна. Плата рассчитана на питание 5 В через USB/VIN, использует логику 3,3 В и имеет ограничения по току выводов. Проверьте региональную версию радиопрошивки и разрешённый в вашей стране частотный план.


Материалы

Иллюстрации (фотография, схема выводов и чертежи) взяты из документации Arduino к MKR WAN 1310 (SKU ABX00029); схемы выводов распространяются под лицензией CC BY-SA 4.0, права на остальные принадлежат Arduino.

Оставьте комментарий

Отправляя комментарий, вы соглашаетесь с обработкой ваших данных (имя, адрес электронной почты, текст комментария) в соответствии с политикой конфиденциальности.