Delta printer homing problems
-
Hi,
around a month ago I encountered a weird behaviour, where my printer wouldn't home proparly (it was off by exactly 12 in X axis and -6.3 in Y axis) I noticed it, because after homing, the head moved slightly in one direction (there was a slight jump on one of the towers) initially i thought it was a mechanical error with one of the towers, but it turned out that this slight jump was caused by the command G1 X0 Y0 F2000, which should simply go to current absolute X0 Y0. I don't know why, but after homing (triggering at endstops, going down etc) it still thought it was at those coordinates(X12 Y-6.3). I have overwridden them using G92 X0 Y0. Question 1: What could possibly be causing it to think it's at those coordinates?As expected, my printer started homing succesfully but not succesfully enough. After being homed, it still was a bit off compared to the bed -> when moved to 0.4 above the bed (around the thickness of a sheet of paper) and then moved to max Y and min Y there is an enormous difference in height between them (around 1mm!). X axis is fine. BUT after calibrating it, it moves normally (everything is perfectly even). All would have been fine, but as all of you probably know, 3D printers need to be homed before printing so each time i tried printing something it was once uneven.
Question 2: What can I possibly do to make it even after homing?
Attached files:
old homedelta.g (when it was homing 12 and -6.3 off)0_1549134982166_old homedelta.g
new homedelta.g (with removed G1 X0 Y0 F2000 command and G92 X0 Y0 command added)0_1549134975208_new homedelta.g
bed.g file0_1549134960446_bed.g -
@willmish said in Delta printer homing problems:
Question 1: What could possibly be causing it to think it's at those coordinates?
That happens when you have large endstop corrections in your M666 command in config.g or config-override.g, or if auto calibration produces large endstop corrections. If all your endstops are at exactly the same height and all the rods are the same length, then the effector will be at X=0 Y=0 when all 3 homing switches are triggered. If they are not at the same height, the effector will be off centre. You can send M666 without parameters to see what the endstop corrections are.
Question 2: What can I possibly do to make it even after homing?
Run auto calibration and save the results. But if it is auto calibration that is producing the large M666 endstop corrections, and your Z probe is offset from the nozzle, then your printer has developed a geometrical error that is causing the effector to tilt as it moves in the XY plane, and you need to fix that.
-
@dc42 said in Delta printer homing problems:
That happens when you have large endstop corrections in your M666 command in config.g or config-override.g, or if auto calibration produces large endstop corrections. If all your endstops are at exactly the same height and all the rods are the same length, then the effector will be at X=0 Y=0 when all 3 homing switches are triggered. If they are not at the same height, the effector will be off centre. You can send M666 without parameters to see what the endstop corrections are.
Those are my corrections in config-override.g:
M666 X-3.790 Y8.716 Z-4.926 A0.00 B0.00
I tried changing them (which now that I think I shouldn't have) and by changing them i increased the error (now even if i go back to those corrections new '0 coordinates' areX23.3 Y-2.1 Z162.05
When i changed them, the tower tried to move outside its tracks, causing the belt inside to jump slightly. Now when send the command G1 Z166 F2000 the printer goes to 162.05 I;m really not proud of myselfTo sum up, The corrections weren;t to big, i fiddled with them (even though it clearly says in the file not to) and now I've made things worse.
Question 1: What can I do now to get the printer back to its state before I fiddled with the generated file?
Question 2: Is it possible that due to the jump of the belt the coordinates are now even in worse state? And is it possible that it caused the previous inconsistency? (That the belt somehow 'jumped' in the past causing the X and Y axis to get all weird?
Thanks a lot for your previous reply and your helpEDIT:
Also i totally forgot to look at your second advice, could you explain what you wrote in response to my second question. (I'm quite new to 3D printing)EDIT2:
I realised that the config-override.g didn;t save after i put it pack to its original from, so now that I've managed to do that, it's back to original error (I take that as a good sign) -
Is your Y endstop really triggering 12mm higher than your X and Z endstops? If so, I suggest you correct it. It's not hard to get all 3 endstops to trigger to within 1mm of the same height.
Are you using steel-cored belts? If so, the steel core in the Y belt has probably fractured.
-
@dc42 The head is still moving smoothly and I've analised the tower which had the slight jump. Also how do you know that it's the Y tower that could have a fractured belt?
I'm not sure how to tell whether they are triggering higher or lower, they hit the endstops at different times but as soon as they do the coordinates get set to X12.5 Y-9 (something has changed here) Z174.40
EDIT:
Also the config-override.g file has changed, I do not know what caused it to do so
Should I modify it to one of my previous versions (I have saved the memory of the SD card from a few days ago) or should I leave it as it is? -
The config-override.g file only changes when you use M500 to save the current delta calibration and heater model settings - that's what the file is for. So if the printer works OK after auto calibration, then run auto calibration and then run M500 to save those calibration settings.
If you don't want to use config-override.g at all, then remove the M501 command from config.g. Then auto calibrate, and copy the new M665 and M666 settings into config.g by hand.
-
@dc42 said in Delta printer homing problems:
u use M500 to save the current delta calibration and heater model settings - that's what the file is for. So if the printer works OK after auto calibration, then run auto calibration and then run M500
the printer runs the M500 command automatically after calibration, as you can see in the attached bed.g file. Will sending it by hand change anything? Also after calibration head moves definitely better than after homing though now during paper test, the sheet of paper is hard to move at the edges of the bed (though at least the nozzle isn't drilling the table as it was before)
Question 1: If running the M500 command won;t change anything, is it wise to remove the config-override.g file?
Question 2: Is the explained above state of the bed (a bit uneven) acceptable or should I keep digging?
EDIT:
I'm still using the G92 X0 Y0 command
EDIT2:
I ran the M500 command and it did change the config-override file and the Y changed to around 10. There is a slight difference in the printers movement, it now moves around 0.3 lower than it used to (it used to gently
Press the bed at 0 now it triggers the z probe. Also the X and Y movement differs slightly but is similar to previous behavior -
There is something very wrong with your mechanics if the Y endstop switch triggers 10mm higher than the others (or even 8mm higher). What sort of endstop switches are they, and how do the carriages trigger them? What type of belts are you using?
-
@dc42 I'm using GT2 belts (6mm wide). Attached is the photo of one of my endstop switches
They are triggered by the top of the carriage (which you can see in the picture).
They simply press on the metal part of the switch. -
If they are ordinary glass-cored GT2 belts, they should be OK. The steel-cored ones are less flexible and the cores will break on a delta because of the small pulley diameter.
I find it best to remove the metal arm of the microswitch, so that the carriage presses directly on the button. That gives you a more precisely-defined trigger height.
-
@dc42 said in Delta printer homing problems:
Hi, I tried removing the metal arm, but it's attached firmly to the endstops (photos). Also they are all equally bent on all towers so I don't think they would produce such a big uncertainty. I tried fiddeling with them for a bit.
Also, each time I home the printer and then calibrate it, the X, and Y value (during homing) change. As I mentioned earlier, they are wrong since I know the printer homes at X0 Y0 Z174... so I enforce it to think this way (by using G92 X0 Y0 instead of G1 X0 Y0) which still produces an error. Here are the values throughout my testing (X, Y):
13.2 -13.1
13.0 -14.6
12.9 -15.4
12.9 -16.1The config-override.g file didn;t change during the testing
-
The arms will come out with a slight twist from some small pliers. I would think arms that long would have way too much flex for repeatable homing. I believe you'll get more reliable and repeatable switch action without the arms.
My old delta had the arms. I removed them when I built my new delta, and homing repeatability is at least as good as before, if not better.
-
@plasticmetal Thanks a lot for the tip, I will try it over the weekend and hope for the best! Though it still kinda bothers me how is it so off, should I fiddle in it's config?
-
It's been a while since I have posted anything, the X and Y error continues to grow, it's around 20 in Y now. Since I didn't want to rip out the metal arms of the endstops, I am ordering new ones with easily removable metal arms: https://www.amazon.co.uk/gp/product/B079JDB4PW/ref=ox_sc_act_title_1?smid=A282CIVY4X0P53&psc=1
In the meantime I have printed a few things, all of which turned out correctly, even though the first layer is a pain in the ass. (THe head isn't moving parallel to the bed)
That's all for now, I will update this thread after I get the new endstops. -
@Willmish said in Delta printer homing problems:
G92 X0 Y0
I've got exactly the same problem x 24.2 and y 2.3 homed. Edited homedelta all to zero, but g32 way above bed.
-
Hi @Gary,
I forgot to upload my solution to this thread, because luckily I've been able to solve it.
It turned out to be simpler then I first assumed. Basically, the error occurred due to another error in the measurements in calibration. This was then stored in the override.g file. I was suspecting that there might have been an error there, but each time I tried deleting it, it was already stored in the machines RAM.
Here is a step by step guide, explaining how I fixed it:- Temporarily delete/comment out the M500 command in the
bed.g
file. (It causes the machine to store the new values after calibration) - Delete the
config-override.g
file and do an emergency stop of the machine. - Restart it, (hopefully there shouldn;t be a config-override.g file) and add the M500 command back in, then perform a delta calibration.
This should have: removed your previously stored values in config-override.g for good --> allowing for new values to replace them, so the printer will home properly.
Also, you don't need the G92 command, it was only a temporary fix
- Temporarily delete/comment out the M500 command in the