Загрузчик ATmega328PB

Здравствуйте уважаемы форумчане.
Продавец на AliExpress прислал два голых камня ATmega328PB.


Сдул с Arduino Nano рабочий камень, припаял новый и попытался залить в него загрузчик через USBasp (USBasp рабочий, я уже заливал им загрузчик в Arduino Uno.)

Пробовал перемыкать контакт JP3

Пробовал залить загрузчик и с помощью другой рабочей Arduino Nano

По совету с форума Всё про ATmega328PB | Аппаратная платформа Arduino
скачал MiniCore.
Пробовал им загрузить загрузчик.

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

Using port            : usb
Using programmer      : usbasp
AVR part              : ATmega328PB
Programming modes     : SPM, ISP, HVPP, debugWIRE
Programmer type       : usbasp
Description           : USBasp ISP and TPI programmer
Error: cannot set sck period; please check for usbasp firmware update
Error: program enable: target does not answer (0x01)
Error: initialization failed  (rc = -1)
 - double check the connections and try again
 - use -B to set lower the bit clock frequency, e.g. -B 125kHz
 - use -F to override this check

Avrdude done.  Thank you.
Ошибка при записи загрузчика.

Подскажите, что можно ещё попробовать сделать с данными камнями?

Фъюзы программатором читаются?

2 лайка

Новый камень по умолчанию настроен на тактовую 1МГц.
На такой тактовой частоте с ним не соединишься.
Нужно для начала через USBasp и AVRDUDE_PROG 3.3 (например), выбрав режим «SpeedLow» отключить фьюз делителя на 8 (CKDIV8).
После этого тактовая поднимется до 8МГц и с чипом можно работать (прошивать загрузчик) любым способом из 1 сообщения.

На скриншоте галочка уже снята:

Вот именно такие фьюзы (Lock - 3F, High - D9, Low - E2) нужно прошить в микроконтроллер, тогда тактовая поднимется до 8МГц.

4 лайка

Не поможет

Проблема в частоте или что это PB?
@МелкоМягкий подъём!

Ну Семенсеменович

Из явного. Вы USBasp подключили неправильно. Смотрим фото с USBasp. На разъеме ISP нано, RESET - левый верхний пин, а не правый нижний как подключено у вас на фото.

1 лайк

Поможет. Тоже мыкался поначалу, три камня поменял, пока не вычитал где-то, что шить нужно на низкой скорости. Но я как раз перемычку jp3 перемыкал. Прошивал загрузчик, заодно и фьюзы поправились ))

Не получается,

https://www.microchip.com/en-us/product/atmega328pb

Это просто скрин настроек для форума, поспешил выложить, людей насмешил)

Спасибо за внимательность, для форума сделал фото, не обратил внимание, что подключил задом наперёд.

Попробовал по инструкции из этой темы Добавление контроллеров в программу AVRDUDE_PROG. - Страница 4
добавить ATmega328PB, тоже не помогло.

Попробовал замкнуть перемычку, всё равно ошибку выдаёт.

честно говоря лень читать что там по ссылкам))))

не факт что поможет, переустановите ядро еще раз по этой ссылке (вроде она и я не перепутал, но не могу проверить)

https://mcudude.github.io/MiniCore/package_MCUdude_MiniCore_index.json

и при загрузке прошивки укажите плату как ATmega328PB это обязательно!

кстати а прошивка без бутлоадера грузится ?))) что бы узнать в чем причина…
менять кварц наверное бредово, только усилия в пустую и совсем маловероятно что поможет…(однако у меня были платы что только без кварца мк прошивался, а может я просто не знал как прошить))) прошивал без него,(в настройках указывал 16000 но прошивал без него) а потом ставил, и вроде работало, и delay 1000 = 1000)

Всё, как я и говорил… :slight_smile:

1 лайк

такое ощущение что вы знаете правильный ответ … или мне показалось ?)))

если в скетче arduibo as isp размаркировать 128000/6 и это не поможет то тогда между камнями и прихлопнуть

Он человека знает ))

Я вообще сделал отдельную плату, на ней кварц (на всякий случай, из китая и б/у мк приезжают), минимальная обвязка для прошивки и разъем.
Просто прикладываю мк (я про корпус TQFP32) к плате, прижимаю деревянной прищепкой и перепрошиваю. Как перепрошиваю? Просто сбрасываю фьюзы “по умолчанию” и отключаю делитель на 8.

Если камень даже на “SpeedLow” не отвечает, значит или припаян криво или залочен/мёртв.

Скорей всего с контактами путаница, отдельно подключи не через шлейфы.

И контакты от камня до программатора проверяй.

1 лайк

Типа на последней версии USBasp уже не требуется перемыкание J3 для новых камней.
Сбросил atmega328p до заводских и спокойно залил загрузчик без лишних телодвижений.

А-а-а. Вон оно чё.

На форумах предлагают ещё попробовать разблокировать с помощью Atmel STK500.
Но думаю проще купить 10 Arduino Nano с загрузчиком, чем один Atmel STK500)

нужен высоковольтный программатор или сделай себе фьюзе доктора

1 лайк