Touch: различия между версиями

Материал из Ender 3 Wiki
Перейти к навигации Перейти к поиску
 
(не показано 19 промежуточных версий 2 участников)
Строка 1: Строка 1:
 
[[File:6446747.jpg|300px]]
 
[[File:6446747.jpg|300px]]
  
(изображение честно украдено с Клипперчата)
+
Как считать оффсет по X и Y (изображение честно украдено с Клипперчата)
  
 +
 +
[[File:5484536.png|300px]]
 +
 +
Распиновка тачей. Внимание, никогда не ориентируйся на цвета проводов. Только на гребёнку. Слева направо: Земля, 5 вольт, логический пин для управление спицей тача, земля, логический пин концевика Z.
  
 
==CR-Touch==
 
==CR-Touch==
Строка 9: Строка 13:
 
Одно из немногих, что Креалити сделали хорошо.
 
Одно из немногих, что Креалити сделали хорошо.
  
*'''CR-Touch''' точнее чем '''BL-Touch'''. На борту оптический концевик. По точности примерно соответствует '''BFP Touch'''.  
+
*'''CR-Touch''' точнее чем '''BL-Touch'''. На борту оптический концевик. По точности соответствует '''BFP Touch''' и Микропробе.  
  
 
*Дороже '''BL-Touch'''
 
*Дороже '''BL-Touch'''
Строка 15: Строка 19:
 
Щуп управляется соленоидом
 
Щуп управляется соленоидом
  
Остерегайтесь подделок - в корпусе '''BL-Touch''' может находится начинка из других датчиков (например оптика и соленоид). Поэтому брать только в фирменном магазине Креалити!
+
Остерегайтесь подделок - в корпусе '''CR-Touch''' может находится начинка из других датчиков (например холла). Поэтому брать только в фирменном магазине Креалити!
 
* [https://aliexpress.ru/item/1005003138492185.html?sku_id=12000030869243342&spm=a2g2w.productlist.search_results.0.5fe34b7dpH7wyj Купить]
 
* [https://aliexpress.ru/item/1005003138492185.html?sku_id=12000030869243342&spm=a2g2w.productlist.search_results.0.5fe34b7dpH7wyj Купить]
  
Строка 25: Строка 29:
 
Фирменный '''BL Touch''' стоит много денег. За эти деньги можно купить пару более дешевых реплик '''3D Touch'''. Но он надёжнее 3дТача
 
Фирменный '''BL Touch''' стоит много денег. За эти деньги можно купить пару более дешевых реплик '''3D Touch'''. Но он надёжнее 3дТача
  
Концевик, в данный момент, является датчиком Холла. Старые Блтаче были оптическими и были точнее. Так что Блтач с Холла менее точен, чем Цртач, Микропроба или блтач на оптическом концевике.
+
Концевик, в данный момент, является датчиком Холла. Старые Блтаче были оптическими и были точнее. Так что Блтач с Холла менее точен, чем Цртач, Микропроба или блтач на оптическом концевике. К покупке НЕ рекомендуется.
  
 
* [https://aliexpress.ru/wholesale?SearchText=3D+Touch&CatId=undefined&g=y&page=1&searchInfo=AHh9TQIdZo+fLZK0x4PTwolKPkQZctwx61UjiffY6ocXmhcFYUDPWzC73fiBWiPVmLK945OJgZKaT9JeZuhKWqFhyTntuButAO6LNxifw6TFOebGZ5v7GU1v Купить]
 
* [https://aliexpress.ru/wholesale?SearchText=3D+Touch&CatId=undefined&g=y&page=1&searchInfo=AHh9TQIdZo+fLZK0x4PTwolKPkQZctwx61UjiffY6ocXmhcFYUDPWzC73fiBWiPVmLK945OJgZKaT9JeZuhKWqFhyTntuButAO6LNxifw6TFOebGZ5v7GU1v Купить]
Строка 64: Строка 68:
  
 
<pre>[stepper_z]
 
<pre>[stepper_z]
# в секции оси Z редактируется значение эндстоп пина
+
# в секции оси Z редактируется значение эндстоп пина. Строка концевика должна выглядеть так:
endstop_pin: probe:z_virtual_endstop
+
endstop_pin: probe:z_virtual_endstop  
 
# строка position_endstop должна быть удалена или закомментирована
 
# строка position_endstop должна быть удалена или закомментирована
# position_endstop: 0
+
# Теперь твой принтер будет адекватно парковаться по тачу, а не по концевику на раме.
  
 
[servo probe]
 
[servo probe]
Строка 97: Строка 101:
  
 
== Compact Opto Servo Probe ==
 
== Compact Opto Servo Probe ==
 +
[[File:Opto-probe-v1.JPG|200px|right|]]
 
https://www.thingiverse.com/thing:3303618
 
https://www.thingiverse.com/thing:3303618
  
Строка 104: Строка 109:
  
 
== BFPTouch micro ==
 
== BFPTouch micro ==
 +
[[File:Bfptouch micro.JPG|200px|right|]]
 
https://www.thingiverse.com/thing:3593971
 
https://www.thingiverse.com/thing:3593971
  
Строка 111: Строка 117:
  
 
== Compact Opto Servo Probe V2 ==
 
== Compact Opto Servo Probe V2 ==
 +
[[File:Opto-probe-v2.jpg|200px|right|]]
 
https://www.thingiverse.com/thing:3756428
 
https://www.thingiverse.com/thing:3756428
  
Строка 122: Строка 129:
 
Вариантов постройки несколько. Либо берём  [https://www.thingiverse.com/thing:5100896 готовый проект экструдера], либо рисуем сами. Пожалуй, что это единственный минус такого Тача. Кстати, его можно прикрутить и отдельно к любому готовому экструдеру. Просто нарисуй корпус Тача и флажок.
 
Вариантов постройки несколько. Либо берём  [https://www.thingiverse.com/thing:5100896 готовый проект экструдера], либо рисуем сами. Пожалуй, что это единственный минус такого Тача. Кстати, его можно прикрутить и отдельно к любому готовому экструдеру. Просто нарисуй корпус Тача и флажок.
  
Подключение очень простое. У нас есть 3 пина. G- земля V- питание. И третий пин- логика. Если плата не огрызок, то гнёзда под концевики будут на 3 пина. Если огрызок- то 2 пина, на землю и логику, а питание берём отдельно.
+
Подключение очень простое. У нас есть 3 пина. G- земля V- питание. И третий пин- логика. Если плата не огрызок, то гнёзда под концевики будут на 3 пина. Если огрызок- то 2 пина, на землю и логику, а питание берём отдельно 5v.
  
 
Прописываем в  разделе'''[stepper_z]''':
 
Прописываем в  разделе'''[stepper_z]''':
  
'''endstop_pin: probe:z_virtual_endstop'''
+
endstop_pin: probe:z_virtual_endstop
  
 
Создаём секцию:
 
Создаём секцию:
  
'''[probe]'''
+
<pre>[probe]
  
'''pin:''' #Указываешь логический пин концевика Z, к которому ты подключил оптопару. Т.е. оставляешь тот же пин, что был у тебя на обычном концевике;
+
pin: #Указываешь логический пин концевика Z, к которому ты подключил оптопару. Т.е. оставляешь тот же пин, что был у тебя на обычном концевике;
 
+
x_offset: 0.0 #Оффсет между соплом и тачем по оси экструдера. Если тач расположен справа от сопла- значение оффсета положительное, если слева- отрицательное;  
'''x_offset:''' 0.0 #Оффсет между соплом и тачем по оси экструдера.  
+
y_offset: 0.0 #Оффсет между соплом и тачем по оси стола. Если тач расположен за соплом- значение оффсета положительное. Если перед ним- отрицательное;
Если тач расположен справа от сопла- значение оффсета положительное, если слева- отрицательное;  
+
z_offset: 0.0 #Оффсет между соплом и тачем по Z, читай раздел "калибровка стола";
 
+
speed: 10 # Скорость (в мм/с) перемещения оси Z при зондировании. Значение по умолчанию равно 5 мм/с. Ставь максимальную скорость, при которой ещё не страдает точность;
'''y_offset:''' 0.0 #Оффсет между соплом и тачем по оси стола.
+
sample_retract_dist: 2.0  # Расстояние (в мм), на которое необходимо поднимать головку инструмента между каждой пробой (Если проб больше 1). Значение по умолчанию равно 2 мм. Чем выше, тем дольше будет сниматься карта стола;
Если тач расположен за соплом- значение оффсета положительное. Если перед ним- отрицательное;
+
lift_speed: 20 #Скорость перемещения (в мм/с) по оси Z при перемещении зонда между образцами. По умолчанию используется то же значение, что и в параметре '''"speed"''';
 
+
samples_tolerance: 0.015 #Максимальное расстояние по оси Z (в мм), на котором образец может отличаться от других образцов. При превышении этого допуска либо сообщается об ошибке, либо попытка повторяется (см. samples_tolerance_retries). Значение по умолчанию равно 0,100мм;
'''z_offset:''' 0.0 #Оффсет между соплом и тачем по Z;
+
samples_tolerance_retries: 2 #Количество повторных попыток, если будет найден образец, превышающий допустимую выборку. При повторной попытке все текущие образцы будут отброшены, и попытка проверки будет повторена. Если при заданном количестве повторных попыток не удается получить допустимый набор выборок, то выдается сообщение об ошибке. Значение по умолчанию равно нулю, что приводит к выдаче сообщения об ошибке при первой выборке, превышающей значение samples_tolerance.
 
+
</pre>
'''speed:''' 10 # Скорость (в мм/с) перемещения оси Z при зондировании. Значение по умолчанию равно 5 мм/с;
 
 
 
'''sample_retract_dist:''' 2.0  # Расстояние (в мм), на которое необходимо поднимать головку инструмента между каждой пробой (Если проб больше 1). Значение по умолчанию равно 2 мм;
 
 
 
'''lift_speed:''' 20 #Скорость перемещения (в мм/с) по оси Z при перемещении зонда между образцами. По умолчанию используется то же значение, что и в параметре '''"speed"''';
 
 
 
'''samples_tolerance:''' 0.015 #Максимальное расстояние по оси Z (в мм), на котором образец может отличаться от других образцов. При превышении этого допуска либо сообщается об ошибке, либо попытка повторяется (см. samples_tolerance_retries). Значение по умолчанию равно 0,100мм;
 
 
 
'''samples_tolerance_retries:''' 2 #Количество повторных попыток, если будет найден образец, превышающий допустимую выборку. При повторной попытке все текущие образцы будут отброшены, и попытка проверки будет повторена. Если при заданном количестве повторных попыток не удается получить допустимый набор выборок, то выдается сообщение об ошибке. Значение по умолчанию равно нулю, что приводит к выдаче сообщения об ошибке при первой выборке, превышающей значение samples_tolerance.
 
  
 
Это минимум, для нормальной работы ЕгорТача. Если надо ещё что-то: [https://www.klipper3d.org/Config_Reference.html?h=touch#probe Подробнее про раздел [probe] ]
 
Это минимум, для нормальной работы ЕгорТача. Если надо ещё что-то: [https://www.klipper3d.org/Config_Reference.html?h=touch#probe Подробнее про раздел [probe] ]
Строка 170: Строка 168:
 
== KlackEnder (Клакендер) ==
 
== KlackEnder (Клакендер) ==
 
https://github.com/kevinakasam/KlackEnder-Probe
 
https://github.com/kevinakasam/KlackEnder-Probe
 +
 +
Этот тач снимается после снятия карты стола. Всё управляется макросами, так что придётся чуть-чуть напрячь мозги.
 +
 +
= Про сервоприводы =
 +
Если у тебя Тач с сервой, то обычные команды вроде "BLTOUCH_DEBUG COMMAND=pin_down" у тебя не будут работать. Для управления сервой есть две команды:
 +
 +
SET_SERVO SERVO=config_name WIDTH=<seconds>. Устанавливает параметры ширины движения сервопривода.
 +
SET_SERVO SERVO=config_name ANGLE=<degrees>. Устанавливает параметры угла поворота сервопривода.
 +
 +
Например: SET_SERVO SERVO=probe ANGLE=180 установит серву ПРОБЫ в положение 180 градусов.
 +
 +
Серва может называться как угодно. И добавить можно сколько угодно сервоприводов. Например:
 +
 +
[servo name1]
 +
 +
SET_SERVO SERVO=name1 ANGLE=90 повернёт эту серву в положение 90 градусов. Сервоприводы можно использовать для чего угодно.

Текущая версия на 09:23, 8 марта 2025

6446747.jpg

Как считать оффсет по X и Y (изображение честно украдено с Клипперчата)


5484536.png

Распиновка тачей. Внимание, никогда не ориентируйся на цвета проводов. Только на гребёнку. Слева направо: Земля, 5 вольт, логический пин для управление спицей тача, земля, логический пин концевика Z.

CR-Touch

61-3Xpt+4KL. SL1500 .jpg

Одно из немногих, что Креалити сделали хорошо.

  • CR-Touch точнее чем BL-Touch. На борту оптический концевик. По точности соответствует BFP Touch и Микропробе.
  • Дороже BL-Touch

Щуп управляется соленоидом

Остерегайтесь подделок - в корпусе CR-Touch может находится начинка из других датчиков (например холла). Поэтому брать только в фирменном магазине Креалити!

BL Touch/3D Touch

Bad expensive bltouch.png
23452.png

Фирменный BL Touch стоит много денег. За эти деньги можно купить пару более дешевых реплик 3D Touch. Но он надёжнее 3дТача

Концевик, в данный момент, является датчиком Холла. Старые Блтаче были оптическими и были точнее. Так что Блтач с Холла менее точен, чем Цртач, Микропроба или блтач на оптическом концевике. К покупке НЕ рекомендуется.

Устранение проблем 3дТача

Biqu micro probe v2

4235243.png

Хороший и компактный тач. Рекомендуется к покупке.





...

BFPTouch

VV3lo.png

Простой, дешевый, аккуратный, точный, в меру надежный, самосборный датчик, состоящий из:

Есть нюансы.

Серва тут самый ненадёжный элемент, хотя её можно и отключить аппаратно на время, когда она не нужна.
Он не такой компатный, как заводские тачи, такие как блтач и микротач.

Пример конфига в Klipper

[stepper_z]
# в секции оси Z редактируется значение эндстоп пина. Строка концевика должна выглядеть так:
endstop_pin: probe:z_virtual_endstop 
# строка position_endstop должна быть удалена или закомментирована
# Теперь твой принтер будет адекватно парковаться по тачу, а не по концевику на раме.

[servo probe]
pin: PIN_SERVO
initial_angle: 90
maximum_servo_angle: 270
minimum_pulse_width: 0.0005
maximum_pulse_width: 0.0024

[probe]
pin: ^PIN_PROBE
x_offset: 10
y_offset: 20
z_offset: 0.96
speed: 10
samples: 3
samples_tolerance: 0.005
samples_tolerance_retries: 20
sample_retract_dist: 2
lift_speed: 30
deactivate_on_each_sample: False
activate_gcode:
  SET_SERVO SERVO=probe ANGLE=150
  G4 P300
deactivate_gcode:
  SET_SERVO SERVO=probe ANGLE=90
  G4 P300

Compact Opto Servo Probe

Opto-probe-v1.JPG

https://www.thingiverse.com/thing:3303618

Компактная серва на 9g серве

Конфиг такой же как в BFPTouch

BFPTouch micro

Bfptouch micro.JPG

https://www.thingiverse.com/thing:3593971

Компактная версия BFPTouch на 3.7g серве

Конфиг такой же как в BFPTouch

Compact Opto Servo Probe V2

Opto-probe-v2.jpg

https://www.thingiverse.com/thing:3756428

Компактная версия Opto Servo Probe на 3.7g серве

Конфиг такой же как в BFPTouch

ЕгорТач

Точный как любой оптический тач. При этом всё остальное- чистая механика, несколько магнитов, спица и макросы для работы. Надёжнее нет ничего. Нет ни соленоида, ни сервопривода, которые могут выйти из строя. И стоит это всё три копейки. Рекомендуется для тех, кто ищет оправдания.

Вариантов постройки несколько. Либо берём готовый проект экструдера, либо рисуем сами. Пожалуй, что это единственный минус такого Тача. Кстати, его можно прикрутить и отдельно к любому готовому экструдеру. Просто нарисуй корпус Тача и флажок.

Подключение очень простое. У нас есть 3 пина. G- земля V- питание. И третий пин- логика. Если плата не огрызок, то гнёзда под концевики будут на 3 пина. Если огрызок- то 2 пина, на землю и логику, а питание берём отдельно 5v.

Прописываем в разделе[stepper_z]:

endstop_pin: probe:z_virtual_endstop

Создаём секцию:

[probe]

pin: #Указываешь логический пин концевика Z, к которому ты подключил оптопару. Т.е. оставляешь тот же пин, что был у тебя на обычном концевике;
x_offset: 0.0 #Оффсет между соплом и тачем по оси экструдера. Если тач расположен справа от сопла- значение оффсета положительное, если слева- отрицательное; 
y_offset: 0.0 #Оффсет между соплом и тачем по оси стола. Если тач расположен за соплом- значение оффсета положительное. Если перед ним- отрицательное;
z_offset: 0.0 #Оффсет между соплом и тачем по Z, читай раздел "калибровка стола";
speed: 10 # Скорость (в мм/с) перемещения оси Z при зондировании. Значение по умолчанию равно 5 мм/с. Ставь максимальную скорость, при которой ещё не страдает точность;
sample_retract_dist: 2.0  # Расстояние (в мм), на которое необходимо поднимать головку инструмента между каждой пробой (Если проб больше 1). Значение по умолчанию равно 2 мм. Чем выше, тем дольше будет сниматься карта стола;
lift_speed: 20 #Скорость перемещения (в мм/с) по оси Z при перемещении зонда между образцами. По умолчанию используется то же значение, что и в параметре '''"speed"''';
samples_tolerance: 0.015 #Максимальное расстояние по оси Z (в мм), на котором образец может отличаться от других образцов. При превышении этого допуска либо сообщается об ошибке, либо попытка повторяется (см. samples_tolerance_retries). Значение по умолчанию равно 0,100мм;
samples_tolerance_retries: 2 #Количество повторных попыток, если будет найден образец, превышающий допустимую выборку. При повторной попытке все текущие образцы будут отброшены, и попытка проверки будет повторена. Если при заданном количестве повторных попыток не удается получить допустимый набор выборок, то выдается сообщение об ошибке. Значение по умолчанию равно нулю, что приводит к выдаче сообщения об ошибке при первой выборке, превышающей значение samples_tolerance.

Это минимум, для нормальной работы ЕгорТача. Если надо ещё что-то: Подробнее про раздел [probe ]

Что бы легко и без инструмента/3д_модели узнать оффсеты- поставь на столе точку. Подведи сопло на точку, запиши значение. Теперь подведи туда спицу Тача. Всё это командами из вебинтерфейса. Вычти значение.

Как управлять всем этим? Слева (или справа) на каретке Z надо прикрутить магнит на стойке. Желательно регулирующийся, на винте.

6143124-3Xpt+4KL. SL1500 .png


На спице Тача прикреплен магнит. При парковке голова подъезжает к магниту на каретке и щуп сам выскакивает, отталкиваясь от более мощного магнита.

61-3X41234pt+4KL. SL1500 .png


А что бы задвинуть щуп назад- голову надо опустить ниже, щуп сам прикрепится к магниту в голове.

KlackEnder (Клакендер)

https://github.com/kevinakasam/KlackEnder-Probe

Этот тач снимается после снятия карты стола. Всё управляется макросами, так что придётся чуть-чуть напрячь мозги.

Про сервоприводы

Если у тебя Тач с сервой, то обычные команды вроде "BLTOUCH_DEBUG COMMAND=pin_down" у тебя не будут работать. Для управления сервой есть две команды:

SET_SERVO SERVO=config_name WIDTH=<seconds>. Устанавливает параметры ширины движения сервопривода.
SET_SERVO SERVO=config_name ANGLE=<degrees>. Устанавливает параметры угла поворота сервопривода.

Например: SET_SERVO SERVO=probe ANGLE=180 установит серву ПРОБЫ в положение 180 градусов.

Серва может называться как угодно. И добавить можно сколько угодно сервоприводов. Например:

[servo name1]

SET_SERVO SERVO=name1 ANGLE=90 повернёт эту серву в положение 90 градусов. Сервоприводы можно использовать для чего угодно.