3d-touch-autoleveling-sensor
3DTouch_Auto_Leveling_Sensor_23DTouch_Auto_Leveling_Sensor_33DTouch_Auto_Leveling_Sensor_53DTouch_Auto_Leveling_Sensor_63DTouch_Auto_Leveling_Sensor_with_ramps_1.4-23DTouch_Auto_Leveling_Sensor_with_rumba3D_touch_mount3DTouch_sensor_mount-43D_Touch_mount-23DTouch_sensor_mount-33DTouch_sensor_mount-23DTouch_sensor_mount-1

3DTouch сенсор автокалибровки платформы

1399 грн.

Датчик / сенсор автокалибровки платформы 3D принтера.

Данный датчик позволяет замерять перекос платформы 3D принтера и автоматически корректировать искажения стола.

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

Сравнить

Для достижения высокой точности при 3D печати необходимо точно калибровать зазор между платформой 3D принтера и соплом экструдера с которой подается расплавленный пластик. Если этот зазор больше необходимого, то первый слой расплавленного пластика может просто не прилипнуть к столу и вместо готовой модели вы получите кусок пластика, висит на экструдере. Если зазор очень маленький или совсем отсутствует, то в лучшем случае вы получите не корректные размеры модели по высоте и утолщение модели в нижней части, прилегающей к столу.

Для установки этого зазора существует несколько технических (и не очень) решений. К примеру:

— Подкладывание листа бумаги, и установки начальной точки пока бумага не станет двигаться между соплом и столом с легким усилием.
— Использование микровыключателя, который нажимается при приближении экструдера к столу. Вместо микровыключателя иногда используют оптический датчик, так же немного добавляет точности до измерений.
— Емкостной датчик приближения.
Индуктивный датчик
FSR датчик / датчик касания

 Так же для тех же целей можно использовать промышленное решение в виде датчика от компании GEEETECH  — 3DTOUCH.

Внутри датчика скрывается специальный щуп, который по команде может выдвигаться и замерять зазоры до платформы.

При этом пользователь должен точно знать зазор между соплом и этим щупом. Этот зазор должен быть внесен в настройки 3D принтера для корректировки показателей. Важно понимать сто сам датчик замеряет расстояние от стола до щупа, а не от стола и сопла.

3D_Touch-dimension

Данный сенсор имеет систему креплений для горизонтальной поверхности, для того чтобы закрепить датчик на вертикальной плоскости необходимо распечатать на 3D принтере специальный переходник:

3DTouch_sensor_mount-1

Вариант товара

Вариант 1, Вариант 2, Вариант 3, Вариант 4

Вид комплектующих

электроника

Firmware Setting

Changes need to be made for the configuration.h file in the Marlin source code for 3DTouch. The required changes are similar to how you would setup a mechanical servo sensor.
Step1. Open your firmware in Arduino IDE. Find the following code in Configuration.h: Modify the code in the red box into:

Define servo.png

// Number of servos

//

// If you select a configuration below, this will receive a default value and does not need to be set manually

// set it manually if you have more servos than extruders and wish to manually control some

// leaving it undefined or defining as 0 will disable the servo subsystem

// If unsure, leave commented / disabled

//

#define NUM_SERVOS 1 // Servo index starts with 0 for M280 command

// Servo Endstops

//

// This allows for servo actuated endstops, primary usage is for the Z Axis to eliminate calibration or bed height changes.

// Use M206 command to correct for switch height offset to actual nozzle height. Store that setting with M500.

//

#define SERVO_ENDSTOPS {-1, -1, 0} // Servo index for X, Y, Z. Disable with -1

#define SERVO_ENDSTOP_ANGLES {0,0, 0,0, 10,90} // X,Y,Z Axis Extend and Retract angles
Step2. Find the codes regarding to Bed Auto Leveling in Configuration.h.
//=============================Bed Auto Leveling=======================

#define ENABLE_AUTO_BED_LEVELING // Delete the comment to enable (remove //at the start of the line)

  1. define Z_PROBE_REPEATABILITY_TEST // If not commented out, Z-Probe Repeatability test will be included if Auto Bed Leveling is Enabled.
  1. ifdef ENABLE_AUTO_BED_LEVELING

  1. define AUTO_BED_LEVELING_GRID

  1. ifdef AUTO_BED_LEVELING_GRID

// set the rectangle in which to probe

#define LEFT_PROBE_BED_POSITION 30

  1. define RIGHT_PROBE_BED_POSITION 200
  1. define BACK_PROBE_BED_POSITION 147
  1. define FRONT_PROBE_BED_POSITION 20

Step3: scroll down to find the codes to Define the probe offset
#define AUTO_BED_LEVELING_GRID_POINTS 2

  1. else // not AUTO_BED_LEVELING_GRID

 

  • define X_PROBE_OFFSET_FROM_EXTRUDER 6
  • define Y_PROBE_OFFSET_FROM_EXTRUDER -43

 

  1. define Z_PROBE_OFFSET_FROM_EXTRUDER -1.4

Step4. Find the following code in pins.h If you do not find the pins.h tab on Arduino IDE, please open it separately, after the modification, please save it.

Find the code as shown in the red box:
/*****************************************************************

  • Ultimaker pin assignment
                                                                                                                                    • /
  1. if MB(ULTIMAKER)
  2. define KNOWN_BOARD

#define Z_MAX_PIN -1//32

  1. define Z_ENABLE_PIN 35

  1. define SUICIDE_PIN 54 //PIN that has to be turned on right after start, to keep power flowing.

#define SERVO0_PIN 32//13 // untested
Now, we have finished the firmware; please upload the modified firmware to your control board.

Testing

When the 3DTouch is first powered up it does a self test – Starting with the pin up it them goes down/up 3 times and ends up the the LED on solid. Continuous flashing means that there is an obstruction or fault.

The 3DTouch acts on the following gcode that can be used manually to diagnose faults etc but you don’t need to normally worry about them.

M280 P0 S10 ; pushes the pin down

M280 P0 S90 ; pulls the pin up

M280 P0 S120 ; Self test – keeps going until you do pin up/down or release alarm

M280 P0 S160 ; Release alarm

Alarm – The 3DTouch can sense when something is wrong and then goes into alarm mode which is continuous flashing. Alarm can be triggered like an obstruction that stops the pin going up and down freely, it could be dirt etc.

Printer setting

Providing the firmware is correctly configured, the sensor responds to the same codes as any other sensor eg inductive, capacitive or IR. The Start Code in you slicer should contain the sequence G28 followed by G29 to do the auto bed levelling.

  • Don’t put another G28 after the G29 as it will just remove the G29 results.

Open Slicer>printer setting

Print set-1.jpg

Add G29 command right after G28

Print set-2.jpg

  • Don’t put another G28 after the G29 as it will just remove the G29 results.

The G29 command should be added every time.

Here is a video of using the 3DTouch Auto Leveling Sensor on Geeetech Prusa I3 pro B 3d printer.

Calibration

These instructions are written to explain how to calibrate using a computer connected through the USB port to your printer. This process also assumes that the EEPROM has been enabled in Marlin.

From the command window of Repetier Host or Simplify3D etc enter the following:

M851 ; note the number

M851 Z0 ; set the offset to zero

G28

G1 Z0

The LCD display should show Z = 0

From the display go to the Menu then Prepare/Move axis/0.1mm/Move Z

Now move the Z axis slowly down until the nozzle is the right distance from the build plate (folded piece of paper or thin card).

*Note the Z axis value on the display it should be something like -1.5

M851 Z-1.5 ; to set the offset you got in the previous step.

M500 ; Stores the values in EEPROM so that it is not reset when you power the printer off and on.

Now you are ready to print.
If you find that you need to increase or decrease the gap then do:

M851 Z-1.4 ; this would make the gap bigger or

M851 Z-1.6 ; this would make the gap smaller

M500 ; to save the value to EEPROM

*Remember the -1.4, -1.5 and -1.6 are just examples , yours will be different.