Welcome! Log In Create A New Profile

Advanced

Touche's SmartRap

Posted by Touche 
Touche's SmartRap
October 11, 2014 07:10AM
Hi, I finish assemble my SmartRap today but I have few problems.
It is a V0.4.6 with GT2 belts and Genie Hotend that I bought from Regpye.

I upload the Marlin from BOM but the auto home isn't work very well.
When pressing auto home all axis moves to the right direction but when hit the endstops, it stops and stay there.
I think it supposed to center the axis after auto home, isn't it?

Is anyone have any idea how can I fix this?
It is probably something on the Marlin code. I didn't find.

Thanks for help.

Touche
Attachments:
open | download - 3D Printer.jpg (597.2 KB)
Re: Touche's SmartRap
October 11, 2014 06:12PM
Mine doesn't centre after home command. After G28 it sits in the corner at X0, Y0. That's how it's supposed to be after a home command.
Re: Touche's SmartRap
October 11, 2014 10:29PM
Very nice build Touche!

Home is at X0 Y0 Z0 so i think it is all good.
Re: Touche's SmartRap
October 12, 2014 01:06AM
Thanks mikefiatx19 and BackEMF.
OK. It is normal.
Another issue is the auto leveling isn't working before start printing.

This is my Marlin Conf.

Any ideas?

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

#ifdef ENABLE_AUTO_BED_LEVELING

// There are 2 different ways to pick the X and Y locations to probe:

// - "grid" mode
// Probe every point in a rectangular grid
// You must specify the rectangle, and the density of sample points
// This mode is preferred because there are more measurements.
// It used to be called ACCURATE_BED_LEVELING but "grid" is more descriptive

// - "3-point" mode
// Probe 3 arbitrary points on the bed (that aren't colinear)
// You must specify the X & Y coordinates of all 3 points

//#define AUTO_BED_LEVELING_GRID
// with AUTO_BED_LEVELING_GRID, the bed is sampled in a
// AUTO_BED_LEVELING_GRID_POINTSxAUTO_BED_LEVELING_GRID_POINTS grid
// and least squares solution is calculated
// Note: this feature occupies 10'206 byte
#ifdef AUTO_BED_LEVELING_GRID

// set the rectangle in which to probe
#define LEFT_PROBE_BED_POSITION 30
#define RIGHT_PROBE_BED_POSITION 110
#define BACK_PROBE_BED_POSITION 110
#define FRONT_PROBE_BED_POSITION 30

// set the number of grid points per dimension
// I wouldn't see a reason to go above 3 (=9 probing points on the bed)
#define AUTO_BED_LEVELING_GRID_POINTS 2


#else // not AUTO_BED_LEVELING_GRID
// with no grid, just probe 3 arbitrary points. A simple cross-product
// is used to esimate the plane of the print bed

#define ABL_PROBE_PT_1_X 10
#define ABL_PROBE_PT_1_Y 10
#define ABL_PROBE_PT_2_X 10
#define ABL_PROBE_PT_2_Y 100
#define ABL_PROBE_PT_3_X 100
#define ABL_PROBE_PT_3_Y 55

#endif // AUTO_BED_LEVELING_GRID


// these are the offsets to the probe relative to the extruder tip (Hotend - Probe)
#define X_PROBE_OFFSET_FROM_EXTRUDER 0
#define Y_PROBE_OFFSET_FROM_EXTRUDER 0
#define Z_PROBE_OFFSET_FROM_EXTRUDER 2.2
#define Z_PROBE_OFFSET_FROM_EXTRUDER_DELTA_X 0.5 // smartrap: special quantic error mesurement from porte a faux design (see marlin.cpp)

#define Z_RAISE_BEFORE_HOMING 5 // (in mm) Raise Z before homing (G28) for Probe Clearance.
// Be sure you have this distance over your Z_MAX_POS in case

#define XY_TRAVEL_SPEED 6000 // X and Y axis travel speed between probes, in mm/min

#define Z_RAISE_BEFORE_PROBING 5 //How much the extruder will be raised before traveling to the first probing point.
#define Z_RAISE_BETWEEN_PROBINGS 5 //How much the extruder will be raised when traveling from between next probing points
#define Z_RAISE_BETWEEN_PROBINGS_BEFORE_RETRACT 2 // smartrap : this happend just after probing point and before servo comes back ( to prevent servo to tap on the bed)

//If defined, the Probe servo will be turned on only during movement and then turned off to avoid jerk
//The value is the delay to turn the servo off after powered on - depends on the servo speed; 300ms is good value, but you can try lower it.
// You MUST HAVE the SERVO_ENDSTOPS defined to use here a value higher than zero otherwise your code will not compile.

#define PROBE_SERVO_DEACTIVATION_DELAY 0


//If you have enabled the Bed Auto Leveling and are using the same Z Probe for Z Homing,
//it is highly recommended you let this Z_SAFE_HOMING enabled!!!

#define Z_SAFE_HOMING // This feature is meant to avoid Z homing with probe outside the bed area.
// When defined, it will:
// - Allow Z homing only after X and Y homing AND stepper drivers still enabled
// - If stepper drivers timeout, it will need X and Y homing again before Z homing
// - Position the probe in a defined XY point before Z Homing when homing all axis (G28)
// - Block Z homing only when the probe is outside bed area.

#ifdef Z_SAFE_HOMING

#define Z_SAFE_HOMING_X_POINT (X_MAX_LENGTH/2) // X point for Z homing when homing all axis (G28)
#define Z_SAFE_HOMING_Y_POINT (Y_MAX_LENGTH/2) // Y point for Z homing when homing all axis (G28)

#endif

#endif // ENABLE_AUTO_BED_LEVELING


// 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 0
//#define MANUAL_Z_HOME_POS 402 // For delta: Distance between nozzle and print surface after homing.

//// MOVEMENT SETTINGS
#define NUM_AXIS 4 // The axis order in all axis related arrays is X, Y, Z, E
#define HOMING_FEEDRATE {50*60, 50*60, 4*60, 0} // set the homing speeds (mm/min)

// default settings - smartrap: uses define on top for diferent motors config
#ifdef motors09
#define DEFAULT_AXIS_STEPS_PER_UNIT {394,394,7400,170} // smartrap : version 0.9 deg. 1/16 {382,382,7400,170}
#endif
#ifdef motors1848
#define DEFAULT_AXIS_STEPS_PER_UNIT {194,194,4000,85} // smartrap : version 1.8degv{194,194,4000,85}
#endif
#ifdef motors1840
#define DEFAULT_AXIS_STEPS_PER_UNIT {99,99,4000,85} // smartrap : version 1.8degv{194,194,4000,85} robotdigg.shaft adaptor,fishline big
#endif

#define DEFAULT_MAX_FEEDRATE {500, 500, 4, 25} // (mm/sec)
#define DEFAULT_MAX_ACCELERATION {9000,9000,100,10000} // X, Y, Z, E maximum start speed for accelerated moves. E default values are good for Skeinforge 40+, for older versions raise them a lot.

#define DEFAULT_ACCELERATION 3000 // X, Y, Z and E max acceleration in mm/s^2 for printing moves
#define DEFAULT_RETRACT_ACCELERATION 3000 // X, Y, Z and E max acceleration in mm/s^2 for retracts

// Offset of the extruders (uncomment if using more than one and relying on firmware to position when changing).
// The offset has to be X=0, Y=0 for the extruder 0 hotend (default extruder).
// For the other hotends it is their distance from the extruder 0 hotend.
// #define EXTRUDER_OFFSET_X {0.0, 20.00} // (in mm) for each extruder, offset of the hotend on the X axis
// #define EXTRUDER_OFFSET_Y {0.0, 5.00} // (in mm) for each extruder, offset of the hotend on the Y axis

// The speed change that does not require acceleration (i.e. the software might assume it can be done instantaneously)
#define DEFAULT_XYJERK 20.0 // (mm/sec)
#define DEFAULT_ZJERK 0.4 // (mm/sec)
#define DEFAULT_EJERK 5.0 // (mm/sec)
Re: Touche's SmartRap
October 12, 2014 02:01AM
//#define AUTO_BED_LEVELING_GRID

So you try the 3 point mode?
If not then uncomment this line to

#define AUTO_BED_LEVELING_GRID then it should probe a 9 point grid.

I also had issues with 3point probing, but the Grid works fine.
Re: Touche's SmartRap
October 12, 2014 10:14AM
I uncomment the #define AUTO_BED_LEVELING_GRID but it's still not probing.
It supposed to probe before every print, isn't it?
I tried Cura and Pronterface. I homed the axis first and then print. It starts printing without probing.
The gap between home and the end of the Y axis is big. It is impossible to print without leveling the print bed.
I don't know what is wrong. :-(
Re: Touche's SmartRap
October 12, 2014 03:40PM
Hi touche..

there's something in the doc i do bad : start gcode in slic3r settings or in cura settings :

please put this sequence ( slic3r version ) : custom gcode : start gcode :

M109 S[first_layer_temperature_0];set extruder temp and start heating
G28 X0 Y0 Z0;home X and Y and Z
G29 ;probe bed
G90; set absolute coordinates
G92 E0; reset extruder distance
G1 Z3 F3000; get out of the bed after probe
G1 X10 Y10 F3000 ; move to back right corner


the Smartrap project

[smartfriendz.com]
[www.thingiverse.com]
[reprap.org]
[github.com]
doc assemblage: [reprap.org]
NEW: Forum smartfriendz: [smartraptalk.smartfriendz.com]
Re: Touche's SmartRap
October 13, 2014 05:55PM
Thanks Serge.
But even if I put this on the start gcode it don't probe before start printing.
On Pronterface when I home all axis and want to move it, +Z goes up, OK, but I have press -X -Y to make then move.
Logically they are moving in negative way. It maybe the problem.
I tried to invert the motor's direction but when I home it moves to the other direction and the endstops are on the opposite side.

Help! Hahaha. :-)

Thanks guys.

Touche
Re: Touche's SmartRap
October 16, 2014 06:49AM
Hi guys,

I have a problem when homing.
I #define Z_PROBE_OFFSET_FROM_EXTRUDER -2.3
When I home, M114 shows me Z:-4.3
This is defined in Configuration.h file.
Is there other place to change this offset?

Thanks.
Touche
Re: Touche's SmartRap
October 16, 2014 12:04PM
Hi,
I've never put anything in #define Z_PROBE_OFFSET_FROM_EXTRUDER, I only use M555 (if you use Smartrap no servo firmware), maybe your Z offset in firmware add the M555 z offset ?
And if you use a switch for Z endstop, it seems it might be a positive value.
Re: Touche's SmartRap
October 16, 2014 05:07PM
If your motors move the wrong way you can turn the 4 pin stepper motor plug around to reverse the direction. Maybe thats an easy fix for you.

Edited 1 time(s). Last edit at 10/16/2014 05:08PM by mikefiatx19.
Re: Touche's SmartRap
October 19, 2014 06:06AM
I managed to home the printer.
Now I'm struggling to probe.

I'm using the auto level probe grid.

>>>g29
SENDING:G29
Bed x: 0.00 y: 10.00 z: 0.36
Bed x: 200.00 y: 10.00 z: 0.54
Bed x: 200.00 y: 85.00 z: -3.69
Bed x: 0.00 y: 85.00 z: -3.45
Eqn coefficients: a: -0.00 b: -0.05 d: 1.00
planeNormal x: 0.00 y: 0.05 z: 1.00
echo:endstops hit: X:0.04 Z:-3.45
>>>m114
SENDING:M114
X:0.00 Y:85.06 Z:4.30 E:0.00 Count X: 0.00 Y:85.17 Z:-0.26

As you can see in the M114 I'm getting z:4.30 but the nozzle position is already touching the bed after probe.
Z:0 is under the bed.

What am I doing wrong?

Edited 1 time(s). Last edit at 10/19/2014 05:41PM by Touche.
Sorry, only registered users may post in this forum.

Click here to login