Добавить в корзинуПозвонить
Найти в Дзене
Умные устройства

Прошивка микроконтроллера AtMega328p с помощью Arduino IDE и платы arduino UNO.

Для прошивки нам понадобится установленная программа Arduino IDE. При подключении нашей ардуино. можно столкнуться с тем, что плата не будет определяться в программе. Для того, чтобы плата определялась в Arduino IDE, необходимо произвести стандартную настройку поддержки плат. Для этого: 3) В строке "Дополнительные ссылки для менеджера плат" введите адрес: https://mcudude.github.io/MiniCore/package_MCUdude_MiniCore_index.json
и нажмите ОК (Рисунок 2). 4) Зайдите в менеджер плат:Инструменты→Плата→Менеджер плат (Рисунок 3). 4) Введите в поисковое окно строку MiniCore и найдите в списке названия плат с чипами Atmega и нажмите на кнопку Установить (у меня она уже установлена, поэтому я могу её только удалить). 5) Начнётся установка дополнений и когда установка будет завершена, в консоли отобразится сообщение об успешной установке. 6) Далее подключите вашу плату UNO и из выпадающего меню, перейдите в меню выбора плат и портов (Рисунок 4). 7) В открывшемся окне, в поиске введите название ва

Для прошивки нам понадобится установленная программа Arduino IDE.

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

  1. Откройте среду программирования Arduino IDE;
  2. Зайдите в настройки Arduino IDE:Файл→Параметры (Рисунок 1);
Рисунок 1. Параметры
Рисунок 1. Параметры

3) В строке "Дополнительные ссылки для менеджера плат" введите адрес: https://mcudude.github.io/MiniCore/package_MCUdude_MiniCore_index.json
и нажмите ОК (Рисунок 2).

Рисунок 2. Менеджер плат
Рисунок 2. Менеджер плат

4) Зайдите в менеджер плат:Инструменты→Плата→Менеджер плат (Рисунок 3).

Рисунок 3. Установка поддуржки плат на чипах ATmega
Рисунок 3. Установка поддуржки плат на чипах ATmega

4) Введите в поисковое окно строку MiniCore и найдите в списке названия плат с чипами Atmega и нажмите на кнопку Установить (у меня она уже установлена, поэтому я могу её только удалить).

5) Начнётся установка дополнений и когда установка будет завершена, в консоли отобразится сообщение об успешной установке.

6) Далее подключите вашу плату UNO и из выпадающего меню, перейдите в меню выбора плат и портов (Рисунок 4).

Рисунок 4. Меню плат и портов.
Рисунок 4. Меню плат и портов.

7) В открывшемся окне, в поиске введите название вашей платы, далее выберите вашу плату и порт из списка (Рисунок 5):

Рисунок 5. Меню выбора платы и порта.
Рисунок 5. Меню выбора платы и порта.

8) Теперь для того, чтобы прошить микроконтроллер Atmega328 (или другой чип семейства Atmega), необходимо из платы Arduino Uno, сделать программатор. Для этого зайти в Файл-Примеры-ArduinoISP (Рисунок 6):

Рисунок 6. Arduino ISP/
Рисунок 6. Arduino ISP/

9) Теперь необходимо загрузить скетч в память Arduino UNO и после загрузки, наш Arduino UNO можно будет использоваться как программатор (Рисунок 7):

Рисунок 7. Загрузка скетча в микроконтроллер.
Рисунок 7. Загрузка скетча в микроконтроллер.

10) Далее необходимо подключить микроконтроллер Atmega328 к нашей Arduino UNO по схеме (Рисунок 8, Рисунок 9):

Рисунок 8. Схема подключения.
Рисунок 8. Схема подключения.
Рисунок 9. Схема подключения.
Рисунок 9. Схема подключения.

11) В схеме обязательно необходимо добавить подтягивающий резистор между 29 контактом reset и +5V микроконтроллера ATmega328. А так-же на плате Arduino UNO подключить конденсатор на 20uF для предотвращения автоматической перезагрузки платы-программатора.

12) Далее в программе ArduinoIDE выбрать меню инструменты-Записать загрузчик (Рисунок 10):

Рисунок 10. запись загрузчика.
Рисунок 10. запись загрузчика.

13) На плате ArduinoUNO начнут мигать светодиоды Rx и Tx информируя о прошивке микроконтроллера.

14) Далее загрузить скетч в микроконтроллер выбрав в меню Скетч-загрузить на плату при помощи программатора (Рисунок11):

Рисунок 11. Загрузка скетча через программатор.
Рисунок 11. Загрузка скетча через программатор.

Если в процессе загрузки появится ошибка загрузки

"avrdude: Wow! Incorrect device signature." or

"avrdude: expected signature for ATMEGA328P — 1E 95 0F"

То необходимо отредактировать файл avrdude для этого зайти в папку C:\Users\ИМЯ_ПОЛЬЗОВАТЕЛЯ\AppData\Local\Arduino15\packages\arduino\tools\avrdude\6.3.0-arduino17\etc и любым текстовым редактором открыть файл avrdude.conf. В этом файле найти строки:

part parent "m328"

id = "m328p";

desc = "ATmega328P";

signature = 0x1e 0x95 0x0F;

ocdrev = 1;

;

И исправить строку signature = 0x1e 0x95 0x0F

на signature = 0x1e 0x95 0x14;

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