Вход на сайт

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






Самодельный ардуино на атмега 328


Самодельный 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 →
.

carlosefr / atmega: Чистые микроконтроллеры ATmega 8/168/328 с Arduino IDE.

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

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