KREMEN Реклама
KREMEN Реклама

3D Touch не удается вывести из состояния ошибки

eax
Идет загрузка
Загрузка
14.04.2019
4242
4
Вопросы и ответы
Доброго времени суток, камрады! Недавно приобрел Ender - 3 и есстессно загорелся желанием заапгрейдить его. При покупке принтера, сразу заказал датчик с алиэкспресса 3D Touch, надеясь на удачу и посмотрев видео Ирбиса. Спустя полторы недели он оказался у меня в почтовом ящике и я, довольный, пошел устанавливать эту чертову бестию. Собственно радовался я недолго, ибо проблемы начались сразу же. У моего принтера кабель с платы на дисплей был не серого цвета с красным кабелем, а всех цветов радуги, даже больше. И пин управляющий спикером, как оказалось, находился пином выше(прошу прощения за каламбур, прилагаю ссылку на скриншот, чтобы было понятнее)

https://i1.wp.com/3dprintlove.com/wp-content/uploads/2018/07/Bl-touch-1.png?resize=788%2C635

в итоге промучавшись, перерезав и перепаяв несколько кабелей, и в результате подключив все как нужно, начал прошиваться. До этого у меня стоял чистый марлин, и я следуя видео вышеупомянутого Ирбиса начал менять параметры. Итог датчик мигает красным цветом. 3 дня я лазил по разным форумам, пытался перепрошиться с разными параметрами и командами, все было тщетно. Так же пытался калибровать его через пронтерфейс, командами M280 P0 S160, потом крутить болтик и дальше M280 P0 S120. Датчик радостно мигнув синим один раз, уходил в ошибку. Пробовал прошивку от TH3D_UFW_U1.R1.8a, пробовал следовать инструкциям от китайского магазина, к слову, вот ссылка откуда я его заказывал+там в описании есть инструкции https://ru.aliexpress.com/item/3D/32890485972.html

так же пробовал вставлять разные уже готовые конфиги от коллег с англоязычных/немецких форумов, инструкции с thingiverse и так далее. Справедливости ради нужно сказать, что однажны датчик все же начал радостно щелкать своим щупом и мигать, и остановил стол, когда он опускался. Правда, сделал это всего лишь 1 раз и когда я, лелея крохи надежды, дал команду g28, он радосто протаранил стол, прям как тот рефрежиратор протаранил ботик из именитой песни. Все же не теряя надежды я спаял все по феншую, думая ну сейчас то все же заработает, ан нет. Сие явление было краткосрочным и больше не повторялось, несмотря на все мои ухищрения и танцы с бубном. Я совсем пришел в уныние, учитывая мои довольно скудные познания в программировании, перечитал кучу статей и пересмотрел кучу видео. Курил всякие офицальные мануалы под 3D Touch(которые написаны немного под другой принтер и пытался все это переделать под Ender 3) но тут или лыжи не едут, или руки не из плечей растут :/

Как итог, было перепробованно масса разных способов и решений, но ни одно из них не принесло своего результата. Сейчас на принтере стоит следующий конфиг:

девственно чистый марлин последней версии с офф. сайта.

Желтый провод подключен как на скриншоте выше, в пин 27, который идет к спикеру.

в Configuration.h

#define USE_XMIN_PLUG

#define USE_YMIN_PLUG

#define USE_ZMIN_PLUG

//#define USE_XMAX_PLUG

//#define USE_YMAX_PLUG

//#define USE_ZMAX_PLUG

-------------------------------------------------

#define ENDSTOPPULLUPS

#if DISABLED(ENDSTOPPULLUPS)

// Disable ENDSTOPPULLUPS to set pullups individually

//#define ENDSTOPPULLUP_XMAX

//#define ENDSTOPPULLUP_YMAX

//#define ENDSTOPPULLUP_ZMAX

//#define ENDSTOPPULLUP_XMIN

//#define ENDSTOPPULLUP_YMIN

//#define ENDSTOPPULLUP_ZMIN

#define ENDSTOPPULLUP_ZMIN_PROBE

#endif

-------------------------------------------------

#define X_MIN_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop.

#define Y_MIN_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop.

#define Z_MIN_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop.

#define X_MAX_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop.

#define Y_MAX_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop.

#define Z_MAX_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop.

#define Z_MIN_PROBE_ENDSTOP_INVERTING false // set to true to invert the logic of the probe.

-------------------------------------------------

#define BLTOUCH

#if ENABLED(BLTOUCH)

#define SERVO0_PIN 27

//#define BLTOUCH_DELAY 375 // (ms) Enable and increase if needed

#endif

-------------------------------------------------

#define X_PROBE_OFFSET_FROM_EXTRUDER -45// X offset: -left +right [of the nozzle]

#define Y_PROBE_OFFSET_FROM_EXTRUDER -20 // Y offset: -front +behind [the nozzle]

#define Z_PROBE_OFFSET_FROM_EXTRUDER 0 // Z offset: -below +above [the nozzle]

-------------------------------------------------

#define MIN_SOFTWARE_ENDSTOPS

#if ENABLED(MIN_SOFTWARE_ENDSTOPS)

#define MIN_SOFTWARE_ENDSTOP_X

#define MIN_SOFTWARE_ENDSTOP_Y

//#define MIN_SOFTWARE_ENDSTOP_Z

#endif

-------------------------------------------------

//#define AUTO_BED_LEVELING_3POINT

//#define AUTO_BED_LEVELING_LINEAR

#define AUTO_BED_LEVELING_BILINEAR

//#define AUTO_BED_LEVELING_UBL

//#define MESH_BED_LEVELING

-------------------------------------------------

#define Z_SAFE_HOMING

-------------------------------------------------

#define Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN

-------------------------------------------------

//#define Z_MIN_PROBE_ENDSTOP

-------------------------------------------------

#define GRID_MAX_POINTS_X 5

#define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X

-------------------------------------------------

#define EEPROM_SETTINGS // Enable for M500 and M501 commands

В библиотеке Marlin_main.cpp была добавлена строчка после gcode_G28(false);:

case 28:

gcode_G28(false);

set_bed_leveling_enabled(true); // вот эта сточка ^^

break;

В configuration_adv.h так же были внесенены изменения:

#define BABYSTEPPING

#if ENABLED(BABYSTEPPING)

//#define BABYSTEP_XY // Also enable X/Y Babystepping. Not supported on DELTA!

#define BABYSTEP_INVERT_Z false // Change if Z babysteps should go the other way

#define BABYSTEP_MULTIPLICATOR 5 // Babysteps are very small. Increase for faster motion.

#define BABYSTEP_ZPROBE_OFFSET // Enable to combine M851 and Babystepping

#define DOUBLECLICK_FOR_Z_BABYSTEPPING // Double-click on the Status Screen for Z Babystepping.

#define DOUBLECLICK_MAX_INTERVAL 1250 // Maximum interval between clicks, in milliseconds.

// Note: Extra time may be added to mitigate controller latency.

//#define BABYSTEP_ZPROBE_GFX_OVERLAY // Enable graphical overlay on Z-offset editor

#endif

так же были убраны некоторые функции, чтобы прошивка поместилась:

//#define ARC_SUPPORT // Disable this feature to save ~3226 bytes

раскоментировано

#define SLIM_LCD_MENUS

и выключен спикер.

Как итог, 3е суток потрачено на этот сенсор, красные глаза, нервный тик, седина, литры кофе/чая и успешно прогулянные лекции :D сенсор все так же отказывается работать. Отличный пример пословицы, что скупой платит вдвойне ^^ а я, отчаявшись, прошу вас о помощи, камрады ;)

PS почти все доступные мануалы курил, как китайские BLTouch настаивались на anet a6, a8, и тд. То есть на те темы, ссылки на которые обычно оставляют бывалые бродяги новичкам :)

Буду очень рад любой информации или направлении в котором нужно рыть ;D Заранее спасибо
Ответы на вопросы