Welcome! Log In Create A New Profile

Advanced

FSR Autocalibration Issue

Posted by [email protected] 
FSR Autocalibration Issue
September 25, 2015 06:49PM
Looking for help/advice please with my Delta build Autocalibration issue.

running Arduino 1.0.6 / Ramps 1.4.

With FSR Autocalibrate I get the following error. Any suggesitons would ne greatly appreciated.

Printer is now online.
echo:Marlin 1.0.0
echo: Last Updated: Sep 25 2015 18:39:09 | Author: Rosen
Compiled: Sep 25 2015
echo: Free Memory: 2527 PlannerBufferBytes: 1232
echoconfused smileytored settings retrieved
echoconfused smileyteps per unit:
echo: M92 X80.00 Y80.00 Z80.00 E100.00
echo:Maximum feedrates (mm/s):
echo: M203 X200.00 Y200.00 Z200.00 E200.00
echo:Maximum Acceleration (mm/s2):
echo: M201 X9000 Y9000 Z9000 E9000
echo:Acceleration: S=acceleration, T=retract acceleration
echo: M204 S1500.00 T1000.00
echo:Advanced variables: S=Min feedrate (mm/s), T=Min travel feedrate (mm/s), B=minimum segment time (ms), X=maximum XY jerk (mm/s), Z=maximum Z jerk (mm/s), E=maximum E jerk (mm/s)
echo: M205 S0.00 T0.00 B20000 X2.00 Z2.00 E2.50
echo:Home offset (mm):
echo: M206 X0.00 Y0.00 Z0.00
echo:Endstop adjustment (mm):
echo: M666 X0.00 Y0.00 Z0.00
echogrinning smileyelta Geometry adjustment:
echo: M666 A0.00 B0.00 C0.00 E0.00 F0.00 G0.00 R109.50 D216.50 H367.80 P0.00
echotongue sticking out smileyID settings:
echo: M301 P17.78 I0.98 D80.40
echoconfused smileyD init fail
>>> G28
SENDING:G28
>>> M502
SENDING:M502
echo:Hardcoded Default Settings Loaded
>>> M500
SENDING:M500
echoconfused smileyettings Stored
>>> G30 A0.1 D216.5
SENDING:G30 A0.1 D216.5
Starting Auto Calibration..
Calibration precision: +/-0.100mm
|
0.1750
0.1250
0.1250 Exact Match: 0.1250 Range: 0.0500 mm
| 2.6375
2.6000
2.5625
2.5250
2.5250 Exact Match: 2.5250 Range: 0.1125 mm
|
0.9000
0.9000 Exact Match: 0.9000 Range: 0.0000 mm
| 1.9125
1.9375
1.9000
1.8875
1.8750
1.8750
1.8750 Exact Match: 1.8750 Range: 0.0625 mm
| 2.4500
2.4500 Exact Match: 2.4500 Range: 0.0000 mm
|
-0.6250
-0.6500
-0.6750
-0.6625
-0.6500
-0.6625
-0.6750 Mode/Median: -0.6625 Range: 0.0500 mm
|
-12.7125
-12.7250
-12.7375
-12.7500
-12.7750
-12.7500
-12.7625 Mode/Median: -12.7500 Range: 0.0625 mm
| Z-Tower Endstop Offsets
| 2.5250 X:0.00 Y:0.00 Z:0.00
| 0.9000 -12.7500 Tower Offsets
| 0.1250 A:0.00 b:0.00 C:0.00
| 1.8750 -0.6625 I:0.00 J:0.00 K:0.00
| 2.4500 Delta Radius: 109.5000
| X-Tower Y-Tower Diagonal Rod: 216.5000
Using diagional rod length: 216.50mm (will not be adjusted)
The position of the endstop switches on this printer are not within limits
Adjust endstop switches so that they are within 3mm Z-height of each other
Current Endstop Positions - X: 1.88 Y: -0.66 Z: 2.52
Autocalibration aborted
Re: FSR Autocalibration Issue
September 26, 2015 04:10AM
It seems, you can solve the problem by raising the y-tower endstop or shorten ( screw in) the endstop adjuster screw by 1-2mm.
Do you run "M502 & M500" commands every time you start a print? You could as well switch off the EEprom, because it doesn´t have any added value this way...
I´d run M502 only when I´ve flashed a new firmware.
-Olaf

PS: How come, we don´t find any documentation about the magic G30 A command in RR-wiki or on marlin G-code Wiki?

Edited 1 time(s). Last edit at 09/26/2015 04:14AM by o_lampe.
Re: FSR Autocalibration Issue
September 26, 2015 03:30PM
Thanks for the Reply Olaf. I am a little confused by the reply though. My delta has X-MAX, Y-Max, and Z-MAx endstops at the top and nothing on the bottom. There are the three FSR plates under the heated bed acting as X,Y,Z min i suppose?

In my config.h file I have the following defined:

// The pullups are needed if you directly connect a mechanical endswitch between the signal and ground pins.
const bool X_MIN_ENDSTOP_INVERTING = true; // set to true to invert the logic of the endstop.
const bool Y_MIN_ENDSTOP_INVERTING = true; // set to true to invert the logic of the endstop.
const bool Z_MIN_ENDSTOP_INVERTING = true; // set to true to invert the logic of the endstop.
const bool X_MAX_ENDSTOP_INVERTING = false; // ***** Set to FALSE set to true to invert the logic of the endstop.
const bool Y_MAX_ENDSTOP_INVERTING = false; // ***** Set to FALSE set to true to invert the logic of the endstop.
const bool Z_MAX_ENDSTOP_INVERTING = false; // ***** Set to FALSE set to true to invert the logic of the endstop.
// #define DISABLE_MAX_ENDSTOPS
// #define DISABLE_MIN_ENDSTOPS

// For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1
#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 when it's not being used.
#define DISABLE_X false
#define DISABLE_Y false
#define DISABLE_Z false
#define DISABLE_E false // For all extruders

#define INVERT_X_DIR false // for Mendel set to false, for Orca set to true
#define INVERT_Y_DIR false // for Mendel set to true, for Orca set to false
#define INVERT_Z_DIR true // ***** Set to TRUE
#define INVERT_E0_DIR false // for direct drive extruder v9 set to true, for geared extruder set to false
#define INVERT_E1_DIR false // for direct drive extruder v9 set to true, for geared extruder set to false
#define INVERT_E2_DIR false // for direct drive extruder v9 set to true, for geared extruder set to false

// ENDSTOP SETTINGS:
// Sets direction of endstops when homing; 1=MAX, -1=MIN
#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.

// Travel limits after homing
#define X_MAX_POS 80
#define X_MIN_POS -80
#define Y_MAX_POS 80
#define Y_MIN_POS -80
#define Z_MAX_POS MANUAL_Z_HOME_POS
#define Z_MIN_POS 0

#define X_MAX_LENGTH (X_MAX_POS - X_MIN_POS)
#define Y_MAX_LENGTH (Y_MAX_POS - Y_MIN_POS)
#define Z_MAX_LENGTH (Z_MAX_POS - Z_MIN_POS)

// The position of the homing switches
#define MANUAL_HOME_POSITIONS // If defined, MANUAL_*_HOME_POS below will be used
#define BED_CENTER_AT_0_0 // If defined, the center of the bed is at (X=0, Y=0)

//Manual homing switch locations:
// For deltabots this means top and center of the cartesian print volume.
#define MANUAL_X_HOME_POS 0
#define MANUAL_Y_HOME_POS 0
#define MANUAL_Z_HOME_POS 367.8 // For delta: Distance between nozzle and print surface after homing.

I am runing the M502 command and the M500 commands as a part of the auto calibration procedure to calibrate the FSR for the first time. This might help:

Home Printer:
>>> G28
SENDING:G28

>>> M119
SENDING:M119
Reporting endstop status
x_max: TRIGGERED
y_max: TRIGGERED
z_min: open
z_max: TRIGGERED

Move printer to [0,0,367.8]
>>> G1 X0 Y0 Z0
SENDING:G1 X0 Y0 Z0
>>> M119
SENDING:M119
Reporting endstop status
x_max: open
y_max: open
z_min: open
z_max: open

Not open because nozzle is sitting sheet of paper above plate. when I press the plate and hold it, the FSR LED illuminates and I get the following:

>>> M119
SENDING:M119
Reporting endstop status
x_max: open
y_max: open
z_min: TRIGGERED
z_max: open


Z-Min is triggered. Should my #define Z_MIN_POS 0 actually be set to 367.8 because its inverted?


PS: How come, we don´t find any documentation about the magic G30 A command in RR-wiki or on marlin G-code Wiki? <- don't know. Want me to add this in somewhere? Here is what I know about it:

G30 (without any parameters) - Probe bed a report current values
G30 Ax.xx - Full autocalibration (x.xx = optional value to specify required precision - if this is not specified the value in configuration.h will be used)
G30 E - Autocalibrate endstops (and then stop)
G30 R - Autocalibrate Delta Radius & Endstops (and then stop)
G30 D - Autocalibrate Diagional rod length (and then stop)
G30 Ix - Autocalibrate Tower position for Tower x (x= 1 for X tower, 2 for Y tower, 3 for Z tower) - This adjusts the A,B,C M666 values


● G30 Tx - Autocalibrate Tower radius for Tower x (x= 1 for X tower, 2 for Y tower, 3 for Z tower) - This adjusts the I,J,K M666 values
Re: FSR Autocalibration Issue
September 26, 2015 08:22PM
I have fixed the issue - thank you.
Re: FSR Autocalibration Issue
September 27, 2015 08:21AM
How did you fix it? I'm having the same issue and have been watching this thread.
Re: FSR Autocalibration Issue
September 27, 2015 10:28PM
Quote
o_lampe
It seems, you can solve the problem by raising the y-tower endstop or shorten ( screw in) the endstop adjuster screw by 1-2mm.
Do you run "M502 & M500" commands every time you start a print? You could as well switch off the EEprom, because it doesn´t have any added value this way...
I´d run M502 only when I´ve flashed a new firmware.
-Olaf

PS: How come, we don´t find any documentation about the magic G30 A command in RR-wiki or on marlin G-code Wiki?

This is correct, I had exactly the same problem. Just moved the endstops a couple mm up or down and re-started the autocalibrate.

Regarding the G30 A command.

I have seen this as part of Rich Cattel Marlin, and there are some small information on using it there. [github.com]

I was not aware of it being fully incorporated into other forks of marlin, but that appears the case. What version / where did you get your firmware drosen14?

For the Rich Cattel version G30 A is the command to start full autocalibrate, which allows it to change all variables as needed. I personally use G30 A D288.3. This fixes diagonal rod length to 288.3 so it will not change this value at all while the full autocalibrate is taking place. I find that if I do not fix the diagonal rod length the calibration often gets stuck in a loop going between adjusting diagonal rod and delta radius. I know my diagonal rod length 288.30 absolutely so that is the one I fix. Delta radius seems to be a much fuzzier number for my printer, so fixing it does not work well for me. YMMV.

Also, for Rich Cattel marlin, G30 E is used to evaluate the printers calibration, reporting back variance for each probe position.
Re: FSR Autocalibration Issue
September 28, 2015 08:59PM
I found out what the source of my problem was. When the print head tapped the bed, it was triggering the FSRs multiple times in rapid succession, causing unusually large ranges in the data. Every time the FSRs trigger, the print head jumps up a few millimeters. Here's what the gcode looks like:

-0.0125 2.9750 5.9625 8.9500
-0.1250
-0.1375
-0.1625 Mode/Median: -0.0125 Range: 9.1125 mm

The numbers on the top row are the jumps. This is what was giving me "The position of the endstop switches on this printer are not within limits
Adjust endstop switches so that they are within 3mm Z-height of each other" error.

Tightening the bed mounts has reduced the problem but not eliminated it. I think maybe adding more padding on the bottom of the FSRs might help, so I'll try that too.
Re: FSR Autocalibration Issue
September 29, 2015 04:31AM
Quote
kgrocker13
When the print head tapped the bed, it was triggering the FSRs multiple times in rapid succession

Did you
#define Z_MIN_PROBE_REPEATABILITY_TEST
?

Earlier versions than 1.1.RC1 stated that this feature doesn´t work for deltas.
-Olaf

Edited 1 time(s). Last edit at 09/29/2015 04:33AM by o_lampe.
Sorry, only registered users may post in this forum.

Click here to login