Touch
Как считать оффсет по X и Y (изображение честно украдено с Клипперчата)
Распиновка тачей. Внимание, никогда не ориентируйся на цвета проводов. Только на гребёнку. Слева направо: Земля, 5 вольт, логический пин для управление спицей тача, земля, логический пин концевика Z.
Содержание
CR-Touch
Одно из немногих, что Креалити сделали хорошо.
- CR-Touch точнее чем BL-Touch. На борту оптический концевик. По точности соответствует BFP Touch и Микропробе.
- Дороже BL-Touch
Щуп управляется соленоидом
Остерегайтесь подделок - в корпусе CR-Touch может находится начинка из других датчиков (например холла). Поэтому брать только в фирменном магазине Креалити!
BL Touch/3D Touch
Фирменный BL Touch стоит много денег. За эти деньги можно купить пару более дешевых реплик 3D Touch. Но он надёжнее 3дТача
Концевик, в данный момент, является датчиком Холла. Старые Блтаче были оптическими и были точнее. Так что Блтач с Холла менее точен, чем Цртач, Микропроба или блтач на оптическом концевике. К покупке НЕ рекомендуется.
Biqu micro probe v2
Хороший и компактный тач. Рекомендуется к покупке.
...
BFPTouch
Простой, дешевый, аккуратный, точный, в меру надежный, самосборный датчик, состоящий из:
- Зеркало на случай битой ссылки
Есть нюансы.
Серва тут самый ненадёжный элемент, хотя её можно и отключить аппаратно на время, когда она не нужна. Он не такой компатный, как заводские тачи, такие как блтач и микротач.
Пример конфига в 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
https://www.thingiverse.com/thing:3303618
Компактная серва на 9g серве
Конфиг такой же как в BFPTouch
BFPTouch micro
https://www.thingiverse.com/thing:3593971
Компактная версия BFPTouch на 3.7g серве
Конфиг такой же как в BFPTouch
Compact Opto Servo Probe V2
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 надо прикрутить магнит на стойке. Желательно регулирующийся, на винте.
На спице Тача прикреплен магнит. При парковке голова подъезжает к магниту на каретке и щуп сам выскакивает, отталкиваясь от более мощного магнита.
А что бы задвинуть щуп назад- голову надо опустить ниже, щуп сам прикрепится к магниту в голове.
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 градусов. Сервоприводы можно использовать для чего угодно.