Содержание
- Описание
- Необходимые компоненты и навыки
- Принцип работы
- Порядок действий
- Популярные вопросы
- Первый 3D-принтер и комплектующие к нему
- Стоит ли брать AnyCubic Kossel Linear Plus ? Интересует качество стоковых компонентов
- Зачем используют слово ‘3D’ при описании аддитивных технологий?
- Ответы
- цифровая электроника вычислительная техника встраиваемые системы
- Используем Arduino Mega 2560 в качестве внутрисхемного программатора (ISP)
Описание
Регулярно заказываю платы Arduino и компоненты к ним на известном всем китайском мегабазаре. Что бы там не говорили некоторые, качество плат ничем не отличается от оригинальных (те которые с «made in italy») — ибо все равно и те и другие делаются у «дядюшки Ляо». Но периодически встречается плата без прошитого бутлоадера. То есть она как бы рабочая, а скетч не заливается. Открыть спор с поставщиком и вернуть деньги за плату конечно же можно, но нам ведь нужны не деньги, а сама плата, так? Причем крайне желательно рабочая. Почему бы не пришить бутлоадер самим? В этом случае у нас есть несколько вариантов:
Необходимые компоненты и навыки
Принцип работы
Каждая плата Arduino может загружаться со своего загрузчика, прошитого на микроконтроллере, а может и с внешнего загрузчика. Вот именно это мы и используем для прошивки отсутствующего бутлоадера. Нам достаточно просто подать загрузить на рабочую плату скетч программатора (он есть в примерах Arduino IDE), соединить рабочую плату с прошиваемой и запустить процесс прошивки. Все остальное выполняется автоматчиески.
На платах соединяем контакты 5V, GND, MOSI, MISO и SCK. Также нам понадобится поключить контакт SS на плате-программаторе к контакту RESRT на прошиваемой плате. Какие контакты куда подключать на наиболее известных платах можно увидеть в следующей таблице.
Порядок действий
Условимся, что в качестве программатора будем использовать плату Arduino Mega 2560(Возможно также пользоваться любой другой — для этого надо просто поменять используемые контакты). Итак:
Доброго времени суток. Вопрос такой: можно ли починить сгоревшую ардуину мега? (спалил по глупости, подал большое питание)
При подключении по usb комп её не видит, но на плате загораются индикаторы L и ON.
Сгоревший преобразователь я выпаял, внешнее питание мне на неё подавать не надо.
Так как я в этих делах не очень, прошу вашей помощи.
Только чтобы работал через USB.
Популярные вопросы
Первый 3D-принтер и комплектующие к нему
Стоит ли брать AnyCubic Kossel Linear Plus ? Интересует качество стоковых компонентов
а) нужен не шибко большой принтер для мелочевки. детали, в основном, не больше 10 см по XY, для больше есть другой принтер
Зачем используют слово ‘3D’ при описании аддитивных технологий?
Ответы
Думаю стоит начать с определения живости самой меги.
Подключите ISP программатор к той колодке рядом с мегой и попробуйте считать тип процессора.
точнее надо подключать к обоим колодкам, возле обеих мег ) по очереди )
К сожалению такого программатора у меня нет, но есть ардуино нано. Можно ли его использовать в качестве программатора, если да то как?
можно https://habr.com/ru/post/144620/ , по статье залей проишвку . дальше скачай SinaProg попытайся считать фьюзы(синапрог потому как ардуино иде фуфло г. е , которое очень хреново работает со своейже платой как программатором) , если с 2560 считались фьюзы без проблем . попытайся залить прошивку марлина твоего принтера отдельным hex файлом. если сработает и на дисплей посыпятся символы , а температура стоал и экструдера не будет бешенно маленькой или наоборот большой , то скоерй всего она жива . Дальше проверь мегу32у2 , проверяется фактически так же как мега2560 , но если окажется жива при этом даже если после перепроишвки не видится ком-порт , то она бесполезна , лучше убрать , дальеш на сериал 0 подпаять любой usb-uart переходник ( любой , даже можно закоротить нану , т.е замкнут ьеё ресет на гнд) и можно работать через него.
Если что , пиши в вк , помогу с проверкой . всё же это обыкновенная avr
цифровая электроника вычислительная техника встраиваемые системы
Используем Arduino Mega 2560 в качестве внутрисхемного программатора (ISP)
Если вы самостоятельно изготавливаете Arduino, и для программирования микроконтроллера у вас нет под рукой внутрисхемного программатора или другой платы Arduino, кроме Arduino Mega 2560, то можно без проблем задействовать и ее для прошивки чипа.
- Arduino Mega
- Плата с микроконтроллером ATmega, который нужно прошить
- Конденсатор 100 нФ
- USB-кабель, соединяющий Arduino Mega с компьютером
- Среда разработки Arduino IDE
- Несколько проводов для соединения Arduino Mega с самодельным Arduino
Основная трудность заключается в том, что у Arduino Mega другая распиновка в отличие от Arduino UNO, Duemilanove или Diecimila, поэтому руководства использования в качестве программатора перечисленных плат не подходят. Подробнее про распиновку Arduino Mega можно узнать здесь.
Вам нужно соединить Arduino Mega 2560 с платой с чипом Atmega 168/328 следующим образом:
Итак, для начала нужно загрузить скетч ArduinoISP. Откройте Arduino IDE, выберите Tools – Board – Arduino Mega 2560 (Сервис – Плата – Arduino Mega 2560). Выберите корректный COM-порт: Tools – Serial port – нужный порт (Сервис – Последовательный порт – нужный порт). Теперь перейдите в File – Examples – ArduinoISP (Файл – Примеры – ArduinoISP). Перед вами откроется скетч ArduinoISP. Нажмите кнопку Upload (Загрузить) и загрузите его в Arduino Mega 2560.
После того, как скетч будет полностью загружен, подключите конденсатор 100 нФ между линией питания +5 В и выводом RESET на Arduino Mega, чтобы отключить автосброс. В противном случае ничего не получится.
Далее выберите плату, которую хотите запрограммировать. Если у вас, например, микроконтроллер Atmega328 с осциллятором 16 МГц, то следует выбрать Arduino Duemilanove or Nano /w Armega 328.
Выберите Tools – Burn Bootloader – Arduino as ISP (Сервис – Программатор – Arduino as ISP). После загрузки кода вы сможете наслаждаться вашим самодельным Arduino.
Если у вас возникли ошибки:
- Проверьте правильность выбора платы
- Если у вас появилась ошибка типа avrdude: stk500_getsync(): not in sync: resp=0x00, то вы не поместили конденсатор 100 нФ между линией питания +5 В и выводом RESET на Arduino Mega
- Если у вас другая ошибка, то ищите ответ в гугле
- Если не нашли ответ в гугле, то воспользуйтесь тематическими форумами про Arduino
Если при программировании вашего Arduino появилась ошибка avrdude: stk500_getsync(): not in sync: resp=0x00 avrdude: stk500_disable(): protocol error, expect=0x14, resp=0x51, значит не в порядке автосброс (DTR). То есть Arduino IDE не может перезагрузить Arduino, и загрузка кода заканчивается провалом. Чтобы избежать этого, вы можете:
- Нажать кнопку сброса на Arduino, кода появляется «Binary sketch size: xxxx bytes (of a xxxxxxx byte maximum)»
- Если это не помогло, то вы можете подключить USB-кабель к компьютеру, но не к Arduino, и после того, как появится «binary sketch…», быстро воткнуть кабель в Arduino
- Если и это не помогло, то вы можете держать нажатой кнопку сброса на Arduino, нажать Upload (Загрузить) в Arduino IDE и отпустить кнопку, когда появится «binary sketch size . »
- Если и это не помогло, то вы можете нажать кнопку сброса после появления «binary sketch size . » и держать ее 2-10 секунд
- Если и это не помогло, то вы можете заново загрузить загрузчик
- Если и это не помогло, то вы можете взять другую плату Arduino, если есть такая в запасе
- Если и это не помогло, то остается только спросить на форуме
Источник: