I recently made a trip to a recycled parts store and bought about 12 SPST relays- industrial 24V types. I want to use them to build a circuit that will remove power to the stepper motors in the event of a safety event or E-Stop button pressed without removing the power to the X-Carve controller Arduino. I know I could do this with two relays per motor (for example, by opening A1 and B1) But I’d rather not dedicate 6 relays to motor power control (for the three axis) and all of that space in my controls cabinet. I will if I must, but this brings me to my question:
What would happen if I simply removed power to one of the four stepper motor wires while the controller, hypothetically in a worst-case scenario, ignored my Feed Hold command and continued processing G-Code operations and firing the stepper motors?
Would the intact pair of wires be cause the machine to jerk back and forth slightly? Could this damage the motors? If I reset the system to clear faults and allowed the relay to close power to the motors, could this cause a sudden jump in position if the controller is issuing a position command that’s several cycles off from the last physical motor location? Could this damage the motors?
Do you have any other concerns about this design concept?
It also just occurred to me that I could, hypothetically, connect an external 5V to the VIN pin on the Arduino Uno controlling the X-Carve GRBL shield. This would allow me to disconnect the 24VDC input, disallowing any possibility of movement, while still allowing PC-Arduino communication.
Disconnecting power from the motors completely could potentially damage your stepper drivers since they would suddenly be operating with no load. Not sure what removing just one wire would do.
Since your Arduino is powered from the 5V coming through the USB cable, you wouldn’t need the external 5v supply. If you were going to use external power, the Arduino has a built in power regulator, so you could just use a 7-12v wall wart and plug it into the barrel jack on the Arduino.
Either way, shutting off the 24v supply would simply remove power from the GShield and steppers leaving the Arduino untouched.
It’s called the “Feed Hold” pin; when tied to ground it commands the Arduino to pause running. Like I said, worst case scenario is where the controller freaks out (due to a bug or even signal noise) and either continues running or stops and then after some time spontaneously starts running again, which I have had happen. I’m going to tie a relay into my safety circuit that will short the feed hold pin to ground continuously until the E-Stop or other safety condition is reset. I’d recommend this, as opposed to simply having a momentary Feed Hold button.
@KellyHickel Right now I have the 120VAC to the whole system on NC and the NO connects the feed hold to ground. Really, there’s no reason for the NC to disconnect anything but motor 24VDC power. It’s not like there’s a scenario where I’d need to suddenly turn off my 12V LED strips.
You may consider having the shut off before the power supply. It would have the same net effect, but considering this is a safety feature, you want to include as many failure points as possible. Most power supplies should be pretty safe, but on the rare occasion they do fail, they can fail spectacularly.
I got a wall outlet from home depot, and put it in a junction box with the relay to act as the E-Stop. That is where I will be powering my spindle (Bosch Router), and 24v supply.
Truth. I suppose it couldn’t hurt to disconnect everything on the E-Stop press, but that will kill the power to any indicators on the enclosure. A solution could be to have my system controller Arduino Mega run the relays and other indicator LEDs with N-Channel mosfets except for the E-Stop indicator LED, which would be powered directly from a 5V output w/ resistor.