View Full Version : Idea: Module for gantry squaring of slave axis with standalone controller

25-11-2019, 11:29 PM

I'm very tempted to get one or more of the DDCSV3.1 standalone controllers. It seems that all these standalone controllers have a major problem for moving gantry machines with dual motors, in that they don't support it. In normal operation this is ok since both drivers can be driven from a single output on the controller, but it makes it very difficult/manual to re-square the gantry as this cannot be done automatically when homing as with Mach3.

The idea is to separate the gantry squaring operation from the homing operation. To do this I would add a simple circuit between the X axis output on the controller and the pair of drivers. This circuit would consist of a multiplexer arrangement made up of 2:1 multiplexers (e.g. classic 4053 that costs about 10p) and an arduino. It would also intercept the both X axis home switches.

In normal operation the arduino would set the multiplexer to pass the single X axis output from the controller to both drivers. Then a button connected to the arduino would trigger a gantry squaring operation. The arduino would flick the multiplexer to route the arduino outputs to each driver instead of the controller, i.e. it takes over the role of controller. The arduino would then generate the step/dir pulses whilst monitoring the home switches and perform the squaring operation. Once complete it would flick control back to the main controller.

Could even make it listen to the pulse stream from the controller so that it refuses to take over whilst the machine is in operation.

Any thoughts, does such a thing already exist before I make one?

Cheers, Joe

26-11-2019, 02:35 PM
I thought about doing pretty much the same thing, although I use a CSMIO-IP/M motion controller with Mach3. I had been squaring the thing manually, which worked OK, but someone usefully pointed out that the CSMIO is a four-axis controller, and it's pretty simple to switch between 4-axis and 3+slave axis configurations. Combinied with a homing macro that homes both X and slave axes simultaneously to stop the thing going out of square, it all works fine. Not sure if there is a workaround like that that you could do with the DDCSV?

26-11-2019, 03:25 PM
I don't think you can slave the axis at all with DDCSV so this wouldn't work unfortunately. Thinking about it a bit more, it is possible to prototype this without the multiplexers, just have the arduino mirror the controller outputs on its other port, not quite as nice as the arduino is in-line during normal operation but probably not an issue, will have to measure the propagation lag.