View Full Version : Y with A as slave axis won't work

09-07-2020, 04:13 PM
Hi guys, I am baffled after checking wiring and settings over and over. I have decided to try using dual motors on my Y axis but can't get the new motor to slave (Mach3 CS labs I/PM). I selected Config / Slave axis and selected A in the Y box then restarted Mach3. Then I made sure Y and A motor tuning was the same. I enabled pins 7 and 8 for the A axis and then selected home slave with master axis in the general config.
The new stepper turns when I jog the 4+ / 4- button and also works when I set the steps per revolution function. It doesn't work as if it is slaved with Y though.
Could anyone please suggest what i am doing wrong? Is it a Mach3 setting or something to do with the I/PM controller?
Thanks Chris

09-07-2020, 04:55 PM
You don't set the slaving in mach3 Config/Slave axis you set it in the Cslabs Plugin. Go to to Config/Config plugins and select the Cslabs plugin and do it from within there.

09-07-2020, 05:24 PM
Once again thanks Jazz. It's fixed. I couldn't find anything in the manual about controlling slave axis within the IP/M plugin.

09-07-2020, 08:15 PM
How do I go about using the Mach3 steps per revolution function with slaved motors. If I use it do I just calibrate the Y axis? I suppose that this is the only way it can work?
Thanks ...Chris

09-07-2020, 11:55 PM
How do I go about using the Mach3 steps per revolution function with slaved motors. If I use it do I just calibrate the Y axis? I suppose that this is the only way it can work?
Thanks ...Chris

Just set the Y-axis steps per and the plugin will deal with the other axis. The only thing you need to do in Motor outputs is to enable the slave Axis.
Be aware that with the IP/M you can't home each motor to its own Home switch so you can't square up the gantry using the Home switches and in ports n pins you only set the Home switches for Y-axis.

10-07-2020, 11:45 AM
Thanks Jazz, It's working fine now. I have read the other thread on this forum about how the IP/M doesn't have gantry square correction but I can't see it being a problem. I'l just keep an eye on the gantry and if needed undo a coupling and adjust a ball screw by hand to square it up every once in a while.
Thanks ...Chris

10-07-2020, 01:28 PM
It's easier to just drop power to the drivers so the motors can turn and just turn the screw by hand. I had a home switch on A as well as X and used that to do manual homing of the slave axis using the led on the proximity switch. It's not absolutely exact as the motor will them jump to the nearest full step when you reapply power but that's not really a big issue on the kind of machine that uses a gantry (I.e. for woodwork).

You do have driver stall detect wired back to the ip/M, I hope? This means that if one motor stalls, the machine doesn't try to wind the gantry off the rails!

Written by ex-IP/M owner...

10-07-2020, 02:50 PM
Driver stall detect? How does this work?
I can remember reading a thread on another CNC forum where an American chap with slaved Y ballscrew said he used a belt between each ball screw as a safety measure. When he powered the machine down everything kept synchronised and if anything went wrong while it was running at least it wouldn't twist the machines frame.
Just a thought?

10-07-2020, 07:10 PM
On modern digital drives (I use EM806) there is a stall-detection capability. Typically, if a motor is stalled at above about 300rpm, the drive stops and enables the fault output signal. You can use this to tell the motion controller that there is a fault so that it then stops driving the other motors. My drivers are configured with all the fault outputs in parallel so that if any one trips, the machine stops. This is useful on a dual-motor gantry machine. Joining the two ballscrews with a belt won't achieve this. On the IP/M I think you use the "servo fault" input.

10-07-2020, 08:44 PM
Just had a look at the EM806 they've got a couple of extra connectors on them, I'm assuming this is for the stall detection output?
My stepper drivers are DMA860H ones that don't appear to support this function.
Thanks ..Chris

10-07-2020, 09:00 PM
And I've just had a look at the DMA860H manual! Yes, no fault output. One of the reasons I chose the EM806 was for this reason. So, looks like you will have to do without and just be a bit careful! Most of the time it's not an issue, just occasionally when you are a bit careless with a rapid feed along the bed and hit a clamp or something left lying about.Should it happen? Of course not! Does it happen? Well...

Looking on the bright side, if one end of the gantry has hit something and stalled the motor that side, chances are that if the machine is strong enough, the other side will also stall before permanent damage is done. And then you will be glad you worked out how to easily resquare the gantry without major engineering or measuring effort!

Good luck in any case.

10-07-2020, 11:26 PM
Thanks Neale, Im still playing around with it at the moment after just finishing getting it to the stage where I can cut things. I had to get my head around Fusion CAM and offsets and the like. Its one thing learning how to build the machine then another learning curve working out how to use it.

12-12-2020, 03:38 PM
Hi and first thanks for your help :)

I read this post and i start to learn how to wire csmio IP-M and i have some doubts (here i post only the Slave axis and i put questions in other posts).

In my Arduino grbl i never used slave ports i only put a cable between the to drivers for connect one to other and i only use one output.
Now i see the ip-m have slave option, the real question is:

- It's really necessary use the slave port? or i can use the old wiring system because is the same?

Thanks for your time :)

12-12-2020, 03:59 PM
If you wire two stepper drivers in parallel like that, there is always a risk that you will have problems. It is a theoretical risk (and I am not going to describe why it might happen) and in practice it often works. That does not mean that it is a good idea!

In particular, because the IP/M has a separate output that you can use for the slave axis, and it is very easy to configure in the software, it is just as easy to wire the two outputs to your drivers. I would strongly recommend that you do it correctly.

Have you thought about how you will square the gantry when you home it?

12-12-2020, 04:12 PM
Ok i make the correct things and use the Slave axis :P

One question, "Have you thought about how you will square the gantry when you home it?", ip-m series doesn't have correction (and i don't know how it works).

The correction i make is move the axis manually (only when needed sometimes i see some deviation if something go wrong in the last work).

Thanks for your help.

13-12-2020, 09:08 AM
I used two methods to square the gantry when I was using the IP/M.

My first technique was to home the machine normally. This moved the gantry back to the home position by moving both ends of the gantry equally. If the gantry was square to begin, it stayed square. However, if the gantry was out of square, this process did not correct it. I had fitted home switches on both ends of the gantry. The usual homing process just used the X switch, so once I had homed the machine, I turned off power to the steppers and turned the A ballscrew by hand to home it using the LED in the A home switch. The switch and its trigger were set up to correctly square the gantry. I then turned power back on to the steppers, used Mach3 to rehome again (because I had done a reset) and unless there was a problem, the gantry stayed square for the rest of the session. That process was simple and I used it for some time.

Someone on the forum suggested a different technique which I also used. You can turn on and off slaving in the IP/M configuration tool. When I started a session, I would use the configuration dialogue to turn off slaving. Back to the Mach3 screen, and I could use a modified homing macro which homed Z, then Y, X, and A simultaneously. Each home switch used a separate input on the IP/M - otherwise you cannot home axes simultaneously. This homed both ends of the gantry to their own home switches and assuming that the switches were correctly adjusted, the gantry was squared. Then back to the IP/M config screen, re-enable slaving, and continue as normal. It sounds complicated but in practice it worked well - if you did not forget one of the steps!

I now use a PV Automation ET6 for motion control which does automatic gantry squaring.

13-12-2020, 01:13 PM
Wow, thanks for the detailed explanation.

The first option is the one i used but with one difference, i don't reset controller because i stop only the PSU's of the drivers and i can move manually and i doesn't need to rehome.

I have one emergency stop button for stop only driver psu's i think in the new control box i put it too for make this process easier.