How-to реанимировать плату woodpecker для китайских ЧПУ
-
@lice
- Опытный
- Сообщения: 167
- Зарегистрирован: 11 сен 2017, 20:52
- Репутация: 6
- Настоящее имя: Aldis
- Контактная информация:
How-to реанимировать плату woodpecker для китайских ЧПУ
Удачная перепрошивка внезапно ''умершего'' микроконтроллера Atmega 328P с использованием дешёвого usb программатора на CH341
(Может пригодится и в случае неудачной прошивки контроллера)
История такая:
купил пару недель назад на алиекспресс станочек т.н. CNC 1610 с лазером 5.5вт и платой контроллера arduino/woodpecker с grbl 0.9j. Всё шло более-менее нормально, осваивал потихоньку grbl коды, программы и нюансы фрез и материалов, как вдруг, окончив прожиг лазером небольшой картинки, в процессе ухода обратно в ноль на полпути мой станок умер. Просто остановился и больше не реагирует на команды.
После непродолжительной проверки всего того, что можно проверить мултиметром (напряжения питания 5-12-24В) и компьютером (usb-serial CH340) единственным подозреваемым для меня остался процессор Atmega328P. Так как никакого опыта с такими микроконтроллерами не имею (ни разу не программист) естественно впал в уныние. Связался с продавцом и после непродолжительного обмена информацией он согласился, что плата контроллера дохлая, он посоветовать ничего толкового не может и высылает новую.
Про себя подумал- вариантов два: или процессор сгорел (Китай всё таки, хотя читал, что эти Атмеги почти неубиваемы) или что то случилось с прошивкой (что тоже не очень хорошо, т.к. в флеше всё должно храниться вечно). Но, т.к. плата всё равно ''в утиль'', решил погуглить- как же Атмеги/Ардуины прошиваются? Вариантов море, самое распостранённое- через имеющийся usb, но тогда микроконтроллер должен содержать т.н. bootloader иначе связи через usb не будет. Попробовал, используя программу Arduino IDE и статью из wiki- конечно, программа в конце usb кабеля ничего не видит. Был ли bootloader с завода/при покупке или нет- уже не узнать.
Чтобы прошить bootloader или любую прошивку, если нет связи по usb/в ''пустых'' микроконтроллерах, используется т.н. In-system programming, или программирование, не отключая чип от остальной схемы. В нормальных девайсах типа оригинальных Ардуино для этого есть специальный порт/гнездо/штеккер ICSP/ISP. На плате этих woodpecker-ов такого, естественно, никто не сделал. Поэтому пришлось с помощью интернета найти распиновку (datasheet) и подпаять тонкие проводочки напрямую к ножкам микроконтроллера (15-я-MOSI; 16-я MISO; 17-я SCK; 29-я Reset), плюс и минус 5в питания взял из шины внешних подключеный.
Ок, ISP порт теперь есть, но чем же прошивать? По нормальному- есть много разных программаторов именно для прошивки Ардуино, начиная от других Ардуино, которых можно использовать в качестве программаторов, кончая всякими специальными программаторами под разные порты компьютера и разным функционалом. И все программы, предназначенные для прошивок контроллеров Атмега, узнают только этих ''специальных'', широкоизвестных программаторов. Самые частоупоминаемые из таких программ- Arduino IDE, Avrdude.
У меня в силу моей тупизны в вопросах программирования ничего подобного и близко не валялось и, чтобы экспериментировать со сдохшим микроконтроллером ЧПУ, приобретать я ничего не собирался. К тому же, не уверен что в радиусе 150км от меня есть место, где можно купить что-то свяазанное с Ардуино. Единственная штука у меня, что более менее подходит к категории ''программатор''- usb программатор TTL, I2C, SPI EEPROM/flash памятей на чипе CH341, которого иногда пользую для чтения/записи флеш-памяти разных угробленных неумелыми действиями прошивки не-заводскими прошивками устройств. И оказалось, что у этого программатора есть побочная функция- он может прошивать по ICSP. Но- такой программатор напрямую не узнает ни одна из вышеназванных программ прошивки Атмега.
К счастю во всем Гугле нашелся один человек, который сделал именно то, что мне требовалось- ''научил'' программу Avrdude работать с программатором на чипе CH341 для чтения записи микроконтроллеров Атмега. Линк на обсуждение: форум easyelectronics.ru (это не реклама этого форума!). Скачал отсюда программу Avrdude с графической оболочкой Avrdudess (ну не любитель коммандной строки я), подключил к usb связку "плата контроллера на Атмега 328P на программатор на CH341 через ISP'' и- о чудо! в Avrdudess самоопределился микроконтроллер Атмега 328P! Первым делом прочел память- там только что то одинаковое-повторяющееся одно и то же. Из всего этого я подтвердил свой вывод, что: во-первых- микроконтроллер скорее жив, чем мёртв; во-вторых- станок остановился, потому что по какой то причине слетела его программа grbl.
После прочтения памяти пробовал с помощю того же Avrdudess записать прошивку grbl 0.9 (отсюда) но что то не сраслось- в стадии проверки записанного всегда получил результат failed, то есть- содержание записанного не соответствует исходному файлу. Подумал- ну что-ж, не зря же этот микроконтроллер сдох, что то у него там внутрях стряслось. Но, т.к. после всего сделанного и узнанного уже страх что то сделать хуже, чем было, взял Arduino IDE, через нее стандартным образом через тот же ISP записал bootloader, и в конце через штатный usb с помощью прошивальщика Ардуино (Xloader) залил прошивку grbl 0.9.
Подключил плату обратно к станку и он ожил! Уже ради интереса таким же образом записал свежую grbl 1.1 но потом откатился обратно на 0.9 т.к. с версией 1.1 нормально не заработала программа для лазера LiteFire, которая шла в комплекте с станком.
Закругляя свою длинную историю- станок после вышеперечисленной реанимации без примечаный отработал уже пару часов и ничего не свидетельствует о каких то проблемах. Вопрос- что это было/от чего он потерял свою память? остаётся невыясненным. Возможно, что то ''проскачило'' по шине питания. Возможно всё-таки микроконтроллер с дефектом. Время покажет. От платы, высланной взамен, не отказался.
И главная мораль сей басни- есть возможность оживить микроконтроллер ЧПУ woodpecker для китайских 1610, 2418 и тому подобных, даже если кажется, что всё совсем плохо. Самое трудное (не для меня- я паяю уже 30 лет)- это подпаять провода к микроконтроллеру. И пара долларов для дешёвого программатора.
Удачи всем!
(Может пригодится и в случае неудачной прошивки контроллера)
История такая:
купил пару недель назад на алиекспресс станочек т.н. CNC 1610 с лазером 5.5вт и платой контроллера arduino/woodpecker с grbl 0.9j. Всё шло более-менее нормально, осваивал потихоньку grbl коды, программы и нюансы фрез и материалов, как вдруг, окончив прожиг лазером небольшой картинки, в процессе ухода обратно в ноль на полпути мой станок умер. Просто остановился и больше не реагирует на команды.
После непродолжительной проверки всего того, что можно проверить мултиметром (напряжения питания 5-12-24В) и компьютером (usb-serial CH340) единственным подозреваемым для меня остался процессор Atmega328P. Так как никакого опыта с такими микроконтроллерами не имею (ни разу не программист) естественно впал в уныние. Связался с продавцом и после непродолжительного обмена информацией он согласился, что плата контроллера дохлая, он посоветовать ничего толкового не может и высылает новую.
Про себя подумал- вариантов два: или процессор сгорел (Китай всё таки, хотя читал, что эти Атмеги почти неубиваемы) или что то случилось с прошивкой (что тоже не очень хорошо, т.к. в флеше всё должно храниться вечно). Но, т.к. плата всё равно ''в утиль'', решил погуглить- как же Атмеги/Ардуины прошиваются? Вариантов море, самое распостранённое- через имеющийся usb, но тогда микроконтроллер должен содержать т.н. bootloader иначе связи через usb не будет. Попробовал, используя программу Arduino IDE и статью из wiki- конечно, программа в конце usb кабеля ничего не видит. Был ли bootloader с завода/при покупке или нет- уже не узнать.
Чтобы прошить bootloader или любую прошивку, если нет связи по usb/в ''пустых'' микроконтроллерах, используется т.н. In-system programming, или программирование, не отключая чип от остальной схемы. В нормальных девайсах типа оригинальных Ардуино для этого есть специальный порт/гнездо/штеккер ICSP/ISP. На плате этих woodpecker-ов такого, естественно, никто не сделал. Поэтому пришлось с помощью интернета найти распиновку (datasheet) и подпаять тонкие проводочки напрямую к ножкам микроконтроллера (15-я-MOSI; 16-я MISO; 17-я SCK; 29-я Reset), плюс и минус 5в питания взял из шины внешних подключеный.
Ок, ISP порт теперь есть, но чем же прошивать? По нормальному- есть много разных программаторов именно для прошивки Ардуино, начиная от других Ардуино, которых можно использовать в качестве программаторов, кончая всякими специальными программаторами под разные порты компьютера и разным функционалом. И все программы, предназначенные для прошивок контроллеров Атмега, узнают только этих ''специальных'', широкоизвестных программаторов. Самые частоупоминаемые из таких программ- Arduino IDE, Avrdude.
У меня в силу моей тупизны в вопросах программирования ничего подобного и близко не валялось и, чтобы экспериментировать со сдохшим микроконтроллером ЧПУ, приобретать я ничего не собирался. К тому же, не уверен что в радиусе 150км от меня есть место, где можно купить что-то свяазанное с Ардуино. Единственная штука у меня, что более менее подходит к категории ''программатор''- usb программатор TTL, I2C, SPI EEPROM/flash памятей на чипе CH341, которого иногда пользую для чтения/записи флеш-памяти разных угробленных неумелыми действиями прошивки не-заводскими прошивками устройств. И оказалось, что у этого программатора есть побочная функция- он может прошивать по ICSP. Но- такой программатор напрямую не узнает ни одна из вышеназванных программ прошивки Атмега.
К счастю во всем Гугле нашелся один человек, который сделал именно то, что мне требовалось- ''научил'' программу Avrdude работать с программатором на чипе CH341 для чтения записи микроконтроллеров Атмега. Линк на обсуждение: форум easyelectronics.ru (это не реклама этого форума!). Скачал отсюда программу Avrdude с графической оболочкой Avrdudess (ну не любитель коммандной строки я), подключил к usb связку "плата контроллера на Атмега 328P на программатор на CH341 через ISP'' и- о чудо! в Avrdudess самоопределился микроконтроллер Атмега 328P! Первым делом прочел память- там только что то одинаковое-повторяющееся одно и то же. Из всего этого я подтвердил свой вывод, что: во-первых- микроконтроллер скорее жив, чем мёртв; во-вторых- станок остановился, потому что по какой то причине слетела его программа grbl.
После прочтения памяти пробовал с помощю того же Avrdudess записать прошивку grbl 0.9 (отсюда) но что то не сраслось- в стадии проверки записанного всегда получил результат failed, то есть- содержание записанного не соответствует исходному файлу. Подумал- ну что-ж, не зря же этот микроконтроллер сдох, что то у него там внутрях стряслось. Но, т.к. после всего сделанного и узнанного уже страх что то сделать хуже, чем было, взял Arduino IDE, через нее стандартным образом через тот же ISP записал bootloader, и в конце через штатный usb с помощью прошивальщика Ардуино (Xloader) залил прошивку grbl 0.9.
Подключил плату обратно к станку и он ожил! Уже ради интереса таким же образом записал свежую grbl 1.1 но потом откатился обратно на 0.9 т.к. с версией 1.1 нормально не заработала программа для лазера LiteFire, которая шла в комплекте с станком.
Закругляя свою длинную историю- станок после вышеперечисленной реанимации без примечаный отработал уже пару часов и ничего не свидетельствует о каких то проблемах. Вопрос- что это было/от чего он потерял свою память? остаётся невыясненным. Возможно, что то ''проскачило'' по шине питания. Возможно всё-таки микроконтроллер с дефектом. Время покажет. От платы, высланной взамен, не отказался.
И главная мораль сей басни- есть возможность оживить микроконтроллер ЧПУ woodpecker для китайских 1610, 2418 и тому подобных, даже если кажется, что всё совсем плохо. Самое трудное (не для меня- я паяю уже 30 лет)- это подпаять провода к микроконтроллеру. И пара долларов для дешёвого программатора.
Удачи всем!
-
sas_75
- Мастер
- Сообщения: 463
- Зарегистрирован: 10 мар 2015, 11:03
- Репутация: 115
- Настоящее имя: Сергей
- Откуда: Владивосток
- Контактная информация:
Re: How-to реанимировать плату woodpecker для китайских ЧПУ
Возможно просело питание в какой-то момент, а супервайзер не отработал.
-
peratron
- Мастер
- Сообщения: 605
- Зарегистрирован: 05 фев 2017, 07:43
- Репутация: 36
- Настоящее имя: Eugene
- Контактная информация:
Re: How-to реанимировать плату woodpecker для китайских ЧПУ
Нет у него бутлоадера - надо вгружать самому.@lice писал(а):Был ли bootloader с завода/при покупке или нет- уже не узнать.
Все эти ноги можно достать дюпонами на штатной гребёнке - надо только проследить разводку.@lice писал(а):Поэтому пришлось с помощью интернета найти распиновку (datasheet) и подпаять тонкие проводочки напрямую к ножкам микроконтроллера (15-я-MOSI; 16-я MISO; 17-я SCK; 29-я Reset), плюс и минус 5в питания взял из шины внешних подключеный.
Впрочем, в сети есть инфа и для такого случая - ищущий да обрящет.
Для большинства ардуиноводов известен вариант превращения ардуины в программатор.@lice писал(а): Ок, ISP порт теперь есть, но чем же прошивать?
-
@lice
- Опытный
- Сообщения: 167
- Зарегистрирован: 11 сен 2017, 20:52
- Репутация: 6
- Настоящее имя: Aldis
- Контактная информация:
Re: How-to реанимировать плату woodpecker для китайских ЧПУ
Если не трудно- покажите то место в сети, где есть такая инфа. Как раз искал такую- не нашел.peratron писал(а):Все эти ноги можно достать дюпонами на штатной гребёнке - надо только проследить разводку.
Впрочем, в сети есть инфа и для такого случая - ищущий да обрящет.
После вашего ответа взял тестер и померил ножки на гребёнку- не подключены там все ноги. Так что без пайки никак.
Я уже писал- во-первых, не ардуиновод ни разу, поэтому никаких запасных Ардуинов не валяется, во-вторых- речь в моем посте о том, как можно использовать то, что под рукой, не покупая новых устройств.peratron писал(а):Для большинства ардуиноводов известен вариант превращения ардуины в программатор.
Хмм. А как же люди обновляются на свежую версию grbl через Хloader и usb, если ни у кого нет bootloader-а???peratron писал(а):Нет у него бутлоадера - надо вгружать самому.
-
@lice
- Опытный
- Сообщения: 167
- Зарегистрирован: 11 сен 2017, 20:52
- Репутация: 6
- Настоящее имя: Aldis
- Контактная информация:
Re: How-to реанимировать плату woodpecker для китайских ЧПУ
Так бывает/это нормально, что от нестабильного питания у этих Атмег стирается память?sas_75 писал(а):Возможно просело питание в какой-то момент, а супервайзер не отработал.
-
peratron
- Мастер
- Сообщения: 605
- Зарегистрирован: 05 фев 2017, 07:43
- Репутация: 36
- Настоящее имя: Eugene
- Контактная информация:
Re: How-to реанимировать плату woodpecker для китайских ЧПУ
Не далее, чем вчера именно такой пост попался на глаза. Но в силу невостребованности по моим текущим задачам, на ссылку его не брал.@lice писал(а): Если не трудно- покажите то место в сети, где есть такая инфа. Как раз искал такую- не нашел.
Ищу гуглем - так, что попробуйте отыскать именно им...
ЗЫ: можно просто прозвонить гребенку по ногам. Причём, для начальной ориентировки взять распиновку ардуино нано, клоном которого дятел является...
-
@lice
- Опытный
- Сообщения: 167
- Зарегистрирован: 11 сен 2017, 20:52
- Репутация: 6
- Настоящее имя: Aldis
- Контактная информация:
Re: How-to реанимировать плату woodpecker для китайских ЧПУ
Кажется, бы совсем не читаете что я пишу-peratron писал(а):ЗЫ: можно просто прозвонить гребенку по ногам. Причём, для начальной ориентировки взять распиновку ардуино нано, клоном которого дятел является...
Схема оригинального Ардуино достаточно далека от woodpecker, брать его за основу нельзя.@lice писал(а):После вашего ответа взял тестер и померил ножки на гребёнку- не подключены там все ноги. Так что без пайки никак.
Ищу гуглем (что, кстати, пару раз упоминал в своем первом посте).
-
peratron
- Мастер
- Сообщения: 605
- Зарегистрирован: 05 фев 2017, 07:43
- Репутация: 36
- Настоящее имя: Eugene
- Контактная информация:
Re: How-to реанимировать плату woodpecker для китайских ЧПУ
Ноги не подключены - а оно как-то работает?!@lice писал(а):После вашего ответа взял тестер и померил ножки на гребёнку- не подключены там все ноги
Ну-ну...
-
peratron
- Мастер
- Сообщения: 605
- Зарегистрирован: 05 фев 2017, 07:43
- Репутация: 36
- Настоящее имя: Eugene
- Контактная информация:
Re: How-to реанимировать плату woodpecker для китайских ЧПУ
Схема дятла есть ничто иное, как клон ардуино нано с сответствующим шилдом и набортным DC-конвертером - просто всё это хозяйство интегрировано в одну плату с сохранением функционала именно этой версии.@lice писал(а):Схема оригинального Ардуино достаточно далека от woodpecker, брать его за основу нельзя.
Потому оно работает с штатным софтом...
-
@lice
- Опытный
- Сообщения: 167
- Зарегистрирован: 11 сен 2017, 20:52
- Репутация: 6
- Настоящее имя: Aldis
- Контактная информация:
Re: How-to реанимировать плату woodpecker для китайских ЧПУ
Мне наверное будет трудно вам обяснить, но сигналы MISO и MOSI не нужны для функционирования контроллера от слова совсем.peratron писал(а):Ноги не подключены - а оно как-то работает?!
Ну-ну...
Не хочется с вами спорить, но что же в схеме дятла общее с оригинальной схемой Ардуино Нано, кроме микроконтроллера Атмега 328Р и его обвязки?peratron писал(а):Схема дятла есть ничто иное, как клон ардуино нано
Использовать в качестве образца распиновки гребёнки woodpecker гребёнку оригинального Ардуино Нано нельзя. Нет, вернее- можно, возможно всего один раз. И я такими экспериментами с электроникой, основанные на ''авось'' незанимаюсь.
Если у вашего woopecker-a все ноги совпадают с Ардуино- я рад, что вам повезло. У меня совпадают только частично, поэтому брать что-то за образец нельзя.
-
@lice
- Опытный
- Сообщения: 167
- Зарегистрирован: 11 сен 2017, 20:52
- Репутация: 6
- Настоящее имя: Aldis
- Контактная информация:
Re: How-to реанимировать плату woodpecker для китайских ЧПУ
GRUserman, спасибо, читал это. Но, как уже писал- у моего контроллера не все нужные ноги Атмеги выведены на гребёнку.
-
Lecter
- Кандидат
- Сообщения: 96
- Зарегистрирован: 05 окт 2017, 10:10
- Репутация: 2
- Настоящее имя: Денис
- Контактная информация:
Re: How-to реанимировать плату woodpecker для китайских ЧПУ
Подтверждаю, MISO или MOSI точно не выведено на гребенку, какой-то из них, не помню. Прозванивал. Остальное выведено
-
@lice
- Опытный
- Сообщения: 167
- Зарегистрирован: 11 сен 2017, 20:52
- Репутация: 6
- Настоящее имя: Aldis
- Контактная информация:
Re: How-to реанимировать плату woodpecker для китайских ЧПУ
Да, так оно и есть. Поэтому сильно удивляюсь, как можно прошиться, используя только те пины, что на гребёнке.Lecter писал(а):Подтверждаю, MISO или MOSI точно не выведено на гребенку, какой-то из них, не помню. Прозванивал. Остальное выведено
Добавлю сюда инфу с другой ветки про то, как товарищу удалось успешно прошиться через usb (то есть- используя загрузчик в Атмеге) после того, как внезапно слетела прошивка:
Отсюдаarkadiy2 писал(а):Всем спасибо ОГРОМНОЕ ! Все получилось через Xloader ( только перед тем как нажать аплоад на компе надо нажать кнопку ресет на плате контроллера и держать нажатой , потом на компе нажать кнопку аплоад и только после того как на на экране появится надпись АПЛОУДИНГ отпустить кнопку ресет на плате контроллера и ждать пока не появится 30492 бутес аплоудед -ПОРЯДОК ОЧЕНЬ ВАЖЕН !!!!!!!!!!!!!!! ) ! Все заработало и прошивка теперь 1.1F ! Еще раз ВСЕМ ОГРОМНОЕ СПАСИБО !!!!!!!!!!!!!!!!! УРАААААААААААААААААААААААААААААААААААААААААААААААААА!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
-
AVK74
- Почётный участник

- Сообщения: 1854
- Зарегистрирован: 02 июл 2013, 09:03
- Репутация: 335
- Откуда: Уфа
- Контактная информация:
Re: How-to реанимировать плату woodpecker для китайских ЧПУ
Вот самый простой в мире программатор AVR
http://easyelectronics.ru/avr-shag-perv ... mator.html
Можно навесным монтажом собрать прямо в разъем.
http://easyelectronics.ru/avr-shag-perv ... mator.html
Можно навесным монтажом собрать прямо в разъем.
-
@lice
- Опытный
- Сообщения: 167
- Зарегистрирован: 11 сен 2017, 20:52
- Репутация: 6
- Настоящее имя: Aldis
- Контактная информация:
Re: How-to реанимировать плату woodpecker для китайских ЧПУ
Решение интересное, но собрать специально для этого "программатора" для гарантированной работоспособности "из подручного хлама что то вроде PIII 800/Windows’98" с нативным сом портом- удовольствие ниже среднегоAVK74 писал(а):Вот самый простой в мире программатор AVR
-
nemes13
- Кандидат
- Сообщения: 69
- Зарегистрирован: 16 ноя 2017, 18:55
- Репутация: 1
- Настоящее имя: Сергей
- Контактная информация:
Re: How-to реанимировать плату woodpecker для китайских ЧПУ
To @lice
По случаю удалось найти такой программатор.
Подскажите смогу ли я по вашему способу перепрошить плату "дятла" с помощью него?
По случаю удалось найти такой программатор.
Подскажите смогу ли я по вашему способу перепрошить плату "дятла" с помощью него?
-
@lice
- Опытный
- Сообщения: 167
- Зарегистрирован: 11 сен 2017, 20:52
- Репутация: 6
- Настоящее имя: Aldis
- Контактная информация:
Re: How-to реанимировать плату woodpecker для китайских ЧПУ
У меня точно такой же, так что уверен, что да.
-
nemes13
- Кандидат
- Сообщения: 69
- Зарегистрирован: 16 ноя 2017, 18:55
- Репутация: 1
- Настоящее имя: Сергей
- Контактная информация:
Re: How-to реанимировать плату woodpecker для китайских ЧПУ
Просто немного смутило, что СН341А и сигналы mosi, miso, + 5v, gnd нашел на гребенке, а как быть с reset и sck?
-
@lice
- Опытный
- Сообщения: 167
- Зарегистрирован: 11 сен 2017, 20:52
- Репутация: 6
- Настоящее имя: Aldis
- Контактная информация:
Re: How-to реанимировать плату woodpecker для китайских ЧПУ
sck=clk, reset=cs