Термистор перестает считывать температуру через несколько секунд. (Marlin 1.1.8, Tronxy X5s stock Melzi board)
Думаю, будет лучше, если я объясню, в чем заключается моя проблема, прежде чем объясню, как я сюда попал. У меня есть Tronxy x5s со стоковой платой, которую я ремонтирую ради ремонта, хотя я знаю, что, вероятно, мне просто нужно купить новую плату. Таков принцип этой штуки.
- Термистор экструдера точно считывает показания в течение нескольких секунд, а затем дает отрицательное значение, как если бы он был отключен.
- Я знаю, что это то же самое чтение отключенного термистора, потому что когда вы отключаете экструдер или термистор слоя от известного хорошего порта, он дает то же самое отрицательное чтение.
- Он не прикреплен к оригинальному штифту. Он прикреплен к новому контакту, на который я его переместил. Я отрезал старый штифт от порта термистора и припаял новый штифт к следам порта. Затем я изменил pin в конфигурационном файле, и он некоторое время работает.
- Электроника грязная, но добротная; Я использовал свой вольтметр для проверки подключения и напряжения.
- Термистор работает; он читает чуть больше 100 Ком в моем горячем гараже, и температура меняется после того, как я кладу его в руку на несколько минут. Но это изменение температуры регистрируется только, как объяснено в остальном, в течение нескольких секунд.
- Я уверен, что где-то в прошивке есть конфигурация, которую я упускаю, которая приводит к тому, что этот pin либо "выключается", либо перестает использоваться через несколько секунд.
Более широкий контекст:
Принтер отлично работал в течение нескольких месяцев, но однажды термистор экструдера закоротился так сильно, что аналого-цифровой вывод на Arduino, питающий плату Melzi, был безвозвратно поврежден. Показания температуры неизменно оставались на уровне 260 °C, даже когда он был отключен.
Я хотел придумать решение для ремонта, а не заменять плату (хотя у меня все равно есть планы сделать это), поэтому я скачал таблицу данных для Arduino Mega 1248P и поискал другие контакты АЦП, которые я мог бы использовать. Я обнаружил, что АЦП Pin0 не используется на плате, поэтому решил изолировать старый вывод (АЦП Pin 7), припаять трассировку к новому выводу и изменить прошивку, чтобы отразить новый вывод.
Затем я изменил вывод, используемый для считывания термистора экструдера в конфигурационном файле Pins_SANGUINOLOLU_11.h
(старая плата Melzi для Tronxy X5s-это Sanguino):
// Датчики температуры
//
#define TEMP_0_PIN 7 // Аналоговый вход (вывод 33))
#define TEMP_BED_PIN 6 // Аналоговый вход (вывод 34))
Изменено на
// Датчики температуры
//
#define TEMP_0_PIN 0 // Аналоговый вход (pin xx экструдер)
#define TEMP_BED_PIN 6 // Аналоговый вход (вывод 34))
Я не знал, что такое "pin 33", поэтому просто вставил xx в комментарий.
Во всяком случае, мое оборудование было хорошим, и мое программное обеспечение было предположительно хорошим, поэтому я прошил новую прошивку, подключил ее и включил:
Ура! Но через несколько секунд...
Бу. Он перестает работать.
Я уверен, что мои соединения прочны: я проверил подключение и напряжение. Как новый порт, так и порт термистора теплового стола получают 4,97 вольта, поэтому это не падение напряжения. Это что-то в Arduino.
Есть идеи?
@Giandroid, 👍6
Обсуждение2 ответа
Тепловое расширение где-то открывает связь. Возможно, это не одна из ваших припоев, но если вы закоротили плату настолько сильно, что зажарили контакты, она могла приготовить что-то в другом месте, и пропускание тока через нее нагревает место достаточно сильно, чтобы разорвать соединение. Либо где-то еще в/на плате, либо внутри самой микросхемы.
У меня возникла та же проблема, поэтому в прошивке вместо того, чтобы перейти на пустой штифт, я поменял местами штифты 6 и 7, чтобы температура сопла считывалась с штекера температуры стола на плате. Теперь температура сопла правильно читается, я пошел в конфигурации.h линия 291 и изменил 1 на 999 и на линии 295 я изменил значение на 60 теперь температура стола всегда будет 60, так что до тех пор, пока мои настройки печати совпадают, он никогда не будет включать тепловой стол и позволять машине печатать. Теперь я буду использовать NodeMCU ESP8266 для считывания температуры и управления МОП-транзистором для теплового слоя.
- Проблема датчика температуры Marlin
- Как использовать обозначения MEGA pin number вместо номеров RAMPS pin в marlin
- Шаговые двигатели не работают при подключении к RAMPS 1.4
- Настройка MKS_GEN_L V1.0
- Странное считывание температуры с помощью термистора на аналоговых выводах MKS GEN L v1.0 AUX-2
- Изменить вход термистора hotend в Marlin
- Термальный побег со специфическими отпечатками
- Как получить доступ к Configuration.h?
Старый контакт все еще подключен к следу? И каков же выход этого контакта?, @0scar
у вас есть возможность протестировать еще один термистор? Или просто подключите резистор 100k, чтобы убедиться, что термистор работает правильно., @profesor79
Старый контакт был тщательно изолирован от следа. Когда я меняю его обратно на pin 7, я получаю показания 260 °C, даже если абсолютно все отключено. Контакт определенно закорочен., @Giandroid
О да, и я получаю ту же проблему, когда я меняю на другой термистор. Насколько я могу судить, это не термистор., @Giandroid
так что, похоже, чип ARM просит замену., @profesor79
Надеюсь, мне это не понадобится. В таком случае я могу заменить всю плату. Где я могу получить чип ARM в одиночку?, @Giandroid