Урок 45. Другие платы Ардуино с микроконтроллерами ATmega168/328. Плата Arduino Nano.

Arduino Nano

В последующих двух уроках расскажу о платах Ардуино функционально полностью совместимых с Arduino UNO R3, но имеющих другое конструктивное исполнение.

Предыдущий урок     Список уроков     Следующий урок

Плата Arduino UNO, наверное, имеет наибольшую популярность среди  разработчиков электронных изделий на базе Ардуино.  Она идеально подходит для отладки программной и аппаратной частей устройств на этапе разработки.

 

Но для завершенных устройств, а тем более при серийном выпуске ее положительные качества скорее превращаются в недостатки.

  • Плата Arduino UNO имеет небольшие размеры (69 x 54 мм), но ее некоторая избыточность  позволяет в разы уменьшить размеры других вариантов плат. Например, у платы Arduino Pro Mini габариты всего 18 x 33 мм. Существует множество практических приложений, где размеры электроники играют решающее значение.
  • Подключение внешних сигналов к плате Arduino UNO происходит через разъемы. На этапе разработки это скорее плюс. А в готовом изделии разъемы резко снижают надежность устройства. При тяжелых условиях эксплуатации (вибрации, повышенная влажность и т.п.) разъемы платы Arduino UNO практически неработоспособны.
  • Плата Arduino UNO содержит преобразователь интерфейсов для подключения к компьютеру через порт USB. Но далеко не для всех устройств необходима связь с компьютером. Опять, то, что совершенно необходимо при отладке, оказывается лишним в рабочем устройстве.
  • Все перечисленное выше также влияет на стоимость платы Arduino UNO. Убрав лишнее, уменьшив размеры платы, появилась возможность снизить ее стоимость.

Речь идет о платах с теми же микроконтроллерами, имеющим те же характеристики, но с другими схемными и конструктивными решениями:

  • Arduino Nano;
  • Arduino Pro Mini.

Каждая из этих плат выпускается в двух вариантах с микроконтроллером ATmega328 и ATmega168. Во втором варианте в 2 раза уменьшаются объемы FLASH, ОЗУ и EEPROM.

Я собираюсь использовать эти платы в последующих уроках, поэтому решил рассказать о них.

 

Плата Arduino Nano.

Это небольшая плата размерами 19 x 43 мм. Тем не менее, по функциям и параметрам вполне заменяет Arduino UNO.

Arduino Nano

Как правило, не содержит разъемов для подключения внешних сигналов, но они легко могут быть запаяны.

У платы есть преобразователь интерфейса UART в USB и USB разъем для подключения к компьютеру.

 

Характеристики платы Arduino Nano.

Большая часть параметров платы определяется используемым микроконтроллером.

Тип микроконтроллера ATmega168 ATmega328
Архитектура AVR
Напряжение питания микроконтроллера 5 В
Номинальное напряжение питания платы 7 – 12 В
Предельно-допустимое  напряжение питания платы 6 – 20 В
Тактовая частота 16 мГц
Объем памяти программ (FLASH) 16 кбайт 32 кбайт
Объем оперативной памяти  (SRAM) 1 кбайт 2 кбайт
Объем энергонезависимой памяти (EEPROM) 512 байт 1 кбайт
Дискретные входы/выходы 14 выводов ( 6 могут быть использованы для генерации ШИМ)
Аналоговые входы 8 входов
Предельно-допустимый ток цифрового выхода 40 мА (но не более 200 мА для всех выводов)
Ток потребления Не более 20 мА
Размеры платы 18,5 x 43 мм
Вес 7 г

 

Назначение выводов платы Arduino Nano.

Распиновка Arduino Nano

Питание.

Плата может получать питание двумя способами:

  • через кабель связи с компьютером от USB порта;
  • от внешнего источника питания напряжением 6-20 В. Напряжение может быть не стабилизировано, но с низким уровнем пульсаций.

Напряжение внешнего источника питания стабилизируется на уровне 5 В с помощью микросхемы LM1117IMPX-5.0. Напряжение USB порта компьютера подключается к выходу стабилизатора через диод Шоттки (с низким падением напряжения).

Схема питания

Таким образом, при одновременном подключении обоих источников плата питается от источника с большим напряжением.

Вывод 5 V может быть использован для питания внешнего устройства. Надо только помнить, что ток нагрузки не должен превышать для разных плат 500-800 мА.

К выводу 3.3V можно подключать питание внешних устройств напряжением 3,3 В. У моей платы ток нагрузки не должен превышать 180 мА.

 

Входы и выходы платы.

  • Все выводы, цифровые и аналоговые, могут работать в диапазоне 0 … 5 В.
  • Максимальный вытекающий или втекающий ток для цифрового вывода в режиме выхода не должен превышать 40 мА. Общий ток выводов не должен превышать 200 мА.
  • Все выводы могут быть программно подключены к источнику питания микроконтроллера 5 В через подтягивающие резисторы сопротивлением 20-50 кОм.
  • Если на аналоговый вход или дискретный вывод в режиме входа подать напряжение свыше 5 В или ниже 0 В, то оно будет ограничено защитными диодами микроконтроллера.

Схема входов ATmega168/328

В этих случаях сигнал должен подключаться через ограничительный резистор,  иначе микроконтроллер может выйти из строя.

Цифровые выводы. У платы 14 цифровых выводов, каждый из которых может работать в режимах входа и выхода. Некоторые выводы имеют еще альтернативные функции.

Последовательный интерфейс UART: выводы 0(RX) и 1(TX). Используются для обмена данными по интерфейсу UART. Эти выводы платы непосредственно соединены с соответствующими выводами микроконтроллера. К ним же через резисторы сопротивлением 1 кОм подключены сигналы преобразователя интерфейса.

Схема подключения последовательного интерфейса

Таким образом, выводы платы имеют приоритет по отношению к сигналам преобразователя интерфейсов. При загрузке программы в плату или обмене данными с компьютером выводы RX и TX должны оставаться свободными.

Внешние прерывания: выводы 2 и 3. Выводы, которые могут быть использованы для формирования внешних прерываний.

ШИМ: выводы 3,5,6,9, 10, 11. На этих выводах может быть сформирован сигнал ШИМ аппаратным способом.

Последовательный интерфейс SPI: выводы 10 (SS), 11 (MOSI), 13 (SCK). Выводы аппаратного интерфейса SPI.

Светодиод: вывод 13. К этому выводу подключен светодиод, обозначенный на плате L. Светится при высоком уровне сигнала.

Аналоговые входы: A0…A8. 8 аналоговых входов для измерения напряжения с помощью встроенного АЦП. Разрядность АЦП – 10 бит.

Интерфейс  I2C: выводы A4 (SDA) и A5 (SCL). Сигналы аппаратного интерфейса I2C.

AREF. Опорное напряжение для АЦП микроконтроллера. Определяет диапазон измерения напряжения на аналоговых входах.

RST. Сигнал сброса микроконтроллера. Низкий уровень приводит к перезагрузке системы.

Светодиоды.

На плате есть 4 светодиода, показывающие состояние сигналов.

Светодиоды контроллера

Обозначение на плате При каком уровне сигнала светится Назначение
TX низкий Сигнал TX активен
RX низкий Сигнал RX активен
PWR  5 В Питание есть
L высокий Светодиод общего назначения

Загрузка программы в плату из Arduino IDE происходит традиционным способом.

 

Принципиальная схема платы Arduino Nano.

Схемы плат разных производителей могут отличаться. Чаще всего различия касаются преобразователя интерфейсов USB-UART.

В китайских клонах обычно используются мосты USB-UART микросхемы CH340G. В фирменных платах преобразователь интерфейсов выполнен на микросхеме FT232RL.

Вот схема такого варианта  платы Arduino Nano.

Принципиальная схема Arduino Nano

Микроконтроллер включен по стандартной схеме. Систему питания я уже объяснил.

Преобразователь интерфейсов FT232RL также включен по стандартной схеме. Сигнал DTR соединен через конденсатор емкостью 0,1 мкФ с выводом Reset микроконтроллера для формирования сигнала сброса при загрузке программы из Arduino IDE.

 

В следующем уроке я расскажу еще об одной плате на микроконтроллерах ATmega168/328. Об одной из самых миниатюрных плат - Arduino Pro Mini.

 

Предыдущий урок     Список уроков     Следующий урок

0

Автор публикации

не в сети 4 дня

Эдуард

280
Комментарии: 1936Публикации: 197Регистрация: 13-12-2015

16 комментариев на «Урок 45. Другие платы Ардуино с микроконтроллерами ATmega168/328. Плата Arduino Nano.»

  1. Спасибо за информацию, из того , что удалось найти в интернете, ваши уроки самые понятные и грамотные.Пишите как можно больше!!!

    0
  2. Очень интересный и полезный цикл статей. Заинтересовался Arduinoй не давно, Ваши уроки очень помогли во многом. Спасибо!

    0
  3. Эдуард здравствуйте! Продолжаю с огромным интересом следить за Вашими уроками. Спасибо Вам огромное, за то, что делитесь опытом! Не могли бы Вы мне помочь с одним вопросом — по поводу совместимости плат Arduino UNO и NANO? Дело в том, что набросал несложный скетчик. Подключил LCD дисплей 20х4 и RTC модуль (оба модуля по I2C), и два датчика импульсов ко входам внешних прерываний (D2 и D3). Плюс одна кнопка для управления подсветкой дисплея (D4) На UNO скетч работает идеально. При компиляции на NANO ошибок не возникает, загрузка проходит без проблем, он даже запускается, но при нажатии на кнопку происходит какой-то коллапс — на дисплее появляется какая-то ахинея, ардуина зависает и через несколько секунд перезагружается. Действительно ли они абсолютно совместимы? Может там различия в загрузчиках? Не могу понять в чём дело. На обоих платах стоит ATmega328P, плата NANO от RoboDyn, v3.00. И почему эти платы в SDK имеют каждая свой профиль? Помогите пожалуйста разобраться в проблеме

    0
    • Здравствуйте!
      Платы Arduino UNO и Nano полностью совместимы. Одинаковые микроконтроллеры, одинаковые схемы подключения выводов.
      Возможно ваши проблемы связаны с тем, что разные загрузчики (bootloader) по разному обрабатывают срабатывание сторожевого таймера. Некоторые оставляют его включенным. Попробуйте его отключить, сбрасывать. Посмотрите информацию об этом в интернете.

      0
      • Эдуард, здравствуйте.
        По-поводу одинаковости Уно и Нано вопрос.
        Вы написали — динаковые микроконтроллеры.
        Откуда два лишних аналоговых входа?
        Можете прояснить?
        Хочу использовать в своей поделке ATmega328
        в корпусе с нормальными штырьковыми ногами.
        Которую можно вставлять-вынимать в панельке.
        У неё есть восемь аналоговых входов?

        0
        • Здравствуйте!
          Посмотрите страницу 2 в документации на ATMega 328. Не помню в каком уроке ссылка на нее. Легко найдете в интернете по запросу «aTMega 328 pdf». Существуют типы корпусов с 28 и 32 выводами. Выводы ADC7 и ADC8 есть только в корпусах с 32 выводами.

          0
  4. Здравствуйте Эдуард. Спасибо за уроки, регулярно пользуюсь. Есть вопрос. На NANO есть ещё два входа А6, А7. Но они у меня как дискретные входы не работают. Это нормально?

    0
    • Здравствуйте!
      В документации на ATmega328 указано, что выводы A6 и A7 это добавочные аналоговые входы для микроконтроллеров в корпусах TQFP и QFN/MLF. Эти выводы не имеют альтернативных функций. Т.е. все правильно, как дискретные входы или выводы A6 и A7 использовать нельзя.

      0
  5. Небольшая опечатка:
    «.. Аналоговые входы: A0…A8. 8 аналоговых входов для измерения напряжения с помощью ..»

    Наверное подразумевалось A0..A7

    0
  6. Эдуард, не подскажите, как загружается прошивка в контроллер готового устройства?
    Делается порт для программирования,
    или есть панельки, в которые можно вставлять-вынимать контроллер для программирования в отдельном программаторе?
    Я так понимаю, что использование панельки в устройстве снизит его надёжность.

    0
    • Здравствуйте!
      Если устройство подключено через UART к компьютеру, то можно использовать загрузчик Ардуино.
      Другой вариант — использовать ISP-программатор. С помощь него можно прошить программу Ардуино без загрузчика. Устройство будет быстрее включаться. Минимуму информации о таком способе программирования есть в этой статье http://mypractic.ru/govoryashhaya-butylka.html

      0
  7. Эдуард, здравствуйте.
    По-моему, в этой строчке у Вас ошибка:
    …..Интерфейс I2C: выводы 4 (SDA) и5 (SCL). Сигналы аппаратного интерфейса I2C…….
    _
    Нужно исправить на А4 и А5.
    Хочу использовать все ноги с ШИМ-ом, а у меня I2C занят дисплеем. Вывод 5 для ШИМ — это ведь цифровой (D5), он не занят последовательным интерфейсом?

    0

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Нажимая кнопку "Отправить" Вы даёте свое согласие на обработку введенной персональной информации в соответствии с Федеральным Законом №152-ФЗ от 27.07.2006 "О персональных данных".