Проблемы с загрузкой скетча в контроллер Atmega 328P-PU

Cadil
Offline
Зарегистрирован: 27.06.2018

Для загрузки скетчей в контроллер Atmega 328P-PU использовал плату Arduino UNO (все – Китай).  Сначала собрал стандартную схему  прошивки для контроллеров Atmega 328 загрузчиком Arduino отсюда. Не скажу, что с первой попытки, но прошил контроллер загрузчиком Arduino.

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

Arduino: 1.8.8 (Windows 7), Плата:"Arduino/Genuino Uno"
Скетч использует 16742 байт (51%) памяти устройства. Всего доступно 32256 байт.
Глобальные переменные используют 1169 байт (57%) динамической памяти, оставляя 879 байт для локальных переменных. Максимум: 2048 байт.
avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x00
avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0x00
avrdude: stk500_getsync() attempt 3 of 10: not in sync: resp=0x00
avrdude: stk500_getsync() attempt 4 of 10: not in sync: resp=0x00
avrdude: stk500_getsync() attempt 5 of 10: not in sync: resp=0x00
avrdude: stk500_getsync() attempt 6 of 10: not in sync: resp=0x00
avrdude: stk500_getsync() attempt 7 of 10: not in sync: resp=0x00
avrdude: stk500_getsync() attempt 8 of 10: not in sync: resp=0x00
avrdude: stk500_getsync() attempt 9 of 10: not in sync: resp=0x00
avrdude: stk500_getsync() attempt 10 of 10: not in sync: resp=0x00
Произошла ошибка при загрузке скетча
 
После попытки загрузки скетча на мониторе компилятора высвечивается инфа с серийника ранее записанного в контроллер скетча.

Добавлю, загрузчик Arduino тоже повторно не удается прошить в контроллер: «Отказано в доступе».

Что было сделано (как вы понимаете - безрезультатно):

  1. Проверил - драйвер платы  Arduino UNO не требует переустановки, работает без замечаний.
  2. Очистил все занятые ранее в компе COM-порты.
  3. Подавал на контроллер питание 5В от отдельного источника (с платы Arduino UNO поступает 4,4В).
  4. Нажимал кнопку Reset вначале загрузки скетча.
  5. В очередной раз убедился, что плата Arduino UNO с «родным» Atmega328  -  исправна.
  6. Пишут, что причиной может быть низкая скорость COM-порта. Работал на относительно низкой скорости – 9600.
  7. Собирал схему на новом места платы для прототипирования, прозванивал монтажные провода.
  8. На компьютере нет программ, которые блокируют доступ к COM-портам, хотя уверенности в этом нет.

Какие еще могут быть варианты или на что обратить внимание из перечисленного? Заранее искренне благодарю за помощь.

 

 

bwn
Offline
Зарегистрирован: 25.08.2014

Фузы, могли подключить кварц (не знаю как у вас, с ним или без), могли отрубить лапку RESET. 
 

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

Для начала сменить версию IDE на 1.8.3

Cadil
Offline
Зарегистрирован: 27.06.2018

ua6em пишет:
Для начала сменить версию IDE на 1.8.3

Сменил версию IDE с 1.8.8 на 1.8.3, но результат не изменился: "avrdude: stk500_getsync() attempt 10 of 10: not in sync: resp=0x00".

 

Cadil
Offline
Зарегистрирован: 27.06.2018

bwn пишет:
Фузы, могли подключить кварц (не знаю как у вас, с ним или без), могли отрубить лапку RESET.

- Мне казалось, что при заливке загрузчика в среде Arduino IDE фьюзы нет необходимости устанавливать. Возможно я ошибаюсь.

- Кварц установлен на макетке, по схеме.

- Цепь RESET исправна: контроллер (а он в схеме один) перезагружается при нажатии на кнопку RESET.

ЕвгенийП
ЕвгенийП аватар
Онлайн
Зарегистрирован: 25.05.2015
Вы пишете очень много и сумбурно. Наверняка и делаете также. Давайте отбросим всё и сконцентрируемся на одной проблеме - не грузится загрузчик. "Отказано в доступе" - это может быть всё, что угодно, например, работает ещё одна копия IDE, или запущен монитор порта (или другая программа работы с ком-портом).
 
Сделайте так, перезагрузите компьютер и не запускайте никаких программ. Запустите единственную копию IDE (не запускайте монитор порта!). Воткните программатор и нажмите "Записать загрузчик". Кстати, каким именно программатором Вы это пытаетесь делать? Загрузчик должен прописаться. А потом и всё прошиваться начнёт.
sadman41
Offline
Зарегистрирован: 19.10.2016

По-моему задуматься надо было уже на этапе "Не скажу, что с первой попытки, но прошил контроллер загрузчиком Arduino."

А если там ещё макетка и провода тонкие и длинные - бесконечно можно искать кошку в тёмной комнате.

b707
Онлайн
Зарегистрирован: 26.05.2017

Cadil пишет:

- Мне казалось, что при заливке загрузчика в среде Arduino IDE фьюзы нет необходимости устанавливать. Возможно я ошибаюсь.

ошибаетесь. При заливке загрузчика среда Arduino IDE каждый раз заново устанавливает фьюзы. И если в настройках прописаны неверные значения - это шанс "окирпичить" контроллер

Cadil
Offline
Зарегистрирован: 27.06.2018

ЕвгенийП пишет:
Сделайте так, перезагрузите компьютер и не запускайте никаких программ. Запустите единственную копию IDE (не запускайте монитор порта!). Воткните программатор и нажмите "Записать загрузчик". Кстати, каким именно программатором Вы это пытаетесь делать? Загрузчик должен прописаться. А потом и всё прошиваться начнёт.

Ваш совет  "не запускайте монитор порта!" оказался для меня золотым. Получилось с первой попытки - перезагрузить бутлоадер и загрузить скетч.
Очередных усехов! Еще раз - спасибо! 

b707
Онлайн
Зарегистрирован: 26.05.2017

Cadil пишет:

Ваш совет  "не запускайте монитор порта!" оказался для меня золотым.

а зачем вы открывали монитор при загрузке?????

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

b707 пишет:

Cadil пишет:

Ваш совет  "не запускайте монитор порта!" оказался для меня золотым.

а зачем вы открывали монитор при загрузке?????

как зачем, а эстетическое удовольствие от просмотра кракозябр в мониторе порта )))

Cadil
Offline
Зарегистрирован: 27.06.2018

b707 пишет:
а зачем вы открывали монитор при загрузке?????

Монитор блокирует порт только при прошивке в контроллер бутлоадера.  А при загрузке скетчей он только помогает (для этого и предназначен). Вспомните "Hello World!".

b707
Онлайн
Зарегистрирован: 26.05.2017

Cadil пишет:

 при загрузке скетчей он только помогает (для этого и предназначен). Вспомните "Hello World!".

не понял, для чего он такого "предназначен" при загрузке7

Dany 18
Offline
Зарегистрирован: 02.12.2018

Здравствуйте.Можете помочь...У меня про мини перестала загружать скетчи.Решил прошить бутлоадер.А он тоже не шьется.Выдает ощибку verification error, first mismatch at byte 0x0000 0x07 != 0x05.Пробовал и через программатор и с помощью нано...все одинаково. (((