Как записать загрузчик и загрузить скетчи на ATmega328P U (конкретно этой модели)?

Недавно я начал изучать встраиваемую электронику и C/C++ и пару дней пытался и до сих пор пытаюсь записать новый ATMega328P U, купленный на Aliexpress. Из того, что я знаю, новые ATMega328P поставляются с включенным загрузчиком, но после того, как я все подключил и подключил FTDI FT232RL для загрузки скетча (проводка полностью верна после многих часов проверки в Интернете дюжины картинок), я получаю ошибки типа "программист не отвечает" в случае загрузки скетча и "ошибки при записи загрузчика" или "Да, подпись, бла-бла". Я не думаю, что FTDI является проблемой, так как Arduino IDE распознает его как COM7 на моем ПК. Теперь вот мой вопрос: мой atmega328p неисправен или я что-то пропустил в процессе (попытки) записать (записать) загрузчик и загрузить (загрузить) блинк-скетч? (Я также пытался загрузить программатор платы от Ника Гэммона на мою Arduino Uno и записать загрузчик И следовал инструкциям с arduino.cc «от arduino к микроконтроллеру на макетной плате»). Если вам нужны какие-то картинки, я их предоставлю

, 👍4

Обсуждение

ATMega328 не поставляется с предварительно запрограммированным загрузчиком (Arduino), если только вы специально не заказываете такие (если продавец сделал это за вас). Вы не можете записать загрузчик с помощью FTDI. Вы действительно можете использовать отдельную плату Arduino в качестве программатора ISP, чтобы записать загрузчик., @Gerben

Я знаю, что не могу записать с помощью FTDI, поэтому я попытался использовать свой Arduino UNO, чтобы загрузить на него ArduinoISP и записать загрузчик на ATmega вот так... Но безуспешно. И я не могу найти ни учебника, ни решения, которое могло бы решить мою проблему., @Vlad George

Поскольку вы не предоставляете никаких подробностей, мы не можем сделать ничего лучше, чем сослаться на эти два метода. Вы получили сообщение об ошибке при записи загрузчика? Можете ли вы проверить, что загрузчик установлен (светодиод на контакте 13)? Картинка не помешала бы, если что-то не так., @Gerben

У меня сейчас ничего не подключено, но завтра я пришлю сюда фотографии, ошибки, подключение и все, что может помочь, @Vlad George

Не существует такой вещи, как ATMega328P-U. Есть ATMega328P-PU или ATMega328-PU — первый используется в Uno, но похоже, что у вас есть последний., @Majenko

https://imgur.com/gallery/rAEq9kg, @Vlad George

Я не уверен, что учебники различаются от модели к модели. Все, что я хочу знать, это знать, знает ли кто-нибудь метод, который гарантированно сработает для моей модели на картинке выше. Или хотя бы покажите мне, в чем проблема в том, что я сделал. Я очень хочу, чтобы это работало и поднималось все выше и выше в знаниях схем и программирования., @Vlad George

Между прочим, я наткнулся на ATMega328P U (такой, как на вашем фото), и я подозреваю, что это не официальный чип Atmel (т.е. он может быть подделкой), хотя я не уверен, тем не менее, те, что у меня есть, кажутся ведет себя совершенно нормально и точно так же может быть запрограммирован с помощью загрузчика., @StarCat

328P это модель. Тип упаковки — следующая буква (P для SPDIP), а диапазон температур — последняя буква (U = от -40°C до +85°C). Между моделью и типом упаковки должен стоять дефис. Все остальное фейк. Возможно, клон 328-PU с хитрой маркировкой., @Majenko

Получается, что невозможно правильно записать загрузчик и работать с ним? (извините, если мои вопросы слишком тупые или "капитан очевиден" - ой, но я учусь самостоятельно), @Vlad George

У вас есть какая-то минимальная схема вокруг MCU? В основном Xtal (обычно 16MHz, но загрузчик может быть и для 8MHz или внутренний 8MHz). Также у вас должна быть схема «автоматического сброса» (DTR -> конденсатор -> вывод сброса и подтягивание) - в противном случае вам придется сбросить MCU в режим загрузчика за короткий промежуток времени до того, как Arduino начнет фактическую загрузку ..., @KIIV

https://imgur.com/gallery/ZX9el3x, это изображение с минимальной схемой, о которой, как мне кажется, вы говорите. 2 конденсатора по 22 пФ, генератор 16 МГц, провода для заземления и 5 В, где необходимо, и первые 3 контакта для использования FTDI. Я видел схему с кнопкой переключения, добавленной для перезагрузки, но я не придал ей особого внимания. Может ли это быть решением для всего?, @Vlad George

@VladGeorge Если у вас есть FTDI с доступным DTR, должна быть возможность добавить конденсатор между контактом DTR и RESET, чтобы включить автоматический сброс — [информация в разделе автоматического сброса] (https://www.baldengineer.com/diy-arduino-schematic -контрольный список.html). В противном случае нажмите кнопку сброса и удачи с нажатием сброса в нужное время. Кстати, вам также следует заглянуть в раздел «Развязывающие конденсаторы»., @KIIV

Я пытался это сделать, поэтому на 1-м выводе я поставил конденсатор 100 нФ. И когда я пытаюсь записать загрузчик, я получаю ошибку относительно подписи ... И схема работает, потому что сначала я запрограммировал ATmega, которая была на Arduino UNO, и мне удалось заставить работать скетчи мерцания и фейда. Но при переходе на отдельные ИС... Ни прожиг, ни скетчи не работали. Попробую сделать вручную, кнопкой на первом пине, и держать вас в курсе, @Vlad George


1 ответ


2

НАКОНЕЦ-ТО СРАБОТАЛО. Я следовал этому руководству: https://www.electronics- lab.com/project/installing-the-arduino-bootloader-on-the-atmega328p-microcontroller/, в точности следуя объяснению, сделал подключения (ни больше, ни меньше; я даже убрал светодиод на контакт 19 и его резистор) и, к моему удивлению... загрузчик действительно загружался, и скетчи загружались только с помощью FTDI. Большое спасибо за вашу помощь и информацию, и я надеюсь, что когда-нибудь я передам эти знания кому-то, кто окажется на том же месте, где я был до сих пор. Желаем вам приятного времяпрепровождения и люблю вас всех

,