Описание пинов I2C и конфигурации EDDY
В этой статье объясняются определения пинов I2C датчиков серии FLY-EDDY (EDDY-M / EDDY-F), сравнение пинов для двух способов подключения и шаги по подключению, а также параметры конфигурации, связанные с I2C, необходимые для probe_eddy_current.
Определение пинов I2C
FLY-EDDY основан на микросхеме TI LDC1612 и взаимодействует через интерфейс I2C. Жгут проводов 5P содержит 4 сигнальных провода I2C и 1 провод датчика температуры (TEMP, выход встроенного термистора, используется для компенсации температурного дрейфа в [temperature_probe]):
| Пин | Определение | Описание |
|---|---|---|
| VCC | Положительный полюс питания | Питание 5 В, точное значение зависит от маркировки изделия |
| GND | Земля питания | Общая земля с MCU |
| SDA | Линия данных I2C | Выход с открытым стоком, подключается к пину SDA I2C MCU |
| SCL | Линия тактового сигнала I2C | Выход с открытым стоком, подключается к пину SCL I2C MCU |
| TEMP | Датчик температуры | Выход встроенного термистора, подключается к пину ADC MCU, используется для компенсации температурного дрейфа в [temperature_probe] (необязательно) |
Адрес I2C LDC1612 определяется уровнем на пине ADDR микросхемы, FLY-EDDY по умолчанию установлен на 0x42 (42), в конфигурации Klipper указывается десятичное значение i2c_address: 42.
Два способа подключения
Определения сигналов EDDY-M и EDDY-F полностью идентичны, отличаются только физический способ подключения и совместимые платформы (разъем MX1.25 / FPC-шлейф):
- EDDY-F (FPC-шлейф): специально адаптирован для интерфейса EDDY на платах инструмента SHT36 V3, SB2040 V3, SB2040 PRO V3, провод TEMP автоматически подключается к пину датчика температуры платы инструмента (все
gpio28) - EDDY-M (разъем MX1.25): адаптирован для обычных плат инструмента или материнских плат, требуется подключение и настройка I2C в соответствии с фактическим определением платы (см. разделы о подключении и настройке ниже)
| Сигнал | EDDY-M (разъем MX1.25) | EDDY-F (FPC-шлейф) |
|---|---|---|
| Положительный полюс питания | VCC | VCC |
| Земля питания | GND | GND |
| Линия данных | SDA | SDA |
| Линия тактового сигнала | SCL | SCL |
| Датчик температуры | TEMP | TEMP |
Порядок контактов разъема MX1.25 у EDDY-M (слева направо): SDA, TEMP, SCL, 5V, GND. FPC-шлейф EDDY-F совместим только с интерфейсом EDDY на платах инструмента FLY (SHT36 V3 / SB2040 V3 / SB2040 PRO V3), вставляется напрямую, проверка порядка контактов не требуется.
EDDY-M: подключение через разъем MX1.25
Перед началом подключения или извлечения жгутов проводов полностью выключите принтер и отключите источник питания. Не подключайте и не извлекайте жгуты проводов, не поправляйте порядок контактов интерфейса и не прикасайтесь к разъемам при включенном питании.
- Вставьте жгут MX1.25 (односторонний 5P, 30 см) в разъем EDDY-M, соблюдая порядок контактов (слева направо: SDA, TEMP, SCL, 5V, GND) один к одному
- Другой конец жгута подключите к интерфейсу I2C обычной платы инструмента или материнской платы, сверьте порядок пинов с маркировкой на разъеме
- Провод TEMP подключите к свободному пину ADC на материнской плате; если свободного пина ADC нет, можно не подключать, но функция компенсации температурного дрейфа будет недоступна
- После плотного соединения разъема слегка потяните за жгут, чтобы убедиться, что он не отсоединится
При подключении EDDY-M к обычной плате инструмента или материнской плате, i2c_mcu, i2c_bus необходимо заполнить в соответствии с определением MCU фактической материнской платы; при использовании программного I2C необходимо указать i2c_software_scl_pin / i2c_software_sda_pin. Адрес I2C фиксирован и равен 0x42 (42), частота кварцевого генератора 40 МГц, описание параметров конфигурации см. ниже.
EDDY-F: подключение FPC-шлейфа
Перед началом подключения или извлечения шлейфов полностью выключите принтер и отключите источник питания. Не подключайте и не извлекайте шлейфы, не поправляйте порядок контактов интерфейса и не прикасайтесь к разъемам при включенном питании.
- Вставьте FPC-шлейф (5P, шаг 0,5 мм, однонаправленный) в разъем EDDY-F: откройте защелку, вставьте контактные площадки шлейфа в правильном направлении, прижмите и закройте защелку для фиксации
- Другой конец шлейфа подключите к интерфейсу EDDY на плате инструмента SHT36 V3 / SB2040 V3 / SB2040 PRO V3; FPC-шлейф и интерфейс платы инструмента соответствуют один к одному, вставляется напрямую, проверка порядка контактов не требуется
- Провод TEMP автоматически подключается к пину датчика температуры интерфейса EDDY платы инструмента (все
gpio28), дополнительная проводка не требуется - Убедитесь, что шлейф не перегнут и на нем нет оголенных медных дорожек
Меры предосторожности при подключении
- К сигнальным линиям SDA / SCL не подключайте последовательно или параллельно конденсаторы, катушки индуктивности, диоды и другие компоненты, а также не пропускайте их через фильтры RC / LC или внешние модули преобразования уровня; I2C — сигнал с открытым стоком, дополнительные конденсаторы замедляют фронты сигнала, что может привести к сбоям связи или ошибкам
- Линии связи EDDY следует располагать на расстоянии от проводов двигателей, нагревателей и стола, чтобы избежать помех сигналу I2C
- Провода I2C не должны быть слишком длинными; плохое качество проводов или чрезмерная длина могут привести к нестабильной связи
- Отдавайте предпочтение готовым жгутам; для электрической проверки открытых разъемов или шлейфов обращайтесь в службу поддержки или к специалистам
Конфигурация, связанная с I2C
Параметры конфигурации, связанные с обменом по I2C, в разделе [probe_eddy_current]:
| Параметр | Описание | Значение для FLY-EDDY |
|---|---|---|
sensor_type | Модель чипа датчика, фиксированное значение ldc1612 | ldc1612 |
i2c_address | Адрес устройства I2C (десятичный) | 42 (0x42) |
i2c_mcu | Имя MCU, к которому подключён датчик | Определяется по фактическому подключению |
i2c_bus | Аппаратная шина I2C на MCU | Определяется по MCU |
i2c_speed | Скорость обмена по I2C (Гц) | По умолчанию 100000, можно сначала проверить на 400000 |
i2c_software_scl_pin / i2c_software_sda_pin | Выводы SCL / SDA программного I2C | При использовании аппаратного I2C настраивать не нужно |
frequency | Частота внешнего кварцевого генератора LDC1612 (Гц) | 40000000 (40 МГц) |
Пример конфигурации
[probe_eddy_current] поддерживает два способа: аппаратный I2C и программный I2C. Достаточно выбрать один из них; не настраивайте одновременно i2c_bus и i2c_software_scl_pin / i2c_software_sda_pin.
- Аппаратный I2C (рекомендуется)
- Программный I2C
Если на MCU есть доступная аппаратная шина I2C, предпочтительно использовать аппаратный I2C — связь более стабильна:
[probe_eddy_current fly_eddy_probe]
sensor_type: ldc1612
i2c_address: 42
# Адрес I2C у FLY-EDDY — 0x42 (42)
i2c_mcu: SHT36
# Имя MCU, к которому подключён EDDY; укажите фактическое
i2c_bus: i2c1e
# Идентификатор шины I2C; определяется по MCU
i2c_speed: 400000
# Скорость обмена по I2C (Гц); при нестабильной связи можно снизить
frequency: 40000000
# Частота внешнего кварцевого генератора (Гц); у FLY-EDDY — 40 МГц
x_offset: 0
y_offset: 21.42
descend_z: 2.5
Если на MCU нет доступной аппаратной шины I2C или аппаратный I2C работает нестабильно, можно использовать программный I2C, назначив два свободных GPIO в качестве SCL / SDA:
При подключении EDDY-M к плате инструмента SHT36 V3: SCL подключается к gpio20 (HV-IN, необходимо сначала установить на плате перемычку высоковольтного ограничителя), SDA подключается к gpio22 (Probe):
[probe_eddy_current fly_eddy_probe]
sensor_type: ldc1612
i2c_address: 42
# Адрес I2C у FLY-EDDY — 0x42 (42)
i2c_mcu: SHT36
# Имя MCU, к которому подключён EDDY; укажите фактическое
i2c_software_scl_pin: SHT36:gpio20
# SHT36 V3: SCL подключается к HV-IN (gpio20), необходимо сначала установить перемычку высоковольтного ограничителя; для других плат укажите свободный GPIO, к которому фактически подключён EDDY
i2c_software_sda_pin: SHT36:gpio22
# SHT36 V3: SDA подключается к Probe (gpio22); для других плат укажите свободный GPIO, к которому фактически подключён EDDY
i2c_speed: 400000
# Скорость обмена по I2C (Гц); для программного I2C скорость не должна быть слишком высокой, при нестабильной связи можно снизить
frequency: 40000000
# Частота внешнего кварцевого генератора (Гц); у FLY-EDDY — 40 МГц
x_offset: 0
y_offset: 21.42
descend_z: 2.5
- Выберите один из двух вариантов: аппаратный I2C или программный I2C. Для аппаратного I2C настройте
i2c_mcu+i2c_bus; для программного I2C настройтеi2c_software_scl_pin+i2c_software_sda_pin, не указывайтеi2c_busи не настраивайте оба способа одновременно - Выводы программного I2C не должны быть заняты другими функциями (например, датчиком температуры, вентилятором, концевыми датчиками и т. п.); выбирайте свободные GPIO на MCU
- При появлении ошибок I2C, таких как
BUS_TIMEOUT,Invalid read data,Eddy: CLKIN frequency too low, сначала отключите питание и проверьте подключение, затем снизьтеi2c_speedи повторите проверку frequencyдолжна соответствовать кварцевому генератору на плате EDDY; у FLY-EDDY — 40 МГц; неверное значение приведёт к аномальным показаниям- При наличии нескольких устройств на одной шине I2C необходимо убедиться, что адреса устройств не конфликтуют
Связанные ресурсы
Сборник проблем EDDY: Частые проблемы датчика EDDY
Режим EDDY TAP: Отладка режима EDDY TAP
Документация продукта FLY-EDDY: Введение в FLY-EDDY