Марлин 2.0 для Anycubic Kossel Pulley (младшая модель) с рабочим автоуровнем. Стандартный датчик от мышки, микрик, на сопло.

Подписаться на 3Dtoday
onvoid
Идет загрузка
Загрузка
30.08.18
2804
18
печатает на Anycubic Kossel linear plus
RepRap
5
Статья с такими же анстройками и понимание как у xolodny
http://3dtoday.ru/blogs/xolodny/preparation-and-marlin-firmware-for-delta-printer/
немного дополнена моими пониманиями.

Купил Anycubic Koessel Pulley, это младшая модель Anycubic Koessel Plus, отличается меньшим размером стола 180см и вместо линейных направляющих на подшипниках, используются ролики. Купил, собрал, откалибровал, печатал. Со временем стал замечать, что при переноске принтера с одного места в другой, даже после калибровки, детали выходили кривые.

Калибровал как AutoLevelinBed, так и по листочку, по познавательному видео от Anycubic, c настройкой концевиков на башнях. Также калибровал по калькулятору Эшера, и в Репитр Хосте менял данные в EEPROM, сохранял, проверял что бы сохранение прошло нормально, успокоился, а на следующий день заметил что все настройки EEPROM которые я внёс, скинуты на стандартные, т.е. принтер не запоминает их.

Решил, что всё с меня хватит! Надо прошивать другую прошивку! Сначала выбрал Марлин 1.1.8, потом 1.1.9.

Настраивал по теме xolodny надо почитать он лучше пишит.
http://3dtoday.ru/blogs/xolodny/preparation-and-marlin-firmware-for-delta-printer/
огромное ему спасибо за статью.

Но понял что Автонатстройка уровня стола на них не работает.
Мне подсказали попробовать Марлин 2.0 , говорят нормально работает!
И сного настроив Марлин 2.0. увидел что автоуровень не работает.

После долгих поисков и логики, все таки настроил работу автоуровня, но пришлось урезать его функционал.
В Марлине по умолчанию стоят автокалибровки Auto Calibration, Set Delta Height (измеряет максимальную высоту печати), Z_PROBE_ALLEN_KEY, Probe Z-Offset(измеряет высоту концевого датчика на сопла). В марлине после Auto Calibration по NxN количеству точек, от 1 до 7, стоит Set Delta Height, а потом автоуровень Z_PROBE_ALLEN_KEY, и как я понял, для работы Z_PROBE_ALLEN_KEY необходим серво датчик, а у меня только обычный кнопочный(микрик).

Если полностью отключить Z_PROBE_ALLEN_KEY, то принтер вообще перестаёт реагировать на концевой датчик сопла. Пришлось отключать часть функций в Z_PROBE_ALLEN_KEY, т.е. закоментировал ту часть в которой указывались координаты для взятия проб серводатчиком.

Но и потом не обошлось без приключений. Концевик сопла не работал на Set Delta Height и Probe Z-Offset.
Пришлось отключить Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN и вместо него использовать Z_MIN_PROBE_ENDSTOP.

В кратце Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN использует разьём Z-min на плате Pin 18, у меня датчик подключен к нему, и с Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN не хочет работать автоуровень. А Z_MIN_PROBE_ENDSTOP подключен к Pin 32, я не стал искать где этот пин на плате и подключать к нему, а просто в файле pins_RAMPS.h(Marlin\src\pins) поменял пины местами, т.е. вот так

файл pins_RAMPS.h
--------------
#define Z_MIN_PIN 32
//#define Z_MIN_PIN 18 //по умолчанию
#define Z_MAX_PIN 19

//
// Z Probe (when not Z_MIN_PIN)
//
#ifndef Z_MIN_PROBE_PIN
#define Z_MIN_PROBE_PIN 18
//#define Z_MIN_PROBE_PIN 32 //по умолчанию

#endif
---------------------------

Судя по видео из инета, раньше калибровка должны была быть такой, после автокалибровки Auto Calibration по N*N точкам, автокалибровка начинает измерять высоту по оси Z(Set Delta Height), а после включается Z_PROBE_ALLEN_KEY.

После такого варварского(закоментирования) отключения половины Z_PROBE_ALLEN_KEY, автокалибровка выглядит так.
Сначала Auto Calibration по N*N точкам, потом Хоум, и потом принтер пишет ошибку, но ничего страшного, надо вручную сохранить то что он насканировал, это можно сделать вменю принтера, потом можно самостоятельно включить Set Delta Height, а потом Probe Z-Offset.

Probe Z-Offset -это полуавтоматическая колибровка высоты датчика стола, работа выглыдит так.
После запуска Probe Z-Offset, голова принтера едет в Хоум, после опускается до стола, до сработки датчика сопла, потом немного поднимается и опускатеся на небольшое расстояние от стола, и останавливается, надо снять датчик сопла не сдвинув голову принтера, положить на стол под сопло лист бумаги и вручную энкодером переместить сопло вниз до небольшого зажима бумаги соплом, и нажать на энкодер, потом голова принтера поедет до Хоум.
Таким образом, принтер вычислит на какой высоте сработал датчик и вы ему скажите на какой высоте находится сопло, и он точно вычислит срабатываемую высоту датчика.

После каждой операции Auto Calibration, Set Delta Height, Probe Z-Offset, надо сохранить настройки в
Prepare->Delta Calibration->Store Settings
или
Control->Store Settings.

Далее напишу то что изменил, и постараюсь описать для чего это надо.

Взял готовый прессет настроек из папки
Marlin\src\config\examples\delta\FLSUN\auto_calibrate
и переделал для своего принтера

файл Configuration.h
------------------------------------------------------------------------
//===========================================================================
//============================= SCARA Printer ===============================
//===========================================================================
#define BAUDRATE 115200 //скорость обмена данными между принтером и компьютером ,эти числа

//стандартные можно изменить
#ifndef MOTHERBOARD //название материнской платы принтера, у меня тригорилла,

//она отличается от настроек
#define MOTHERBOARD BOARD_TRIGORILLA_14 //рампса1.4 включением двух функций на 44 pin
#endif

#define CUSTOM_MACHINE_NAME "Delta Anycubic" //название принтера ,будет надпись на дисплее принтера

#define EXTRUDERS 1 //количество эктсрудеров

#define DEFAULT_NOMINAL_FILAMENT_DIA 1.75 //диаметр используемого филамента

#define POWER_SUPPLY 0 //тип блока питания, 0 - стандартный китайский блок питания, 1-блок питания АТХ, 2-блок питания от ХВОХ 360

//===========================================================================
//============================= Thermal Settings ============================
//===========================================================================
#define TEMP_SENSOR_0 5 //тип термистора, 5-100Ком стандартный у китайских, в файле можно прочитать их разновидности.
#define TEMP_SENSOR_BED 5 //тоже самое, но для стола

#define HEATER_0_MINTEMP 5 //минимальная температура сопла
#define BED_MINTEMP 5 //минимальная температура стола

#define HEATER_0_MAXTEMP 275 //максимальная температура сопла
#define BED_MAXTEMP 150 //максимальная температура стола

//===========================================================================
//============================= PID Settings ================================
//===========================================================================
// Ultimaker //пресет этих настроек для Ultimaker, такой же как у настроек

//стандартной прошивки Anycubic Kossel Pulley
#define DEFAULT_Kp 22.2 //их можно посмотреть в EEPROM, через репитр хост
#define DEFAULT_Ki 1.08
#define DEFAULT_Kd 114

//===========================================================================
//======================== Thermal Runaway Protection =======================
//===========================================================================
#define THERMAL_PROTECTION_HOTENDS //защита от перегрева, короткого замыкания, обрыва,

//термисторов сопла
#define THERMAL_PROTECTION_BED //защита от перегрева, короткого замыкания, обрыва,
//термисторов стола

//===========================================================================
//============================== Delta Settings =============================
//===========================================================================
#define DELTA_SEGMENTS_PER_SECOND 160 //скорость работы мозгов принтера, из информации по другой

//статье для маломощных лучше ставить 120,

//я поставил 160, пробовал 200, тоже работает,
//но может не работать при быстрой печати.

#define DELTA_CALIBRATION_MENU //включения пункта калибровки в меню

#define DELTA_AUTO_CALIBRATION //включение автокалибровки

#if ENABLED(DELTA_AUTO_CALIBRATION)
// set the default number of probe points : n*n (1 -> 7)
#define DELTA_CALIBRATION_DEFAULT_POINTS 4 //можно ставить от 1 до 7, итоговое значение
//количества точек
//считается по формуле NxN
#endif

#define DELTA_CALIBRATION_RADIUS 78.0 //радиус в котром будет идти скинирование точек, при автокалибровке

#define DELTA_PRINTABLE_RADIUS 90.0 //радиус рабочеу поверхности стола, можно посмотреть

//на сайте продавца

#define DELTA_DIAGONAL_ROD 218.0 //диагональный радиус, длинна тяги, смотри картинку для понимания

#define DELTA_HEIGHT 320.00 //высота рабочего пространства по оси Z

#define DELTA_RADIUS 98.40 //дельта радиус, брал из EEPROM старой прошивки,

//смотри картинку для понимания

//===========================================================================
//============================== Endstop Settings ===========================
//===========================================================================
//включение необходимых концевиков
#define USE_ZMIN_PLUG // a Z probe //датчика стола или сопла
#define USE_XMAX_PLUG //датчик башни Х
#define USE_YMAX_PLUG //датчик башни Y
#define USE_ZMAX_PLUG //датчик башни Z

#define ENDSTOPPULLUPS

//=============================================================================
//============================== Movement Settings ============================
//=============================================================================
//эти данные можно взять в EEPROM своего принтера

#define DEFAULT_AXIS_STEPS_PER_UNIT { 80, 80, 80, 96 } //количество шагов для двигателей

#define DEFAULT_MAX_FEEDRATE { 200, 200, 200, 200 } //максимальна скорость работы двигателей принтера

#define DEFAULT_MAX_ACCELERATION { 3000, 3000, 3000, 3000 } //максимальное ускорение при работе

#define DEFAULT_ACCELERATION 3000 //максимальная скорость работы по умолчанию
#define DEFAULT_RETRACT_ACCELERATION 3000
#define DEFAULT_TRAVEL_ACCELERATION 3000

#define DEFAULT_XJERK 5.0 //скорость рывка при ускорении, для башни Х
#define DEFAULT_YJERK DEFAULT_XJERK //для башни Y
#define DEFAULT_ZJERK DEFAULT_XJERK //для башни Z
#define DEFAULT_EJERK 5.0 //для эктрудера

//===========================================================================
//============================= Z Probe Options =============================
//===========================================================================
//#define Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN //выключил Z-Min edstop, т.к. с ним не хотела
//работать автокалибровка
// пришлось использовать

//Z_MIN_PROBE_ENDSTOP

#define Z_MIN_PROBE_ENDSTOP //включение датчика Z_MIN_PROBE_ENDSTOP, он испльзуется если нет разьёма Z-Min edstop
//этот датчик судя по файлу pins_RAMPS.h по умочанию работает на 32 пине
//а Z-min ednstop на 18
//пришлось изменить и поменял их пины местами в файле pins_RAMPS.h


#define X_PROBE_OFFSET_FROM_EXTRUDER 0 //расстояние от концевика сопла до самого сопла по оси X
#define Y_PROBE_OFFSET_FROM_EXTRUDER 0 //расстояние от концевика сопла до самого сопла по оси Y
#define Z_PROBE_OFFSET_FROM_EXTRUDER -16.40 //расстояние от концевика сопла до самого сопла по оси Z, пишется со знаком МИНУС

//здесь показанно как на половину оключил работу автокалибровки Z_PROBE_ALLEN_KEY,
//которая требует специального датчика, обычный концевик НЕ ПОДОЙДЁТ.

#define Z_PROBE_ALLEN_KEY
#if ENABLED(Z_PROBE_ALLEN_KEY)
// 2 or 3 sets of coordinates for deploying and retracting the spring loaded touch probe on G29,
// if servo actuated touch probe is not defined. Uncomment as appropriate for your printer/probe.

// Kossel Mini
#define Z_PROBE_ALLEN_KEY_DEPLOY_1_X 30.0
#define Z_PROBE_ALLEN_KEY_DEPLOY_1_Y DELTA_PRINTABLE_RADIUS
#define Z_PROBE_ALLEN_KEY_DEPLOY_1_Z 100.0
#define Z_PROBE_ALLEN_KEY_DEPLOY_1_FEEDRATE XY_PROBE_SPEED

#define Z_PROBE_ALLEN_KEY_DEPLOY_2_X 0.0
#define Z_PROBE_ALLEN_KEY_DEPLOY_2_Y DELTA_PRINTABLE_RADIUS
#define Z_PROBE_ALLEN_KEY_DEPLOY_2_Z 100.0
#define Z_PROBE_ALLEN_KEY_DEPLOY_2_FEEDRATE (XY_PROBE_SPEED/10)

#define Z_PROBE_ALLEN_KEY_DEPLOY_3_X Z_PROBE_ALLEN_KEY_DEPLOY_2_X * 0.75
#define Z_PROBE_ALLEN_KEY_DEPLOY_3_Y Z_PROBE_ALLEN_KEY_DEPLOY_2_Y * 0.75
#define Z_PROBE_ALLEN_KEY_DEPLOY_3_Z Z_PROBE_ALLEN_KEY_DEPLOY_2_Z
#define Z_PROBE_ALLEN_KEY_DEPLOY_3_FEEDRATE XY_PROBE_SPEED

// #define Z_PROBE_ALLEN_KEY_STOW_DEPTH 20
// #define Z_PROBE_ALLEN_KEY_STOW_1_X -64.0 // Move the probe into position
// #define Z_PROBE_ALLEN_KEY_STOW_1_Y 56.0
// #define Z_PROBE_ALLEN_KEY_STOW_1_Z 23.0
// #define Z_PROBE_ALLEN_KEY_STOW_1_FEEDRATE XY_PROBE_SPEED
// Move the nozzle down further to push the probe into retracted position.
// #define Z_PROBE_ALLEN_KEY_STOW_2_X Z_PROBE_ALLEN_KEY_STOW_1_X
// #define Z_PROBE_ALLEN_KEY_STOW_2_Y Z_PROBE_ALLEN_KEY_STOW_1_Y
// #define Z_PROBE_ALLEN_KEY_STOW_2_Z (Z_PROBE_ALLEN_KEY_STOW_1_Z-Z_PROBE_ALLEN_KEY_STOW_DEPTH)
// #define Z_PROBE_ALLEN_KEY_STOW_2_FEEDRATE (XY_PROBE_SPEED/10)
// Raise things back up slightly so we don't bump into anything
// #define Z_PROBE_ALLEN_KEY_STOW_3_X Z_PROBE_ALLEN_KEY_STOW_2_X
// #define Z_PROBE_ALLEN_KEY_STOW_3_Y Z_PROBE_ALLEN_KEY_STOW_2_Y
// #define Z_PROBE_ALLEN_KEY_STOW_3_Z (Z_PROBE_ALLEN_KEY_STOW_1_Z+Z_PROBE_ALLEN_KEY_STOW_DEPTH)
// #define Z_PROBE_ALLEN_KEY_STOW_3_FEEDRATE (XY_PROBE_SPEED/2)

// #define Z_PROBE_ALLEN_KEY_STOW_4_X 0.0
// #define Z_PROBE_ALLEN_KEY_STOW_4_Y 0.0
// #define Z_PROBE_ALLEN_KEY_STOW_4_Z Z_PROBE_ALLEN_KEY_STOW_3_Z
// #define Z_PROBE_ALLEN_KEY_STOW_4_FEEDRATE XY_PROBE_SPEED

#endif // Z_PROBE_ALLEN_KEY

----------------------------------------------------
#define Z_CLEARANCE_DEPLOY_PROBE 50 // Z Clearance for Deploy/Stow. судя по переводу, это промежуток
//на котором можно производить ручную калибровкупо оси Z,
//для Z-OffSet и других ручных калибровок.

#define Z_CLEARANCE_BETWEEN_PROBES 16 //растояние на котором остановится голова принтера при
//автокалибровке, т.е. если

//Z_PROBE_OFFSET_FROM_EXTRUDER -16 и Z_CLEARANCE_BETWEEN_PROBES 16 то датчик остановится
//примерно на высоте 2мм от стола

#define Z_CLEARANCE_MULTI_PROBE 16 //что то для мульти пробы

#define Z_PROBE_LOW_POINT 0 //высота на котром будет чувствоваться приконовение датчика к столу
//т.е. при Z-OffSet голова принтера опускается на Z=Z_PROBE_OFFSET_FROM_EXTRUDER
//и ещё + Z_PROBE_LOW_POINT опускатеся вниз для чувтсвание сработки датчика.
//я так понимаю, что вся эта хрень в этом блоке нужна для того, что бы точно получить сигнал

//сработки датчика ,без задержек на какиенибудь внутренние левые вычисления,

//т.е. в этот момент мозги только стараются принять сигнал от

//датчика сопла.

//все эти значения тесно связання друг с другом , и работают вместе, т.е. могут складываться.

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

#define X_ENABLE_ON 0 //судя по другим статьям, эти праметры задают разрешение на вращение двигателя
//по башням X, Y, Z и экструдера

#define Y_ENABLE_ON 0
#define Z_ENABLE_ON 0
#define E_ENABLE_ON 0

#define DISABLE_X false //судя по другим статьям, это разрешает отключение двигателей сразу же,
//как только нужда в них пропадает, не наш вариант, короче. Должно быть false

#define DISABLE_Y false
#define DISABLE_Z false

#define DISABLE_E false

#define INVERT_X_DIR true // DELTA does not invert, изменение вращения двигателей, по умолчанию стоит false, но мне пришлось ставить true
#define INVERT_Y_DIR true
#define INVERT_Z_DIR true
#define INVERT_E0_DIR false

#define X_HOME_DIR 1 // deltas always home to max, показываает что концевики башен X, Y и Z на ходятся на верху
#define Y_HOME_DIR 1
#define Z_HOME_DIR 1

//===========================================================================
//=============================== Bed Leveling ==============================
//===========================================================================
Ничего не трогал, нужны серводатчики или ёмкостные, вообщем нужны датчики с адаптивным измерением высоты над столом.

---------------------------------------------
// @section homing
// The center of the bed is at (X=0, Y=0)
#define BED_CENTER_AT_0_0 //показывает в каких координатах находится центр стола

// Delta only homes to Z
#define HOMING_FEEDRATE_Z (60*60) //скорость премещения при движении головы в Хоум,
//измеряется в мм/м, для наглядности поставил мм/с (60скорость*60секунд)


//=============================================================================
//============================= Additional Features ===========================
//=============================================================================
#define EEPROM_SETTINGS //даёт возможность записи изменений в EEPROM.
#define EEPROM_CHITCHAT //тоже чтото оттуда

//прессеты для предподогрева, для PLA
#define PREHEAT_1_TEMP_HOTEND 180 //температура предподогрева хотэнда
#define PREHEAT_1_TEMP_BED 70 //температура предподогрева стола
#define PREHEAT_1_FAN_SPEED 255 //скорость вентилятора охлаждения пластика после сопла
//по умолчанию стоит 255 но визжит

//прессеты для ABS
#define PREHEAT_2_TEMP_HOTEND 220
#define PREHEAT_2_TEMP_BED 100
#define PREHEAT_2_FAN_SPEED 255 // Value from 0 to 255

//=============================================================================
//============================= LCD and SD support ============================
//=============================================================================
#define LCD_LANGUAGE en //настройки языка меню

#define DISPLAY_CHARSET_HD44780 WESTERN //настройки символов для меню

#define SDSUPPORT //включает возможность использование SDкарты

#define ENCODER_PULSES_PER_STEP 1 //скорость перемещия по меню при кручении энкодера

#define ENCODER_STEPS_PER_MENU_ITEM 5

#define SPEAKER //включил спикер, я заметил чтоон работает когда нажимаешь сохрание настроек в меню

//=============================================================================
//======================== LCD / Controller Selection =========================
//======================== (Character-based LCDs) =========================
//=============================================================================
#define REPRAP_DISCOUNT_SMART_CONTROLLER //включение дисплея 2004

//#define PANEL_ONE //выключение какогото дисплея, включен по умолчанию, но надо выключить.

немного возникла проблема с включением вентилятора на хотэнде настройки в файле Configuration_adv.h

Configuration_adv.h
-------------------------------------------------------
#define E0_AUTO_FAN_PIN 44 //44 пин к которому подключен вентилятор для охлаждения радиатора хотэнда,

//если стоит -1 значит автоматическое включение отключено

#define E1_AUTO_FAN_PIN -1
#define E2_AUTO_FAN_PIN -1
#define E3_AUTO_FAN_PIN -1
#define E4_AUTO_FAN_PIN -1
#define CHAMBER_AUTO_FAN_PIN -1
#define EXTRUDER_AUTO_FAN_TEMPERATURE 50 //температура срабатывания вентилятора радиатора хотэнда
#define EXTRUDER_AUTO_FAN_SPEED 255 //скорость вращения вентилятора по умолчанию максимальна 255
//вентиль начинает визжать(всё таки Китай), я поставил 150

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

в файле pins_TRIGORILLA_14.h ничего менять не надо, но для понимания, как работает включение вентилятора радиатора хотэнда, могу сказать,
что на 44 pin подключенны две функции,
это FAN2_PIN это возможность включать и управлять скоростью вентилятора из меню принтера,
и ORIG_E0_AUTO_FAN_PIN которая потом переходит в E0_AUTO_FAN_PIN и включает вентилятор автоматически при превышении температуры EXTRUDER_AUTO_FAN_TEMPERATURE.

картинка для наглядности
518b464226f800d2268c8d788fdffd72.JPG
Подписаться на 3Dtoday
5
Комментарии к статье

Комментарии

30.08.18 в 23:05
1
датчик такой
d07fa202ad13a2b917eec1264fbaf7a5.jpg

прошивка
http://3dtoday.ru/3d-models/gadgets/computers/marlin_2_0_anycubic_kossel_pelley_datchik_knopka/
Забыл написать , что в меню нельзя заходить в разделы Calibration X, Calibration Y, Calibration Z, Calibration Centr, иначе принтер зависнит. Думаю как решить эту проблему! Кто знает как её решить, пишите, всё таки надо доделать эту прошивку!
видео калибровки: https://youtu.be/AUNyzlX8TxQ
31.08.18 в 01:21
0
небольшое дополнение по поводу очень интересного блока настроек ,которые убережёт ваш принтер от механических поломок, и поможет правильно настроить сработку датчика.

#define Z_CLEARANCE_DEPLOY_PROBE 50
#define Z_CLEARANCE_BETWEEN_PROBES 16
#define Z_CLEARANCE_MULTI_PROBE 16
#define Z_PROBE_LOW_POINT 0


начну с конца, так проще объяснить , то что мне сейчас пришло в голову, и судя по моим наблюдениям.

#define Z_PROBE_LOW_POINT 0 //это размер, на который будет опускаться голова притнера нижа размера датчика, для взятия проб,
//т.е. если высота датчика Z_PROBE_OFFSET_FROM_EXTRUDER -20(т.е. 20мм), то если
//этот параметр Z_PROBE_LOW_POINT 5
//то при взятии проб, голова принтера будет опускаться до сработки датчика но не ниже чем 5мм
//от высоты датчика, т.е. если ваш датчик не сработает, то принтер опустится всего на 5мм ниже его уровня,
// выдаст ошибку, немного поднимется и остановится с ошибкой.

//данный параметр влияет на все автокалибровки, по крайней мере на Auto Calibration точно влияет,
//сам замечал, у меня этот параметр равен -2

#define Z_CLEARANCE_BETWEEN_PROBES 16 //этот параметр измеряется в мм ниже уровня сопла, 16=16мм, 100=100мм.
//по моим наблюдениям влияет калибровку Z-Offset,

//когда Z-Offset при первом опускании почувствует датчик, то голова поднимется
//на некоторое расстояние, и опустится на выстоту от стола равную высоте этому значению
//т.е. если контакт вашего датчика находится ниже высоты сопла ,то надо указать

//такое значение ,что бы голова остановилась на высоте что бы и

//датчик не упёрся в стол и было легко его снять,


#define Z_CLEARANCE_DEPLOY_PROBE 50 //я не могу сказать однозначно что это обозначает,
//я изменял это параметр и ничего не происходило


#define Z_CLEARANCE_MULTI_PROBE 16 //этот параметр не знаю, но где то в этой же логики, но для мульти проб


Мульти проба:
// The number of probes to perform at each point.
// Set to 2 for a fast/slow probe, using the second probe result.
// Set to 3 or more for slow probes, averaging the results.

//#define MULTIPLE_PROBING 2 //отключенно

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



#s3gt_translate_tooltip_mini { display: none !important; }
01.09.18 в 14:10
0
забыл написать по концевики.

Статья по концевикам
http://3dtoday.ru/blogs/xedos/sandbox-limit-switches/

в коде есть параметры отвечающие за работу концевиков ,
Этот кодвечает за настройку кнцевиков, либо нормально-закрытые, либо нормалньо открытые
у меня нормально-закрытые и концевики Хоум и концевик для автоуровня
// Mechanical endstop with COM to ground and NC to Signal uses "false" here (most common setup).
#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.


этот код у меня сделан вот так
по другому не хочет работать
// Enable pullup for all endstops to prevent a floating state
#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

// Enable pulldown for all endstops to prevent a floating state
//#define ENDSTOPPULLDOWNS
#if DISABLED(ENDSTOPPULLDOWNS)
// Disable ENDSTOPPULLDOWNS to set pulldowns individually
//#define ENDSTOPPULLDOWN_XMAX
//#define ENDSTOPPULLDOWN_YMAX
//#define ENDSTOPPULLDOWN_ZMAX
//#define ENDSTOPPULLDOWN_XMIN
//#define ENDSTOPPULLDOWN_YMIN
//#define ENDSTOPPULLDOWN_ZMIN
//#define ENDSTOPPULLDOWN_ZMIN_PROBE
#endif
03.09.18 в 17:23
0
Привет, спасибо за старания, я так понял обычный концевик не подходит? пробовал ставить прошивку себе, но в начале второй итерации происходит ошибка probing failed
03.09.18 в 18:41
0
автоуровень Auto Calibration ( ENABLED(DELTA_AUTO_CALIBRATION) если стоит 4 то будет проходить 16 точек,если стол ровный и ошибка сканирования будет меньше 0.015 то автоуровень завершится, сразу после него, на экране принтера будет величина ошибки(типа 0.012 или чтотоподобное),потом будет написана ошибка Error но ничего страшного, просто сохраните кнопкой сохранения, и запускайте Set Delta Height, потом сохраните ,потом Z-offset и тоже сохраните. Ну и по желанию проверьте по листочку

эта прошивка для обычных концевиков , у меня НЗ по всем осям и на автоуровне, но с обычными НО тоже должен работать, там надо изменить с false на true

в этой вкладке настройте ваши концевики
#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.

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

// Enable pullup for all endstops to prevent a floating state
#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

// Enable pulldown for all endstops to prevent a floating state
//#define ENDSTOPPULLDOWNS //когда эта штука включенна,она задаёт работу всем концевикам по коду ниже,
//если её отключить, то концевики можно работу концевиков можно задавать отдельно.
#if DISABLED(ENDSTOPPULLDOWNS)
// Disable ENDSTOPPULLDOWNS to set pulldowns individually
//#define ENDSTOPPULLDOWN_XMAX
//#define ENDSTOPPULLDOWN_YMAX
//#define ENDSTOPPULLDOWN_ZMAX
//#define ENDSTOPPULLDOWN_XMIN
//#define ENDSTOPPULLDOWN_YMIN
//#define ENDSTOPPULLDOWN_ZMIN
//#define ENDSTOPPULLDOWN_ZMIN_PROBE
#endif
03.09.18 в 19:53
0
сейчас поставил на принтер 4 концевика(3 башни + концевик сопла) Нормально Открытых, и поменял вот этот код

#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 true // set to true to invert the logic of the endstop.
#define Y_MAX_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop.
#define Z_MAX_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop.
#define Z_MIN_PROBE_ENDSTOP_INVERTING true // set to true to invert the logic of the probe.

и всё нормально работает
повторяю на экране будет висеть ошибка
Err: ZPROBE

но это потому что пришлось вырезать из кода, автоуровень Z_PROBE_ALLEN_KEY требующий серводатчика,
с обычными концевиками НО и НЗ, работает проверял
03.09.18 в 22:37
0
вот, посмотри пожалуйста видео с проблемой https://www.youtube.com/watch?v=vPHRI2EL7cU

что изменил в прошивке:

#define DELTA_DIAGONAL_ROD 217.0 // mm (вместо 218, не повлияло никак, результат тот же)
#define DELTA_HEIGHT 329 (вместо 320, иначе концевик просто не соприкасался и выдавало сразу Err: ZPROBE)
#define Z_PROBE_OFFSET_FROM_EXTRUDER -22.4 (измерял расстрояние штангенциркулем от сопла до щелчка концевика пробы)

(все что ты мне говорил, то что ниже оставил как было)
#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.
04.09.18 в 08:20
0
попробуй поставить вот этот значение
#define Z_PROBE_LOW_POINT -2 // поиграться с ним, поставь -2, ну или -1, или -3 , этот параметр показывает на будет опускаться датчик
//ниже значения Z_PROBE_OFFSET_FROM_EXTRUDER ,
//вероятно у тебя стоит 0 , т.е.
// Z_PROBE_OFFSET_FROM_EXTRUDER + Z_PROBE_LOW_POINT
//не хватает для сработки датчика
// т.е. смотри, ты запустил Auto Calibration, прошла первая итерация, он поменял настройки
//в принтере, выровнял немного стол и сопло стало немного выше, и начинает вторую итерацию, но так как
//Z_PROBE_OFFSET_FROM_EXTRUDER + Z_PROBE_LOW_POINT стало мало,
// то он не может достать до стола

//если не поможет, то Z_PROBE_OFFSET_FROM_EXTRUDER поставь на 1-2 мм больше
04.09.18 в 11:33
0
Вопрос. Вы закоментировали АлиенКеу как я показывал?
Скиньте полный листинг Сonfiguration.h
и вы переделали файл pins_RAMPS.h ?
10.09.18 в 14:17
0
сделал Паузу с отводом от детали, на дельта принтере Anucubic Kossel Pulley, прошивка Marlin 2.0
пишу только с тем с чем разобрался, то о чем не писал, стоят по умолчанию
файл Configuration_adv.h
#define ADVANCED_PAUSE_FEATURE //включил
#define PAUSE_PARK_RETRACT_LENGTH 10 // (mm) Initial retract. //величина выгрузки филамента при включении паузы
#define ADVANCED_PAUSE_PURGE_LENGTH 10 // (mm) Length to extrude after loading.//величина загрузки филамента при продолжении печати после паузы
#define PARK_HEAD_ON_PAUSE // Park the nozzle during pause and filament change.//включение координат парковки сопла


сам код который у меня:


#define ADVANCED_PAUSE_FEATURE //включил
#if ENABLED(ADVANCED_PAUSE_FEATURE)
#define PAUSE_PARK_RETRACT_FEEDRATE 60 // (mm/s) Initial retract feedrate. //скорость ретракта при паузе
#define PAUSE_PARK_RETRACT_LENGTH 10 // (mm) Initial retract. //величина ретракта в мм
// This short retract is done immediately, before parking the nozzle.
#define FILAMENT_CHANGE_UNLOAD_FEEDRATE 10 // (mm/s) Unload filament feedrate. This can be pretty fast.//незнаю
#define FILAMENT_CHANGE_UNLOAD_ACCEL 25 // (mm/s^2) Lower acceleration may allow a faster feedrate.//незнаю
#define FILAMENT_CHANGE_UNLOAD_LENGTH 100 // (mm) The length of filament for a complete unload.//незнаю
// For Bowden, the full length of the tube and nozzle.
// For direct drive, the full length of the nozzle.
// Set to 0 for manual unloading.
#define FILAMENT_CHANGE_SLOW_LOAD_FEEDRATE 6 // (mm/s) Slow move when starting load.//незнаю
#define FILAMENT_CHANGE_SLOW_LOAD_LENGTH 0 // (mm) Slow length, to allow time to ins ert material.//незнаю
// 0 to disable start loading and skip to fast load only
#define FILAMENT_CHANGE_FAST_LOAD_FEEDRATE 6 // (mm/s) Load filament feedrate. This can be pretty fast.//незнаю
#define FILAMENT_CHANGE_FAST_LOAD_ACCEL 25 // (mm/s^2) Lower acceleration may allow a faster feedrate.//незнаю
#define FILAMENT_CHANGE_FAST_LOAD_LENGTH 0 // (mm) Load length of filament, fr om extruder gear to nozzle.//незнаю
// For Bowden, the full length of the tube and nozzle.
// For direct drive, the full length of the nozzle.
//#define ADVANCED_PAUSE_CONTINUOUS_PURGE // Purge continuously up to the purge length until interrupted.//незнаю
#define ADVANCED_PAUSE_PURGE_FEEDRATE 3 // (mm/s) Extrude feedrate (after loading). Should be slower than load feedrate.//незнаю
#define ADVANCED_PAUSE_PURGE_LENGTH 10 // (mm) Length to extrude after loading.//величина загрузки филамента при продолжении печати после паузы
// Set to 0 for manual extrusion.
// Filament can be extruded repeatedly from the Filament Change menu
// until extrusion is consistent, and to purge old filament.

// Filament Unload does a Retract, Delay, and Purge first:
#define FILAMENT_UNLOAD_RETRACT_LENGTH 13 // (mm) Unload initial retract length.
#define FILAMENT_UNLOAD_DELAY 5000 // (ms) Delay for the filament to cool after retract.
#define FILAMENT_UNLOAD_PURGE_LENGTH 13 // (mm) An unretract is done, then this length is purged.

#define PAUSE_PARK_NOZZLE_TIMEOUT 45 // (seconds) Time lim it before the nozzle is turned off for safety.
#define FILAMENT_CHANGE_ALERT_BEEPS 10 // Number of alert beeps to play when a response is needed.
#define PAUSE_PARK_NO_STEPPER_TIMEOUT // Enable for XYZ steppers to stay powered on during filament change.

#define PARK_HEAD_ON_PAUSE // Park the nozzle during pause and filament change.//включение координат парковки сопла
//#define HOME_BEFORE_FILAMENT_CHANGE // Ensure homing has been completed prior to parking for filament change

//#define FILAMENT_LOAD_UNLOAD_GCODES // Add M701/M702 Load/Unload G-codes, plus Load/Unload in the LCD Prepare menu.
//#define FILAMENT_UNLOAD_ALL_EXTRUDERS // Allow M702 to unload all extruders above a minimum target temp (as se t by M302)
#endif


файл Configuration.h
#define NOZZLE_PARK_FEATURE //включил
#if ENABLED(NOZZLE_PARK_FEATURE)
// Specify a park position as { X, Y, Z }
#define NOZZLE_PARK_POINT { 0, 0, 20 } //координаты парковки сопла (у меня X=0, Y=0, Z=20)
#define NOZZLE_PARK_XY_FEEDRATE 100 // X and Y axes feedrate in mm/s (also used for delta printers Z axis)//скорость праковки
//#define NOZZLE_PARK_Z_FEEDRATE 5 // Z axis feedrate in mm/s (not used for delta printers)//скорость парковки по оси Z(на дельте ненадо)
#endif
10.09.18 в 14:24
0
Включение вентилятора обдува шаговых драйверов, Marlin 2.0, плата Trigorilla 14.
#define USE_CONTROLLER_FAN
#if ENABLED(USE_CONTROLLER_FAN)
#define CONTROLLER_FAN_PIN 7 // Set a custom pin for the controller fan//пин для вентилятора обдува
#define CONTROLLERFAN_SECS 60 // Duration in seconds for the fan to run after all motors are disabled//не знаю
#define CONTROLLERFAN_SPEED 255 // 255 == full speed//скорость вентилятора
#endif

включение вентилятора обдува хотэнда
#define E0_AUTO_FAN_PIN 44//пин вентилятора хотэнда в Trigorilla14, это 44пин
#define EXTRUDER_AUTO_FAN_SPEED 150 //скорость вентилятора, максимально 255

пины платы trigorilla14
f51be728b222b84ef679d2bd4add0251.jpg
10.09.18 в 14:33
0
настройка Marlin 2.0 для шаговых драйверов A4988

файл Configuration.h
#define X_DRIVER_TYPE A4988//включил
#define Y_DRIVER_TYPE A4988//включил
#define Z_DRIVER_TYPE A4988//включил
#define E0_DRIVER_TYPE A4988//включил

файл Configuration_adv.h
#define MINIMUM_STEPPER_DIR_DELAY 200//указал 200, так в мануале написанно
#define MINIMUM_STEPPER_PULSE 1//в мануале так
#define MAXIMUM_STEPPER_RATE 500000//в мануале так

выставил напряжение 0.750
14.10.18 в 15:59
0
ссылка на доработанную прошивку с паузой, драйверами а4988, обдувом.
прошивка
16.10.18 в 10:01
0
Компилируешь прошивку в arduino-PR-beta1.9-BUILD-83? или в PlatformIO? У меня никак не хочет компилироваться в arduino-PR-beta1.9-BUILD-83, пишет ошибки

Arduino: 1.9.0-beta (Windows 10), Плата:"Arduino/Genuino Mega or Mega 2560, ATmega2560 (Mega 2560)"

sketch\src\module\configuration_store.cpp:188:25: error: 'NUM_SERVOS' was not declared in this scope

uint16_t servo_angles[NUM_SERVOS][2]; // M281 P L U

^

sketch\src\module\configuration_store.cpp: In static member function 'static bool MarlinSettings::save()':

sketch\src\module\configuration_store.cpp:565:39: error: 'NUM_SERVOS' was not declared in this scope

constexpr uint16_t servo_angles[NUM_SERVOS][2] = {

^

sketch\src\module\configuration_store.cpp:579:18: error: 'servo_angles' was not declared in this scope

EEPROM_WRITE(servo_angles);

^

sketch\src\module\configuration_store.cpp:369:81: note: in definition of macro 'EEPROM_WRITE'

#define EEPROM_WRITE(VAR) persistentStore.write_data(eeprom_index, (uint8_t*)&VAR, sizeof(VAR), &working_crc)

^

sketch\src\module\configuration_store.cpp: In static member function 'static bool MarlinSettings::_load()':

sketch\src\module\configuration_store.cpp:1184:31: error: 'NUM_SERVOS' was not declared in this scope

uint16_t servo_angles[NUM_SERVOS][2];

^

sketch\src\module\configuration_store.cpp:1186:19: error: 'servo_angles' was not declared in this scope

EEPROM_READ(servo_angles);

^

sketch\src\module\configuration_store.cpp:370:79: note: in definition of macro 'EEPROM_READ'

#define EEPROM_READ(VAR) persistentStore.read_data(eeprom_index, (uint8_t*)&VAR, sizeof(VAR), &working_crc, !validating)

^

exit status 1
Ошибка компиляции для платы Arduino/Genuino Mega or Mega 2560.

Этот отчёт будет иметь больше информации с
включенной опцией Файл -> Настройки ->
"Показать подробный вывод во время компиляции"
16.10.18 в 14:59
2
компилирую в Arduino 1.8.1
сейчас проверил обе прошивки, нормально компилируются
попробуй скинуть прошивку в корень диска и что бы в пути не было русских символов, иногда компилятор ардуино не понимает кирилицу в пути.
или может скачалось с ошибками,
залил прошивку ещё раз
Puleyпрошивка
Plus Прошивка
16.10.18 в 15:20
0
Спасибо. Попробую.
03.11.18 в 16:40
0
Добрый день, я правильно понял что под Plus прошивка под его стандартные концевики и датчик автоуровня?
03.11.18 в 17:02
0
для Plus я изменил только размеры стола ,эффектора и тяг
и я конечно не знаю, но судя по цене, Plus от Pulley, не отличается по датчику стола и концевым датчикам башен
и предполагаю , что Plus это большой Pulley с рельсами!

Для написания комментариев, пожалуйста, авторизуйтесь.

Читайте в блогах

Предновогодняя акция от компании Formlabs!

Черная пятница? У нас круче!!!

IDEAL PLM проводит конкурс по проектированию в Solid Edge

Blue Pill & SSD1306, ну очень маленькие.., но 32 бит!

3D принтер Wanhao Duplicator 9/300, 9/400, 9/500 - 12 изменений в модификации MK2

Underwater impeller motor