Модуль MAX31865 создает интерфейс взаимодействия с датчиком температуры PT100 или PT1000 через разъем подrлючения шагового драйвера. В этой статье мы подскажем как настроить и сконфигурировать прошивку для работы с этим модулем
 

Комплектация модуля MAX31865

Что в комплекте?

Модуль BTT MAX31865 V2.0 или версии выше поставляется с четырехконтактным разъемом JST-XH. Никаких проводов естественно не предусмотрено, поскольку провода датчиков PT100 или PT1000 необходимо будет соединить с этим четырехконтактным разъемом JST-XH который в свою очередь будет подключен к гнезду шагового двигателя который будет работать с модулем BTT MAX31865. 

Установка модуля MAX31865

Монтаж модуля MAX31865

Установка модуля MAX31865 PT100/PT1000 не должна вызвать сложность, тем не менее, будьте осторожны при установке и убедитесь, что цветная группа контактов совпадают с цветными группами  контактов на плате. При этом контакт "EN" обозначенный квадратом совпадает с контактом "EN" на разъеме шагового драйвера.
Конечно не на всех платах обозначен контакт "EN", поэтому не будет лишним еще раз свериться с документацией вашей платы.

Настройка DIP-переключателя модуля BTT MAX31865

Настройка DIP-переключателя модуля BTT MAX31865

Хотя модули Bigtree-Tech MAX31865 V2.0 и выше поддерживают двух-, трех- и четырехпроводные датчики температуры PT100/PT1000, сопротивление считывания для различных типов датчиков отличается. В этой связи необходимо изменить DIP-переключатель так, чтобы датчик температуры реагировал в правильном режиме. Например, для датчика PT100 с двухпроводным разъемом DIP-переключатель должен иметь следующие значения 1 = ON, 2 = ON, 3 = ON, 4 = OFF.

Перед изменением положений DIP-переключателей убедитесь, что питание основной платы выключено.
 
Тип датчика 1 2 3 4
Двухпроводной PT100 ON ON ON OFF
Двухпроводной PT1000 ON ON OFF ON
Трехпроводной PT100* OFF ON ON OFF
Трехпроводной PT1000* OFF ON OFF ON
Четырехпроводной PT100 OFF OFF ON OFF
Четырехпроводной PT1000 OFF OFF OFF ON

Трехпроводные датчики PT100/PT1000

Tсли с модулем BTT MAX31865 используется трехпроводной термистор PT100/PT1000, то контакты, обозначенные на модуле как "3" и "24", необходимо спаять вместе. Соединение этих контактов  образует мост, позволяющий трехпроводным датчикам PT100 или PT1000 работать правильно.

Подключение разъема


Поскольку модуль BTT MAX31865 V2.0 использует свободный разъем шагового драйвера на основной плате, датчик температуры PT100 или PT1000 подключается к разъему шагового двигателя для этого гнезда. Например, у двухпроводного датчика PT100/PT1000 положительный (+) RTDIN подключен к среднему контакту правой стороны, а отрицательный (-) RTDIN - к среднему контакту левой стороны.

Конфигурация Marlin 2

В прошивке Marlin для работы модуля BTT MAX31865 V2.0 необходимо отредактировать файлы Configuration.h, Configuration_adv.h и выводы PIN основной платы управления.

Изменения в файле Configuration.h

Тип датчика

Во-первых, определите тип датчика в Marlin для MAX31865 с Pt100/Pt1000. Значение для типа датчика равно -5.


#define TEMP_SENSOR_0 -5

Значения для датчика PT100

Включите параметр MAX31865_SENSOR_OHMS_0 и MAX31865_CALIBRATION_OHMS_0. Если используется датчик PT100, то верные значения будут определены по умолчанию

#define MAX31865_SENSOR_OHMS_0 100
#define MAX31865_CALIBRATION_OHMS_0 430

Значения для датчика PT1000

При использовании датчика температуры PT1000, параметр MAX31865_SENSOR_OHMS_0 требует редактирования и должен быть изменен со 100 на 1000, ка и параметр  MAX31865_CALIBRATION_OHMS_0 должен быть изменен с 430 на 4300.

#define MAX31865_SENSOR_OHMS_0 1000
#define MAX31865_CALIBRATION_OHMS_0 4300

Изменения в файле Configuration_adv.h

Bigtree-Tech рекомендует сделать несколько изменений настроек в Configuration_adv.h. Однако не все настройки могут быть необходимы для нужд каждого пользователя. 

THERMOCOUPLE_MAX_ERRORS

Во-первых, это THERMOCOUPLE_MAX_ERRORS, где Bigtree-Tech предлагает изменить это значение c 15 на 20. Однако значение 15 как нам кажется более безопасно необходимости.
Датчики PT100 и PT1000 весьма чувствительны к шуму. Любой шум, наведенный в провода датчика, например, проводами шагового двигателя, идущими параллельно им, может привести к тому, что датчик будет выдавать ложные ошибки.  Это значение представляет собой количество ошибок, которые могут возникнуть подряд, прежде чем об ошибке будет заявлено. Параметр THERMOCOUPLE_MAX_ERRORS позволяет игнорировать периодические ошибки.

#define THERMOCOUPLE_MAX_ERRORS 15

THERMOCOUPLE_MAX_ERRORS

SHOW_TEMP_ADC_VALUES

Bigtree-Tech предлагает включить значения АЦП для термисторов. Обычно это включается при ручной калибровке термистора. Как правило калибровать термистор PT100 не требуется, но включение или отключение этого параметра остается на ваше усмотрение.

Отключить

//#define SHOW_TEMP_ADC_VALUES
Включить

#define SHOW_TEMP_ADC_VALUES

​​​​

SHOW_TEMP_ADC_VALUES

MAX_CONSECUTIVE_LOW_TEMPERATURE_ERROR_ALLOWED

Высокотемпературные датчики могут быть немного не стабильными на нижнем конце шкалы температур. Поэтому параметры MAX_CONSECUTIVE_LOW_TEMPERATURE_ERROR_ALLOWED и MILLISECONDS_PREHEAT_TIME могут помочь компенсировать это. Вместе с тем каждая система 3D принтера будет отличаться от других, рекомендуется оставить этот параметр отключенным. Если во время процесса нагрева возникает ошибка, постепенно включайте эти параметры.
Важно отметить, что MAX_CONSECUTIVE_LOW_TEMPERATURE_ERROR_ALLOWED - это количество ошибок min_temp_errors, допустимых до остановки процесса нагрева.

#define MAX_CONSECUTIVE_LOW_TEMPERATURE_ERROR_ALLOWED 0

MAX_CONSECUTIVE_LOW_TEMPERATURE_ERROR_ALLOWED

MILLISECONDS_PREHEAT_TIME

Однако, если дать PT100 или PT1000 немного времени на предварительный нагрев, это может решить многие ошибки. Тем не менее, очень важно не переусердствовать, поскольку вы временно отключаете функцию безопасности. 

#define MILLISECONDS_PREHEAT_TIME 0

MILLISECONDS_PREHEAT_TIME

M115_GEOMETRY_REPORT

Gоследний параметр, который необходимо изменить в Configuration_adv для настройки модуля BTT MAX31865, является необязательным. Более того, Bigtree-Tech предлагает включить M115_GEOMETRY_REPORT для расширенных отчетов прошивки. Вместе с тем если это не является требованием для Octoprint можно пренебречь включением этого параметра.

Отключить

//#define M115_GEOMETRY_REPORT
Включить

#define M115_GEOMETRY_REPORT

M115_GEOMETRY_REPORT

Выводы PIN основной платы управления

BTT SKR 3

Файл выводов платы находится в Marlin\src\pins\stm32h7\pins_BTT_SKR_V3_0_common.h

В зависимости от используемого гнезда драйвера шагового двигателя, его нужно будет отключить в файле выводов основной платы. а также назначить выводы для модуля BTT MAX31865.
Например, для отключения драйвера второго экструдера E1 на SKR 3 изменения будут выглядеть следующим образом.

Было


#ifndef E1_STEP_PIN
  #define E1_STEP_PIN                       PD11
#endif
#ifndef E1_DIR_PIN
  #define E1_DIR_PIN                        PD10
#endif
#ifndef E1_ENABLE_PIN
  #define E1_ENABLE_PIN                     PD13
#endif
#ifndef E1_CS_PIN
  #define E1_CS_PIN                         PD12
#endif
Изменить

//#ifndef E1_STEP_PIN
  //#define E1_STEP_PIN                       PD11
//#endif
//#ifndef E1_DIR_PIN
  //#define E1_DIR_PIN                        PD10
//#endif
//#ifndef E1_ENABLE_PIN
  //#define E1_ENABLE_PIN                     PD13
//#endif
//#ifndef E1_CS_PIN
  //#define E1_CS_PIN                         PD12
//#endif

BTT SKR 3 и BTT MAX31865

Назначение выводов для модуля BTT MAX31865 в SKR 3

Значение TEMP_0_MISO_PIN берется из программного SPI TMC_SW_MISO в файле выводов платы управления.
Значение TEMP_0_SCK_PIN берется из ссылки TMC_SW_SCK в настройках программного SPI.
Значение TEMP_0_MOSI_PIN берется из настроек SPI в разделе TMC_SW_MOSI.
Значение TEMP_0_CS_PIN - это номер вывода CS для отключенного шагового драйвера, например, значение для E2_CS_PIN.

Значения задаем сразу под отключенными значениями второго экструдера E1 на SKR 3

//#ifndef E1_STEP_PIN
  //#define E1_STEP_PIN                       PD11
//#endif
//#ifndef E1_DIR_PIN
  //#define E1_DIR_PIN                        PD10
//#endif
//#ifndef E1_ENABLE_PIN
  //#define E1_ENABLE_PIN                     PD13
//#endif
//#ifndef E1_CS_PIN
  //#define E1_CS_PIN                         PD12
//#endif

//Контакты MAX31865 вместо двигателя E1
#define TEMP_0_MISO_PIN PD11
#define TEMP_0_SCK_PIN PD10
#define TEMP_0_MOSI_PIN PD13
#define TEMP_0_CS_PIN PD12

 

Назначение выводов для модуля BTT MAX31865 в SKR 3

Назначение выводов для модуля BTT MAX31865 в SKR PRO

Файл выводов платы находится в Marlin\src\pins\stm32f4\pins_BTT_SKR_PRO_common.h


//#define E2_STEP_PIN                         PD13
//#define E2_DIR_PIN                          PG9
//#define E2_ENABLE_PIN                       PF0
//#ifndef E2_CS_PIN
  //#define E2_CS_PIN                         PG12
//#endif

//Контакты MAX31865 вместо двигателя E2
#define TEMP_0_MISO_PIN PD13
#define TEMP_0_SCK_PIN PG9
#define TEMP_0_MOSI_PIN PF0
#define TEMP_0_CS_PIN PG12

Назначение выводов для модуля BTT MAX31865 в SKR PRO

Назначение выводов для модуля BTT MAX31865 в SKR OCTOPUS

Файл выводов платы находится в Marlin\src\pins\stm32f4\pins_BTT_OCTOPUS_V1_common.h


//#define E3_STEP_PIN                         PE6   // MOTOR 7
//#define E3_DIR_PIN                          PA14
//#define E3_ENABLE_PIN                       PA14
//#ifndef E3_CS_PIN
  //#define E3_CS_PIN                         PA14
//#endif

//Контакты MAX31865 вместо двигателя M7
#define TEMP_0_MISO_PIN PE6
#define TEMP_0_SCK_PIN PA14
#define TEMP_0_MOSI_PIN PD13
#define TEMP_0_CS_PIN PA14

Назначение выводов для модуля BTT MAX31865 в SKR OCTOPUS

На этом настройка модуля завершена.

Рекомендуемые товары

Комментарии 0