Кремень FMZ Реклама
Kremen FMHM Реклама

Flying bear p905x индукционный датчик оси Z

Dimon888
Идет загрузка
Загрузка
06.01.2018
1754
7
Вопросы и ответы
Статья относится к принтерам:
Flying Bear P905X Large
Здравствуйте Господа.

Сразу к делу. Суть проблемы:

Собрал принтер, подключил по ЮСБ компутер.

Прошил данной продавцом прошивкой.

В репитере даю команду g28, принтер находит ноль Х, ноль Y, едет в центр стола, начинает поднимать Z.

Датчик загорается красным, движение Z вверх не прекращается, датчик не гаснет.

Вот кусочек прошивки:

//===========================================================================

//============================= Mechanical Settings =========================

//===========================================================================

// @section machine

// Uncomment one of these options to enable CoreXY, CoreXZ, or CoreYZ kinematics

// either in the usual order or reversed

//#define COREXY

//#define COREXZ

//#define COREYZ

//define COREYX

//#define COREZX

//#define COREZY

//===========================================================================

//============================== Endstop Settings ===========================

//===========================================================================

// @section homing

// Specify here all the endstop connectors that are connected to any endstop or probe.

// Almost all printers will be using one per axis. Probes will use one or more of the

// extra connectors. Leave undefined any used for non-endstop and non-probe purposes.

#define USE_XMIN_PLUG

#define USE_YMIN_PLUG

#define USE_ZMIN_PLUG

//#define USE_XMAX_PLUG

//#define USE_YMAX_PLUG

//#define USE_ZMAX_PLUG

// coarse Endstop Settings

#define ENDSTOPPULLUPS // Comment this out (using // at the start of the line) to disable the endstop pullup resistors

#if DISABLED(ENDSTOPPULLUPS)

// fine endstop settings: Individual pullups. will be ignored if ENDSTOPPULLUPS is defined

//#define ENDSTOPPULLUP_XMAX

//#define ENDSTOPPULLUP_YMAX

//#define ENDSTOPPULLUP_ZMAX

//#define ENDSTOPPULLUP_XMIN

//#define ENDSTOPPULLUP_YMIN

//#define ENDSTOPPULLUP_ZMIN

//#define ENDSTOPPULLUP_ZMIN_PROBE

#endif

// Mechanical endstop with COM to ground and NC to Signal uses 'false' here (most common setup).

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

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

#define Z_MIN_ENDSTOP_INVERTING true // 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 false // 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.

// Enable this feature if all enabled endstop pins are interrupt-capable.

// This will remove the need to poll the interrupt pins, saving many CPU cycles.

//#define ENDSTOP_INTERRUPTS_FEATURE

//=============================================================================

//============================== Movement Settings ============================

//=============================================================================

// @section motion

/**

* Default Settings

*

* These settings can be reset by M502

*

* Note that if EEPROM is enabled, saved values will override these.

*/

/**

* With this option each E stepper can have its own factors for the

* following movement settings. If fewer factors are given than the

* total number of extruders, the last value applies to the rest.

*/

//#define DISTINCT_E_FACTORS

/**

* Default Axis Steps Per Unit (steps/mm)

* Override with M92

* X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]]

*/

#define DEFAULT_AXIS_STEPS_PER_UNIT { 100,100,800,94 }

/**

* Default Max Feed Rate (mm/s)

* Override with M203

* X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]]

*/

#define DEFAULT_MAX_FEEDRATE { 300, 300,1.5, 25 }

/**

* Default Max Acceleration (change/s) change = mm/s

* (Maximum start speed for accelerated moves)

* Override with M201

* X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]]

*/

#define DEFAULT_MAX_ACCELERATION { 1000,1000,50,10000 }

/**

* Default Acceleration (change/s) change = mm/s

* Override with M204

*

* M204 P Acceleration

* M204 R Retract Acceleration

* M204 T Travel Acceleration

*/

#define DEFAULT_ACCELERATION 200 // X, Y, Z and E acceleration for printing moves

#define DEFAULT_RETRACT_ACCELERATION 3000 // E acceleration for retracts

#define DEFAULT_TRAVEL_ACCELERATION 3000 // X, Y, Z acceleration for travel (non printing) moves

/**

* Default Jerk (mm/s)

* Override with M205 X Y Z E

*

* 'Jerk' specifies the minimum speed change that requires acceleration.

* When changing speed and direction, if the difference is less than the

* value set here, it may happen instantaneously.

*/

#define DEFAULT_XJERK 15.0

#define DEFAULT_YJERK 15.0

#define DEFAULT_ZJERK 0.4

#define DEFAULT_EJERK 5.0

//===========================================================================

//============================= Z Probe Options =============================

//===========================================================================

// @section probes

//

// See http://marlinfw.org/configuration/probes.html

//

/**

* Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN

*

* Enable this option for a probe connected to the Z Min endstop pin.

*/

#define Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN

/**

* Z_MIN_PROBE_ENDSTOP

*

* Enable this option for a probe connected to any pin except Z-Min.

* (By default Marlin assumes the Z-Max endstop pin.)

* To use a custom Z Probe pin, set Z_MIN_PROBE_PIN below.

*

* - The simplest option is to use a free endstop connector.

* - Use 5V for powered (usually inductive) sensors.

*

* - RAMPS 1.3/1.4 boards may use the 5V, GND, and Aux4->D32 pin:

* - For simple switches connect...

* - normally-closed switches to GND and D32.

* - normally-open switches to 5V and D32.

*

* WARNING: Setting the wrong pin may have unexpected and potentially

* disastrous consequences. Use with caution and do your homework.

*

*/

//#define Z_MIN_PROBE_ENDSTOP

/**

* Probe Type

*

* Allen Key Probes, Servo Probes, Z-Sled Probes, FIX_MOUNTED_PROBE, etc.

* You must activate one of these to use Auto Bed Leveling below.

*/

/**

* The 'Manual Probe' provides a means to do 'Auto' Bed Leveling without a probe.

* Use G29 repeatedly, adjusting the Z height at each point with movement commands

* or (with LCD_BED_LEVELING) the LCD controller.

*/

//#define PROBE_MANUALLY

/**

* A Fix-Mounted Probe either doesn't deploy or needs manual deployment.

* (e.g., an inductive probe or a nozzle-based probe-switch.)

*/

//

#define FIX_MOUNTED_PROBE

/**

* Z Servo Probe, such as an endstop switch on a rotating arm.

*/

//#define Z_ENDSTOP_SERVO_NR 0 // Defaults to SERVO 0 connector.

//#define Z_SERVO_ANGLES {10,90} // Z Servo Deploy and Stow angles

/**

* The BLTouch probe uses a Hall effect sensor and emulates a servo.

*/

//#define BLTOUCH

#if ENABLED(BLTOUCH)

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

#endif

/**

* Enable if probing seems unreliable. Heaters and/or fans - consistent with the

* options selected below - will be disabled during probing so as to minimize

* potential EM interference by quieting/silencing the source of the 'noise' (the change

* in current flowing through the wires). This is likely most useful to users of the

* BLTouch probe, but may also help those with inductive or other probe types.

*/

//#define PROBING_HEATERS_OFF // Turn heaters off when probing

//#define PROBING_FANS_OFF // Turn fans off when probing

// A probe that is deployed and stowed with a solenoid pin (SOL1_PIN)

//#define SOLENOID_PROBE

// A sled-mounted probe like those designed by Charles Bell.

//#define Z_PROBE_SLED

//#define SLED_DOCKING_OFFSET 5 // The extra distance the X axis must travel to pickup the sled. 0 should be fine but you can push it further if you'd like.

//

// For Z_PROBE_ALLEN_KEY see the Delta example configurations.

//

/**

* Z Probe to nozzle (X,Y) offset, relative to (0, 0).

* X and Y offsets must be integers.

*

* In the following example the X and Y offsets are both positive:

* #define X_PROBE_OFFSET_FROM_EXTRUDER 10

* #define Y_PROBE_OFFSET_FROM_EXTRUDER 10

*

* +-- BACK ---+

* | |

* L | (+) P | R <-- probe (20,20)

* E | | I

* F | (-) N (+) | G <-- nozzle (10,10)

* T | | H

* | (-) | T

* | |

* O-- FRONT --+

* (0,0)

*/

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

#define Y_PROBE_OFFSET_FROM_EXTRUDER -33

// Y offset: -front +behind [the nozzle]

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

// X and Y axis travel speed (mm/m) between probes

#define XY_PROBE_SPEED 8000

// Speed for the first approach when double-probing (with PROBE_DOUBLE_TOUCH)

#define Z_PROBE_SPEED_FAST HOMING_FEEDRATE_Z

// Speed for the 'accurate' probe of each point

#define Z_PROBE_SPEED_SLOW (Z_PROBE_SPEED_FAST / 2)

// Use double touch for probing

//#define PROBE_DOUBLE_TOUCH

/**

* Z probes require clearance when deploying, stowing, and moving between

* probe points to avoid hitting the bed and other hardware.

* Servo-mounted probes require extra space for the arm to rotate.

* Inductive probes need space to keep from triggering early.

*

* Use these settings to specify the distance (mm) to raise the probe (or

* lower the bed). The values set here apply over and above any (negative)

* probe Z Offset set with Z_PROBE_OFFSET_FROM_EXTRUDER, M851, or the LCD.

* Only integer values >= 1 are valid here.

*

* Example: `M851 Z-5` with a CLEARANCE of 4 => 9mm from bed to nozzle.

* But: `M851 Z+1` with a CLEARANCE of 2 => 2mm from bed to nozzle.

*/

#define Z_CLEARANCE_DEPLOY_PROBE 10 // Z Clearance for Deploy/Stow

#define Z_CLEARANCE_BETWEEN_PROBES 5 // Z Clearance between probe points

// For M851 give a range for adjusting the Z probe offset

#define Z_PROBE_OFFSET_RANGE_MIN -20

#define Z_PROBE_OFFSET_RANGE_MAX 20

// Enable the M48 repeatability test to test probe accuracy

//#define Z_MIN_PROBE_REPEATABILITY_TEST

// For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1

// :{ 0:'Low', 1:'High' }

#define X_ENABLE_ON 0

#define Y_ENABLE_ON 0

#define Z_ENABLE_ON 0

#define E_ENABLE_ON 0 // For all extruders

// Disables axis stepper immediately when it's not being used.

// WARNING: When motors turn off there is a chance of losing position accuracy!

#define DISABLE_X false

#define DISABLE_Y false

#define DISABLE_Z false

// Warn on display about possibly reduced accuracy

//#define DISABLE_REDUCED_ACCURACY_WARNING

// @section extruder

#define DISABLE_E false // For all extruders

#define DISABLE_INACTIVE_EXTRUDER true // Keep only the active extruder enabled.

// @section machine

// Invert the stepper direction. Change (or reverse the motor connector) if an axis goes the wrong way.

#define INVERT_X_DIR true

#define INVERT_Y_DIR true

#define INVERT_Z_DIR true

// Enable this option for Toshiba stepper drivers

//#define CONFIG_STEPPERS_TOSHIBA

// @section extruder

// For direct drive extruder v9 set to true, for geared extruder set to false.

#define INVERT_E0_DIR true

#define INVERT_E1_DIR true

#define INVERT_E2_DIR false

#define INVERT_E3_DIR false

#define INVERT_E4_DIR false

// @section homing

#define Z_HOMING_HEIGHT 4 // (in mm) Minimal z height before homing (G28) for Z clearance above the bed, clamps, ...

// Be sure you have this distance over your Z_MAX_POS in case.

// Direction of endstops when homing; 1=MAX, -1=MIN

// :[-1,1]

#define X_HOME_DIR -1

#define Y_HOME_DIR -1

#define Z_HOME_DIR -1

// @section machine

// Travel limits after homing (units are in mm)

#define X_MIN_POS 0

#define Y_MIN_POS 0

#define Z_MIN_POS 0

#define X_MAX_POS 280

#define Y_MAX_POS 242

#define Z_MAX_POS 350

// If enabled, axes won't move below MIN_POS in response to movement commands.

//#define MIN_SOFTWARE_ENDSTOPS

// If enabled, axes won't move above MAX_POS in response to movement commands.

#define MAX_SOFTWARE_ENDSTOPS

/**

* Filament Runout Sensor

* A mechanical or opto endstop is used to check for the presence of filament.

*

* RAMPS-based boards use SERVO3_PIN.

* For other boards you may need to define FIL_RUNOUT_PIN.

* By default the firmware assumes HIGH = has filament, LOW = ran out

*/

//#define FILAMENT_RUNOUT_SENSOR

#if ENABLED(FILAMENT_RUNOUT_SENSOR)

#define FIL_RUNOUT_INVERTING false // set to true to invert the logic of the sensor.

#define ENDSTOPPULLUP_FIL_RUNOUT // Uncomment to use internal pullup for filament runout pins if the sensor is defined.

#define FILAMENT_RUNOUT_SCRIPT 'M600'

#endif

//===========================================================================

//=============================== Bed Leveling ==============================

//===========================================================================

// @section bedlevel

/**

* Choose one of the options below to enable G29 Bed Leveling. The parameters

* and behavior of G29 will change depending on your selection.

*

* If using a Probe for Z Homing, enable Z_SAFE_HOMING also!

*

* - AUTO_BED_LEVELING_3POINT

* Probe 3 arbitrary points on the bed (that aren't collinear)

* You specify the XY coordinates of all 3 points.

* The result is a single tilted plane. Best for a flat bed.

*

* - AUTO_BED_LEVELING_LINEAR

* Probe several points in a grid.

* You specify the rectangle and the density of sample points.

* The result is a single tilted plane. Best for a flat bed.

*

* - AUTO_BED_LEVELING_BILINEAR

* Probe several points in a grid.

* You specify the rectangle and the density of sample points.

* The result is a mesh, best for large or uneven beds.

*

* - AUTO_BED_LEVELING_UBL (Unified Bed Leveling)

* A comprehensive bed leveling system combining the features and benefits

* of other systems. UBL also includes integrated Mesh Generation, Mesh

* Validation and Mesh Editing systems. Currently, UBL is only checked out

* for Cartesian Printers. That said, it was primarily designed to correct

* poor quality Delta Printers. If you feel adventurous and have a Delta,

* please post an issue if something doesn't work correctly. Initially,

* you will need to set a reduced bed size so you have a rectangular area

* to test on.

*

* - MESH_BED_LEVELING

* Probe a grid manually

* The result is a mesh, suitable for large or uneven beds. (See BILINEAR.)

* For machines without a probe, Mesh Bed Leveling provides a method to perform

* leveling in steps so you can manually adjust the Z height at each grid-point.

* With an LCD controller the process is guided step-by-step.

*/

//#define AUTO_BED_LEVELING_3POINT

//#define AUTO_BED_LEVELING_LINEAR

#define AUTO_BED_LEVELING_BILINEAR

//#define AUTO_BED_LEVELING_UBL

//#define MESH_BED_LEVELING

/**

* Enable detailed logging of G28, G29, M48, etc.

* Turn on with the command 'M111 S32'.

* NOTE: Requires a lot of PROGMEM!

*/

//#define DEBUG_LEVELING_FEATURE

#if ENABLED(MESH_BED_LEVELING) || ENABLED(AUTO_BED_LEVELING_BILINEAR) || ENABLED(AUTO_BED_LEVELING_UBL)

// Gradually reduce leveling correction until a set height is reached,

// at which point movement will be level to the machine's XY plane.

// The height can be set with M420 Z

#define ENABLE_LEVELING_FADE_HEIGHT

#endif

#if ENABLED(AUTO_BED_LEVELING_LINEAR) || ENABLED(AUTO_BED_LEVELING_BILINEAR)

// Set the number of grid points per dimension.

#define GRID_MAX_POINTS_X 3

#define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X

// Set the boundaries for probing (where the probe can reach).

#define LEFT_PROBE_BED_POSITION 15

#define RIGHT_PROBE_BED_POSITION 260

#define FRONT_PROBE_BED_POSITION 15

#define BACK_PROBE_BED_POSITION 200

// The Z probe minimum outer margin (to validate G29 parameters).

#define MIN_PROBE_EDGE 10

// Probe along the Y axis, advancing X after each column

//#define PROBE_Y_FIRST

#if ENABLED(AUTO_BED_LEVELING_BILINEAR)

// Beyond the probed grid, continue the implied tilt?

// Default is to maintain the height of the nearest edge.

//#define EXTRAPOLATE_BEYOND_GRID

//

// Experimental Subdivision of the grid by Catmull-Rom method.

// Synthesizes intermediate points to produce a more detailed mesh.

//

//#define ABL_BILINEAR_SUBDIVISION

#if ENABLED(ABL_BILINEAR_SUBDIVISION)

// Number of subdivisions between probe points

#define BILINEAR_SUBDIVISIONS 3

#endif

#endif

#elif ENABLED(AUTO_BED_LEVELING_3POINT)

// 3 arbitrary points to probe.

// A simple cross-product is used to estimate the plane of the bed.

#define ABL_PROBE_PT_1_X 15

#define ABL_PROBE_PT_1_Y 180

#define ABL_PROBE_PT_2_X 15

#define ABL_PROBE_PT_2_Y 20

#define ABL_PROBE_PT_3_X 170

#define ABL_PROBE_PT_3_Y 20

#elif ENABLED(AUTO_BED_LEVELING_UBL)

//===========================================================================

//========================= Unified Bed Leveling ============================

//===========================================================================

#define UBL_MESH_INSET 1 // Mesh inset margin on print area

#define GRID_MAX_POINTS_X 10 // Don't use more than 15 points per axis, implementation limited.

#define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X

#define UBL_PROBE_PT_1_X 39 // Probing points for 3-Point leveling of the mesh

#define UBL_PROBE_PT_1_Y 180

#define UBL_PROBE_PT_2_X 39

#define UBL_PROBE_PT_2_Y 20

#define UBL_PROBE_PT_3_X 180

#define UBL_PROBE_PT_3_Y 20

#define UBL_G26_MESH_VALIDATION // Enable G26 mesh validation

#define UBL_MESH_EDIT_MOVES_Z // Sophisticated users prefer no movement of nozzle

#elif ENABLED(MESH_BED_LEVELING)

//===========================================================================

//=================================== Mesh ==================================

//===========================================================================

#define MESH_INSET 10 // Mesh inset margin on print area

#define GRID_MAX_POINTS_X 3 // Don't use more than 7 points per axis, implementation limited.

#define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X

//#define MESH_G28_REST_ORIGIN // After homing all axes ('G28' or 'G28 XYZ') rest Z at Z_MIN_POS

#endif // BED_LEVELING

/**

* Use the LCD controller for bed leveling

* Requires MESH_BED_LEVELING or PROBE_MANUALLY

*/

//#define LCD_BED_LEVELING

#if ENABLED(LCD_BED_LEVELING)

#define MBL_Z_STEP 0.025 // Step size while manually probing Z axis.

#define LCD_PROBE_Z_RANGE 4 // Z Range centered on Z_MIN_POS for LCD Z adjustment

#endif

/**

* Commands to execute at the end of G29 probing.

* Useful to retract or move the Z probe out of the way.

*/

//#define Z_PROBE_END_SCRIPT 'G1 Z10 F12000

G1 X15 Y330

G1 Z0.5

G1 Z10'

// @section homing

// The center of the bed is at (X=0, Y=0)

//#define BED_CENTER_AT_0_0

// Manually set the home position. Leave these undefined for automatic settings.

// For DELTA this is the top-center of the Cartesian print volume.

//#define MANUAL_X_HOME_POS 0

//#define MANUAL_Y_HOME_POS 0

//#define MANUAL_Z_HOME_POS 0

// Use 'Z Safe Homing' to avoid homing with a Z probe outside the bed area.

//

// With this feature enabled:

//

// - Allow Z homing only after X and Y homing AND stepper drivers still enabled.

// - If stepper drivers time out, it will need X and Y homing again before Z homing.

// - Move the Z probe (or nozzle) to a defined XY point before Z Homing when homing all axes (G28).

// - Prevent Z homing when the Z probe is outside bed area.

//

#define Z_SAFE_HOMING

#if ENABLED(Z_SAFE_HOMING)

#define Z_SAFE_HOMING_X_POINT ((X_MIN_POS + X_MAX_POS) / 2) // X point for Z homing when homing all axis (G28).

#define Z_SAFE_HOMING_Y_POINT ((Y_MIN_POS + Y_MAX_POS) / 2) // Y point for Z homing when homing all axis (G28).

#endif

// Homing speeds (mm/m)

#define HOMING_FEEDRATE_XY (50*60)

#define HOMING_FEEDRATE_Z (4*60)

Ответы на вопросы