马林鱼温度传感器问题

3D打印 马林鱼 翻唱 热敏电阻
2021-05-19 10:48:50

我有一个 RAMPS 1.4 和一个 Arduino Mega 2560。问题出在 100k NTC 热敏电阻上。我用万用表测试过,结果约为 122kΩ。

我使用的是 Marlin 1.0.2(最新稳定版)。我正在使用 MK8 挤出机并且没有从热传感器接收温度读数 - 无论我如何连接它。但是,在APrinter 固件上它可以完美运行。

configuration.h 中,我尝试了大部分选项,但发现“1”对我来说是最好的。

m105在 Marlin 上执行,我得到以下结果:

ok T:0.0 /0.0 B:0.0 /0.0 T0:0.0 /0.0 @:0 B@:0

在 APrinter 上,结果是不同的:

ok B:-inf /nan T:25.2076 /nan

我还没有连接床热敏电阻。

引脚.h

#define TEMP_0_PIN          1  // Extruder / Analog pin numbering
#define TEMP_BED_PIN        0  // Bed / Analog pin numbering

配置文件

#define TEMP_SENSOR_0 1
#define TEMP_SENSOR_BED 1

...

#define MOTHERBOARD BOARD_RAMPS_13_EFB

从 Marlin 到 APrinter 来回切换后,Marlin 完全停止了醒来。我已经配置了 LCD(ReprapDiscount 智能控制器)并且所有步进器都在工作。现在,它甚至不会在启动/连接时向 Pronterface 发送自检,或者根据日志挂起。

界面输出

Connecting...
start
Printer is now online.
echo:Marlin1.0.2
echo: Last Updated: Jul 25 2016 17:12:39 | Author: (Rustam Rahimgulov, default config)
Compiled: Jul 25 2016
echo: Free Memory: 3971  PlannerBufferBytes: 1232
echo:Hardcoded Default Settings Loaded
echo:Steps per unit:
echo:  M92 X80.00 Y80.00 Z4000.00 E836.00
echo:Maximum feedrates (mm/s):
echo:  M203 X500.00 Y500.00 Z2.00 E25.00
echo:Maximum Acceleration (mm/s2):
echo:  M201 X9000 Y9000 Z100 E10000
echo:Acceleration: S=acceleration, T=retract acceleration
echo:  M204 S300.00 T3000.00
echo:Advanced variables: S=Min feedrate (mm/s), T=Min travel feedrate (mm/s), B=minimum segment time (ms), X=maximum XY jerk (mm/s),  Z=maximum Z jerk (mm/s),  E=maximum E jerk (mm/s)
echo:  M205 S0.00 T0.00 B20000 X20.00 Z0.40 E5.00
echo:Home offset (mm):
echo:  M206 X0.00 Y0.00 Z0.00
echo:PID settings:
echo:   M301 P22.20 I1.08 D114.00
start
echo:Marlin1.0.2
ec  (nothing more here, output just ends)
1个回答

在实际的 Marlin 固件中,所有支持的打印板都列在文件“boards.h”中。此文件包含 RAMPS 1.4 的以下条目:

#define BOARD_RAMPS_13_EFB 33 // RAMPS 1.3 / 1.4(电源输出:挤出机、风扇、床)
#define BOARD_RAMPS_13_EEB 34 // RAMPS 1.3 / 1.4(电源输出:Extruder0、Extruder1、Bed)
#define BOARD_RAMPS_13_EFF 35 // RAMPS 1.3 / 1.4(电源输出:挤出机、风扇、风扇)
#define BOARD_RAMPS_13_EEF 36 // RAMPS 1.3 / 1.4(电源输出:Extruder0、Extruder1、风扇)

最常见的版本可能是变体。在这种情况下,您必须按照以下几行所示设置该值。

#ifndef 主板
  #define 主板 BOARD_RAMPS_13_EFB
#万一

启用显示

#define REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER

好的,是时候针对您的 3d 打印机进行调整了。您可能首先在第 58 行附近检查挤出机数量的设置。大多数 3d 打印机新手可能从一台挤出机开始,因此默认条目“1”就足够了。

// 这定义了挤出机的数量

#define 挤出机 1

在第 70 行左右,您必须设置连接到用于挤出机和加热床的 RAMPS 的热敏电阻。根据您的硬件配置,您必须更改定义中的最后一个值。

#define TEMP_SENSOR_0 -1
#define TEMP_SENSOR_1 -1
#define TEMP_SENSOR_2 0
#define TEMP_SENSOR_BED 0

TEMP_SENSOR_0 的定义决定了在挤出机 1 的热端组装哪种热敏电阻。该热敏电阻必须连接到第一个传感器输入(另请参见接线图)。加热床的热敏电阻必须连接到第二个传感器输入端。热敏电阻类型配置为“TEMP_SENSOR_BED”定义行。如果您使用类型为 EPCOS B57560G104F (100K, Beta = 4036) 的热敏电阻,则将值“1”写入匹配定义中。如果您有一个 100k 和 Beta = 3950 的热敏电阻,您必须在相应的定义中设置值“60”。所以定义看起来像:

对于热端和热床上的 EPCOS(Beta = 4036):

#define TEMP_SENSOR_0 1
#define TEMP_SENSOR_1 -1
#define TEMP_SENSOR_2 0
#define TEMP_SENSOR_BED 1

对于热端和热床的 Beta = 3950:

#define TEMP_SENSOR_0 60
#define TEMP_SENSOR_1 -1
#define TEMP_SENSOR_2 0
#define TEMP_SENSOR_BED 60