Next Zenxy build ideas

I keep looking for better ikea solutions for this.

The LIATORP table is ~36" square, with drawer space under the glass. You would need to lose some of the perimeter, to get the mechanism in because of course the legs are in the corners. I think about 2" all around would do, but of course I haven’t measured.

If you used pancake stepper motors, and left the sandbox about an inch deep, you might be able to keep the mechanism hidden in the drawer space.

The downside is that it’s not cheap.

Wanting square reduces the selection a lot, and the results are pretty much all over the $200 mark, at which point it looks much more attractive to build your own. Well, at least to me.

Plus, I don’t really have room for a 36" square coffee table, lol.

For the time being, I am pretty happy with my rectangular zen table. It allows some fun things.

Ikea has some round glass top tables in the affordable range. It makes me consider a polar design…

1 Like

I was out most of the day but I have most of the test Zen built. So far so good. The triggers are lining up and seem to have plenty of clearance. Hope be more certain of that when it is complete and bolted down. After that I just need to verify the homing sequence and a test bench will really let me beat on this thing.

Just wanted to pop in and share the news.

8 Likes

Sounds like we are getting closer!!! Started printing MPCNC while I wait for this build.

I put together a configuration for the RepRap Firmware on the Duet, and configured sensorless homing.

Setting motor current to 80mA with low acceleration seems to do the trick, though I didn’t try it with long moves. A bit of a “clunk” when it homes though. The optical switches are still a little nicer for silence.

1 Like

So assembled and mechanically it seems great. The endstops work and seem to have enough clearance. But homing is not as easy as I expected. M666 is only for offsetting the second stepper and can’t be used without dual. I can not find any other options to do anything like that with the firmware (grandparent proofing).

In Gcode,
Home Y
Move Y -2
Reset coordinate to Y=0
Home X (already added a larger bump to account for x already home and having a long trigger)
Move X -12
Reset coordinate to X=0

This could be added to Sandify for the start gcode, but it is not nearly as friendly as adding something like M666 does automatically, and only needed once.

The other Marlin endstop offset only changes the coordinates and does not move it there, Y has to be at machine Zero (or real close) for X to trigger.

Any ideas?

There is a y min value, near where the bed size is defined. Can you change that to +2? You can also turn off the home bump. Precision is not critical here (with 1mm).

I tried that. It homes and changes the position to whatever you set that number to. That would save one gcode step but you still need to move it to zero after that.

I am sure this is all there to save mechanical endstops from trying to crush them.

So I guess if we used that the new gcode would be

Home Y (it sets to 2)
Move Y to 0 (so X can reach the trigger)
Home X (it sets to 12)

G28 Y
G01 Y0
G28 X

No need to move it to zero technically so I guess we are getting somewhere. So now we have test and set custom firmware values…we already need to do this to set the field size). Or just run a longer starting Gcode.

The starting gcode in sandify is saved to local browser cache. So it isn’t that annoying. But honestly, I don’t really want it to home every time. I would rather put that in a home.gcode and then only do it when needed.

There must be some way to do this in the firmware. But I have tried messing with that stuff before and it gets hairy quick.

1 Like

Yeah, both work, even a custom LCD menu item.

Building it is a bit order of operations specific. Once it is assembled though, I am pretty happy with the performance.

I placed an order for endstops and have some wheels here and some on the way. Getting close!

2 Likes

Well, I know you can specify the relative locations for the endstops in Marlin, but I don’t know if once homed it will allow you to go beyond those stop locations.

So you can set the firmware to accept that the endstops trigger at X=12, Y=2, but then I don’t know if Marlin will then allow you to move to X=0, Y=0. (I know plenty of people who tell Marlin that their stops are at X=-120, Y=-120 to put the 0,0 origin at the center of the bed, to run the same gcode on multiple printers with differing configurations.

Right now my head is still full of the solutions using the Duet… Which is relatively simple, so long as you know what you’re expecting when you home the machine.

Have you considered using klipper firmware with the Zenxy? I see that voron corexy has used this. Voron Dev . There also seems to be an alternative to using octoprint with this now which might work better with a raspberry Pi Zero W. GitHub - Stephan3/dwc2-for-klipper-socket: dwc2-for-klipper using klippers unixsocket I have used klipper several times over the past couple of years & used it on my rolling plotter last year. I used it on the plotter mostly because I could get the servo to mimic Z-axis better than Marlin & could redefine gcodes (I change G11 & G10 for Pen Up/Pen Down). Looks like klipper also supports sensorless homing. The downside of klipper is you would need run a Pi or something similar with it, a learning curve & possible bugs. klipper | Klipper is a 3d-printer firmware (klipper3d.org)

Klipper should work fine, anything that supports corexy and can ignore Z and extruders should be fine. This is the lowest requirements list of any of the machines. I am using a board meant for a pen plotter in mine.

The goal for getting it to work with Marlin and something like the mini rambo is to just make it fit within our infrastructure we have. Someone can buy a board from Ryan, download our preconfigured, up to date firmware and flash it with instructions in the docs. Any duet/grbl/klipper stuff will just be handled by questions in the forums.

If you disable the software stops, then it will let you move past the endstop settings.

The trick is that the Y triggers the endstop at a Y position where X can’t reach its endstop. So you have to scoot in a little so the X gets a solid trigger.

1 Like

So I guess the real problem is adjustable optical “blades” are hard to make easily adjustable and since this is under a table and zero room to play with I banked on a software solution. I was convinced M666 worked and then this would have been a set it once and forget it type of thing. I could add another screw, a longer M3 or M4would work as a trigger, but that is just another BOM item. Also one of the screws would be in an awkward position.

Some of you might be wondering why I do not just make the triggers the perfect length. Well there are always adjustments needed, an imperfect build, or a printer a just a bit different would either make reaching the switches impossible or too soon.

I think a little homing hack is an acceptable solution, not the ideal one but it works.

I used pieces sliced from aluminum cans, folded and CA’ed in place for opto endstop flags on my first 3D printer. I made them longer than needed on purpose and then trimmed them with regular scissors a little at a time until I was happy with the triggered location. Any reason the flags couldn’t be long with instructions to “trim to fit” once the machine was running? After all, this should be a one-time adjustment, right?

2 Likes

That is actually a pretty solid idea. A very easily sourced material, typically free for most. That could also solve the problem of people wanting to home at a non-machine zero position as well.

Anyone against that?

They worked well for me. I think I hot-glued them to start with but that tended to let go. Worked for initial proof-of-concept tests but CA and accelerator was perfect once the permanent location was set.

Cutting the business end of the flag at an angle also allowed for very precise trigger adjustments. The sensors on the board I used had lines across the top of the sensor that indicated the trigger spot.

Might be worth a warning to test the material you’re planning to use to make certain it will trip the sensor. I initially tried some plastic lid material that was opaque to visible light but apparently transparent to the IR (UV?) used by the sensors.

I don’t have cans :slight_smile:. This feels a little like the zip tie issue (perfect solution, but not as expensive as people want).

What about a 3D printed part that you can trim? I guess it should be removable so you can replace it if you mess it up.

What about a zip tie :slight_smile:

2 Likes