Using A150/A250 linear modules on A350

Thought experiment here:

Has anyone tried mixing and matching SM linear modules from one sized machine to another; swapping A150, A250 with A350 with each other. If so, what was the outcome?

I thought it might be interesting to use A150 or A250 linear modules for the Z-axis on an A350 to aid in rigidity at the expensive of Z-axis travel. I don’t particularly mill, 3D print or laser very tall items. Possibly also use shorter linear modules for X-axis?

And to add a little more craziness to the mix, how about doubling up on the x-axis with 2 linear modules holding the milling head instead of 1 for more rigidity? @sdj544

Would the software be able to compensate for these travel changes by simply stopping it’s travel when it hits the limit switches? @Snapmaker-Support

Looking forward to all your creative thoughts.

Luban only knows about the stock configurations. But I imagine as long as you keep your work inside the reduced dimensions, from the origin corner, it’ll still work. More capable slicers give you the ability to specify your work volume.

Doubling up the X axis shouldn’t be any harder than setting up the 250 and 350, and making sure the parallel modules are trammed properly.

1 Like

You should be able to set the length (max travel) of each axis in the EEPROM_SETTINGS (M503/M500 for read save).
Of course you have to set the new dimensions in the slicer settings.
But since Snapmaker 2.0 communicates via CAN bus it might be a problem if the firmware doesn’t allows mixed configurations.

1 Like
  1. All axes must be the same length: Snapmaker2-Controller/linear.cpp at 016df380401704a9d1c678df98521b14699b6ae7 · Snapmaker/Snapmaker2-Controller · GitHub

  2. Also obviously TMC and original steppers cannot be intermixed: Snapmaker2-Controller/linear.cpp at 016df380401704a9d1c678df98521b14699b6ae7 · Snapmaker/Snapmaker2-Controller · GitHub

  3. Finally, the length of the X axis determines the machine size: Snapmaker2-Controller/linear.cpp at 016df380401704a9d1c678df98521b14699b6ae7 · Snapmaker/Snapmaker2-Controller · GitHub

This cannot be overridden in EEPROM, this is determined at machine startup during the CAN initializations. To change this behavior would require changing these functions at a minimum.

1 Like

@brent113 @rojaljelly @clewis thank you for your responses.

With all that info taken into consideration it seems it could still be possible to double up on the x-axis linear module by stacking them and allowing a larger connection point for the CNC head unit which should aid in the torque for lateral movement as well as adding rigidity to reduce deflection induced by milling in all axis. I’m guessing some wire splicing may be needed to control both linear modules with one connection point…possibly a terrible idea :sweat_smile:

Also, if we are to take into the account that the machines linear modules all must be the same length and are not interchangeable we could theoretically convert it into a moving gantry configuration? Moving the y-axis linear rails further apart from each other to allow the x-axis linear modules to be mounted on top of their respective y-axis carriages. Then using the well known rigidity rail mods to reinforce the z-axis’ vertical stiffness via right angle supports mounted to the rails.

You could then mount the work surface directly to the base frame, most likely a platform roughly the size of an A250 platform and add additional height to the fixed platform by compensating for the height gain of the z-axis linear rails being mounted to the y-axis carriages.

This would allow for the stiffest/inflexible platform and allow for more precise tramming via shims and result in better calibration via the snapmaker software. It would also allow for a smaller over footprint horizontally and only add a nominal count of height to the overall machine.

The limiting factor for this machine is not the rigidity of the axes as they mount together but instead the tiny internal mechanism that rides on the small rails.

Someone posted progress pictures of a mod to shore up the toolhead: Shoring up the CNC module - #19 by pugs. I recall seeing another mod elsewhere too

1 Like

This has been done by someone on FB. If I remember correctly they just used an extra splitter like the ones for the z & y and it worked fine. You could also just remove the lead screw and motor and have a dummy rail.

Several other people have done something similar to the link @brent113 provided.

-S

2 Likes

@brent113 Correct. I should have clarified that the weak link is not the rails themselves, but the small mechanism inside as well as the carriage with which the tool head or platform attach, as you had noted.

I will need to look into milling a carriage brace so that the Z rails can mount to it securely.

I did think to add rails and pillows on the x-axis linear rails to add rotational rigidity as well like @pugs . Good to see a few people have already experimented with it.

1 Like

I thought about a dummy rail as well, but was thinking in terms of doubling the “power” of the x-axis to aid in deflection during milling across the x-axis.

I’ll take a look at FB to see if I can find the post. Thank you.

That’s pretty lame, given that the original supported an extended Z axis. It was fixed though; it was either on or off, not a Z axis length.

To be fair making that change is incredibly simple no more than three lines. If this was my machine I would absolutely just make the change.

Someone tested this?
I have now an A150 with an A250 linear motor for Z.
The working area is detected properly in the settings view (165/165/256).
First time I started this configuration with the original a150 firmware I was able to calibrate the 3d module with auto levelling. After updating to current firmware versions auto calibration no longer works, running in error.

So can someone assist me getting this run? I think we can be pioneers to help snapmaker back to the roots. I mean… The snapmaker original had some longer z axis and support for it. Now they have three different axis length out of the box and they are not compatible…
With longer Z there will maybe no focus problem with 10W laser and also rotary support would be possible. Why they don’t get it compatible? And sell the axis single.

@Wyphorn If you look at the previous post, it seems that the machine size is determined by the x-axis. There are limitations to the customization of the g-code and how it can be manipulated, with many of the limitations pertaining to the hardware.

I replaced A350 linear modules in zaxis with A250 but my machine wont move at all. I cannot even home the machine.

Hi Brent,

I am trying to use A250 linear Z modules on A350 Machine.

I modified the code :
(1) // original lines written were these
// MachineSize Linear::UpdateMachineSize() {
// if (length_[LINEAR_AXIS_X1] != length_[LINEAR_AXIS_Y1] ||
// length_[LINEAR_AXIS_Y1] != length_[LINEAR_AXIS_Z1]) {

MachineSize Linear::UpdateMachineSize() {
if (length_[LINEAR_AXIS_X1] != length_[LINEAR_AXIS_Y1] ) {

systemservice.ThrowException(EHOST_MC, ETYPE_NO_HOST);
return (machine_size_ = MACHINE_SIZE_UNKNOWN);

}

POint 3 from your comment is not relevant to my scenario since I am not modifying X.

POint 2, I dont understand what I must modify. so far my machine doesnt move at all.