Вход на сайт

Зарегистрировавшись на сайте Вы сможете добавлять свои материалы






Самодельная ардуино на atmega328


Самодельный Arduino из контроллера ATMEGA328P-PU

Платформа Arduino стала нынче практически мейнстримом.
В этой статье напишу о том, как собрать минимальную платформу на контроллере Amega 328P-PU, чтобы ее можно было программировать на платформе Arduino IDE.

Контроллер Atmega 328 от компании ATMEL является сердцем платформ Arduino UNO , Arduino Nano, Arduino Pro Mini и ряда других. Данные платы вместе с многочисленными «шилдами» и модулями удобны для создания прототипов, но довольно громоздки и избыточны для готовых устройств.

Конечное устройство можно собрать на макетной или печатной плате. Для этого приобретаем контроллеры Atmega. Я покупал наплощадке aliexpress.com.

Цена на момент покупки была $20 за 10 контроллеров, 10 панелек и 10 кварцевых резонаторов на 16МГц. (Сейчас цена стала немного дороже)

Ссылка на товар на сайте aliexpress.com

 

Буковка «P» в названии микросхемы означает низкое энергопотребление, а PU-корпус DIP28, который удобно паять обычным паяльником.


Контроллеры пришли, как их теперь готовить?

Yеобходимо установить загрузчик в наши контроллеры. Для этого используем плату Arduino Uno и купленный заранее очень дешевый программатор USBasp. Чтобы не мудрить с проводками, лучше сразу взять еще и такой переходник на 6-ти пиновый разъем ICSP.

Качаем и ставим драйвер программатора.

Описываем параметры микроконтроллера в файле c:\Program Files (x86)\Arduino\hardware\arduino\boards.txt

Для себя я сделал две конфигурации — внутренний кварц 8МГц с загрузчиком optiboot и отключенной проверкой на напряжение питания (чтобы можно было запитать микросхему вольт так от трех)

atmega328_8_33.name=Atmega328 (3.3V, 8 MHz internal)

atmega328_8_33.upload.protocol=arduino
atmega328_8_33.upload.maximum_size=30720
#atmega328_8_33.upload.speed=19200
atmega328_8_33.upload.speed=57600

atmega328_8_33.bootloader.low_fuses=0xC2
atmega328_8_33.bootloader.low_fuses=0xE2
atmega328_8_33.bootloader.high_fuses=0xDE
atmega328_8_33.bootloader.extended_fuses=0x07
atmega328_8_33.bootloader.path=optiboot
atmega328_8_33.bootloader.file=optiboot_atmega328.hex
atmega328_8_33.bootloader.unlock_bits=0x3F
atmega328_8_33.bootloader.lock_bits=0x0F

atmega328_8_33.build.mcu=atmega328p
atmega328_8_33.build.f_cpu=8000000L
atmega328_8_33.build.core=arduino
atmega328_8_33.build.variant=standard

и точная такая же с внешним кварцевым резонатором на 16МГц.

atmega328_16.name=Atmega328_16 (3.3V, 16 MHz external)

atmega328_16.upload.protocol=arduino
atmega328_16.upload.maximum_size=32256
atmega328_16.upload.speed=115200
atmega328_16.bootloader.low_fuses=0xff
atmega328_16.bootloader.high_fuses=0xde
atmega328_16.bootloader.extended_fuses=0x07
atmega328_16.bootloader.path=optiboot
atmega328_16.bootloader.file=optiboot_atmega328.hex
atmega328_16.bootloader.unlock_bits=0x3F
atmega328_16.bootloader.lock_bits=0x0F
atmega328_16.build.mcu=atmega328p
atmega328_16.build.f_cpu=16000000L
atmega328_16.build.core=arduino
atmega328_16.build.variant=standard

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

Запускам стандартную ArduinoIDE, выбираем в меню «Сервис->Программатор->USBasp», плату Atmega328 (3.3V, 8 MHz internal) или Atmega328_16 (3.3V, 16 MHz external) и нажимаем «Записать загрузчик». После окончания процесса загрузки мы получаем контроллер,  в который можно уже в дальнейшем заливать программы через стандартный USB Ардуины.

В принципе, если вам не требуется низковольтное питание, можно не править фал board.txt, а пошить контроллер как Arduino Uno.

Дальнейшая работа с контроллером такая — либо шить его вставляя на плату Arduino Uno через стандартный USB порт этой платы. Прошив контроллер на работу с внутренним кварцем, можно сразу использовать его практически без всякой обвязки. Например, мигать светодиодом на 13-м порту, как на этой картинке.

Если же нужно постоянно использовать контроллер в своей плате, не переставляя его — то нужно собрать такую схему

и прошивать его через конвертер USB-RS232.

Контроллер с внешним кварцем работает быстрее и гораздо стабильнее.

Где это уже работает?
Контроллер управления вентилятором в ванной комнате

Контроллер управления светодиодной люстрой

А как же мозг не вскипел все это реализовывать?

Ну конечно же был помощник

Полезные ссылки к данной статье:

 

 

 

 

со своего сайта.

Как создать свою собственную плату Arduino с загрузкой чипа ATmega328

Arduino - это платформа разработки с открытым исходным кодом для инженеров и любителей, позволяющая легко разрабатывать проекты электроники. Он состоит из физической программируемой платы разработки (на основе серии микроконтроллеров AVR) и части программного обеспечения или IDE, которая работает на вашем компьютере и используется для записи и загрузки кода на плату микроконтроллера.

Arduino использует загрузчик. Загрузчик - это программа, которая позволяет записывать на нее новое программное обеспечение.Итак, в этом DIY я собираюсь обсудить « Как записать загрузчик на новом чипе ATmega328 и собрать самодельный Arduino на печатной плате» . В Arduino UNO мы используем микросхему ATmega328, поэтому я выбрал ее для демонстрации этого проекта.

Требуется компонентов:

  • Плата Arduino UNO с микросхемой и кабелем
  • Микросхема Atmega328
  • Макет
  • Соединительные провода
  • Кварцевый генератор 16 МГц
  • Резистор 10 кОм

шагов для создания собственной платы Arduino:

Чтобы записать загрузчик в новую свежую Atmega328 IC , нам понадобится плата Arduino (мы можем использовать любую плату Arduino для записи загрузчика).И затем нам нужно выполнить следующие шаги. Мы также продемонстрировали весь процесс в видео в конце руководства.

Шаг 1. На первом шаге расположите все необходимое, указанное в списке компонентов выше

Шаг 2: Теперь удалите «Arduino Original IC» с платы Arduino с помощью отвертки. И вставьте «New Atmega328 IC» в плату Arduino.

Шаг 3: Теперь откройте Arduino IDE, перейдите в File -> example -> ArduinoISP и откройте его.

После открытия ArduinoISP, выберите плату Arduino UNO из Инструменты -> Плата -> Arduino Uno.

Затем выберите COM PORT из Инструменты -> Последовательный порт -> COM10

и , затем загрузите ArduinoISP Sketch .

Шаг 4: Теперь удалите эту новую микросхему с платы Arduino, вставьте предварительно загруженную или оригинальную микросхему Arduino в плату Arduino и загрузите в нее тот же эскиз ArduinoISP, как мы это сделали на шаге 3.

Шаг 5: Создайте приведенную ниже схему на макетной плате с новой микросхемой на Бредбаорде и оригинальной микросхемой на исходной плате Arduino.

Шаг 6: Теперь в Arduino IDE перейдите в Tool и щелкните на Burn Bootloader .

Теперь вы увидите, что светодиоды Rx и Tx на плате Arduino в течение некоторого времени случайным образом мигают. Это означает, что загрузчик записан в новую микросхему ATmega 328.И Arduino IDE покажет « Done burn bootloader ». Теперь вы можете использовать эту «новую микросхему» на своей плате Arduino.

Шаг 7: Теперь Создайте свою собственную самодельную плату Arduino на нулевой печатной плате путем пайки компонентов, собранных на шаге 1, следуя схеме ниже. Также проверьте Видео ниже.

Вставьте «Новый IC» в эту плату, и все готово.

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

Для сопряжения с ЖК-дисплеем просто подключите самодельную плату Arduino к исходной плате Arduino, используя выводы Rx, Tx, RST и GND исходной платы Arduino, как показано на схеме ниже Fritzing или выше. И загрузите указанный ниже код (раздел «Код»).

Удалите «Arduino Original IC» с платы, когда вы загружаете код в новую Arduino IC на макетной плате или нулевой печатной плате.Вы можете подключить к своей плате Arduino с помощью 5-вольтового вывода оригинальной платы Arduino , как мы это сделали в приведенной выше схеме Fritzing.

,

MCUdude / MiniCore: аппаратный пакет Arduino для ATmega8, ATmega48, ATmega88, ATmega168, ATmega328 и ATmega328PB

перейти к содержанию Зарегистрироваться
  • Почему GitHub? Особенности →
    • Обзор кода
    • Управление проектами
    • Интеграции
    • Действия
    • Пакеты
    • Безопасность
    • Управление командой
    • Хостинг
    • мобильный
    • Истории клиентов →
    • Безопасность →
  • команда
  • предприятие
  • Проводить исследования
    • Изучить GitHub →
    Учитесь и вносите свой вклад
    • Темы
    • Коллекции
.

Установка Arduino на макетной плате

Создание Arduino на макетной плате

Обзор

Из этого туториала Вы узнаете, как собрать совместимую с Arduino макетную плату с микроконтроллером AVR Atmel Atmega8 / 168/328 и коммутационной платой FTDI FT232 от SparkFun. Вы также можете использовать Arduino USB Mini.

Первоначально создано Дэвидом А. Меллисом
Обновлено из версии ITP Карлин Мо
Обновлено 23 октября 2008 г. Рори Ньюджент

Детали

Для этого вам понадобятся:


Поставки
Основные детали для подключения Arduino
  • Макетная плата
  • 22 AWG провод
  • 7805 Регулятор напряжения
  • 2 светодиода
  • 22 Резисторы 220 Ом
  • 1 резистор 10 кОм
  • 2 конденсатора по 10 мкФ
  • тактовый кристалл 16 МГц
  • 2 конденсатора 22 пФ
  • малая кратковременная нормально разомкнутая («выключенная») кнопка, т.е.е. Omron тип B3F
USB к плате последовательной связи

Вам понадобится плата FT232 USB Breakout от SparkFun. Из них доступны два варианта:

  • FT232RL Плата подключения USB к последовательному порту, артикул BOB-0071
  • Плата последовательного порта USB Arduino, SKU DEV-08165

Если вы планируете использовать верхний вариант и еще не припаяли разъемы к коммутационной плате, сейчас самое подходящее время.

Загрузка ваших чипов Atmega

Существует несколько вариантов загрузки ваших чипов Atmega, некоторые из которых описаны в этом руководстве.Если вы хотите загрузить свои чипы Atmega с помощью макета, дополнительная часть значительно упростит вам жизнь, но в этом нет необходимости. Адаптер для программирования AVR от Sparkfun, SKU. BOB-08508

Схема добавления блока питания

Если вы уже работали с микроконтроллерами, вполне вероятно, что у вас уже есть предпочтительный способ подключения источника питания к вашей плате, поэтому продолжайте и сделайте это именно так. Если вам нужны напоминания, вот несколько иллюстраций, как это сделать.(В этой версии используется регулируемый источник питания 5 В)


Верхние линии электропередач

Добавьте провода питания и заземления там, где будет ваш регулятор напряжения.


Нижние линии электропередач

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


Добавьте конденсаторы 7805 и развязки

Добавьте регулятор мощности 7805 и линии для питания платы. Регулятор представляет собой корпус TO-220, в котором вход от внешнего источника питания идет на вход слева, заземление находится в середине, а выход 5 В находится справа (если смотреть на регулятор спереди).Добавьте провода питания и заземления, которые подключаются к правой и левой направляющим на макетной плате.

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


светодиод

Добавьте светодиод и резистор 220 Ом на левой стороне вашей платы напротив регулятора напряжения. Такой светодиод, подключенный к источнику питания, - отличный способ устранения неполадок.Вы всегда будете знать, когда на вашу плату подается питание, а также быстро узнаете, закорочена ли ваша плата.


Вход источника питания

Красный и черный провода слева от регулятора напряжения - это место, где будет подключаться ваш источник питания. Красный провод предназначен для ПИТАНИЯ, а черный провод - для ЗАЗЕМЛЕНИЯ. Убедитесь, что вы подключаете только источник питания с напряжением от 7 до 16 В. Немного ниже, и вы не получите 5В из регулятора. Если установить значение выше, регулятор может быть поврежден. Подходит аккумулятор 9 В, источник питания 9 В постоянного тока или источник питания 12 В постоянного тока.


Пустой холст

Теперь, когда основные операции по питанию выполнены, можно загружать чип!

Основные сведения о ATMEGA8 / 168/328


Схема контактов Arduino

Прежде чем двигаться дальше, посмотрите на это изображение. Это отличный ресурс для изучения того, что делает каждый из контактов вашего чипа Atmega по отношению к функциям Arduino. Это прояснит большую путаницу, связанную с тем, почему вы подключаете определенные контакты именно так, как вы это делаете. Для получения более подробной информации взгляните на таблицу данных Atmega 168 (короткая версия) (длинная версия).Вот лист для atmega328 (короткая версия) (длинная версия)


Добавить вспомогательную схему

Начните с подключения подтягивающего резистора 10 кОм к + 5 В на выводе RESET, чтобы предотвратить сброс микросхемы во время нормальной работы. Контакт RESET перезагружает микросхему при опускании на землю. В следующих шагах мы покажем вам, как добавить переключатель сброса, который использует это преимущество.

  • Контакт 7 - Vcc - Напряжение цифрового питания
  • Контакт 8 - GND
  • Контакт 22 - GND
  • Pin 21 - AREF - Аналоговый опорный штырь для АЦП
  • Контакт 20 - AVcc - Подача напряжения для преобразователя АЦП.Должен быть подключен к источнику питания, если АЦП не используется, и к питанию через фильтр нижних частот, если он равен (фильтр нижних частот - это схема, которая снижает шум от источника питания. В этом примере он не используется)
.

Смотрите также