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改造的教程都可以使用该模组。 | ||
+ | ===== 产品图片 ===== | ||
+ | {{: | ||
- | 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 // 模拟编号 | + | |
我们可以看到,目前,marlin 将查看温度传感器的模拟引脚 13。我们已将新传感器连接到控制器板上的模拟引脚“A3”,因此我们将数字 13 更改为 3: | 我们可以看到,目前,marlin 将查看温度传感器的模拟引脚 13。我们已将新传感器连接到控制器板上的模拟引脚“A3”,因此我们将数字 13 更改为 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 | + | |
目前,就我而言,它设置为传感器类型 5,用于标准 E3D Semitec 热敏电阻。我们需要将其更改为传感器类型 20 的 PT100 设置: | 目前,就我而言,它设置为传感器类型 5,用于标准 E3D Semitec 热敏电阻。我们需要将其更改为传感器类型 20 的 PT100 设置: | ||
- | #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带放大器输出的版本。 | ||
+ | < | ||
+ | #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' | ||
+ | // and the table provided by E3D at http:// | ||
+ | { 0 * OVERSAMPLENR, | ||
+ | {241 * OVERSAMPLENR, | ||
+ | {249 * OVERSAMPLENR, | ||
+ | {259 * OVERSAMPLENR, | ||
+ | {267 * OVERSAMPLENR, | ||
+ | {275 * OVERSAMPLENR, | ||
+ | {283 * OVERSAMPLENR, | ||
+ | {291 * OVERSAMPLENR, | ||
+ | {299 * OVERSAMPLENR, | ||
+ | {307 * OVERSAMPLENR, | ||
+ | {315 * OVERSAMPLENR, | ||
+ | {323 * OVERSAMPLENR, | ||
+ | {331 * OVERSAMPLENR, | ||
+ | {340 * OVERSAMPLENR, | ||
+ | {348 * OVERSAMPLENR, | ||
+ | {354 * OVERSAMPLENR, | ||
+ | {362 * OVERSAMPLENR, | ||
+ | {370 * OVERSAMPLENR, | ||
+ | {378 * OVERSAMPLENR, | ||
+ | {386 * OVERSAMPLENR, | ||
+ | {394 * OVERSAMPLENR, | ||
+ | {402 * OVERSAMPLENR, | ||
+ | {410 * OVERSAMPLENR, | ||
+ | {418 * OVERSAMPLENR, | ||
+ | {426 * OVERSAMPLENR, | ||
+ | {432 * OVERSAMPLENR, | ||
+ | {440 * OVERSAMPLENR, | ||
+ | {448 * OVERSAMPLENR, | ||
+ | {454 * OVERSAMPLENR, | ||
+ | {462 * OVERSAMPLENR, | ||
+ | {469 * OVERSAMPLENR, | ||
+ | {475 * OVERSAMPLENR, | ||
+ | {483 * OVERSAMPLENR, | ||
+ | {491 * OVERSAMPLENR, | ||
+ | {499 * OVERSAMPLENR, | ||
+ | {505 * OVERSAMPLENR, | ||
+ | {513 * OVERSAMPLENR, | ||
+ | {519 * OVERSAMPLENR, | ||
+ | {527 * OVERSAMPLENR, | ||
+ | {533 * OVERSAMPLENR, | ||
+ | {541 * OVERSAMPLENR, | ||
+ | {549 * OVERSAMPLENR, | ||
+ | {616 * OVERSAMPLENR, | ||
+ | {682 * OVERSAMPLENR, | ||
+ | {741 * OVERSAMPLENR, | ||
+ | {801 * OVERSAMPLENR, | ||
+ | {856 * OVERSAMPLENR, | ||
+ | {910 * OVERSAMPLENR, | ||
+ | {960 * OVERSAMPLENR, | ||
+ | }; | ||
+ | #endif | ||
+ | </ | ||
+ | 接着我们把源码中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。 | ||
+ | < | ||
+ | #define E3D_PT100_EXTRUDER_WITH_AMP | ||
+ | </ | ||
+ | |||
+ | 编译出来的XXX.ino.hex就是所需要的固件。 | ||
+ | <WRAP center round alert 100%> | ||
+ | 千万不要使用编译出来的XXX.ino.with_bootloader.hex固件 \\ | ||
+ | 这个固件会损毁bootloader造成无法通过USB口烧录固件问题,切记!!! | ||
+ | </ | ||
+ |
ocrobot/3d_print/pt100_to_analog.1652885517.txt · 最后更改: 2023/06/07 04:09 (外部编辑)