Marlin: подключение BTT MAX31865 V2.0
На примере платы управления SKR 2 Rev.A
Настройка платы управления
Гнездо драйвера, выбранное для установки BTT MAX31865 V2.0, необходимо настроить на SPI-управление в соответствии с инструкцией к плате управления. В данном примере это гнездо E1. Остальные гнезда драйверов настраиваются в соответствии с инструкциями к драйверам и плате управления.
Настройка модуля BTT MAX31865 V2.0
Модули BigTreeTech MAX31865 V2.0 предназначены для работы с датчиками температуры PT100 илиPT1000, подключаемыми по двух-, трех- и четырехпроводной схеме (на схему подключения указывает количество контактов на конце провода датчика).
Подробное описание настройки смотрите в инструкции к BTT MAX31865 V2.0.
Положение движков переключателя выбирается в соответствии с применяемым датчиком и схемой подключения.
Например, для датчика PT100 с двухпроводным подключением DIP-переключатель должен быть настроен так:1 = ON, 2 = ON, 3 = ON, 4 = OFF.
Перед изменением положений DIP-переключателей на модуле BTT MAX31865 V2.0 не забудьте выключить питание платы управления!
Датчик | DIP-1 | DIP-2 | DIP-3 | DIP-4 |
---|---|---|---|---|
2-п. PT100 | ON | ON | ON | OFF |
2-п. PT1000 | ON | ON | OFF | ON |
3-п. PT100 | OFF | ON | ON | OFF |
3-п. PT1000 | OFF | ON | OFF | ON |
4-п. PT100 | OFF | OFF | ON | OFF |
4-п. PT1000 | OFF | OFF | OFF | ON |
Настройка прошивки Marlin 2
Файл Configuration.h
Выбрать датчик температуры MAX31865:
Настроить параметры MAX31865 (в данном примере для PT1000):
#define MAX31865_SENSOR_OHMS_0 1000 // (Ω) Typically 100 or 1000 (PT100 or PT1000)
#define MAX31865_CALIBRATION_OHMS_0 4300 // (Ω) Typically 430 for Adafruit PT100; 4300 for Adafruit PT1000
Файл Configuration_adv.h
Указать максимальное число ошибок датчика:
Указать максимальное число ошибок датчика для срабатывания ошибки недостаточного нагрева:
Добавить в выдачу команды M105 значения АЦП, для чего раскомментировать строку:
Добавить команду M115 для дополнительной диагностики, для чего раскомментировать строку:
#define M115_GEOMETRY_REPORT
#endif
При желании можно задействовать блок тонких дополнительных настроек для модулей АЦП термодатчиков, позволяющий задействовать различные фильтры помех, ошибок и т.п.
* Thermocouple Options — for MAX6675 (-2), MAX31855 (-3), and MAX31865 (-5).
*/
//#define TEMP_SENSOR_FORCE_HW_SPI // Ignore SCK/MOSI/MISO pins; use CS and the default SPI bus.
//#define MAX31865_SENSOR_WIRES_0 2 // (2-4) Number of wires for the probe connected to a MAX31865 board.
//#define MAX31865_SENSOR_WIRES_1 2
#define MAX31865_50HZ_FILTER // Use a 50Hz filter instead of the default 60Hz.
#define MAX31865_USE_READ_ERROR_DETECTION // Treat value spikes (20°C delta in under 1s) as read errors.
#define MAX31865_USE_AUTO_MODE // Read faster and more often than 1-shot; bias voltage always on; slight effect on RTD temperature.
//#define MAX31865_MIN_SAMPLING_TIME_MSEC 100 // (ms) 1-shot: minimum read interval. Reduces bias voltage effects by leaving sensor unpowered for longer intervals.
#define MAX31865_IGNORE_INITIAL_FAULTY_READS 10 // Ignore some read faults (keeping the temperature reading) to work around a possible issue (#23439).
//#define MAX31865_WIRE_OHMS_0 0.95f // For 2-wire, set the wire resistances for more accurate readings.
//#define MAX31865_WIRE_OHMS_1 0.0f
Полезно использовать параметры: MAX31865_50HZ_FILTER, MAX31865_USE_READ_ERROR_DETECTION, MAX31865_USE_AUTO_MODE и MAX31865_IGNORE_INITIAL_FAULTY_READS.
Файл pins_BTT_SKR_V2_0_common.h
Отключить настройки выводов драйвера E1 (например, при помощи комментария /*...*/):
#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 MAX31865 V2.0:
#define TEMP_0_SCK_PIN PE15
#define TEMP_0_MOSI_PIN PE14
#define TEMP_0_CS_PIN PD12
Номера выводов MISO (PA14), SCK (PE15) и MOSI (PE14) берутся из этой части pin-файла платы управления:
// Software SPI pins for TMC2130 stepper drivers
//
#if ENABLED(TMC_USE_SW_SPI)
#ifndef TMC_SW_MOSI
#define TMC_SW_MOSI PE14
#endif
#ifndef TMC_SW_MISO
#define TMC_SW_MISO PA14
#endif
#ifndef TMC_SW_SCK
#define TMC_SW_SCK PE15
#endif
#endif
Номер вывода CS (PD12) берётся из ранее отключенных (показаны выше) настроек для E1.
Поблагода₽ить за помощь
Если эта заметка оказалась для вас полезна, вы можете отблагодарить меня за проделанную для вас работу любой суммой на своё усмотрение, перейдя по данной ссылке.