Страница 1 из 3

How-to реанимировать плату woodpecker для китайских ЧПУ

Добавлено: 28 сен 2017, 15:32
@lice
Удачная перепрошивка внезапно ''умершего'' микроконтроллера 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 лет)- это подпаять провода к микроконтроллеру. И пара долларов для дешёвого программатора.

Удачи всем!

Re: How-to реанимировать плату woodpecker для китайских ЧПУ

Добавлено: 28 сен 2017, 17:06
sas_75
Возможно просело питание в какой-то момент, а супервайзер не отработал.

Re: How-to реанимировать плату woodpecker для китайских ЧПУ

Добавлено: 28 сен 2017, 17:32
peratron
@lice писал(а):Был ли bootloader с завода/при покупке или нет- уже не узнать.
Нет у него бутлоадера - надо вгружать самому.
@lice писал(а):Поэтому пришлось с помощью интернета найти распиновку (datasheet) и подпаять тонкие проводочки напрямую к ножкам микроконтроллера (15-я-MOSI; 16-я MISO; 17-я SCK; 29-я Reset), плюс и минус 5в питания взял из шины внешних подключеный.
Все эти ноги можно достать дюпонами на штатной гребёнке - надо только проследить разводку.
Впрочем, в сети есть инфа и для такого случая - ищущий да обрящет.
@lice писал(а): Ок, ISP порт теперь есть, но чем же прошивать?
Для большинства ардуиноводов известен вариант превращения ардуины в программатор.

Re: How-to реанимировать плату woodpecker для китайских ЧПУ

Добавлено: 29 сен 2017, 09:06
@lice
peratron писал(а):Все эти ноги можно достать дюпонами на штатной гребёнке - надо только проследить разводку.
Впрочем, в сети есть инфа и для такого случая - ищущий да обрящет.
Если не трудно- покажите то место в сети, где есть такая инфа. Как раз искал такую- не нашел.
После вашего ответа взял тестер и померил ножки на гребёнку- не подключены там все ноги. Так что без пайки никак.
peratron писал(а):Для большинства ардуиноводов известен вариант превращения ардуины в программатор.
Я уже писал- во-первых, не ардуиновод ни разу, поэтому никаких запасных Ардуинов не валяется, во-вторых- речь в моем посте о том, как можно использовать то, что под рукой, не покупая новых устройств.
peratron писал(а):Нет у него бутлоадера - надо вгружать самому.
Хмм. А как же люди обновляются на свежую версию grbl через Хloader и usb, если ни у кого нет bootloader-а???

Re: How-to реанимировать плату woodpecker для китайских ЧПУ

Добавлено: 29 сен 2017, 09:14
@lice
sas_75 писал(а):Возможно просело питание в какой-то момент, а супервайзер не отработал.
Так бывает/это нормально, что от нестабильного питания у этих Атмег стирается память?

Re: How-to реанимировать плату woodpecker для китайских ЧПУ

Добавлено: 29 сен 2017, 09:31
peratron
@lice писал(а): Если не трудно- покажите то место в сети, где есть такая инфа. Как раз искал такую- не нашел.
Не далее, чем вчера именно такой пост попался на глаза. Но в силу невостребованности по моим текущим задачам, на ссылку его не брал.
Ищу гуглем - так, что попробуйте отыскать именно им...

ЗЫ: можно просто прозвонить гребенку по ногам. Причём, для начальной ориентировки взять распиновку ардуино нано, клоном которого дятел является...

Re: How-to реанимировать плату woodpecker для китайских ЧПУ

Добавлено: 29 сен 2017, 09:46
@lice
peratron писал(а):ЗЫ: можно просто прозвонить гребенку по ногам. Причём, для начальной ориентировки взять распиновку ардуино нано, клоном которого дятел является...
Кажется, бы совсем не читаете что я пишу-
@lice писал(а):После вашего ответа взял тестер и померил ножки на гребёнку- не подключены там все ноги. Так что без пайки никак.
Схема оригинального Ардуино достаточно далека от woodpecker, брать его за основу нельзя.
Ищу гуглем (что, кстати, пару раз упоминал в своем первом посте).

Re: How-to реанимировать плату woodpecker для китайских ЧПУ

Добавлено: 29 сен 2017, 10:32
peratron
@lice писал(а):После вашего ответа взял тестер и померил ножки на гребёнку- не подключены там все ноги
Ноги не подключены - а оно как-то работает?!
Ну-ну...

Re: How-to реанимировать плату woodpecker для китайских ЧПУ

Добавлено: 29 сен 2017, 10:38
peratron
@lice писал(а):Схема оригинального Ардуино достаточно далека от woodpecker, брать его за основу нельзя.
Схема дятла есть ничто иное, как клон ардуино нано с сответствующим шилдом и набортным DC-конвертером - просто всё это хозяйство интегрировано в одну плату с сохранением функционала именно этой версии.
Потому оно работает с штатным софтом...

Re: How-to реанимировать плату woodpecker для китайских ЧПУ

Добавлено: 29 сен 2017, 11:48
@lice
peratron писал(а):Ноги не подключены - а оно как-то работает?!
Ну-ну...
Мне наверное будет трудно вам обяснить, но сигналы MISO и MOSI не нужны для функционирования контроллера от слова совсем.
peratron писал(а):Схема дятла есть ничто иное, как клон ардуино нано
Не хочется с вами спорить, но что же в схеме дятла общее с оригинальной схемой Ардуино Нано, кроме микроконтроллера Атмега 328Р и его обвязки?
Использовать в качестве образца распиновки гребёнки woodpecker гребёнку оригинального Ардуино Нано нельзя. Нет, вернее- можно, возможно всего один раз. И я такими экспериментами с электроникой, основанные на ''авось'' незанимаюсь.
Если у вашего woopecker-a все ноги совпадают с Ардуино- я рад, что вам повезло. У меня совпадают только частично, поэтому брать что-то за образец нельзя.

Re: How-to реанимировать плату woodpecker для китайских ЧПУ

Добавлено: 29 сен 2017, 12:25
GRUserman
14-ое сообщение здесь
http://www.cnc-club.ru/forum/viewtopic. ... 47&t=16449
без пайки

Re: How-to реанимировать плату woodpecker для китайских ЧПУ

Добавлено: 29 сен 2017, 13:08
@lice
GRUserman, спасибо, читал это. Но, как уже писал- у моего контроллера не все нужные ноги Атмеги выведены на гребёнку.

Re: How-to реанимировать плату woodpecker для китайских ЧПУ

Добавлено: 04 ноя 2017, 22:53
Lecter
Подтверждаю, MISO или MOSI точно не выведено на гребенку, какой-то из них, не помню. Прозванивал. Остальное выведено

Re: How-to реанимировать плату woodpecker для китайских ЧПУ

Добавлено: 05 ноя 2017, 00:33
@lice
Lecter писал(а):Подтверждаю, MISO или MOSI точно не выведено на гребенку, какой-то из них, не помню. Прозванивал. Остальное выведено
Да, так оно и есть. Поэтому сильно удивляюсь, как можно прошиться, используя только те пины, что на гребёнке. :thinking:

Добавлю сюда инфу с другой ветки про то, как товарищу удалось успешно прошиться через usb (то есть- используя загрузчик в Атмеге) после того, как внезапно слетела прошивка:
arkadiy2 писал(а):Всем спасибо ОГРОМНОЕ ! Все получилось через Xloader ( только перед тем как нажать аплоад на компе надо нажать кнопку ресет на плате контроллера и держать нажатой , потом на компе нажать кнопку аплоад и только после того как на на экране появится надпись АПЛОУДИНГ отпустить кнопку ресет на плате контроллера и ждать пока не появится 30492 бутес аплоудед -ПОРЯДОК ОЧЕНЬ ВАЖЕН !!!!!!!!!!!!!!! ) ! Все заработало и прошивка теперь 1.1F ! Еще раз ВСЕМ ОГРОМНОЕ СПАСИБО !!!!!!!!!!!!!!!!! УРАААААААААААААААААААААААААААААААААААААААААААААААААА!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Отсюда

Re: How-to реанимировать плату woodpecker для китайских ЧПУ

Добавлено: 05 ноя 2017, 07:09
AVK74
Вот самый простой в мире программатор AVR
http://easyelectronics.ru/avr-shag-perv ... mator.html
Можно навесным монтажом собрать прямо в разъем.

Re: How-to реанимировать плату woodpecker для китайских ЧПУ

Добавлено: 05 ноя 2017, 11:04
@lice
AVK74 писал(а):Вот самый простой в мире программатор AVR
Решение интересное, но собрать специально для этого "программатора" для гарантированной работоспособности "из подручного хлама что то вроде PIII 800/Windows’98" с нативным сом портом- удовольствие ниже среднего :hehehe:

Re: How-to реанимировать плату woodpecker для китайских ЧПУ

Добавлено: 07 дек 2017, 21:21
nemes13
To @lice
По случаю удалось найти такой программатор.
Подскажите смогу ли я по вашему способу перепрошить плату "дятла" с помощью него?

Re: How-to реанимировать плату woodpecker для китайских ЧПУ

Добавлено: 07 дек 2017, 21:42
@lice
У меня точно такой же, так что уверен, что да.

Re: How-to реанимировать плату woodpecker для китайских ЧПУ

Добавлено: 07 дек 2017, 21:57
nemes13
Просто немного смутило, что СН341А и сигналы mosi, miso, + 5v, gnd нашел на гребенке, а как быть с reset и sck?

Re: How-to реанимировать плату woodpecker для китайских ЧПУ

Добавлено: 07 дек 2017, 22:40
@lice
sck=clk, reset=cs