For reasons, I really wanted Home/Limit switches on the Crossfire. While the forum is full of tantalizing hints of people succeeding at this, I couldn’t find a soup to nuts explanation of how to go about it. After much testing and experimentation, I have them working on my Crossfire and wanted to share the info with interested others.
The good news is that the Mach3 controller board inside the Crossfire has 4 unused input pins. These pins can be used for any four things you, as a user, desire. For me, they are;
- Home-X/X-- Limit (dual duty)
- X++ Limit
- HOME-Y/Y–Limit (dual duty)
- Y++ Limit
To utilize these inputs, the controller board requires 24VDC input. Other posters have noted that have succeeded with lower voltages, potentially even swapping a resistor on the controller to allow use of the USB provided 5VDC. I chose a different route and added a Buck Converter to step down the 36VDC provided by the Motor Power Supply to 24VDC. I used a programmable converter:
https://smile.amazon.com/gp/product/B07L915WKX/
This took input from the V+ and V- outputs on the power supply:
I adjusted the output to 24V and mounted the converter using standoffs onto the Crossfire control panel:
The positive output of the converter is sent to the 24V pin on the controller board and the negative output to the DCM pin. I removed the existing plug and connected directly to the board pins using crimped JST female connectors with heat shrink around them. JST connectors are technically too small, but with the heat shrink they’ll hold tight and they’re what I had in stock.
I mounted an 8pin aviation connector onto the panel for the limit switches to connect to.
https://smile.amazon.com/gp/product/B077485NWB/
You have to share the 24V ground signal among the limit switches. I chose to do this inside the control panel so that there are 4 pairs of wires exiting the box. You could choose a different scheme and be just fine. I bridged the even number pins on the panel side mount of the connector to share the ground:
The even number pins were connected with the same crimped connectors to the IN1, IN2, IN3 and IN4 pins on the controller board (see pic above.)
I 3D printed mounts for the limit switches:
I used momentary contact switches hot melt glued to the 3D printed mounts:
https://smile.amazon.com/gp/product/B00MFRMFS6/
Each of these has an automotive connector at the switch for easy swap out (and to be able to clear the limit alert when tripped.) Any connector will do. These are waterproof which is helpful with the water table splash.
https://smile.amazon.com/gp/product/B0144CFQFS
I ran paired wires back to the connector and soldered them to the other side of the aviation connector:
To get this to work in Mach3 I had to make changes in two screens. The first was Config/Ports & Pins/Input Signals. Set the port number to 3 and use pin numbers 1-4:
The second screen was Config/Homing Limits. Here I had to change Reversed and Home Neg:
With all that, the switches are operating as expected both as home switches and limit switches. Mach3 does some obscure stuff with moving off the home switches after homing, but play with setting X & Y Zero to help with that.
I hope that makes it easier for others than it was for me to add home and limit switches to their Crossfire!