- Необходимые компоненты
- Схема контактов Atmega328
- Описание компонентов
- Часть 1: Построение схемы Arduino на макетной плате
- Часть 2: Запись загрузчика в микросхему Atmega328
- Часть 3: Как программировать загрузчик Arduino, загруженный на Atmega 328
- Программирование чипа Atmega328 с использованием платы Arduino
- Программирование чипа Arduino Atmega328 с использованием преобразователя USB в последовательный порт
Все мы знаем, что в плате Arduino UNO используется микросхема Atmega328. Эта микросхема - мозг платы Arduino. На самом деле дизайнеры Arduino хотели сделать удобную макетную плату для начинающих, поэтому они организовали все компоненты таким образом, чтобы любой мог получить доступ ко всем контактам Atmega328 IC и мог программировать ее, просто подключив ее к компьютеру. Плата Arduino очень популярна для создания хобби-проектов. Но в промышленных или потребительских товарах не рекомендуется использовать полную плату Arduino, поэтому мы можем использовать автономную микросхему Atmega328, которая может быть запрограммирована с помощью Arduino IDE, но без использования платы Arduino.
В этом руководстве мы увидим, как заменить плату Arduino на микросхему Atmega328 и несколько других компонентов. Для использования Atmega328 IC вместо arduino сначала нам нужно записать в нее загрузчик Arduino, а затем мы запрограммируем его с помощью FTDI или платы Arduino. Это руководство также поможет заменить поврежденную микросхему Atmega328 на плате Arduino. Также, используя схему, описанную ниже, вы можете создать свою собственную плату Arduino, скопировав ее на печатную плату.
Необходимые компоненты
- Atmega 328 IC
- Макетная плата
- LM7805
- Кристалл 16 МГц
- Конденсаторы керамические 22пФ (2)
- Конденсатор 10 мкФ (2)
- Резистор 10 кОм
- Резистор 1к
- Перемычки
При желании вы также можете использовать регулятор напряжения 3,3 В LM1117-3,3 В, чтобы включить шину 3,3 В в свою схему.
Схема контактов Atmega328
Описание компонентов
Блок питания
- Стабилизатор напряжения 5В: Atmega 328 IC работает от источника питания 5В. Итак, здесь мы используем LM7805 для получения выхода 5 В, он может обрабатывать до 30 В. в качестве входа. Если у вас есть отдельный источник питания 5 В, вы можете оставить этот шаг.
- Конденсаторы: конденсатор 10 мкФ используется на входах и выходах 7805 для обхода любых компонентов переменного тока на землю.
- Светодиод: это покажет вам, что идет ваш выход 5 В.
Часть микроконтроллера
- Atmega 328: это наш основной компонент на макетной плате. Его выводная схема приведена выше.
- Кварцевый генератор: внешний кристалл с частотой 16 МГц подключен между контактами 9 и 10 микроконтроллера ATmega328. Этот кристалл используется для передачи микроконтроллеру часов для более быстрого выполнения задач.
- Кнопка: Для сброса микроконтроллера кнопка подключается между контактом 1 и GND. Обычно он подключается к 5 В через резистор 10 кОм.
- Светодиод: светодиод подключен к цифровому выводу 13.
Это полное руководство разделено на три части, чтобы создать собственный Arduino, работающий на макетной плате:
- Создание схемы Arduino на макетной плате
- Запись загрузчика в микросхему Atmega328
- Как программировать загрузчик Arduino загрузил микросхему Atmega 328 на макетную плату.
Теперь мы объясним каждую часть одну за другой.
Часть 1: Построение схемы Arduino на макетной плате
Шаг 1: - Подключение питания Часть, как показано на принципиальной схеме и проверить его с помощью внешнего источника питания для LM7805. Это будет выглядеть так.
Шаг 2: - Теперь подключите часть микроконтроллера, как показано на принципиальной схеме. Тщательно выполняйте соединения.
Шаг 3: - Теперь соедините блок питания и часть микроконтроллера с помощью перемычек. Ваша последняя схема будет выглядеть примерно так.
Итак, это наш Arduino на макете. Вы можете реализовать ту же схему на печатной плате, используя простые инструменты, такие как EasyEDA и т. Д. Теперь нам нужно загрузить загрузчик в новую микросхему Atmega 328, чтобы мы могли начать программировать микросхему.
Часть 2: Запись загрузчика в микросхему Atmega328
Что такое загрузчик и зачем он нам ??
Загрузчик - это небольшой фрагмент исполняемого кода, который постоянно хранится в памяти микроконтроллера. Это занимает менее 1 КБ памяти. Загрузчик позволяет ИС принимать код от компьютера и помещать его в память микроконтроллера.
Традиционно все микроконтроллеры Atmel программируются с помощью программистов, у которых есть какие-то причудливые соединения. Загрузчики упрощают и позволяют нам легко и эффективно программировать микроконтроллер. Это означает, что вы можете запрограммировать его, просто используя USB-кабель.
Когда вы покупаете новую Atmega 328 с рынка, в ней нет загрузчика. Итак, чтобы запрограммировать Atmega328 с использованием Arduino IDE, вам необходимо сначала загрузить загрузчик.
Чтобы загрузить загрузчик, у нас есть два метода:
- Использование программатора USBasp
- Использование платы Arduino UNO
Второй способ проще первого. Поскольку для этого требуется меньше подключений, а также последняя версия Arduino IDE не поддерживает модных программистов USBasp.
Итак, в этом руководстве мы загрузим загрузчик с помощью платы Arduino Uno.
Загрузите загрузчик Arduino в чип Atmega328
Шаг 1: - Откройте Arduino IDE. Перейдите в Файл -> Примеры -> ArduinoISP . Затем выберите ArduinoISP. Как показано ниже.
Шаг 2: - Теперь вам нужно загрузить этот код на плату Arduino. Выберите com-порт и плату в меню инструментов и нажмите кнопку загрузки.
Шаг 3: - После завершения загрузки отсоедините плату Arduino от компьютера и подключите плату Arduino к Atmega 328, как показано на схеме ниже.
Шаг 4: - Теперь подключите плату Arduino к компьютеру. Откройте Arduino IDE.
Перейдите в Инструменты, выберите плату как Arduino / Genuine Uno, выберите правильный порт для вашей платы. Выберите Programmer как «Arduino as ISP». Не путайте его с ArduinoISP. Оба разные.
Шаг 5: - Теперь снова перейдите в Инструменты и нажмите Записать загрузчик чуть ниже параметра Программист. Через несколько секунд загрузчик успешно загружен. Если при загрузке произошла ошибка, проверьте соединения.
Просмотрите видео ниже, чтобы понять шаги, описанные выше, для загрузки загрузчика в Atmega 328 IC.
Ваш макет Arduino готов работать как настоящая плата Arduino. Теперь возникает вопрос, как программировать Atmega 328 IC ? Об этом мы поговорим в следующем разделе.
Часть 3: Как программировать загрузчик Arduino, загруженный на Atmega 328
Автономный чип Arduino Atmega328 можно программировать разными способами.
- Использование пустой платы Arduino, то есть платы Arduino без микросхемы Atmega 328.
- Использование модуля преобразователя USB в последовательный TTL (модуль FTDI).
- Использование программатора USBasp (требует множества подключений).
Здесь мы запрограммируем его двумя способами: преобразователь USB в последовательный порт и плата Arduino.
Программирование чипа Atmega328 с использованием платы Arduino
Шаг 1: - Возьмите плату Arduino без чипа Atmega328. Подключите плату Arduino к нашей макетной плате Arduino, как показано на этой схеме.
Шаг 2: - Подключите плату Arduino к компьютеру и откройте Arduino IDE. Выберите Arduino Uno из меню Board в Tools , Programmer как USBasp и исправьте com-порт платы.
Шаг 3: - Начнем с загрузки программы Blink. Поэтому выберите программу мигания из примеров и нажмите кнопку «Загрузить».
Теперь вы можете видеть, что светодиод на макете начинает мигать.
Программирование чипа Arduino Atmega328 с использованием преобразователя USB в последовательный порт
Шаг 1: - Если у вас нет платы Arduino. Это лучший способ запрограммировать вашу макетную плату Arduino .
Сделайте соединения как:
Вывод RXD FTDI -> Вывод Tx Atmega328 (вывод 3)
Вывод TXD FTDI -> Вывод Rx Atmega328 (вывод 2)
GND -> GND (контакт 8)
5v -> Vcc (вывод 7)
Некоторые модули FTDI имеют вывод сброса, также известный как вывод DTR, который необходимо соединить с выводом сброса Atmega328 (вывод 1). Если в модуле нет вывода сброса, не волнуйтесь, я дам решение, когда мы запрограммируем чип.
Шаг 2: - Теперь подключите FTDI к компьютеру и откройте Диспетчер устройств в панели управления. Вы увидите раздел Порт, Разверните его. Если перед драйвером стоит желтая отметка, вам необходимо обновить драйвер модуля.
Если отметки нет, запишите номер com-порта и откройте Arduino IDE. Перейдите в Инструменты -> Порты -> Выберите com, который вы отметили.
Шаг 3: - Теперь мы загрузим программу мигания на нашу макетную плату Arduino . Перейдите в Файл -> Примеры -> Основы -> Blink . Выберите Arduino Uno из меню Board в инструментах, Programmer как USBasp и исправьте com-порт платы.
Затем нажмите кнопку загрузки.
Примечание. Если ваш модуль FTDI не имеет вывода DTR, нажмите кнопку сброса на макете и нажмите кнопку загрузки. Удерживайте ее нажатой, если отображается сообщение «Компиляция эскиза…» Отпустите кнопку, как только появится сообщение « Загрузка…»
Теперь программа будет успешно загружена в чип Arduino Bootloader Atmega328.
Ниже представлено видео для программирования микросхемы Atmega 328 без использования платы Arduino:
Мы закончили с нашей схемой DIY Breadboard Arduino. Вы можете спроектировать эту схему на печатной плате, чтобы сделать ее более компактной.