Dual Z motors with MiniRambo?

Trying to do some vinyl cutting, and I’m having issues with my X axis not being quite level (the Z on the left side is off a mm compared to the right). This would be easy enough to calibrate manually… if I could move my two Z axis motors independently. Then I could position the tool over one side of the part, jog the z down until it’s just touching, and do the same at the other end. The Mini Rambo has 4 drivers, so it seems like I should be able to plug the second Z motor into that instead of chaining them together, but I’d need to configure the firmware to know about that. Is something like this possible?

Be aware that unless your motor is at the same location as where you’re lowering the tool, the first side will move a bit when you adjust for the second point.

One of the most recent changes I made to my Prusa i3 clones was to move the second Z motor to it’s own driver in order to use the Marlin firmware auto Z levelling feature. It relies on a Z probe or other feedback mechanism and runs the process multiple times until they are within the level of difference you’ve chosen. I’ve got an IR sensor on my print head, so it uses that and moves the head from min X to max X and compares the difference. It seems to me a lot like auto-squaring, but the sensor does the measuring and adjusting rather than having the correction pre-programmed.

I know the feature is there, and it’s working on my 3D printer, but I can’t help you sort out how to get it working on a LowRider since I don’t have one of those, or a Rambo board.

You can configure two Zs, but you can’t mamually drive them separately. Instead, you put an endstop on each end and the Z home will touch each one before turning off the respective motor.

You can adjust an offset for each side, so if the endstops don’t end up perfectly square, the machine will back away a tad on one end to adjust it to square.

If you out the endstops where Z goes negative, then you have the issue that the Z endstops may get smashed as the gantry drops through them.

The other very useful thing is having a probe after it is square. You don’t really care about Z=0 at the spoil board, you want Z=0 on the top of your workpiece. So also being able to hook up the spatula probe helps you find the top of the work after the Z is square.

The MarlinBuilder releases firmware has a dual LR version with all of that stuff, but it also does Dual Y for the belts. So there isn’t a mini rambo version. IMHO, you should take the rambo DualLR and apply changes until it works on the mini rambo. By memory, you need to do at least these things:

  • Disable dual Y
  • Change the motherboard to mini rambo
  • Disable the way the rambo sets the current. Enable the way the mini rambo sets the current.

You will be able to see a lot of this stuff happening if you use meld to compare versions. Comparing V1CNC_MiniRambo to V1CNC_Rambo and that to V1CNC_Rambo_DualLR will tell you a lot.

So there’s no way to have to Zs and adjust the offset manually? I’d have to also get two endstops and have it auto-level itself?

In order to be able to auto level, each motor needs to have its own end stop to compare to. Marlin does have that auto-level feature if you use a Z probe where it probes the bed at each side You might be able to use the touch plate for that, but it would be a very long process.

There isn’t a command (as far as I know) to have movement only on one motor driver.

Something you can do is adjust the offset away from the endstops. So, if you had your endstops all set up, and after some measuring you decided that the left one was 1mm higher than it should be, you can adjust that. It is something like M666 Z-1 and when you home Z (G28 Z), it will touch both endstops and then move one of them away from its endstop by 1mm. In that way, you can manually adjust the machine through the software.

The way I level my machine without endstops is to have some “hard stops” that the machine rests on when I turn it on. I give a quarter turn on the Z screws and let it settle down on the hard stops so it doesn’t have any stretch in the couplers. When I power on the machine, it will move both steppers in lock step from that point on, and you won’t be able to adjust it, but it should have started close enough.

My machine’s wheels ride on the spoil board, so I use the machine itself as the hard stops. You could also make something. I know Tom likes the idea of soup cans, because they have good tolerances and are strong. Or you could design and cut something.

Perfect Z isn’t going to happen though, and every time you start your machine, it is going to “lose count” on each stepper. It won’t remember any adjustments you’ve made from the last time it was on.

I don’t need to auto level though, that’s the point of the manually leveling. If installing some end stops is the only way, then I’ll do it, but even if I wanted to do that, it looks like I’ll need to learn how to compile my own custom firmware, etc

So even though there’s a command to adjust the auto-level, that command couldn’t just be used as is to adjust the Z relative to its starting ‘home’?

This is how I’ve been using mine, but I’ve never been able to get it ‘right’. I lower everything down onto my ‘hard’ stops, then turn it on, and when it rises it ends up slightly off. I’ve tried adjusting the Z screws to try to prep the couplers, etc, but it’s never consistently good. And once I’ve turned on the machine to check the level, it’s ‘locked in’ at that point, since I can’t adjust my Z steppers separately

Well, I know how to do that with RepRap Firmware, but I don’t think that there’s a Marlin equivalent…

From the hard stops it should at least be consistent. If not, it probably means that there’s a gap in your Z couplers, and they’re being “springy.”

I went for auto-level, because once dialled in, it stays that way. Not so easy to do with the Mini RAMBo.

There’s the “brute force” method. Put a “T” handle on one leadscrew and just overpower the motor. It will jump by full steps so it’s not quite as fine a resolution, but should be good enough for .04mm tolerance still, which is more than I would ever need for Z. That won’t do any damage to the motor, though there does come a slight risk of bending a leadscrew if you’re too off center with your twisting force. It’s also one more thing that could get caught.

Or stretching the coupler…

It’s open source, feel free to change it :slight_smile:.

There may well be something that exists, and I just don’t know what it is. I doubt it though because maybe 1/1000 users doesn’t have endstops and maybe 1/10 of them have two motors on one axis. You’re getting close to being by yourself there, and that’s where it gets hard to justify more features, and adding to the gcode list and documenting the features and adding test scenarios for them, etc.

Yeah, that’s just a given. We have tried hard to remove that barrier as much as we can, but even though we have more than 50 setups being created, we don’t have a mini rambo with dual Z axis. It just isn’t a configuration that commonly makes sense.

I can tell you, it isn’t that hard. The tools are pretty solid. We used to see a lot of questions about them, but there were many more who used the instructions and didn’t have any trouble. It takes just a few minutes to follow the platformio instructions and try to compile the mini rambo firmware without changing anything. That should give you a good idea if you are going to have trouble when you start changing the configs. If you do go down that road, those skills are quite useful for many other projects.

If I’m already in such a minority not having end-stops, is there pre-made firmware somewhere for the mini-rambo that will allow dual-z with endstops? Or is even using a mini-rambo already 1/1000? I’m a CNC noob but the impression I got reading all the docs for the Lowrider was that “mini rambo, no endstops” was the norm? I haven’t seen anything for that either, but I’d rather get more in-line with the norms if possible. I was hoping to find a command/pre-made firmware to work without the sensors so that I wouldn’t have to wait for shipping to get some, etc.

In V1 land, the way you have it configured (serial wiring, no endstops on a mini rambo) is very common.

But V1 doesn’t control the firmware and gcode. That comes from Marlin and we are a small minority of those users, which is where those numbers make sense.

We don’t have a dual mini rambo version. Mostly because the MPCNC is more common and you need 5 axis to make more than 3 make sense.

Dual Z on the low rider is a bit new. We have configs for the 5 axis boards (rambo, skr pro, ramps). But there aren’t many people who don’t have endstops who use dual firmware. This is literally the first I’ve heard of it.

And, to confirm, there’s no pre-existing firmware that allows the use of dual Z with endstops for mini-rambo?

Right