Перепрошивка принтера wanhao i3 (плата melzi) через ISP с помощью програматора на основе LPT
Если вы, например, воспользовались инструкциями тут и получили ошибку типа:
avrdude: stk500_recv(): .....
то вам вам почти наверняка останется вариант прошивки через isp на плате, продолжая эту инструкцию (я не буду повторять все сказанное там), воспользоваться самым простым устройством для прошивки, на базе LPT порта обычной материнки (и не нужно говорить что таких сейчас не производят, например самые дешевые компьютеры для офиса и для дома, тем кому не нужно играть в ААА игры, - это mITX со встроенным процессором, почти в каждой есть LPT, как минимум на плате разъем).
Инструкций по созданию самого программатора в интернете море, я воспользовался этим (или этим), и рекомендую именно такой выбор пинов для соединения, так как это совместимый с stk200 вариант, поддерживаемый практически всеми программами для прошивки, в т.ч. avrdude, идущей в поставке с arduino ide.(так же рекомендуется соединить GND с корпусом LPT разъема через 1kOm резистор, для защиты от различий напряжений между устройствами, но надежнее вообще отключить принтер от сети и все операции проводить, питая его через USB (или сам LPT, соединив с выводом 1 LPT вход ISP VCC или пишут 5V но это не обязательно).
На плате принтера порт ISP 6-пиновый (снизу справа от разъема дисплея):Попытка прошить из среды arduino ide не у меня не срабатывала (выбор типа программатора Parallel Programmer), потому что необходимо выбрать тип stk200 в командной строке avrdude.
Чтобы не читать документацию и не подбирать параметры, рискуя ошибиться (особенно когда это делаешь впервые в жизни, существует страх убить материнку принтера), можно включить подробный вывод в настройках arduino ide (файл preferences.txt, его путь указан в настройках arduino ide, изменить строчку upload.verbose = true) и при следующей попытки прошить принтер, получить в окне сообщений строчку запуска avrdude.
У меня linux и моя строчка для прошивки (измененная) выглядела так:
sudo ~/.arduino15/packages/arduino/tools/avrdude/6.0.1-arduino5/bin/avrdude -C~/.arduino15/packages/arduino/tools/avrdude/6.0.1-arduino5/etc/avrdude.conf -patmega1284p -c stk200 -P /dev/parport0 -D -Uflash:w:~/Repetier_929/Repetier/Repetier.ino.with_bootloader.sanguino.hex:i -v -v -e
По неизвестной мне причине, avrdude был скопирован в папку с настройками, если что, в т.ч. и в windows версии он находится в каталоге hardware oolsavrin среды arduino ide.
На что необходимо обратить внимание:
- Ключ -c stk200 показывает что у нас LPT программатор, подключенный к ISP на плате принтера как указано выше на картинке (если что в файле avrdude.conf можно это изменить)
- Ключ -P /dev/parport0 указывает на порт, через который подключен программатор (arduino ide позволяет выбрать только /dev/ttyS0, и у меня это не работало), по умолчанию у пользователя нет к нему доступа поэтому запуск через sudo, на windows это может быть lpt1... или пропустить ключ вообще
- Ключ -Uflash:w:~/Repetier_929/Repetier/Repetier.ino.with_bootloader.sanguino.hex:i указывает файл прошивки (arduino ide генерирует свой в каталог /tmp но можно собрать свои бинарные файлы, выбрав в меню Скетч -> Экспорт бинарного файла или нажав ctrl+alt+S и получить два файла в каталоге исходников прошивки), :i - в конце опции указывает на тип файла
- Ключ -e необходим для очистки памяти на чипе, если у вас после записи не проходит проверка (в логе будет verify error), лучше включить
- Ключи -v -v не обязательны, включают дополнительную информацию о ходе прошивки, полезно знать что происходит, особенно если возникают проблемы
После однократной прошивки через ISP все последующие у меня успешно проходили уже через USB провод, и мне не приходилось вскрывать корпус и даже не понадобилось отключать принтер от сети (я немного правил код прошивки, поэтому у меня было несколько экспериментов).
На последок, комманда:
sudo ~/.arduino15/packages/arduino/tools/avrdude/6.0.1-arduino5/bin/avrdude -C~/.arduino15/packages/arduino/tools/avrdude/6.0.1-arduino5/etc/avrdude.conf -patmega1284p -c stk200 -P /dev/parport0 -n -v -v
позволит опросить чип без какой либо записи в него и определить, корректно ли проходит соединение.
p.s. не забудьте вернуть перемычку на плате принтера в состояние 'питание от сети' после успешной прошивки.
Еще больше интересных статей
Замена нагревательного элемента на хотэнде QIDI Tech Q1 Pro
Подпишитесь на автора
Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.
Отписаться от уведомлений вы всегда сможете в профиле автора.
Умерли термисторы и концевик по y, creality ender 3 s1
Подпишитесь на автора
Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.
Отписаться от уведомлений вы всегда сможете в профиле автора.
Сопла и сопли
Подпишитесь на автора
Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.
Отписаться от уведомлений вы всегда сможете в профиле автора.
Сколько раз этот вопрос поднимался. Сколько тем...
Комментарии и вопросы
У акустической гитары с железн...
Вот я 7 лет этого не знал и пе...
Там самый типовой вентиль 80x8...
Здравствуйте столкнулся с проб...
Добрый вечер, уважаемые...
Доброго времени суток! Решил у...
Всем здравствуйте! Такая пробл...