При попытке найти информацию как подключить автоуровень 3DTouch(клон BLTouch) к MKS Sbase v1.3 с прошивкой Smoothieware столкнулся с проблемой недостатка информации по этому вопросу. Поэтому хочу поделиться как это сделал я на своем 3Dпринтере (российский клон Prusa i3).
Плата управления для 3D принтера MKS Sbase v1.3 является китайским аналогом популярной на Западе Smoothieboard. Как и аналог, плата уже имеет на борту прошивку Smoothieware, но при желании ее можно прошить Marlin 2.0(версия прошивки есть в репозитории китайского производителя на github.com). Далее будет рассмотрен вариант подключения 3DTouch именно для MKS Sbase v1.3 с прошивкой Smoothieware.
Автоуровень 3DTouch от Geeetech также является китайским аналогом BLTouch (возможно схема подключения подойдет и под него, не проверял). Такой датчик применяется для автоматической калибровки стола.
Для подключения датчика можно использовать один из разъемов концевиков оси Z (пин P1.28 для Z- или пин P1.29 для Z+ ) и пины P1.23 и GND на гребенке в верхнем левом углу платы. Расположение нужных пинов на плате представлено на рисунке ниже.
В моем варианте автоуровень подключен в разъем концевика Zmax(Z+) к пину P1.29. Это связано с тем, что разъем концевика по Zmin(Z-) занят индукционным датчиком. Пробовал вариант когда автоуровень подключен в Zmin, а по Zmax оптический концевик... Он меня не устроил, так как каждый раз при печати необходимо было парковать каретку в Zmax, а потом двигать ее к столу. На форумах рекомендуют подключать датчик 3DTouch/BLTouch в Zmin.
Совет! Для дальнейшей нормальной работы с автоуровнем необходимо наличие концевика по Z (или Zmax или Zmin).
Схема подключения (вариант когда автоуровень подключен через Zmax(Z+))
Подключаем по следующей схеме:
- Коричневый кабель от автоуровня к GND на гребенке в верхнем левом углу;
- Оранжевый кабель от автоуровня к пину P1.23 на гребенке в верхнем левом углу;
- Белый кабель от автоуровня к пину P1.29 (S) в разъеме для подключения концевика;
- Черный кабель от автоуровня к пину G в разъеме для подключения концевика;
- Красный кабель от автоуровня к пину V в разъеме для подключения концевика.
Совет! Вместе с 3DTouch идет комплект разъемов Dupont (черные,
прямоугольные), но так как они неплотно садятся в разъем концевика, то можно аккуратно снять пластиковый разъем с платы. Разъемы сидят на плате достаточно туго, не перестарайтесь и не повредите случайно плату.
Конфигурационный файл config.txt
После подключения датчика необходимо внести изменения в файл config.txt.
Пример моего config.txt в части, касающейся автоуровня, приведен ниже.
==============================================================
gamma_min_endstop 1.28
gamma_max_endstop nc
==============================================================
# 3Dtouch
# M280 S3 deploy pin
# M280 S5.5 zpin test mode
# M280 S7 retract pin
# M280 S8.4 self test
# M280 S10.6 Alarm release
switch.servo.enable true
switch.servo.input_on_command M280 S3.0 # M280 S7.5 Would be midway
switch.servo.input_off_command M280 S7.0 # Same as M280 S0 0% duty
cycle, effectivley off
switch.servo.output_pin 1.23 # Must be a PWM capable pin
switch.servo.output_type hwpwm # H/W PWM output settable
switch.servo.pwm_period_ms 20 # Set Period to 20ms (50Hz)
==============================================================
# Z-probe
# See http://smoothieware.org/zprobe
# 3Dtouch
zprobe.enable true # Set to true to enable a zprobe
zprobe.probe_pin 1.29^ # Pin probe is attached to, if NC remove the !
zprobe.slow_feedrate 2 # Mm/sec probe feed rate
zprobe.fast_feedrate 10 # Move feedrate mm/sec
zprobe.probe_height 10 # How much above bed to start probe
================================================================
Проверка
После подключения и внесения необходимых изменений в конфигурационный файл проверим работоспособность автоуровня.
При включении 3Dпринтера автоуровень должен выпустить и втянуть щуп. При втянутом щупе датчик светится красным цветом.
Подключаем 3Dпринтер к компьютеру и отправляем на 3Dпринтер следующий GCode:
- M280 S3 Датчик должен опустить щуп.
- M280 S7 Датчик должен поднять щуп.
Теперь проверим, что датчик может работать в качестве Zprobe.
- M280 S5.5 Переводим датчик в режим теста.
- M280 S3 Опускаем щуп.
- M119 Смотрим вывод команды: в поле Probe должен быть 0.
- M280 S7 Поднимаем щуп.
- M119 Смотрим вывод команды: в поле Probe должна быть 1.
Совет! Если датчик начинает мигать — это значит что он перешел в аварийный режим. Датчик можно скинуть в нормальный режим командой M280 S10.6
Помните, что все что вы делаете — вы делаете на свой страх и риск!