Page 1 of 1

Pause logic changed at 4.1.x?

Posted: Wed Jun 19, 2019 2:07 am
by rsworden59
For quite a while I have been using this version of a pause replace script with my Robo3D R1+

Code: Select all

{REPLACE "; process BadgeBarLetters" "; process BadgeBarLetters\n;move away and pause \nG91 ;Rel\nG1 Z10 F1800 \nG90 ;Abs\nG1 Y10 X130 F3000 \nM0 \nG28 X \nG92 E0 \nG1 E-0.5000 F900 \n"}
This is the first time I've used it since upgrading to 4.1.2 (not sure from what version). After the resume and homing, the head does not seem to return to the correct location. The next layer is printed a mm or so above the previous layer and fails to adhere. It also seems to be off in the Y direction by a few mm.

I see other versions posted that include a "G1 Z-10" to move the head back down by the amount it was moved up. My version doesn't have that, but in the past it didn't seem to need it: the head returned to the Z height where it paused.

I don't think the motors are disengaging and allowing me to move the bed in the Y direction. But maybe the G28 X needs to be G28 X Y? Maybe even G28 X Y Z to resync everything?

Has something changed in the pause logic?

Re: Pause logic changed at 4.1.x?

Posted: Fri Jun 21, 2019 9:53 pm
by rsworden59
The problem seemed to be the "Home X" command, and possibly the positioning switching between Absolute and Relative. After some troubleshooting I settled on this version. I added a relative Z down command to put the head back where it started. After clicking resume the head homes Z on its own then moves back to the right place.

Code: Select all

{REPLACE "-pause" "-pause\n;move away and pause G91 ;Rel \n G1 Z10 F1800 \n G90 ;Abs \n G1 Y10 X130 F3000 \n M0 \n G91 ;Rel\n G1 Z-10 \nG92 E0 \nG90 ;Abs\nG1 E-0.5000 F900 \n"}
It seems to me that the firmware in the Robo3D R1+ does not let the Absolute and Relative commands stick. I ran into this when performing a filament feed calibration some time ago. I had to add Relative commands to get the feed to work. So I added some Red and Abs commands in this code just to be sure.