用户工具

站点工具


ocrobot:3d_print:pt100_to_analog

差别

这里会显示出您选择的修订版和当前版本之间的差别。

到此差别页面的链接

两侧同时换到之前的修订记录前一修订版
后一修订版
前一修订版
ocrobot:3d_print:pt100_to_analog [2022/05/18 14:51] 弘毅ocrobot:3d_print:pt100_to_analog [2023/06/07 04:23] (当前版本) – 外部编辑 127.0.0.1
行 1: 行 1:
 ====== 两线PT100转0-5V ====== ====== 两线PT100转0-5V ======
 +
 该模组为E3D PT100 Amplifier Board兼容,使用E3D PT100改造的教程都可以使用该模组。 该模组为E3D PT100 Amplifier Board兼容,使用E3D PT100改造的教程都可以使用该模组。
 +===== 产品图片 =====
 +{{:ocrobot:3d_print:pasted:pt100-5v-435.png?nolink|}}
  
-PT100模组读取PT100传感器并在信号引脚上输出 0-5V 的电压。该模组的设计具有与 Ultimaker2 电子设备相同的增益和信号输出。这意味着它与 Marlin 固件中已经存在相同温度表兼容+PT100模组读取PT100传感器并在信号引脚上输出 0-5V 的电压。该模组的设计具有与 Ultimaker2 电子设备相同的增益和信号输出。这意味着它在 Marlin 固件中已经有兼容的温度表。
  
 PT100 的最高额定温度为 500°C。 PT100 的最高额定温度为 500°C。
行 22: 行 25:
 然后我们找到专门处理第一个温度传感器(0)的行。这是针对此特定情况的第 708 行,如下所示: 然后我们找到专门处理第一个温度传感器(0)的行。这是针对此特定情况的第 708 行,如下所示:
  
-#define TEMP_0_PIN 13 // 模拟编号+  #define TEMP_0_PIN 13 // 模拟编号
  
 我们可以看到,目前,marlin 将查看温度传感器的模拟引脚 13。我们已将新传感器连接到控制器板上的模拟引脚“A3”,因此我们将数字 13 更改为 3: 我们可以看到,目前,marlin 将查看温度传感器的模拟引脚 13。我们已将新传感器连接到控制器板上的模拟引脚“A3”,因此我们将数字 13 更改为 3:
  
-#define TEMP_0_PIN 3 // 模拟编号+  #define TEMP_0_PIN 3 // 模拟编号
  
 pin.h 就是这样,只要记住找到并使用正确的电路板部分。如果您同时使用双挤出机和 PT100,那么您显然也必须重新配置其他引脚。 pin.h 就是这样,只要记住找到并使用正确的电路板部分。如果您同时使用双挤出机和 PT100,那么您显然也必须重新配置其他引脚。
行 32: 行 35:
 现在我们需要告诉 marlin 我们连接的是什么类型的传感器。这是在固件的 configuration.h 文件中完成的。在您通常配置热敏电阻类型的文件的热设置区域中: 现在我们需要告诉 marlin 我们连接的是什么类型的传感器。这是在固件的 configuration.h 文件中完成的。在您通常配置热敏电阻类型的文件的热设置区域中:
  
-#define TEMP_SENSOR_0 5+  #define TEMP_SENSOR_0 5
  
 目前,就我而言,它设置为传感器类型 5,用于标准 E3D Semitec 热敏电阻。我们需要将其更改为传感器类型 20 的 PT100 设置: 目前,就我而言,它设置为传感器类型 5,用于标准 E3D Semitec 热敏电阻。我们需要将其更改为传感器类型 20 的 PT100 设置:
  
-#define TEMP_SENSOR_0 20+  #define TEMP_SENSOR_0 20
  
 这就是固件的全部内容。您现在应该能够编译和上传它,并且所有东西都连接到板上,您现在应该可以看到新 PT100 传感器的温度读数正确! 这就是固件的全部内容。您现在应该能够编译和上传它,并且所有东西都连接到板上,您现在应该可以看到新 PT100 传感器的温度读数正确!
行 107: 行 110:
 |1000|4.48| |1000|4.48|
 |1100|4.73| |1100|4.73|
 +===== Prusa MK3S PT100改机 =====
 +通过查看Prusa MK3S的源码thermistortables.h文件,在其中1130行找到如下代码,在Prusa的源码中已经默认支持E3D的PT100带放大器输出的版本。
 +<code>
 +#if (THERMISTORHEATER_0 == 247) || (THERMISTORHEATER_1 == 247) || (THERMISTORHEATER_2 == 247) || (THERMISTORBED == 247) // Pt100 with 4k7 MiniRambo pullup & PT100 Amplifier
 +const short temptable_247[][2] PROGMEM = {
 +// Calculated from Bob-the-Kuhn's PT100 calculator listed in https://github.com/MarlinFirmware/Marlin/issues/5543
 +// and the table provided by E3D at http://wiki.e3d-online.com/wiki/E3D_PT100_Amplifier_Documentation#Output_Characteristics.
 +{  0 * OVERSAMPLENR,    0},
 +{241 * OVERSAMPLENR,    1},
 +{249 * OVERSAMPLENR,   10},
 +{259 * OVERSAMPLENR,   20},
 +{267 * OVERSAMPLENR,   30},
 +{275 * OVERSAMPLENR,   40},
 +{283 * OVERSAMPLENR,   50},
 +{291 * OVERSAMPLENR,   60},
 +{299 * OVERSAMPLENR,   70},
 +{307 * OVERSAMPLENR,   80},
 +{315 * OVERSAMPLENR,   90},
 +{323 * OVERSAMPLENR,  100},
 +{331 * OVERSAMPLENR,  110},
 +{340 * OVERSAMPLENR,  120},
 +{348 * OVERSAMPLENR,  130},
 +{354 * OVERSAMPLENR,  140},
 +{362 * OVERSAMPLENR,  150},
 +{370 * OVERSAMPLENR,  160},
 +{378 * OVERSAMPLENR,  170},
 +{386 * OVERSAMPLENR,  180},
 +{394 * OVERSAMPLENR,  190},
 +{402 * OVERSAMPLENR,  200},
 +{410 * OVERSAMPLENR,  210},
 +{418 * OVERSAMPLENR,  220},
 +{426 * OVERSAMPLENR,  230},
 +{432 * OVERSAMPLENR,  240},
 +{440 * OVERSAMPLENR,  250},
 +{448 * OVERSAMPLENR,  260},
 +{454 * OVERSAMPLENR,  270},
 +{462 * OVERSAMPLENR,  280},
 +{469 * OVERSAMPLENR,  290},
 +{475 * OVERSAMPLENR,  300},
 +{483 * OVERSAMPLENR,  310},
 +{491 * OVERSAMPLENR,  320},
 +{499 * OVERSAMPLENR,  330},
 +{505 * OVERSAMPLENR,  340},
 +{513 * OVERSAMPLENR,  350},
 +{519 * OVERSAMPLENR,  360},
 +{527 * OVERSAMPLENR,  370},
 +{533 * OVERSAMPLENR,  380},
 +{541 * OVERSAMPLENR,  390},
 +{549 * OVERSAMPLENR,  400},
 +{616 * OVERSAMPLENR,  500},
 +{682 * OVERSAMPLENR,  600},
 +{741 * OVERSAMPLENR,  700},
 +{801 * OVERSAMPLENR,  800},
 +{856 * OVERSAMPLENR,  900},
 +{910 * OVERSAMPLENR, 1000},
 +{960 * OVERSAMPLENR, 1100},
 +};
 +#endif
 +</code>
 +接着我们把源码中100与200,300度的ADC值323,402,475进行换算。
 +在Prusa的主控中,这3个值对应的电压为1.577V,1.963V,2.139V。
 +^温度^PT100模组理论输出电压^Prusa源码对应电压^
 +|30| |1.30|
 +|100|1.52V|1.577V|
 +|200|1.92V|1.963V|
 +|300|2.29V|2.139V|
 +通过对比发现,设计温度与Prusa源码中的温度是很接近的,说明传感器型号正确。
 +
 +我们在Configuration_prusa.h文件中34行,取消这个代码注释,重新编译源码,即可支持PT100。
 +<code>
 +#define E3D_PT100_EXTRUDER_WITH_AMP
 +</code>
 +
 +编译出来的XXX.ino.hex就是所需要的固件。
 +<WRAP center round alert 100%>
 +千万不要使用编译出来的XXX.ino.with_bootloader.hex固件 \\
 +这个固件会损毁bootloader造成无法通过USB口烧录固件问题,切记!!!
 +</WRAP>
 +
ocrobot/3d_print/pt100_to_analog.1652885517.txt · 最后更改: 2023/06/07 04:09 (外部编辑)

Valid HTML5 Valid CSS Driven by DokuWiki