Quantcast
Channel: Reprap Forum - Firmware - Marlin
Viewing all 12089 articles
Browse latest View live

Re: Bed Leveling RC8

$
0
0
Quote
obewan
In configuration.h


#define X_PROBE_OFFSET_FROM_EXTRUDER -22 // X offset: -left +right [of the nozzle]
#define Y_PROBE_OFFSET_FROM_EXTRUDER 0 // Y offset: -front +behind [the nozzle]
#define Z_PROBE_OFFSET_FROM_EXTRUDER 1.5 // Z offset: -below +above [the nozzle] (how far nozzle is above bed when probe triggers)


This makes RC8 compile!

I evidently enabled the defines outlined in the example in the configuration.h and commented out the one's after the example. It was late, 3AM.

This gets me in the ballpark.

Thanks!

true bed levelling - not bed level compensation - Does this already exist?

$
0
0
Dear all,

I am new to Marlin, but comfortable with programming.

I require a "Bed Leveling Calibration routine", which would function by using a Z probe, measuring 3 points on the bed, and then advising the user which screws to adjust to level the bed.

i.e the result would be a bed that is level, as opposed to compensating for an unlevel bed in software.

So far, everything I can find relates only to "Bed Leveling Compensation", with the software accounting for an unlevel or uneven print bed.

The physical build and operating environment of this printer is such that I don't expect bed levelling calibration to need to be done often.


Question: Has this already been done? Can anyone point me towards a resource on this?
If it is not already done, I am happy to implement in Marlin. Marlin is reasonably large - can anyone help point me towards where to start, e.g even just which .cpp file would be the best place to include this code?

Thankyou for your time.

Re: true bed levelling - not bed level compensation - Does this already exist?

$
0
0
If you are going to manually turn the appropriate screw to physically adjust the bed, you may be able to use the Topographical map of the grid leveling system. I introduced that almost 3 years ago:

[3dprintboard.com]

Configure your Marlin firmware to use a grid based leveling. Do a G28 followed by a G29 with a T parameter. It will show you the measured heights of the probe points.

Pick the corner that is furthest out of spec. And move it halfway back into spec.

Repeat the process several times. Your errors will get to be less and less. Pretty soon, your bed will be nearly level physically.

BUT.... You will still get better results by letting the firmware do dynamic adjustments during the print.

Re: Bed Leveling RC8

$
0
0
Quote
Eddiie
Great! So RCBugfix is newer than RC8? Is RCBugfix always newer? Seems there was a RC6 bug fix too.

Yes! RCBugFix is an 'improved' version of RC-8. That has been the methodology this entire Release Candidate cycle. Please ignore RC6's RCBugFix. You should be working off of RC8's RCBugFix.

Re: Bed Leveling RC8

$
0
0
Quote
Eddiie
Great! So RCBugfix is newer than RC8? Is RCBugfix always newer? Seems there was a RC6 bug fix too.

Yes! RCBugFix is an 'improved' version of RC-8. That has been the methodology this entire Release Candidate cycle. Please ignore RC6's RCBugFix. You should be working off of RC8's RCBugFix.

Re: true bed levelling - not bed level compensation - Does this already exist?

$
0
0
I've seen some people experimenting on doing that over the years.

For instance the sparkcube does it : [www.youtube.com] but I think they use Repetier firmware

Auto Bed Leveling RC8 - Z axis goes up while homing

$
0
0
Hi,
I have a problem with the auto bed leveling feature. The z axis goes up when I'm homing z. So the inductive sensor (LJC18A3-H-Z/BX) goes away from the heated bed.
The motor direction is correct, because going up in octoprint drives the z axis up and vice versa.

It's like the printer "thinks" that it starts lower than the bed. Because when I put something under the sensor it goes up another 15mm and than stops (like it should).

Can someone help me please.

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

//===========================================================================
//============================= Z Probe Options =============================
//===========================================================================
// @section probes

//
// Probe Type
// Probes are sensors/switches that are activated / deactivated before/after use.
//
// Allen Key Probes, Servo Probes, Z-Sled Probes, FIX_MOUNTED_PROBE, etc.
// You must activate one of these to use Auto Bed Leveling below.
//
// Use M851 to set the Z probe vertical offset from the nozzle. Store with M500.
//

// A Fix-Mounted Probe either doesn't deploy or needs manual deployment.
// For example an inductive probe, or a setup that uses the nozzle to probe.
// An inductive probe must be deactivated to go below
// its trigger-point if hardware endstops are active.
#define FIX_MOUNTED_PROBE //ABL

// The BLTouch probe emulates a servo probe.
// The default connector is SERVO 0. Set Z_ENDSTOP_SERVO_NR below to override.
//#define BLTOUCH

// Z Servo Probe, such as an endstop switch on a rotating arm.
//#define Z_ENDSTOP_SERVO_NR 0
//#define Z_SERVO_ANGLES {70,0} // Z Servo Deploy and Stow angles

// Enable if you have a Z probe mounted on a sled 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.

// 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 -40 //ABL // X offset: -left +right [of the nozzle]
#define Y_PROBE_OFFSET_FROM_EXTRUDER -5 //ABL // Y offset: -front +behind [the nozzle]
#define Z_PROBE_OFFSET_FROM_EXTRUDER 0 //ABL // 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 //ABL

//
// Allen Key Probe is defined in the Delta example configurations.
//

// *** PLEASE READ ALL INSTRUCTIONS BELOW FOR SAFETY! ***
//
// To continue using the Z-min-endstop for homing, be sure to disable Z_SAFE_HOMING.
// Example: To park the head outside the bed area when homing with G28.
//
// To use a separate Z probe, your board must define a Z_MIN_PROBE_PIN.
//
// For a servo-based Z probe, you must set up servo support below, including
// NUM_SERVOS, Z_ENDSTOP_SERVO_NR and Z_SERVO_ANGLES.
//
// - RAMPS 1.3/1.4 boards may be able to use the 5V, GND, and Aux4->D32 pin.
// - Use 5V for powered (usu. inductive) sensors.
// - Otherwise connect:
// - normally-closed switches to GND and D32.
// - normally-open switches to 5V and D32.
//
// Normally-closed switches are advised and are the default.
//

//
// The Z_MIN_PROBE_PIN sets the Arduino pin to use. (See your board's pins file.)
// Since the RAMPS Aux4->D32 pin maps directly to the Arduino D32 pin, D32 is the
// default pin for all RAMPS-based boards. Most boards use the X_MAX_PIN by default.
// To use a different pin you can override it here.
//
// WARNING:
// Setting the wrong pin may have unexpected and potentially disastrous consequences.
// Use with caution and do your homework.
//
//#define Z_MIN_PROBE_PIN X_MAX_PIN

//
// Enable Z_MIN_PROBE_ENDSTOP to use _both_ a Z Probe and a Z-min-endstop on the same machine.
// With this option the Z_MIN_PROBE_PIN will only be used for probing, never for homing.
//
//#define Z_MIN_PROBE_ENDSTOP

// Enable Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN to use the Z_MIN_PIN for your Z_MIN_PROBE.
// The Z_MIN_PIN will then be used for both Z-homing and probing.
#define Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN //ABL !

// To use a probe you must enable one of the two options above!

// Enable Z Probe Repeatability test to see how accurate your probe is
//#define Z_MIN_PROBE_REPEATABILITY_TEST

/**
* 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 15 // 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

// 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 //disable only inactive extruders and keep 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 false // true
#define INVERT_Y_DIR true // false
#define INVERT_Z_DIR false // true

// @section extruder

// For direct drive extruder v9 set to true, for geared extruder set to false.
#define INVERT_E0_DIR true // false
#define INVERT_E1_DIR true // false
#define INVERT_E2_DIR true // false
#define INVERT_E3_DIR false

// @section homing

#define Z_HOMING_HEIGHT 4 // //ABL (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.

// ENDSTOP SETTINGS:
// Sets 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

#define min_software_endstops true // If true, axis won't move to coordinates less than HOME_POS.
#define max_software_endstops true // If true, axis won't move to coordinates greater than the defined lengths below.

// @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 200 //215
#define Y_MAX_POS 300 //210
#define Z_MAX_POS 170 //180

Re: Bed Leveling RC8

$
0
0
OK, Moved to RC8 Bug Fix
Moved Z probe to Z Min

Power on, Control -> Auto Home ...................

Z goes UP a few mm, then X homes and Y homes.
An error is displayed -
G28 Z Forbidden

??

Will do some searching.

Re: Auto Bed Leveling RC8 - Z axis goes up while homing

$
0
0
The probe you listed is a normally open type, if you conected it to the Z min enstop pins then you need to set this line to true

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

Re: Question about using marlin in laser cutting applications

$
0
0
thank you so much, your information was very helpful!

regarding modification in plug in , I did as you said, and it seemd logical also to me, but it did not work and still the output does not change.

anyway, it is not a big problem. the hard part is already done!

thank you again

Re: Auto Bed Leveling RC8 - Z axis goes up while homing

$
0
0
Thx that worked! Z axis went up because the probe was triggered when the autohome procedure started.

When is it necessary to setup multiple "E0 E1 E2" steps and what is the format?

$
0
0
I am using the following setup.
RUMBA controller
Diamond hot end
Marlin 1.1.0-RC-8
Repetier-Host V1.6.2

I have noticed that when I start Repetier-Host the "E" specification is not transferred from the firmware.

Is this normal for am I not doing something correctly?

These are my settings:
/**
* Default Axis Steps Per Unit (steps/mm)
* Override with M92
* X, Y, Z, E0 [, E1[, E2[, E3]]]
*/
#define DEFAULT_AXIS_STEPS_PER_UNIT { 160, 160, 3200, 188.53 }

/**
* Default Max Feed Rate (mm/s)
* Override with M203
* X, Y, Z, E0 [, E1[, E2[, E3]]]
*/
#define DEFAULT_MAX_FEEDRATE { 300, 300, 5, 25 }

Re: When is it necessary to setup multiple "E0 E1 E2" steps and what is the format?

$
0
0
At a guess you have the eeprom enabled and have not updated that

If you use M500 even once then from that point on you must update setting with further M500's.
Once the eeprom is used the setting in the firmware are no longer used being superseded by what is in the eeprom

reset eeprom to firmware by M502 then M500

Re: When is it necessary to setup multiple "E0 E1 E2" steps and what is the format?

$
0
0
Dust

Thanks for responding.

Well I gave that a try and it did not seem to work.
However I changed from Marlin 1.1.0-RC8 to Marlin 1.1.0-RC8 bug fix
and it seemed to clear it up. But there seems to be other problems so I'm
thinking of going to Marlin 1.1.0-RC7 but am not sure yet

Re: When is it necessary to setup multiple "E0 E1 E2" steps and what is the format?

$
0
0
oh and the subject line...

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

so with 3 extrudes you just add extra prameters

#define DEFAULT_AXIS_STEPS_PER_UNIT { 160, 160, 3200, 188.53, 200, 150 }

Re: When is it necessary to setup multiple "E0 E1 E2" steps and what is the format?

$
0
0
Dust

Thank you

I don't know why they use E0 [, E1[, E3 etc....
To me it would have been simpler just to state it the way you did
or E0, E1, E2.... The [ threw me off.

Also it helped me figure the this error I was getting:

#elif defined(ABL_GRID_POINTS_X) || defined(ABL_GRID_POINTS_Y)
#error "ABL_GRID_POINTS_[XY] is now ABL_GRID_MAX_POINTS_[XY]. Please update your configuration."

Because of your suggestion I tried ABL_GRID_MAX_POINTS_X to replace ABL_GRID_POINTS_X and it worked. Now the "AUTO_BED_LEVELING_LINEAR" is working with a 9 point check.

So if you don't mind I will ask another question.
Do you know of a way to calibrate the other two extruder steppers?
I've tried selecting Extruder 2 & 3 in Repetier but Repetier reverts back to Extruder 1 which makes sense to me because I told it I had 1 Extruder and checked the "Printer has a Mixing Extruder box. I wanted to check the calibration instead of just assuming it would be the same as the first extruder.

Anyway thanks for the help.

Re: When is it necessary to setup multiple "E0 E1 E2" steps and what is the format?

$
0
0
For what it's worth:

I found that my moving the power plugs for the steppers to "E0" one at a time I was able to calibrate the 3 steppers used by the Diamond hot end.

It should be mentioned that I have switched from Marlin 1.1.0-RC8 to Marlin 1.1.0-RC8-BugFix.

I was a little surprised in the different settings I got for the steppers. All 3 steppers are of the same model, same specifications, same vendor and purchased at the same time.
The steps needed are as follows. E0= 188.53, E1=173.00 and E2 = 180.00.
Each was tested at 100mm length.
I would have thought it would have been a little closer.
As I mentioned earlier I am using a RUMBA controller. The drivers are DRV8825's set 32 steps.

I am now wondering what factors could have influence over the settings.
Since all of the steppers were of the same specifications, I would expect that the steps would have been closer.
Next I looked at the extrusion hardware, all of the same type and teeth number.
Next I looked at the voltage setting of each of the 3 drivers. The voltage varied from 0.537 to 0.545VDC. I suppose that could make a difference but I'm not sure how much.

So I would like to here from anyone else whom may have done something like this.
I'm not even sure if it was worth doing. What do you think?

thanks.

Re: When is it necessary to setup multiple "E0 E1 E2" steps and what is the format?

$
0
0
Different idle pressures can change your steps/mm as more or less filament goes deeper or lighter into the extruder gear

Error uploading new Marlin

$
0
0
Hi,

I'm new in all 3D printing world... trying to configure and upload the Marlin FW and getting error message about this line (in boards.h):

#define MB(board) (MOTHERBOARD==BOARD_RAMPS_14_EEB )

What should I do?

Tanx

Setting Marlin for LCD problem

$
0
0
Hi guys! I open the topic here because I really think I have a problem with setting Marlin in order to have a functional LCD. So, I have a 2004 LCD 20x4 [www.aliexpress.com]. You can check in the link from where I bought it.

The problem that I have is that the LCD lights up and shows me only two rows of dots and no characters. This can be seen in the picture that I post it. I'm using a miniRambo Board with Marlin. I tested my LCD on a different miniRambo board from other 3D printer that has others setting in Marlin and it works. The problem is that I can't have access to that Marlin so I must to modify mine. When I tested the LCD from the 3D printer that works with my miniRambo and Marlin it shows me exactly the same problem. This tells me that my miniRambo and LCD are perfect functional and the problem that I have is setting Marlin correct.

What I have tried in order to solve the problem:
- adjusting lcd contrast
- switch the lcd cables ( default connection is EXP1 from LCD to P1 on miniRambo and EXP2 from LCD to P2 on miniRambo) but in this case does not even lights up
- install u8glib library in Arduino
- settings in Marlin: Configuration.h: enable line 975 #define ULTRA_LCD // Character based
enable line 984 #define SDSUPPORT
enable line 1128 #define REPRAP_DISCOUNT_SMART_CONTROLLER

ultralcd_st7920_u8glib_rrd.h: line 38 #define LCD_PIXEL_WIDTH 20
line 39 #define LCD_PIXEL_HEIGHT 4

If you have any opinions and you can help me please leave a messege guys. Thank you and Happy Printing!
Viewing all 12089 articles
Browse latest View live


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>