Not square X- and Y-axis

Discussions about mechanics
Post Reply
3dwim
Posts: 12
Joined: Tue Apr 08, 2014 6:06 pm

Not square X- and Y-axis

Post by 3dwim »

I run into trouble printing a square (with right angles, 90 degrees angle between X- and Y-axis) object which should become one of the sides of a motor container/protecting box. As it is vital for the sides of this box, the parts should be perfect before they can fit together.

I started to print some test-objects. Using a 100x100 mm. square in Sketchup and printing this (1 layer, 3 layers, 5 layers, make no difference) I measured a skew of 2 mm. between the actual X/Y and the needed X/Y. I am looking at disassembling the Y-axis and somehow rotating the board a little bit, but I'm afraid there is not enough free movement in the bolts which connect it to do this.

Any suggestions/recipes? Experience?

Regards,
Wim.
(Felix 3.0, dual extruder, May 2014.)

Dreide
Posts: 176
Joined: Sun Sep 29, 2013 12:32 am
Location: Lausanne, Switzerland

Post by Dreide »

Note that the only relevant angle is the angle between the X and Y rails. I guess the most crucial points are where the Y arm is mounted on the Z carriage, the Z rail itself (it has to be well centered over the aluminum profile channel, because if one (long) side of the rail is already within the filleted area of the channel, the rail will be rotated a bit along its long axis: not good!), the connection between the top horizontal aluminum profile and the vertical aluminum profile (where the Z rail is attached to), and finally the X rail, which is probably the easiest to change (but 2mm over 100mm is quite a bit).
The resulting rotation angle of the print bed, on the other hand, does not have any effect on how well a right angle is printed.
Felix 2.0->3.0dual * Repetier (host+firmware) * KISSlicer Pro, Simplify3D * Cubify Design

fanass
Posts: 22
Joined: Mon Oct 20, 2014 6:51 am

Post by fanass »

I had this problem too. I think a lightly malformed Z-Axis part caused a deviation of the Y-Axis. Because it is not possible to adjust the Y-Axis I slipped the rail of the X-Axis by loosening two bolts until a got a 90 degrees rectangle.
Regards,
Hans.

3dwim
Posts: 12
Joined: Tue Apr 08, 2014 6:06 pm

Post by 3dwim »

Thank you both for your replies...

I inspected the machine, checked all bolts to be properly fixed, noted that also the frame is a little bit skewed (not much, but it all adds up).

Three ways to proceed:

1. Modify the X-axis: I'm a little bit uncertain about loosening he X-axis and slipping it out. A skew of 2 mm. (on 10 cm, so 4.7 mm. for the whole length of the rail) is a lot i.m.h.o.

2. Dedicated solution for my machine: I've been thinking: this is a CNC-machine, and why would I correct a deviation in hardware? with all the problems associated. For a CNC-machine correction in software is probably the proper way to go. So I can e.g. run a program on my .gcode file which applies an inverted skew and sets it right for my machine. I can then calibrate it to whatever value I need to get a square patern. Then when the mechanics wear out over time I calibrate it again, change the parameter and go on.

What do you think of this?

3. General solution for Felix and other 3D-printers with the same firmeware: I can also imagine that this problem is inherent to every 3D-printer. At least the Felix printer can adjust the Z-axis on both X- and Y-axis with the three bolts underneath the bed. But calibrating X- and Y-axis to be square to each other,...... Ideally there would be a setting in the firmware EEPROM telling the printer about this, but I couldn't find anything on this.

Does anybody (FELIX developers, Repetier guys) know if this has been considered?

Regards,
Wim.

Dreide
Posts: 176
Joined: Sun Sep 29, 2013 12:32 am
Location: Lausanne, Switzerland

Post by Dreide »

3dwim wrote:Does anybody (FELIX developers, Repetier guys) know if this has been considered?
The best is to fix it at a hardware level. But this feature has been added recently (Oct 20) to the Repetier firmware (FEATURE_AXISCOMP, https://github.com/repetier/Repetier-Firmware/pull/326). The version you can currently download from the Felix site is up to date with respect to this feature. BTW, the correction values are saved to EEPROM and not only include XY but also XZ and YZ. Haven't tried it though.
Felix 2.0->3.0dual * Repetier (host+firmware) * KISSlicer Pro, Simplify3D * Cubify Design

3dwim
Posts: 12
Joined: Tue Apr 08, 2014 6:06 pm

Post by 3dwim »

Hi Dreide,

Thanks so far. I found some parameters in the Configuration.h file of the new (v.0.92) firmware. As I was still on .91, I upgraded yesterday morning to 0.92. All works as before, some small changes on the display, but I will get used to it.

I enabled the feature by putting the FEATURE_AXISCOMP to 1, compiled and installed it using the Arduino install utility. And then it show up (even with the old Repetier-Host (I work on a Mac, the latest Repetier-Host is 0.56. Repetier is very slow with putting out new versions for the Mac, that sure is a disadvantage.)

So now to experiment! My deviation is 2 mm on 100 mm, so the TAN is 2/100, value for tan_XY = 0.02. Nothing differs, same problem. Tried value = 1, no difference. A large number? No difference. Stop/start Repetier-Host, reboot printer, check values, yes the value is retained in the EEPROM. But still nothing differs.

In fact it doesn't do anything......... What did I miss?

Rehgards,
Wim.
Last edited by 3dwim on Mon Nov 24, 2014 8:43 am, edited 1 time in total.

Dreide
Posts: 176
Joined: Sun Sep 29, 2013 12:32 am
Location: Lausanne, Switzerland

Post by Dreide »

In printer.cpp (line 1424 ff.), i.e. where the feature is actually applied, FEATURE_AXISCOMP seems to be ignored if FEATURE_AUTOLEVEL=0, so you have to set FEATURE_AUTOLEVEL=1 as well in order to make FEATURE_AXISCOMP=1 fully effective. I have no idea though what else is implied/necessary when the auto level feature is enabled. I would just enable it and see what happens. Good luck!
Felix 2.0->3.0dual * Repetier (host+firmware) * KISSlicer Pro, Simplify3D * Cubify Design

3dwim
Posts: 12
Joined: Tue Apr 08, 2014 6:06 pm

Post by 3dwim »

OK, so this evening I had some time to look into that. Sure, the FEATURE_AUTOLEVEL include is necessary, but it doesn't do the trick just by setting FEATURE_AUTOLEVEL=1. After some experimenting (and reading some levels down in the code I found that both FEATURE_AUTOLEVEL and FEATURE_AXISCOMP need to be set AND in the EEPROM interface provided by Repeater-Host the tanXY Axis Compensation variable needs to be set AND (and this did the trick for me) the Autolevel feature must also be set in the EEPROM (variable Autolevel active (1/0) to 1). So 4 parameters to get right.

And than it works, attached photo is a 10 degree tilt of what is sketched as a perfect square, 100x100 mm. A positive number makes the angle between X- and Y-axis smaller (as seen by the observer from the front of the machine on the left lower side). I entered the value 0.176 (tangent of 10 degrees) which was automatically rounded to 0.180. Fair enough, the picture tells you the rest.

Now back to my original square box.....

Regards,
Wim.
Attachments
DSC04204.JPG

Dreide
Posts: 176
Joined: Sun Sep 29, 2013 12:32 am
Location: Lausanne, Switzerland

Post by Dreide »

That the EEPROM values are not necessarily updated with the values from Configuration.h is actually a feature (a confusing one though). When uploading the firmware, the EEPROM values are only updated if the EEPROM_MODE value in Configuration.h has changed since the last upload. The idea is that you'll keep your EEPROM values when making just small changes to the firmware. It is crucial though to re-initialize the EEPROM (change EEPROM_MODE or run M502 after upload) when a new firmware version is uploaded in which variables have been added to (or removed from) the EEPROM, because otherwise the firmware basically reads random values from the EEPROM. See also "The EERPOM trap" in http://www.repetier.com/documentation/r ... tallation/.
Felix 2.0->3.0dual * Repetier (host+firmware) * KISSlicer Pro, Simplify3D * Cubify Design

Post Reply