我认为最好先说明我的问题是什么,然后再解释我是如何到达这里的。我有一个 Tronxy x5s 和一个股票板,我正在修理它是为了修理,尽管我知道我可能应该为新板弹簧。这是事情的原理。
- 挤出机热敏电阻准确读数几秒钟,然后给出一个负读数,就好像它已被拔掉一样。
- 我知道这与未插入热敏电阻的读数相同,因为当您从已知良好的端口拔下挤出机或床热敏电阻时,它会给出相同的负读数。
- 它没有连接到原始引脚。它连接到我将它移到的新别针上。我从热敏电阻端口上切下旧引脚,并将新引脚焊接到端口的走线上。然后我更改了配置文件中的引脚,它工作了一段时间。
- 电子设备杂乱但声音良好;我用我的电压表来验证连通性和电压。
- 热敏电阻工作;它在我炎热的车库中读数略高于 100kΩ,并且在我将其放在手中几分钟后温度会发生变化。但是,正如其余部分所述,这种温度变化只会记录几秒钟。
- 我确定固件中某处有一个配置我遗漏了,这会导致该引脚在几秒钟后“关闭”或不再使用。
更大的背景:
打印机工作了好几个月,但有一天挤出机热敏电阻严重短路,以至于为 Melzi 板供电的 Arduino 上的模拟到数字引脚永久损坏。即使拔掉电源,温度读数也始终保持在 260 °C。
我想提出一个修复解决方案而不是更换电路板(尽管我已经计划这样做),所以我下载了 Arduino Mega 1248P 的数据表并寻找我可以使用的其他 ADC 引脚。我发现板上的 ADC Pin0 未使用,所以我想我会隔离旧引脚(ADC 引脚 7),将迹线焊接到新引脚上,然后更改固件以反映新引脚。
然后我更改了Pins_SANGUINOLOLU_11.h
配置文件中用于读取挤出机热敏电阻的引脚(Tronxy X5s 的旧 Melzi 板是 Sanguino):
// Temperature Sensors
//
#define TEMP_0_PIN 7 // Analog Input (pin 33 extruder)
#define TEMP_BED_PIN 6 // Analog Input (pin 34 bed)
变成
// Temperature Sensors
//
#define TEMP_0_PIN 0 // Analog Input (pin xx extruder)
#define TEMP_BED_PIN 6 // Analog Input (pin 34 bed)
我不知道“pin 33”是什么或曾经是什么,所以我只是在评论中加上了 xx。
无论如何,我的硬件很好,我的软件也很好,所以我刷了新固件,插入并打开它:
耶!但几秒后……
嘘。它停止工作。
我确信我的连接是可靠的:我已经测试了连接性和电压。新端口和热床热敏电阻端口均获得 4.97 伏电压,因此这不是电压降。这是Arduino中的东西。
有任何想法吗?