Автономный 328P Arduino
Я создаю автономный Arduino, используя Atmega328P. Схема ниже.
Однако я вижу
avrdude: Device signature = 0x000000 error
каждый раз, когда я пытаюсь записать загрузчик Arduino Uno. Я предполагаю, что чип не отвечает на линии SPI?
Я знаю, что делаю что-то не так, но не вижу этого.
Мои связи
SCLK --> Arduino Pin 13
MISO --> Arduino Pin 12
MOSI --> Arduino Pin 11
Reset --> Arduino Pin 10
VIN --> 5V
GND --> GND
Я использую настоящий Arduino UNO в качестве ISP. Я загрузил в него код ArduinoISP, выбрал Arduino в качестве ISP в качестве программатора и Arduino Uno на платах. Соединения для программирования просто подключены от контактов Arduino UNO к некоторым переходным отверстиям, которые я намеренно добавил в схему.
Как упоминалось в комментариях, я добавляю сюда изображение макета.
Я попробовал эту же схему на atmega328P, впаянном в адаптер TQFP, и с другими компонентами, впаянными в адаптер (выглядит как джунгли проводов), и каким-то образом мне удалось сжечь загрузчик.
Надеюсь, кто-нибудь укажет на ошибку.
@noobiejp, 👍0
Обсуждение2 ответа
Из схемы видно, что вы используете стабилизатор напряжения LM317 от USB V_IN. Падение напряжения слишком велико, и ваши проблемы могут быть связаны с понижением напряжения, то есть с недостаточным напряжением: см. этот пост SE . Вы можете решить эту проблему, используя более низкий регулятор дропаута (от 5 В до 3,3 В) или просто использовать стандартный USB 5 В, шунтируя V_IN на V_CC.
Привет! Я уже пробовал обойти регулятор, удалив его и привязав VIN к VCC. Таким образом, вся линия VCC будет получать 5 В прямо с USB. Тем не менее, до сих пор не горит загрузчик., @noobiejp
Похоже, что вы используете стабилизатор напряжения lm317 для питания вашего микроконтроллера atmega328p, но я думаю, вы забыли ту часть, что lm317 нуждается в обратной связи 1,25 В с сетью делителя напряжения, чтобы установить его переменное выходное напряжение в схеме, которую вы подключили. lm317 напрямую к GND. S0 проверьте выходное напряжение вашего регулятора, а другая проблема: регулятор напряжения отлично работает только тогда, когда разница между регулирующим напряжением ниже, чем напряжение питания.
- Не удается снова загрузиться после смены платы
- Путаница с ATmega328P и 3,3 В/8 МГц
- Что означает avrdude: Device signature = 0x000000? Неисправная проводка? Проблема с программным обеспечением? Неправильная инструкция?
- Не могу записать загрузчик на Atmega328P с помощью Arduino Uno
- Можем ли мы записать загрузчик Arduino в любой чип микроконтроллера?
- Atmega328p — переход на низкое энергопотребление 1,8 В с использованием генератора 4 МГц — прошивка загрузчика
- Переход к загрузчику из кода приложения в atmega328p
- Как правильно активировать контакт сброса ATMega328 с помощью ПО, чтобы загрузчик работал, а прошивка могла обновляться через контакты RX/TX?
Вы пытаетесь запустить ATmega при напряжении 3,3 В на кристалле 16 МГц?, @tttapa
Да. Будут ли проблемы с этим @tttapa?, @noobiejp
Проверьте техническое описание, эта комбинация напряжение/частота не соответствует спецификации. Либо повышайте напряжение, либо понижайте частоту., @tttapa
Спасибо, что указали на это! Да, только сейчас увидел это в даташите., @noobiejp
Я только что попытался снять регулятор и подключить 5 В к линии VCC. Я все еще вижу ту же ошибку. Будут ли другие ошибки?, @noobiejp
На этой схеме невозможно увидеть, как ваш программатор подключен к плате. Также изображения разводки печатной платы могут быть полезны для проверки на наличие ошибок., @Majenko
Ты знаешь, идут ли часы? Или вы можете предоставить часы? 10 мкФ между dtr и сбросом? и нет диода от сброса до vcc?, @Jot
C3 должен быть 0,1 мкФ для последовательной загрузки. D10 от провайдера подключается к Ресету напрямую, не через шапку., @CrossRoads
@Majenko Я добавил макет вопроса. Линии SPI от Arduino UNO подключаются к линиям SPI atmega328P. С левой стороны от переходных отверстий есть переходные отверстия, поэтому я могу добавить провода. Связи указаны в вопросе выше., @noobiejp
@Jot Да, я посмотрел на это в масштабе, и часы идут. Я имею в виду, что у меня есть генератор на 16 МГц. Я не использую FTDI при записи загрузчика. Я использую линии SPI. Так что в основном крышка там остается плавающей., @noobiejp
Есть ли заливка грунта или слой плоскости земли, которые были исключены из этого изображения?, @Majenko
Из схемы это не очевидно, но контакты 3,4,21 должны быть заземлены. Ты сделал это?, @MichaelT
@Majenko да, есть заливка земли, которая не показана. Но да, все контакты заземления подключены к земле., @noobiejp
noobiejp, я думаю, что мы упомянули о многих вещах, и вы ответили на наши вопросы. Так что нам нужно искать более неясные вещи. Возможно, вы можете попробовать скетч Ника Гэммона https://www.gammon.com.au/bootloader Возможно, вы можете попробовать программатор вместо Arduino в качестве провайдера. Возможно у вас сломался atmega32u4. У вас есть другой Arduino Uno, в который вы можете попробовать установить загрузчик? Если это сработает, вы можете попробовать установить загрузчик в Leonardo или Micro. Если это сработает, вы можете попробовать свою печатную плату., @Jot
Ваш блок питания неправильный. Вы не можете подключить 317 таким образом, @StarCat