Backup прошивки платы Melzi V2.05
Поискав в Internet, я нашел две статьи, касающиеся этого вопроса:
https://3dtoday.ru/blogs/craveg/avrdude-how-to-download-zabekapit-and-pour-again-the-firmware/,
https://3dtoday.ru/blogs/craveg/eeprom-avrdude-again-about-working-with-controllers/.
Автор отмечает, что с обычным китайским программатором у него не получилось, но я решил все-таки попробовать именно с ним, ибо цена устройства менее 1.5 USD. Был закуплен программатор USBasp:
https://ru.aliexpress.com/item/1pcs-New-USBASP-USBISP-AVR-Programmer-USB-ISP-USB-ASP-ATMEGA8-ATMEGA128-Support-Win7-64K/32582933115.html и переходник к нему, поскольку на Melzi разъем ISCP 6pin, а у программатора 10pin: https://www.chipdip.ru/product/avr-icspДля программатора напечатал корпус: https://www.thingiverse.com/thing:3096085Пришлось еще дырку в корпусе просверлить, чтобы светодиоды было видно.Драйвер скачал отсюда:https://www.myrobot.ru/downloads/driver-usbasp-v-2.0-usb-isp-windows-7-8-10-xp.php.
С установкой проблем нет, поскольку драйвер подписан. Просто запустил InstallDriver.exe и готово.Подключил программатор к компьютеру и тут меня поджидала «засада»… При попытках работать с программатором через программу avrdude . exe получил вот такое сообщение:
avrdude.exe: warning: cannot set sck period. please check for usbasp firmware update.
Нужно обновлять прошивку. Но для обновления прошивки нужен другой программатор! Ёпрст…!
Поиск в Internet показал, что для программирования можно использовать платы Arduino. Посему у сына на время был реквизирован набор Arduino UNO.
Обновление прошивки я делал по этой методике: https://xdomus.ru/diy/usbasp-upgrade/ .
Прошивку (файл usbasp.2011-05-28.tar.gz ) скачал с сайта разработчика:https://fischl.de/usbasp/ . Испытал «легкое» удивление, что в 2019 г. продается программатор с прошивкой ранее 2011г.
Для загрузки прошивки требуется соединить плату Arduino с программатором:
Поначалу я сделал это проводками из набора, но перфекционизм, привитый руководителем радиокружка в далеком 6 классе средней школы («Сделаешь красиво – будет работать!») победил, и я из подручных средств смастерил кабель. Специально сделал его для подключения именно к переходнику программатора USBasp, поскольку плата Melzi имеет разъем ISCP для подключения программатора тоже на 6 pin. Это позволило в дальнейшем считать прошивку обеими программаторами и сравнить результаты. Получилось вот так:Подготовил программатор на Arduino UNO как описано по ссылке выше, файл прошивки скопировал в папку с программой avrdude . exe (она входит в состав Arduino IDE). У меня в Windows 10 это папка c:Program Files (x86)Arduinohardware oolsavrin . Запустил командную строку и выполнил:avrdude -C ../etc/avrdude.conf -c avrisp -P COM 4 -b 19200 -p m8 –v COM 4 – это порт к которому подключена плата Arduino UNO (смотреть в диспетчере устройств Windows ).
Далее, собственно прошивка:
avrdude –C ../etc/avrdude.conf –c avrisp –P COM4 –b 19200 –p m8 –U flash:w:usbasp.atmega8.2011-05-28.hex:i
После выполнения этой команды сообщений об ошибках не получил.
Ну, а затем… считал записанную прошивку:
avrdude – C ../ etc / avrdude . conf – c avrisp – P COM 4 – b 19200 – p m 8 – U flash : r : usbasp _ reading . hex : i
Прошивка записалась в файл usbasp _ reading . hex в папку:
c:Users...AppDataLocalVirtualStoreProgram Files (x86)Arduinohardware oolsavrin
И тут я слегка призадумался, поскольку исходный файл usbasp . atmega 8.2011-05-28. hex и файл, считанный - usbasp _ reading . hex весьма отличались по размеру. Поразмыслив, я скачал конвертер hex-файлов: http://advantex.ru/joom/content/view/78/69. и конвертировал оба hex-файла в bin-формат. Bin-файлы оказались одинаковыми не только по размеру, но и по содержимому (сравнивал с помощью T otal Commander). Это вселило некоторую уверенность в правильности выбранного пути.
Дальше - уже легче. На плате Melzi переставил перемычку в режим питания от USB (нижнее на рисунке положение):Подключил программатор USBasp к плате Melzi через переходник и стандартный кабель на 6 pin. При подключении ориентировался на рисунок:Схему подключения не привожу. Там все просто одноименные контакты переходника USBasp и Melzi соединяются между собой.
Дисплей на всякий случай отключил.
Далее (аналогично прошивке программатора) запустил командную строку и выполнил команды:
Проверка :avrdude -C ../etc/avrdude.conf -c usbasp -P usb -b 19200 -p m1284p –v
Считывание прошивки :
avrdude -C ../etc/avrdude.conf -c usbasp -P usb -b 19200 -p m1284p -U flash:r:printer_firmware.hex:i
Считывание EEPROM
avrdude - C ../ etc / avrdude . conf - c usbasp - P usb - b 19200 - p m 1284 p -Ueeprom : r : printer _ eeprom . eep : i
Никаких сообщений об ошибках не получил.То же самое для программатора на основе Arduino UNO:
Проверка: avrdude - C ../ etc / avrdude . conf - c avrisp - P COM 4 - b 19200 - p m 1284 p – v
Считывание прошивки:
avrdude - C ../ etc / avrdude . conf - c avrisp - P COM 4 - b 19200 - p m 1284 p - U flash : r : printer _ firmware _2. hex : i
Считывание EEPROM
avrdude - C ../ etc / avrdude . conf - c avrisp - P COM 4 - b 19200 - p m 1284 p -Ueeprom : r : printer _ eeprom _2 . eep : i
Полученные обеими программаторами соответствующие файлы сравнил – они оказались идентичными. Ну, и наконец, через Arduino IDE залил прошивку Marlin (ee в свое время прислал продавец). Родная прошивка - Repetier. Должен заметить, что подключить Melzi к компьютеру и соединиться с Arduino IDE еще та «песня»…
Переставил перемычку на плате, подключил дисплей и включил принтер. Убедился, что прошивка Marlin залилась. Выключил принтер, вернул перемычку в режим питания от USB, подключил программатор USBasp и залил сохраненные прошивку и EEPROM:
avrdude -C ../etc/avrdude.conf -c usbasp -P usb -b 19200 -p m1284p -U flash:w:printer_firmware_2.hex:i
avrdude -C ../etc/avrdude.conf -c usbasp -P usb -b 19200 -p m1284p -Ueeprom:w:printer_eeprom_2.eep:i
На всякий случай привожу аналогичные команды для программатора на базе Arduino UNO:
avrdude - C ../ etc / avrdude . conf - c avrisp - P COM 4 - b 19200 - p m 1284 p - U flash : w : printer _ firmware . hex : i
avrdude - C ../ etc / avrdude . conf - c avrisp - P COM 4 - b 19200 - p m 1284 p -Ueeprom : w : printer _ eeprom . eep : i
Снова вернул перемычку на плате в исходное положение, включил принтер и напечатал тестовый кубик. Все получилось!
Еще больше интересных статей
Сушилка на 4 катушки своими руками
Подпишитесь на автора
Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.
Отписаться от уведомлений вы всегда сможете в профиле автора.
Температура стола и пирометр.
Подпишитесь на автора
Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.
Отписаться от уведомлений вы всегда сможете в профиле автора.
Настраиваем прошивку Marlin и заливаем её в 3D принтер
Подпишитесь на автора
Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.
Отписаться от уведомлений вы всегда сможете в профиле автора.
Комментарии и вопросы
3. Директ. А не задумывались н...
Возможно вы выставляли сопло н...
Вы можете ждать и сотни миллиа...
Всем привет. Печатал коробку д...
Всем привет. Мой опыт в 3д печ...
Доброго времени суток, подскаж...
Добрый день !Случаем нет ли у...