Автономный 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, и с другими компонентами, впаянными в адаптер (выглядит как джунгли проводов), и каким-то образом мне удалось сжечь загрузчик.

Надеюсь, кто-нибудь укажет на ошибку.

, 👍0

Обсуждение

Вы пытаетесь запустить 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


2 ответа


0

Из схемы видно, что вы используете стабилизатор напряжения LM317 от USB V_IN. Падение напряжения слишком велико, и ваши проблемы могут быть связаны с понижением напряжения, то есть с недостаточным напряжением: см. этот пост SE . Вы можете решить эту проблему, используя более низкий регулятор дропаута (от 5 В до 3,3 В) или просто использовать стандартный USB 5 В, шунтируя V_IN на V_CC.

,

Привет! Я уже пробовал обойти регулятор, удалив его и привязав VIN к VCC. Таким образом, вся линия VCC будет получать 5 В прямо с USB. Тем не менее, до сих пор не горит загрузчик., @noobiejp


2

Похоже, что вы используете стабилизатор напряжения lm317 для питания вашего микроконтроллера atmega328p, но я думаю, вы забыли ту часть, что lm317 нуждается в обратной связи 1,25 В с сетью делителя напряжения, чтобы установить его переменное выходное напряжение в схеме, которую вы подключили. lm317 напрямую к GND. S0 проверьте выходное напряжение вашего регулятора, а другая проблема: регулятор напряжения отлично работает только тогда, когда разница между регулирующим напряжением ниже, чем напряжение питания.

,