Меню сайта
Новости
Автоприцеп для легкового автомобиля
По возможности буксируемому водителю следует придерживаться полосы движения, ближе всего расположенной к центру. Буксировка легкового автомобиля на жесткой сцепке производится с помощью металлического

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

Замена глушителя в Кунцево
Если ваш автомобиль стал звучать как-то по другому, если прохожие начали оборачиваться на шум проезжающего авто, значит, скорее всего, в ближайшее время вам стоит запланировать ремонтное мероприятие под

Сколько стоит заменить гофру
Вы ехали за рулем своего автомобиля, и здесь — резкий звук, который исходит  из-под капота или где-то с передней части машины, в салоне ощущается резкий запах газа. Все это может свидетельствовать

Пайка радиатора автомобиля
Авто радиатор – важная деталь безаварийного жизнеобеспечения автомобиля. Исправный авто радиатор гарантирует работоспособность двигателя и других рабочих узлов авто, не допуская их перегрева. Но, как

Лингвистическая экспертиза
Юридическая лингвистика – отрасль прикладной лингвистики, предметом изучения которой является область пресечения языка и права, юридическая лингвистика как отрасль организуется тремя видами отношения

Видеорегистратор зеркало
Ну, и конечно, переворачивается большегруз с коровами. Привычные ко всему российские домашние животные невозмутимо поднимаются с асфальта, и как ни в чем ни бывало даже пытаются пастись. «Большинство

Копию Airpods
Сегодня мы поговорим о том, как правильно происходит расчет ленточного конвейера: какую информацию потребуется собрать для измерения или подсчета. Итак, в первую очередь для правильного расчета ленточного

Экскурсии по Израилю на русском языке экскурсии мини группах
экскурсии по Израилю на русском языке экскурсии мини группах по Израилю

Камеры заднего вида
Суть силового тренинга следующая: он предполагает оказание физической нагрузки на конкретные группы мышц с задействованием дополнительного отягощения подходящего веса. Развитие мускулатуры происходит

Реклама
Топ новостей
Реклама
 
 

Понимание Arduino UNO Hardware Design

  1. Обзор компонентов
  2. Код пакета SMD для дискретных компонентов, таких как резисторы, конденсаторы и катушки индуктивности. Изображение предоставлено Wikimedia ,
  3. Arduino UNO Обзор системы
  4. Распространяемая версия оригинальной схемы Arduino. Нажмите, чтобы увеличить.
  5. Микроконтроллер
  6. Пакеты:
  7. Два разных пакета ATmega328. Изображения предоставлены SparkFun а также Wikimedia ,
  8. Мощность:
  9. Цифровой ввод / вывод:
  10. Распиновка ATmega168 с метками Arduino; ATmega168 и ATmega328 совместимы по выводам. Изображение предоставлено Arduino ,
  11. Распиновка Arduino UNO R3. Изображение предоставлено GitHub ,
  12. Блок-схема ATmega328.
  13. Настройки внутреннего регистра для выбора источника Vref.
  14. Периферийное устройство UART:
  15. Периферийные устройства SPI:
  16. Другая функциональность:
  17. Arduino UNO R3 MCU часть.
  18. Мост USB-UART
  19. Arduino USB мостовая часть. Нажмите, чтобы увеличить.
  20. Сила
  21. Механизм переключения источника питания. Нажмите, чтобы увеличить.
  22. VIN-контакт от разъема питания. Нажмите, чтобы увеличить.

Эта статья объясняет, как Arduino работает с точки зрения электронного дизайна.

Большинство статей объясняют программное обеспечение Arduinos. Однако, понимание аппаратного дизайна поможет вам сделать следующий шаг в путешествии Arduino. Хорошее понимание электронного дизайна вашего оборудования Arduino поможет вам узнать, как встроить Arduino в дизайн конечного продукта, включая то, что сохранить и что исключить из вашего первоначального дизайна.

Обзор компонентов

В конструкции платы Arduino UNO используются компоненты SMD (устройства поверхностного монтажа). Я вошел в мир поверхностного монтажа много лет назад, когда углубился в дизайн PCB Arduino, когда был частью команды, занимающейся редизайном Сделай сам клон для Arduino UNO.

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

Размеры многих SMD-резисторов, конденсаторов и светодиодов указаны кодами упаковки, такими как следующие:

Размеры многих SMD-резисторов, конденсаторов и светодиодов указаны кодами упаковки, такими как следующие:

Код пакета SMD для дискретных компонентов, таких как резисторы, конденсаторы и катушки индуктивности. Изображение предоставлено Wikimedia ,

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

В таблице ниже вы можете увидеть список некоторых компонентов в Arduino UNO с соответствующим пакетом:

Arduino UNO Обзор системы

Прежде чем мы сможем понять аппаратные средства UNO, у нас должен быть общий обзор системы сначала.

После того, как ваш код скомпилирован с использованием Arduino IDE, он должен быть загружен в основной микроконтроллер Arduino UNO через USB-соединение. Поскольку основной микроконтроллер не имеет приемопередатчика USB, вам необходим мост для преобразования сигналов между последовательным интерфейсом (интерфейсом UART) микроконтроллера и сигналами USB-хоста.

Мостом в последней версии является ATmega16U2, который имеет приемопередатчик USB, а также последовательный интерфейс (интерфейс UART).

Для питания платы Arduino вы можете использовать USB в качестве источника питания. Другой вариант - использовать разъем постоянного тока. Вы можете спросить: «Если я подключу адаптер постоянного тока и USB, который будет источником питания?» Ответ будет обсуждаться в разделе «Питание» этой статьи.

Чтобы сбросить вашу доску, вы должны использовать кнопку на доске. Другим источником сброса должен быть каждый раз, когда вы открываете последовательный монитор из Arduino IDE.

Я перераспределил оригинальную схему Arduino UNO, чтобы быть более читабельным ниже. Я советую вам загрузить его и открыть печатную плату и схему с помощью Eagle CAD, пока вы читаете эту статью.

Я советую вам загрузить его и открыть печатную плату и схему с помощью Eagle CAD, пока вы читаете эту статью

Распространяемая версия оригинальной схемы Arduino. Нажмите, чтобы увеличить.

Файлы схемы


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

Важно понимать, что плата Arduino включает в себя микроконтроллер, и именно этот микроконтроллер выполняет инструкции вашей программы. Если вы знаете это, вы больше не будете использовать общую бессмысленную фразу «Arduino - это микроконтроллер».

Микроконтроллер ATmega328 - это микроконтроллер, используемый в Arduino UNO R3 в качестве основного контроллера. ATmega328 является MCU из семейства AVR; это 8-битное устройство, что означает, что его архитектура шины данных и внутренние регистры предназначены для обработки 8 параллельных сигналов данных.

ATmega328 имеет три типа памяти:

  • Флэш-память: 32 КБ энергонезависимой памяти. Это используется для хранения приложения, что объясняет, почему вам не нужно загружать приложение каждый раз, когда вы отключаете Arduino от источника питания.

  • Память SRAM: энергозависимая память 2 КБ. Это используется для хранения переменных, используемых приложением во время его работы.

  • Память EEPROM: энергонезависимая память 1 КБ. Это может использоваться для хранения данных, которые должны быть доступны даже после выключения платы, а затем снова.

Давайте кратко рассмотрим некоторые характеристики этого MCU:

Пакеты:

Этот MCU представляет собой пакет DIP-28, что означает, что он имеет 28 контактов в пакете с двумя встроенными разъемами. Эти контакты включают в себя контакты питания и ввода / вывода. Большинство выводов являются многофункциональными, что означает, что один и тот же вывод может использоваться в разных режимах в зависимости от того, как вы настроили его в программном обеспечении. Это уменьшает необходимое количество выводов, поскольку микроконтроллер не требует отдельного вывода для каждой функции. Это также может сделать ваш дизайн более гибким, потому что одно соединение ввода / вывода может обеспечить несколько типов функциональности.

Доступны другие пакеты ATmega328, такие как TQFP-32 SMD (Surface Mount Device).

Доступны другие пакеты ATmega328, такие как TQFP-32 SMD (Surface Mount Device)

Два разных пакета ATmega328. Изображения предоставлены SparkFun а также Wikimedia ,

Мощность:

MCU принимает напряжение питания от 1,8 до 5,5 В. Однако существуют ограничения по рабочей частоте; например, если вы хотите использовать максимальную тактовую частоту (20 МГц), вам необходимо напряжение питания не менее 4,5 В.

Цифровой ввод / вывод:

Этот MCU имеет три порта: PORTC, PORTB и PORTD. Все контакты этих портов могут использоваться для цифрового ввода-вывода общего назначения или для альтернативных функций, указанных в схеме контактов ниже. Например, контакты с 0 по 5 могут быть входами АЦП вместо цифровых входов / выходов.

Есть также несколько выводов, которые можно настроить как выход ШИМ. Эти контакты отмечены знаком «~» на плате Arduino.

Примечание : ATmega168 практически идентичен ATmega328, и они совместимы по выводам. Разница в том, что ATmega328 имеет больше памяти - 32 КБ флэш-памяти, 1 КБ EEPROM и 2 КБ ОЗУ по сравнению с 16-КБ флэш-памятью ATmega168, 512 байт EEPROM и 1 КБ ОЗУ.

Разница в том, что ATmega328 имеет больше памяти - 32 КБ флэш-памяти, 1 КБ EEPROM и 2 КБ ОЗУ по сравнению с 16-КБ флэш-памятью ATmega168, 512 байт EEPROM и 1 КБ ОЗУ

Распиновка ATmega168 с метками Arduino; ATmega168 и ATmega328 совместимы по выводам. Изображение предоставлено Arduino ,

Изображение предоставлено   Arduino   ,

Распиновка Arduino UNO R3. Изображение предоставлено GitHub ,

Входы АЦП:

Этот MCU имеет шесть каналов - от PORTC0 до PORTC5 - с аналого-цифровым преобразователем с 10-битным разрешением. Эти контакты подключены к аналоговому разъему на плате Arduino.

Одна распространенная ошибка - считать аналоговый вход отдельным входом только для аналого-цифровой функции, поскольку заголовок на плате гласит «Аналоговый». Реальность такова, что вы можете использовать их в качестве цифрового ввода / вывода или A / D.

Реальность такова, что вы можете использовать их в качестве цифрового ввода / вывода или A / D

Блок-схема ATmega328.

Как показано на диаграмме выше (через красные линии), выводы, связанные с аналого-цифровым модулем:

  • AVCC: контакт питания для блока A / D.
  • AREF: Входной контакт используется при необходимости, если вы хотите использовать внешний источник опорного напряжения для АЦП, а не внутренней Vref. Вы можете настроить это, используя внутренний реестр.

Вы можете настроить это, используя внутренний реестр

Настройки внутреннего регистра для выбора источника Vref.

Периферийное устройство UART:

UART (универсальный асинхронный приемник / передатчик) - это последовательный интерфейс. ATmega328 имеет только один модуль UART.

Контакты (RX, TX) UART подключены к схеме преобразователя USB-UART, а также подключены к контактам 0 и 1 в цифровом заголовке. Вы должны избегать использования UART, если вы уже используете его для отправки / получения данных через USB.

Периферийные устройства SPI:

SPI (последовательный периферийный интерфейс) - это еще один последовательный интерфейс. ATmega328 имеет только один модуль SPI.

Помимо использования его в качестве последовательного интерфейса, он также может быть использован для программирования MCU с использованием автономного программатора. Выводы SPI можно получить из заголовка рядом с MCU на плате Arduino UNO или из цифрового заголовка, как показано ниже:
11 <-> MOSI
12 <-> MISO
13 <-> SCK

TWI:

Интерфейс I2C или двухпроводной представляет собой интерфейс, состоящий только из двух проводов, последовательных данных и последовательных часов: SDA, SCL.

Вы можете получить доступ к этим контактам из последних двух контактов в цифровом заголовке или к контактам 4 и 5 в аналоговом заголовке.

Другая функциональность:

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

Вы можете обратиться к таблице для получения дополнительной информации

Arduino UNO R3 MCU часть.

Возвращаясь к электронному дизайну, раздел микроконтроллера имеет следующее:

  • ATmega328-PU: MCU, о котором мы только что говорили.
  • Заголовки IOL и IOH (цифровые). Эти заголовки являются цифровыми заголовками для выводов от 0 до 13 в дополнение к GND, AREF, SDA и SCL. Обратите внимание, что RX и TX от моста USB связаны с контактами 0 и 1.
  • Заголовок AD: аналоговый заголовок контактов.
  • Керамический резонатор 16 МГц (CSTCE16M0V53-R0): соединен с XTAL2 и XTAL1 от MCU.
  • Reset Pin: Это усилено резистором 10K, чтобы предотвратить случайные сбросы в шумной среде; на выводе имеется внутренний подтягивающий резистор, но в соответствии с примечанием к применению AVR Hardware Design AVR042 ), «Если окружающая среда шумная, ее может быть недостаточно, и сброс может происходить спорадически». Сброс происходит, если пользователь нажимает кнопку сброса или сбрасывается с USB-моста. Вы также можете увидеть диод D2. Роль этого диода описана в той же заметке приложения: «Если не используется программирование высокого напряжения, рекомендуется добавить защитный диод от электростатического разряда из RESET в Vcc, поскольку это не предусмотрено внутри из-за программирования высокого напряжения».
  • Конденсаторы C4 и C6 100 нФ: они добавляются для фильтрации подаваемого шума. Полное сопротивление конденсатора уменьшается с частотой:
    $$ Xc $$ = $$ \ frac {1} {2 \ pi f C} $$
    Конденсаторы передают высокочастотные шумовые сигналы с низким сопротивлением на землю. 100 нФ является наиболее распространенным значением. Подробнее о конденсаторах читайте в Учебник AAC ,
  • PIN13: он подключен к выводу SCK от MCU, а также подключен к светодиоду. Плата Arduino использует буфер (LMV358) для управления светодиодом.
  • Заголовок ICSP (In-Circuit Serial Programming): используется для программирования ATmega328 с использованием внешнего программатора. Он подключен к интерфейсу In-System Programming (ISP) (который использует контакты SPI). Обычно вам не нужно использовать этот способ программирования, потому что загрузчик управляет программированием MCU из интерфейса UART, который подключен с помощью моста к USB. Этот заголовок используется, когда вам необходимо перепрограммировать MCU, например, с помощью загрузчика, впервые в производстве.

Мост USB-UART

Arduino USB мостовая часть. Нажмите, чтобы увеличить.

Как мы уже обсуждали в разделе «Обзор системы Arduino UNO», роль части моста USB-UART заключается в преобразовании сигналов интерфейса USB в интерфейс UART, который понимает ATmega328, с использованием ATmega16U2 с внутренним приемопередатчиком USB , Это делается с помощью специальной прошивки, загруженной на ATmega16U2.

С точки зрения электронного дизайна этот раздел похож на раздел микроконтроллера. Этот MCU имеет заголовок ICSP, внешний кристалл с нагрузочными конденсаторами (CL) и конденсатор фильтра Vcc.

Обратите внимание, что в линиях D + и D- USB есть последовательные резисторы. Они обеспечивают надлежащий импеданс завершения для сигналов USB. Вот некоторые дальнейшие чтения об этих резисторах:

  1. Почему резисторы серии данных USB
  2. FAQ для разработчиков USB

Z1 и Z2 являются резисторами, зависящими от напряжения (VDR), также называемыми варисторами. Они используются для защиты линий USB от переходных электростатических разрядов.

Конденсатор емкостью 100 нФ, соединенный последовательно с линией сброса, позволяет Atmega16U2 отправлять импульс сброса на Atmega328. Вы можете прочитать больше об этом конденсаторе Вот ,

Сила

Для источника питания у вас есть возможность использовать USB или гнездо постоянного тока. Теперь пришло время ответить на следующий вопрос: «Если я подключу адаптер постоянного тока и USB, какой источник питания будет?»

Регулятор 5 В - это NCP1117ST50T3G, а Vin этого регулятора подключен через вход постоянного тока через диод M7, версию SMD знаменитого Диод 1N4007 (PDF). Этот диод обеспечивает защиту от обратной полярности.

Выход регулятора 5 В подключен к остальной сети 5 В в цепи, а также ко входу регулятора 3,3 В LP2985-33DBVR. Вы можете получить доступ к 5 В непосредственно с 5-контактного разъема питания.

Другой источник 5 В - это USBVCC, который подключен к стоку FDN340P, P-канальному MOSFET, а источник подключен к сети 5 В. Затвор транзистора подключен к выходу операционного усилителя LMV358, используемого в качестве компаратора. Сравнение между 3V3 и Vin / 2. Когда Vin / 2 больше, это приведет к высокой выходной мощности компаратора, а P-канальный MOSFET выключен. Если Vin не подается, V + компаратора понижается до GND, а Vout низкий, так что транзистор включен, а USBVCC подключен к 5V.

Если Vin не подается, V + компаратора понижается до GND, а Vout низкий, так что транзистор включен, а USBVCC подключен к 5V

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

LP2985-33DBVR является регулятором 3V3. Оба регулятора 3V3 и 5V являются LDO (Low Dropout), что означает, что они могут регулировать напряжение, даже если входное напряжение близко к выходному напряжению. Это улучшение по сравнению со старыми линейными регуляторами, такими как 7805 ,

Последнее, о чем я расскажу, это защита питания, которая предоставляется в Arduino UNO.

Как упомянуто выше, VIN от гнезда постоянного тока защищено от обратной полярности с помощью последовательного диода M7 на входе. Имейте в виду, что контакт VIN в разъеме питания не защищен. Это потому, что он подключен после диода М7. Лично я не знаю, почему они решили сделать это, когда могли подключить его перед диодом, чтобы обеспечить такую ​​же защиту.

Лично я не знаю, почему они решили сделать это, когда могли подключить его перед диодом, чтобы обеспечить такую ​​же защиту

VIN-контакт от разъема питания. Нажмите, чтобы увеличить.

Когда вы используете USB в качестве источника питания и для защиты вашего порта USB, есть предохранитель PTC (положительный температурный коэффициент) ( MF-MSMF050-2 ) последовательно с USBVCC. Это обеспечивает защиту от перегрузки по току, 500 мА. При достижении предела перегрузки по току сопротивление PTC значительно возрастает. Сопротивление уменьшается после снятия перегрузки по току.

Чтение Прочные цепи Пост о защите в Arduino очень полезен.

Теперь вы должны быть более знакомы с электронным дизайном Arduino UNO и лучше понимать его аппаратное обеспечение. Надеюсь, это поможет вашим дизайн-проектам в будущем!