Mini5+ 3.3b2 homing woes
-
@carcamerarig Set it back to 100%, or it will have reduced torque, and will skip.
Ian
-
@droftarts said in Mini5+ 3.3b2 homing woes:
@carcamerarig Set it back to 100%, or it will have reduced torque, and will skip.
Ian
So setting it back to 100% causes it to crash again, 60% causes a triple bounce before stalling.
-
@carcamerarig Sorry, I misunderstood. You need to leave the setting at 40% while homing, then set it back to 100% after. eg:
; homex.g ; called to home the X axis ; M561 M400 ; make sure everything has stopped before we make changes M574 X1 S3 ; set endstops to use motor stall M913 X40 ; reduce motor current to 50% to prevent belts slipping G91 G1 H2 Z5 ; Move Z up M17 X ; energise X motor for stealthChop tuning G4 P100 ; pause to allow the driver to establish the motor parameters G1 H1 X-270 F4000 ; home X M913 X100
Ian
-
@droftarts said in Mini5+ 3.3b2 homing woes:
@carcamerarig Sorry, I misunderstood. You need to leave the setting at 40% while homing, then set it back to 100% after. eg:
; homex.g ; called to home the X axis ; M561 M400 ; make sure everything has stopped before we make changes M574 X1 S3 ; set endstops to use motor stall M913 X40 ; reduce motor current to 50% to prevent belts slipping G91 G1 H2 Z5 ; Move Z up M17 X ; energise X motor for stealthChop tuning G4 P100 ; pause to allow the driver to establish the motor parameters G1 H1 X-270 F4000 ; home X M913 X100
Ian
I was asking that very question to myself, did you mean 913 X100. Me being a numpty
just set my probe height and homed Z all good but can I tidy up the code and include M17 or does the probe make it different?
; homez.g ; called to home the Z axis ; M561 G91 ; relative mode G1 Z4 F6000 H2 ; raise head 4mm to ensure it is above the Z probe trigger height G90 ; back to absolute mode G1 X100 Y100 H2 F6000 ; put head over the centre of the bed, or wherever you want to probe G30 ; lower head, stop when probe triggered and set Z to trigger height
-
@carcamerarig You can tune stealthChop on Z if you want (with M17 Z and a pause), but realistically you're not using stall detection/sensor less homing on Z, so it's not necessary.
I've gone back to the datasheet (https://www.trinamic.com/fileadmin/assets/Products/ICs_Documents/TMC2209_Datasheet_V103.pdf page 35 '6.1 Automatic Tuning), and I think there's one more change to be made.
In the datasheet it says that the motor has to be idle for greater than 130ms. So you need to change the G4 P100 after M17 to
G4 P150
.stealthChop will continue to be tuned on the fly, on all axes, so long as it pauses for longer than 130ms after being enabled, and then moves the motor at around 60-300RPM; this will be quite common during a print. It's just that the first movement needs to be correct for sensorless homing to work.
Ian
-
@droftarts said in Mini5+ 3.3b2 homing woes:
@carcamerarig You can tune stealthChop on Z if you want (with M17 Z and a pause), but realistically you're not using stall detection/sensor less homing on Z, so it's not necessary.
I've gone back to the datasheet (https://www.trinamic.com/fileadmin/assets/Products/ICs_Documents/TMC2209_Datasheet_V103.pdf page 35 '6.1 Automatic Tuning), and I think there's one more change to be made.
In the datasheet it says that the motor has to be idle for greater than 130ms. So you need to change the G4 P100 after M17 to
G4 P150
.stealthChop will continue to be tuned on the fly, on all axes, so long as it pauses for longer than 130ms after being enabled, and then moves the motor at around 60-300RPM; this will be quite common during a print. It's just that the first movement needs to be correct for sensorless homing to work.
Ian
Amazing thanks so much.
yeah so I realise the probe is the end stop for Z but I was thinking at the top of the frame 415 in my case, chances of it doing that are probably never but I while im here I might as well get It done? What I didn't understand was will the probe still be the "end stop" for the bed if I use M17? I sometimes send the X carriage to hit the top frame to check the X carriage is level, at the moment it unsets the homing. I don't know if its a more elegant solution to set the Z height in printer geometry or use the frame as an end stop? -
@carcamerarig Yes, you can use the motor stall homing on Z at the top of the frame, and keep the probe for bed levelling. I'd write the motor stall as a separate macro, so you call it when you want to do it, not as part of homing Z. The commands will be pretty similar to your homex.g.
However, as you have two Z motors, each connected to separate motor drivers, and a probe, you can level the X axis to the bed. See https://duet3d.dozuki.com/Wiki/Bed_levelling_using_multiple_independent_Z_motors
However, this does assume that the bed is square to the frame first! If you're sure the frame is square, and stalling the X axis at the top of the frame sets the X axis square, then you can use this to check the bed is square to the frame and X axis, by running a bed mesh and seeing if it needs levelling. Once level, you can then level the X axis to the bed.
You also need to change your M208 Z value, currently Z-0.5:205. If you have 415mm of Z travel, and Z is high up (over 205+10%), you'll get failed homing behaviour.
Ian
-
@droftarts said in Mini5+ 3.3b2 homing woes:
@carcamerarig Yes, you can use the motor stall homing on Z at the top of the frame, and keep the probe for bed levelling. I'd write the motor stall as a separate macro, so you call it when you want to do it, not as part of homing Z. The commands will be pretty similar to your homex.g.
However, as you have two Z motors, each connected to separate motor drivers, and a probe, you can level the X axis to the bed. See https://duet3d.dozuki.com/Wiki/Bed_levelling_using_multiple_independent_Z_motors
However, this does assume that the bed is square to the frame first! If you're sure the frame is square, and stalling the X axis at the top of the frame sets the X axis square, then you can use this to check the bed is square to the frame and X axis, by running a bed mesh and seeing if it needs levelling. Once level, you can then level the X axis to the bed.
You also need to change your M208 Z value, currently Z-0.5:205. If you have 415mm of Z travel, and Z is high up (over 205+10%), you'll get failed homing behaviour.
Ian
ohh haha
well I wrote this up before seeing your reply, for curiosity sake would this work?; homez.g ; called to home the Z axis ; M561 This cancels any bed-plane fitting as the result of probing (or anything else) and returns the machine to moving in the user's coordinate system. M400 ; make sure everything has stopped before we make changes M574 X1 S2 ; set endstops to use motor stall M913 Z100 ; set Z motors to 100% of their normal current G91 ; relative positioning G1 H2 Z5 ; Move Z up M17 Z ; Energise Z motor for stealthChop tuning G4 P150 ; pause to allow the driver to establish the motor (>+130ms to maintain stealthchop) G1 X104 Y100 H2 F3800 ; put head over the centre of the bed, or wherever you want to probe G90 ; back to absolute mode M913 X100 set Z motors to 100% of their normal current G30 ; Probe the bed at the current XY position. When the probe is triggered, set the Z coordinate to the probe trigger height
I homed Z then sent the carriage up til it hit the cross bar (417.5) so set the geometry to 415, at 205 height I hit the Z+25 a couple times before I realised. Wolfgang has always been very critical in his manual about getting the frame square and true, I went to great lengths lol. (I hope it is after the effort I went to)
I didn't think about the macros, nice I like that and I never thought to check the bed being level to the frame. -
I would use both Z stepper drivers for leveling the X gantry. No need to push them against any endstops.
My bed.g and homeall.g as reference:bed.g:
M561 ; clear any bed transform G28 W ; home G30 P0 X25 Y100 Z-99999 ; probe near a leadscrew, half way along Y axis G30 P1 X220 Y100 Z-99999 S2 ; probe near a leadscrew and calibrate 2 motors G1 H2 Z8 F2600 ; raise head to ensure it is above the Z probe trigger height G90 ; back to absolute mode G1 X104 Y100 F6000 ; put head over the centre of the bed, or wherever you want to probe G30 ; lower head, stop when probe triggered and set Z to trigger height
homeall.g:
M913 X80 Y85 Z100 ; reduce motor current G91 ; relative positioning G1 Z8 F800 H2 ; lift Z relative to current position G1 H1 X-255 F3800 ; move quickly to X and Y axis endstops and stop there (first pass) G1 H1 Y-215 F3800 ; move quickly to X and Y axis endstops and stop there (first pass) M913 X100 Y100 Z100 ; set X Y Z motors to 100% of their normal current G91 ; relative mode G1 H2 Z2 F2600 ; raise head 2mm to ensure it is above the Z probe trigger height G90 ; back to absolute mode G1 X104 Y100 F3800 ; put head over the centre of the bed, or wherever you want to probe G30 ; lower head, stop when probe triggered and set Z to trigger height
bed.g is called via G32 which also calls homeall.g beforehand.
-
Excellent help, advice and support from the forum, big thank you from me to everyone that helped.