Кремень А Реклама
Кремень АМ Реклама

Как я не-сломал и не-починил принтер с ошибкой MAXTEMP

spc
Идет загрузка
Загрузка
02.09.2023
2504
25
Техничка

Подпишитесь на автора

Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.

Отписаться от уведомлений вы всегда сможете в профиле автора.

15

Как я не-сломал и не-починил принтер с ошибкой MAXTEMP

Эта полная трагизма история основана на реальном идиотизме, за который мне должно было бы быть стыдно, но на самом деле не очень. Началось все с того, что в один прекрасный день я заметил еще более ужасающее качество печати, чем обычно, а приглядевшись к термоблоку обнаружил сверху наплыв пластика. То есть, мой термоблок решил разуплотниться и его надо было перебрать или заменить.

Вытекшего пластика было много, был серьезно залит термистор, но я решил, что почищу и поставлю обратно. Тем более, что этот термистор служит мне с самой покупки принтера Tronxy P802 в 2015 году и пережил не одну такую процедуру. Ну, кроме тотального залития пластиком.

Как мы помним, финальная стадия сборки хотенда - затяжка соединений в нагретом состоянии. Вот здесь и случилась трагедия. Вскоре после включения нагрева хотенда на дисплее появилась ошибка MAXTEMP с значением температуры 745 и, собственно, все.

Понятно, конечно, что дело было в термисторе: меня с самой покупки смущала система крепления, когда пытаешься прижать его тонюсенькие выводы в скользкой изоляции обычным винтом. Здесь и ежу ясно, что до КЗ недалеко. А раз недалеко, то оно и случилось, что подтвердил визуальный осмотр. Так что это не было неожиданностью, но и приятного мало.

Однако у меня в запасе были заранее купленные термисторы, поэтому я достал один, прикрутил его, прижав шайбой М3, из под которой, кстати, выводы не выскальзывают и снова включил принтер. И снова получил ошибку MAXTEMP с той же температурой 745.

Здесь я совершил главную ошибку. Я подумал, что раз термодатчик новый и прикручен условно травмобезопасным способом (с шайбой), то проблема теперь однозначно в контроллере, который мог погибнуть из за замыкания его входа куда-нибудь, куда не надо. А про куда не надо интернет подсказывал, что это могло быть 12В от нагрева хотэнда.

TL;DR: контроллер был исправен, КЗ случилось с новым термистором, но до того, как я это понял, почти успел перейти на новый вход АЦП и перепрошить принтер. Проверять надо все и вся, даже то, в чем уверен на 100500%. Мультиметров лучше иметь три, чтобы сравнивать показания мажоритарным методом (шутка).

В общем, приняв за рабочую версию неисправность контроллера, я стал искать методы решения, которых (не считая покупки принтера) нашлось ровно три штуки:

1) Купить новую плату

2) Перепаять контроллер

3) Подключить термистор к свободному (если есть) исправному входу контроллера.

Сразу покупать новую плату показалось дорого, менять контроллер - тоже неразумно дорого с учетом стоимости контроллера и трудоемкости замены (у меня только старенькая китайская паяльная станция без фена). 

Оставалось попробовать переключиться на свободный вход АЦП контроллера и поправить прошивку, чтобы контроллер знал, где брать температуру. Этот вариант подходил также потому, что однажды я уже перепрошил принтер и надеялся, что смогу это сделать еще раз.

Однако тут выяснилось, что беглым гуглением не получается найти, какой именно вход свободен. Парадокс, но всем, очевидно, кажется, это настолько банальным, что ограничиваются "перекинь на свободный". Так что пришлось искать свободный самостоятельно (хотя, наверное, мог бы еще погуглить, не знаю).

Плата у меня Melzi, прошивка Marlin.

Как я не-сломал и не-починил принтер с ошибкой MAXTEMP

В понимании конструкции принтера очень помогли найденные у соседей схема и рисунок платы Melzi, используемой в моем принтере.

Как я не-сломал и не-починил принтер с ошибкой MAXTEMP

Из схемы я вынес, что у меня есть целых 4 условно свободных аналоговых входа с АЦП, а на рисунке платы выяснил, что они разведены на отдельный разъем, так что не надо даже мудрить с пайкой около контроллера. Последнему я очень радовался, но недолго - ровно до того момента, когда посмотрев на принтер понял, что к этому разъему у меня подключен шлейф дисплея.

Как я не-сломал и не-починил принтер с ошибкой MAXTEMP

Но время было позднее, голова работала еще хуже, чем обычно, поэтому я решил снять дисплей, чтобы посмотреть, все ли контакты разъема используются. Прозвонив тестером выяснил, что из 4 условно свободных входов АЦП используется ровно один - для кнопок, а еще три свободны.

Результаты прозвонки получились такие (могут не совпадать с вашими, если вам понадобится, очень рекомендую проверить):

Как я не-сломал и не-починил принтер с ошибкой MAXTEMP

На рисунке обозначения разъема со стороны дисплея. Заняты RX1, TX1, SCL, SDA, A1. Свободны A2, A3, A4.

Так что следующим ходом я перерезал на плате дорожку от разъема термистора к контроллеру, потому что планировал подключаться на старый разъем, и соединил выход термистора со свободным входом АЦП отдельным проводом.

Как я не-сломал и не-починил принтер с ошибкой MAXTEMP

Теперь оставались две вещи: поправить назначение пинов в конфигурации прошивки (сделал за пару минут в pins.h) и перепрошить контроллер. С последним вышла проблема. Хотя я установил поддержку Sanguino, выбрал все, что нужно, понизил версию платформы Arduino до 1.6.11 (иначе компиляция с ошибками) и раз пять проверил правильность соединений SPI, не выходило ровным счетом ничего. Ни загрузчик залить (в принципе не нужно, но мне хоть что-то хотелось сделать), ни прошивку.

Для справки: использовал Arduino Mega как программатор, конденсатор ей между GND и Reset поставил, перемычку на плате принтера на питание через USB поставил. Программатор говорил, что получает неправильный идентификатор контроллера (или нули или, наоборот f).

Через USB загрузить прошивку тоже не выходило. Это меня совсем сильно огорчило, так как я понял, что второй раз, очевидно, принтер прошить не смогу и следующая поломка такого типа станет последней.

В общем, с тоски я взял и включил принтер просто так, с висящим в воздухе, напоминаю, входом АЦП, который я считал неисправным. И внезапно увидел на дисплее не ошибку MAXTEMP, а температуру 11 градусов. Тут я осторожно предположил, что, может, вход контроллера целый.

И совершил вторую ошибку. Я снова не подверг сомнению исправность цепи термистора, а решил, что, вероятно из-за КЗ вышел из строя конденсатор и (или) резистор в обвязке термистора, хотя выглядели они не хуже новых. Проверить их без демонтажа мне показалось не очень надежным методом, а выпаять их аккуратно без фена я не мог. Поэтому решил собрать аналог этой цепи на макетной плате (конденсатор и резистор нужного номинала были).

Как я не-сломал и не-починил принтер с ошибкой MAXTEMP

Собрал, подключил и снова увидел ошибку MAXTEMP, но когда на всякий случай пошевелил детали, то заметил, что показания меняются. Это снова навело на мысль, что, наверное, вход АЦП контроллера скорее жив. 

В общем, только на этом месте мне пришло в голову измерить сопротивление нового термистора, напомню, закрепленного на термоблоке под шайбой. И сопротивление оказалось нулевым. Я глазам своим не поверил. Но взял себя в руки, снял термистор и внимательно рассмотрел его. А там примерно вот такое:

Как я не-сломал и не-починил принтер с ошибкой MAXTEMP

Если честно, то я впервые так тщательно рассматривал термистор. До этого момента мне в голову не приходило, что все так плохо. Иными словами, я гораздо выше ставил тех, кто придумывает и делает 3D-принтеры. А здесь увидел, что у нас в исходнике есть термистор с неизолированными проволочными выводами, на которые надет термостойкий кембрик, имеющий тенденцию соскальзывать и оголять те самые проволочные выводы.

Короче, развел выводы подальше в стороны, убедился, что сопротивление при измерении на штекере стало в районе 100 кОм, подключил к плате и...

Как я не-сломал и не-починил принтер с ошибкой MAXTEMP...ошибки нет, температура в норме. То есть, я чуть было уложил свой принтер до конца, просто потому, что сразу не смог правильно определить причину элементарной неисправности, которая была в замыкании на термисторе.

Резюме этой летописи моего пикирующего идиотизма такое. Проверять надо все подряд, и в первую очередь то, что сомнений не вызывает. 

А еще, так как я, считай, впервые с покупки перевернул плату, то несколько огорчился, увидев потемневший текстолит под местом установки драйвера экструдера. А так как драйверы здесь не в колодках, а припаяны, возникает ощущение, что плату все равно придется менять.

PS. Я понимаю, у многих более опытных товарищей возникнет желание посоветовать мне бросить и печать, и электронику даже на том уровне, на котором я ими занимаюсь, потому что это не мое. Но нет, пока не брошу, извините.

Подпишитесь на автора

Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.

Отписаться от уведомлений вы всегда сможете в профиле автора.

15
Комментарии к статье