X axis drive by Stepper Motor / ARDUINO
Speedy Builder5 | 18/06/2019 16:30:25 |
2878 forum posts 248 photos | There have been a number of articles of motorising the X axis of a milling machine by DC motors. Stepper motors have become reasonably cheap. Would a reasonable sized stepper motor, controller and ARDUINO type of microcomputer be a way to motorise the X axis (Or any other axis) and at the same time give a positioning system. I have a WARCO Economy mill that I would like to motorise at least in one axis instead of winding the handle all the time, also experiment with the ARDUINO board. I appreciate that there will be positional errors from the backlash of the lead screw, but by fitting a stepper motor, I can easily adjust feed rates, implement auto return etc. Any comments please. BobH |
Baldric | 19/06/2019 12:34:04 |
195 forum posts 32 photos | I have also wondered about doing the sae as you, in particular having the ability to feed so far at slow speed in one direction, the rapidly back, ideal to make cutting a gear a bit easier, could even sound a buzzer when finished to wake you up.... Baldric. |
Emgee | 19/06/2019 12:47:19 |
2610 forum posts 312 photos | Hi BobH Stepper + driver + Arduino (or other controller) should do what you want, if driving always in the same direction when putting dimensioned cuts on backlash won't be an issue. Ballscrews are very reasonably priced now, as long as you can obtain one with a small enough ballnut then it may be possible to do a conversion. Emgee |
Ian Hewson | 19/06/2019 14:02:46 |
354 forum posts 33 photos | Have a look at Myfordboys website for fitting stepper motors to your mill, not using arduino for control, but works well for feeding fast and slow feeds. Some pics on my albums of the stepper fitted to my mill, no gearing needed. |
Speedy Builder5 | 19/06/2019 14:31:07 |
2878 forum posts 248 photos | How would you 'size' a stepper motor. I can find out by experiment, the torque required to move the slide when not under load, and I don't normally put a heavy load on the cutters as the column / quill are not all that rigid. If I took worst case and looked for a motor which was 4X the torque of the unloaded slide, would this be overkill ?? BobH |
Bob Brown 1 | 19/06/2019 16:03:41 |
![]() 1022 forum posts 127 photos | Mine is home made with a BLDC geared motor and controller purchased cheaply. Edited By Bob Brown 1 on 19/06/2019 16:05:03 |
Speedy Builder5 | 19/06/2019 16:39:24 |
2878 forum posts 248 photos | Thanks Bob B, but I was hoping to define the length of cut by counting the number of pulses sent to the stepper motor which would be the start of an NC machine. |
SillyOldDuffer | 19/06/2019 16:55:39 |
10668 forum posts 2415 photos | Posted by Speedy Builder5 on 19/06/2019 14:31:07:
How would you 'size' a stepper motor. I can find out by experiment, the torque required to move the slide when not under load, and I don't normally put a heavy load on the cutters as the column / quill are not all that rigid. If I took worst case and looked for a motor which was 4X the torque of the unloaded slide, would this be overkill ?? BobH 4x should be plenty rather than overkill. A good reason for having extra torque is that it reduces the risk of the motor dropping steps under load. If that happens the Arduino won't quite know where the table is. An underpowered motor could become seriously out of step - not good. The disadvantage of too much torque is increased risk of damage in the event of a crash. I don't think 4x is scary, probably less grunt than an over enthusiastic human spinning the wheels. If too powerful is an issue, it's not difficult to 'de-torque' stepping motors by setting a current limit in the controller. Most controllers support this via DIP switches to protect the motor and power supply from magic smoke. Nothing to stop you throttling the motor to reduce its turning power. Dave
|
Nick Hulme | 19/06/2019 17:30:46 |
750 forum posts 37 photos | You can buy a variable frequency pulse generator and use it as the input for a stepper driver, Arduino is definitely complicating the job unnecessarily. |
Speedy Builder5 | 19/06/2019 17:50:36 |
2878 forum posts 248 photos | Following on from Dave's post, if the stepper motor had a 2:1 reduction toothed belt drive, I assume that 2x and a bit times the torque required to move the slide when not under load would be Ok. I would build into the system safety stop microswitches at the limits of slide movement. Search is now on for some suitable bits.
BobH |
Baldric | 19/06/2019 17:51:53 |
195 forum posts 32 photos | Posted by Nick Hulme on 19/06/2019 17:30:46:
You can buy a variable frequency pulse generator and use it as the input for a stepper driver, Arduino is definitely complicating the job unnecessarily. Unless you want to move a known distance and return rapidly, while you can do this with other means it may be as complicated. It all depends on what you want to do and if the challenge of leaning a new skill is part of what you want to do. |
SillyOldDuffer | 19/06/2019 19:00:07 |
10668 forum posts 2415 photos | Posted by Speedy Builder5 on 19/06/2019 17:50:36:
... if the stepper motor had a 2:1 reduction toothed belt drive, I assume that 2x and a bit times the torque required to move the slide when not under load would be Ok. I would build into the system safety stop microswitches at the limits of slide movement. ...BobH That's a reasonable assumption I think. Measuring it may show not much torque is needed to move your milling table, even under load, because it's already geared down by the lead-screw. Gut feel suggests a 2Nm stepper would move my mill's table without extra gearing. I can't find my notes, but I experimented with torque on my mill and found that normal feed-rates didn't require lots of extra effort to cut satisfactorily. Obviously this would depend on the job; how hard you normally push the handles round manually should be a clue. Most electric motors whizz at high speed and have to be geared down to do useful work. Steppers aren't like that; instead satisfactory torque is delivered step-by-step and can even be maintained when the motor is stopped. However, a belt would improve position accuracy as well as provide more push to the lead-screw, so certainly not a waste of time. Not thought it through, but I suspect microswitches may be unnecessary. Don't trust this - the proposition needs testing - but here's why:
Quite an interesting project. It sits somewhere between a basic power assisted traverse and a CNC solution. I like the idea of a system where pressing a few buttons could rewind quickly, set virtual stops and feed-rates, and indicate position as well. The main limitation will probably be position errors - counting motor step commands isn't as reliable as reading a DRO. Might be possible to minimise errors by putting an optical sensor on the lead-screw that triggers once per revolution - keeping count of those as well as tracking motor steps might allow the Arduino to keep it sufficiently real. Dave
Edited By SillyOldDuffer on 19/06/2019 19:02:37 |
Ian Hewson | 19/06/2019 19:26:09 |
354 forum posts 33 photos | Myfordboys site gives size of motor etc, works well on mine, but I think you will find limit switches are a good idea, you can get more than a gentle hum if you reach too far. |
duncan webster | 19/06/2019 19:33:55 |
5307 forum posts 83 photos | You mean like the one on my Centec 2B. The motor is M60STH88-3008DF from Motion Control Products, it is driven 1:1 by tooth belt. I went 1:1 because to get fast traverse the motor is fairly whizzing round. The advantage of using Arduino is you can program in acceleration so it doesn't have to be such a big motor, and it's less brutal The Arduino is a mini, if I did it again I'd probably use a Nano, and the end of travel switches are microswitches activated by the round blobs protruding from the bottom of the hard stop blocks. On the bucket list is a plan to interface the DRO to give software end of travel independent of counting motor steps, but it is way down. If anyone wants the code send me a pm Edited By duncan webster on 19/06/2019 19:34:29 |
I.M. OUTAHERE | 19/06/2019 19:58:37 |
1468 forum posts 3 photos | A hunt around on the internet would more than likely find that it has been done before and the programme for the Arduino is there to be hacked ! The only problem i see with using software limits is the Arduino won’t know where it is when it boots up unless you home it first with a limit switch , i would use a centrally mounted limit switch set up like they use on the conventional power feed units and use movable stops to set the required travel distance . This will simplify things a lot as you wont need a motor with an encoder or a motor that is powerful enough to ensure it doesn’t miss steps and will simplify the Arduino programme a bit . You can still have a display set up to show feed rate using a basic hall effect encoder set up in one of the drive pulleys . I used this sort of set up on the power quill feed on my mill and it works really well . |
Please login to post a reply.
Want the latest issue of Model Engineer or Model Engineers' Workshop? Use our magazine locator links to find your nearest stockist!
Sign up to our newsletter and get a free digital issue.
You can unsubscribe at anytime. View our privacy policy at www.mortons.co.uk/privacy
You can contact us by phone, mail or email about the magazines including becoming a contributor, submitting reader's letters or making queries about articles. You can also get in touch about this website, advertising or other general issues.
Click THIS LINK for full contact details.
For subscription issues please see THIS LINK.