Motorized milling machine head

Home Model Engine Machinist Forum

Help Support Home Model Engine Machinist Forum:

This site may earn a commission from merchant affiliate links, including eBay, Amazon, and others.
I did order this motor. 120W, 500rpm. Variable speed.
Hope it's powerful enough. At 500rpm the torqe isn't all that high.
I plan to make a joystick with direction and adjustable speed. Hope I will manage...

Geared motor.jpg
 
Got the motor, hocked it up preliminary and tested it.. big failure.. I was not even close to powerful enough. I choose a 500 rpm version. This is too high gear ratio for a 120W motor. The starting torque is very weak. I f I had selected a lower speed/gear ration I guess it would be ok. However, I was hell-bent on having that speed.
My cordless drill did 500 rpm and it felt like just right.
I have to rethink this project..

2017-11-15 21.40.10.jpg
 
Hi Rudy;

If you want lots of torque at a low speed consider a stepper motor. Combine that stepper with a gear box and you will have a considerable amount of torque at your disposal.

The other thing that bothers me with plain old DC motors is how will you do precise positioning. Lets say you need to move 0.005" or even 0.050" that will be tricky with a high speed motor drive. Sure you can do variable speed but then your power available becomes an issue along with the fun of getting the motor to move just so.

While more complicated electrically with a stepper you could design a control with rapid up and downs and a jog function that gives you X number of steps per press. This should make your head far more controllable.
 
Wizard, I did not plan to do fine feeding with this motor. I have a very good fine feed hand wheel on the quill, and I have the DRO on the quill too. I'm cranking the head up and down mostly to change tools. I'm having the quill as little out as possible to add stability.
The stepper motor approach is interesting. I could use the gearbox from the motor I bought. I have no clue witch stepper motor to chose though.. I guess some kind of universal controller is possible to source.
 
Don’t underestimate cordless screwdrivers, they can deliver a lot of torque. Some examples: Hilti = 1,062, Makita = 1090, Milwakee = 1200 inch pounds, so 88, 91 & 100 ft-lbs respectively.
https://www.protoolreviews.com/tools/power/cordless/drills-drivers-cordless/most-powerful-cordless-drills-2015/19018/

I think you are getting hung up on output shaft rpm. That may well be a desired target to traverse the head at a specific rate. But the magic is happening behind the scenes. The cordless driver motor example is spinning at much higher rpm for efficiency but is going through a substantial gear reduction to increase output torque.

This motion GIF & patent document describes what I guessed at looking at some of the assemblies, they may well be double banked planetary gears. I haven’t seen gear sizes but it wouldn’t surprise me to see anywhere from 8-12 :1 because 4.x & 6.x reductions are common at this size for single planetary gear train.
https://www.reddit.com/r/mechanical_gifs/comments/3kc7ly/cordless_drill_planetary_gears/
http://www.google.com/patents/US7794355

I would be more inclined to buy used drill & harvest the parts
https://www.ifixit.com/Guide/RIDGID+R84015+X2+Planetary+Gear+Replacement+Guide/2675

But before you do that, put a torque wrench on your mill (or fake it with a wrench of known lever arm length & simple fishing scale) & see how much you require.

Essentially what you are trying to replicate is a z-axis 'lift' equivalent of this commercial (x-axis table) unit. This is the cheapest clone I could see on ebay. It delivers 135 in-lbs torque. They used to be in the $400 range with brands like Align, but looks like some new players to the market. I cant comment on quality.

https://www.ebay.ca/itm/Best-price-...3030197?hash=item4b157c88b5:g:9L4AAOSwBLdZsgf-
 
Hi Rudy,
When I motorised my Z axis, I added a gas strut to take some of the load off the motor. It made a big difference and I think that you may find the same. Cheers, Peter.
 
I'm currently using my cordless drill. It has the right speed and torque.
Those motors made for the purpose is obviously made to hang on the handle on a bigger mill. And they have the handle on the wrong side.
And yes, I want that speed. Use it constantly to lift and lower the head to change tools.
I have considered putting on a gas strut, but the force needed to go down also is also relatively heavy, so I need power either way.
The cordless drill is the favorite at the moment..
 
Rudy,

I stumbled across this thread as I was searching for more ideas and potential roadblocks others have encountered when motorizing the mill head up and down movement. I am working with a Precision Matthews PM30MV mill.

I will elaborate on what I got working to motivate the head that you may find helpful. I will also list out some addition information as you or others may like some of the ideas for your own designs.

I have totally removed the Z-axis hand crank as it is in what I consider an inaccessible location (very top on side of column) above the DRO. With my back and shoulder problems it was a non starter to use. My goals may be a little lofty, but I want a number of features (not simply up and down movement). More on that below.

Regarding the discussions in this thread about what motor to use to drive the head movement. I have tackled that portion with the use of a stepper motor. It is an old (1990's) NEMA 34 Parker CompuMotor rated at about 400 in oz torque driven by a used Pacific Scientific controller (cheap motor/driver combos are also on Amazon and Ebay). Initial tests show it drives the head up and down with ease. I can even hang some of my own weight on the head during movement and it takes quite a bit to stall. The downside with using a stepper motor is the need for electronics to control it all (I am currently experimenting with the Arduino). The electronic control is also a benefit depending on where you want to go with the design.

I have already made some modifications to the mill Z-axis; I replaced the standard lead screw with a cheap ball screw from China ($99). This significantly reduces the friction to overcome when driving movement. The stepper motor also has the benefit of holding the screw where you want it. The stepper motor is mounted on the top of the mill and drives the lead screw directly through a coupler. I made some simple 6061 brackets to hold the motor and bearing block for the lead screw. The mill does have a gas strut inside rated for about 100 lbs force.

On to my lofty goals, I'd welcome any feedback here from people that may have tried before.
I am currently bread boarding the driver electronics. My goal is to have the following functionality:

1) Move head up and down with joystick and also a rotary encoder for fine positioning. My goal is to not have to use the quill movement at all when milling to maintain the most rigidity.

2) I have set the stepper to provide a controllable increment of 0.0001 inches.

3) Provide 2 storable memory locations to allow for quick movement of the head without having the hold the joystick or use the rotary encoder. Something like setting a high location so when I need to change a tool, just push a button to raise the head, change the tool, then push the second button to lower the head to the approximate location needed. I should note, I do NOT intend to have this position the head like a CNC machine, the mill is totally manual control. The joystick ad rotary encoder will be used in conjunction with the DRO for final positioning prior to a cut.

4) Implement acceleration and deceleration on the stepper motor (necessary to prevent motor stall on startup). This is an attribute of all stepper motors.

5) One I really want is to allow for a boring function. Basically set upper and lower set points and then allow the motor to drive the movement between the two points at an adjustable boring speed rate.

6) An emergency stop button

7) A small display that indicates where the head current sits, what the memory and boring locations are as referenced from the top of the mill.

I have made a couple steam engines on a smaller mill, but right now my big project is getting this new mill to do what I want.

Hope some of this may be useful.
Drew
 
Have you considered a cable and pulley and counter weight instead of the gas strut? The head weight is almost a constant with the tool the only variable. So if balanced the only force needed is to accelerate and decelerate the head. Have it set up that a small block can be used to set the weight on when needed and the head is at the top. You can use anything for the weight. I talked to a person that tested the rescue pods for oil rigs on the ocean They drop them from a tower zillions of times. The solution that came up for a way lifting the pod itself is to have it empty. Then fill it with water and drop it so the blower drag break could be tested. Drained the water (we are talking tons of water) and repeat.
 
I have added a gas strut to my ZX45 mill this weekend. I used one from an Auto parts store. It is 10mm shaft and has a free length of 765mm and compressed length of 480mm. It made such a huge difference in winding the head up and down. I made an adapter that was just a piece of Ali and pressed into the back end some 3/8 hex brass for either a spanner or a driver off the battery drill. No need for the long handle that was getting in the way a few times. Some more things I discovered, is that the head stock gib is not very good, and depending on how you tighten the gib set screws, determines the position of the head. Stefan does a great video about scraping etc and how to fix these sort of issues. Anyway here is a picture of the lower bracket and the drive adapter, and the part number and spec of the Strut I used. The Ryobi battery drill has no trouble cranking it up and down. The spanner pictured is plenty big enough to raise or lower just 10mm at a time. Any more and the battery drill works well. I have been thinking about a power supply and motor of some sort like what Stefan has done with his one. But for now I'm happy that the strut has made moving the head so much easier.
 

Attachments

  • 3-8-Adapter.jpg
    3-8-Adapter.jpg
    32.4 KB
  • Gas-Strut.jpg
    Gas-Strut.jpg
    31.4 KB
  • Lower-Bracket-fitted.jpg
    Lower-Bracket-fitted.jpg
    22 KB
Drew, Thanks for the information. I'm considering the same mods. I need more accurate control over the Z. I have already searched for ball screws and stepper motors. I would appreciate following your project.

Neil, Either way I think I will add struts to mine too. This head is heavy and taking off some weight makes sense.

Rudy
 
I have the Grizzly G0704 mill. I added a step motor to the Z by placing a timing pulley under the hand crank and mounted the motor behind the coloum. I can still turn the crank if I want but the motor works fine. I added a couple gas struts, one on each side of the mill and I may now have so much upward force that the harder work is to lower the motor.

I made an arduino controller that does most of what Drew mentions. I did not add a joystick, just push buttons. I have an up and down button, and beside each I have a red button that sets a stop. You can go up to some point, press the stop button and the control will not go above the stop so you can feed down, then just press the up button and it will stop at the preset position. The down control also has a limit position, and when either limit is set a red led is lighted by that button.

I have ramping in the code, and a pot to set the speed, although its not very effective right now, I need to play with the code values a bit more.

In my control box I have two drivers and planned to do the same function for the X axis, as a power feed for milling, but I have not mounted the motor yet. I got distracted by other projects. I will see if I can find the arduino code and post it here, but I will be leaving for the NAMES show so it will be a while before I can do it.
 
thumbnail_IMG_0048.jpg
thumbnail_IMG_0040.jpg
thumbnail_IMG_0042.jpg
thumbnail_IMG_0043.jpg
Rudy,

I hope the below may give you some ideas or help a little with your power z-axis modifications. I did not see any significant interest in a microcontroller based motor controller based upon my initial post so I did not post intermediate development information. I have put almost a half year into the project and pretty much have a working controller.

I have also included some pictures that may provide some ideas to you and others, and garner constructive comments for my improvement.

I started with an Arduino Mega, but as I added functionality I found the need to move to the more powerful Teensy 3.5 microcontroller. It appeared most of the performance needs were driven by the display requirements.

I have been able to implement the following features

1) Joystick provides for three movement speeds (fast, medium, and slow) up or down.

2) Additional very fine control using a rotary encoder for up and down. I never use the mechanical fine feed on the quill and it stays up and locked unless drilling. No manual crank.

3) I have set the stepper to provide a controllable increment of 0.0001 inches per step (2000 steps per revolution).
4) Two storable memory locations (separate buttons) to allow for quick movement of the head without having the hold the joystick or use the rotary encoder. I use these memory positions to set a high location so when I need to change a tool, just push a button to raise the head, change the tool, then push the second button to lower the head to the approximate location needed. I do not use the stored positions to precisely set the head position. The joystick and rotary encoder along with the DRO are used for final positioning prior to a cut. Each of the store buttons allows for the execution of the move, storing the position, or erasing the position).
5) All the movements use acceleration and deceleration on the stepper motor (necessary to prevent motor stall on startup). To provide for some limited adjustment, the acceleration parameter is adjustable via a parameter menu screen.
6) On initial startup, I make the head go to the top limit so that I can set a “home” position so that the controller has an understanding of where it is when moved. This is relevant to the memory settings.

7) Added an emergency stop button that will halt the head movement when moving to a memory position or homing the head on initial startup.

8) All information is indicated on a 2.8 inch TFT color display. I display whether positions are stored, the head is on a stored position, approximate stored positions and current position from home (indicated to a tenth of an inch).

9) Error messages for limit reached, emergency stop, stepper controller status, and monitoring the field voltage which is used for stepper output signals (step/direction), inductive limit switches, and stepper controller status signal

10) Boring function; this uses two additional storable positions (a.k.a. top of bore and bottom of bore). The head movement speed to the top position is fixed (for retract), however the head speed down (boring) is adjustable between 0.006”/min on the slow side to 12”/min on the fast rate. Boring speed is adjustable using the rotary encoder prior to starting the boring operation. The boring speed may also be adjusted “on the fly” once boring is initiated.

11) PCB mounted buzzer for some audible indication of errors, button pushes, etc. I set it up so it could use a chassis mount Sonalert instead for very noisy environments or when hearing protection is needed.

12) Transit speeds are approximately 31”/min for the memory movements in JOG mode. The joystick high speed moves the head approximately 24”/min.

13) All the pushbuttons are hardware debounced through shift registers so there are no missed or press noise errors.

14) Stepper input and outputs, limit switches, and buzzer are all optically coupled.

15) I use top and bottom limit switches (inductive sensors) to prevent over travel. The controller is jumper selectable to use either the inductor sensors or typical mechanical limit switches.


If you have any questions on any of the above, please ask and I will do my best to answer.



Thanks,

Drew
 
That is really great. What have you got for the counter balance? Did you have to redo the vertical gib strip to allow for the head to move? Do you still need to lock the head for milling etc How is the head lubricated on the vertical slide?
The box of tricks really does look trick. Very nice. What stepper motor are you using and what reduction rate is it working on.
Thanks for sharing and great photo's.
Neil
I am going to find 2 gas struts and place one each side to balance out the head on mine. Probably just get 2 that are close to 450N or so. So will have a spare strut for some other project yet to be realised.
 
I have a Super X3 mill and I found cranking the head up and down to be very laborious. So I added a counter weight and that helped some but it let the head float when cutting leaving chatter marks on the work. Then I replaced the weight with an adjustable air cylinder.

https://www.homemodelenginemachinist.com/threads/weightless-counterbalance-for-super-x3-mill.20505/

It has been in service for over five years now and works perfectly. Little effort required to to traverse up and down and a small battery powered drill runs the head up and down quickly. I have set the pressure to hold the head Up against the drive threads and that prevents the head from floating when in use.
 
Neil,

The PM-30MV mill had a gas strut inside the vertical column as standard. I did replace the stock gas strut with a different gas strut so I could get more travel. The strut currently in the mill is a McMaster Carr 4138T63 (Gas Spring, 35.43" Extended Length, 100 lbs. Extension Force).

This is working well for the PM-30MV mill head which weighs about 127 lbs. To get the additional travel with this new gas strut, I also had to make a custom leadscrew to head mount

I replaced the stock leadscrew with a ball screw. The ball screw I used is a RM1605 (5mm [0.197in] pitch RH ball screw). The ballscrew significantly reduces the friction when compared to the acme screw and allows for much easier head movement by the motor.

I did not alter or adjust the standard gibs and they just use a ball oiler (for way oil).

I always lock the head for the final cut, but I typically do not lock it for the rough cuts. That said, I do not take very heavy cuts.

The stepper motor is a Parker Compumotor 83-135-M0 PN 71-013090-02. This motor is rated at approximately 370 oz-in and set for 1/10 steps (2000 steps/revolution). This is controlled by a Pacific Scientific stepper controller using a 75VDC power supply (voltage is important for stepper performance).

The stepper motor is direct drive to the leadscrew via a Lovejoy type coupler.


Thanks,
Drew

IMG_0053.jpg
IMG_0055.jpg
 
View attachment 108998 View attachment 108999 View attachment 109000 View attachment 109001 Rudy,

I hope the below may give you some ideas or help a little with your power z-axis modifications. I did not see any significant interest in a microcontroller based motor controller based upon my initial post so I did not post intermediate development information. I have put almost a half year into the project and pretty much have a working controller.

I have also included some pictures that may provide some ideas to you and others, and garner constructive comments for my improvement.

I started with an Arduino Mega, but as I added functionality I found the need to move to the more powerful Teensy 3.5 microcontroller. It appeared most of the performance needs were driven by the display requirements.

I have been able to implement the following features

1) Joystick provides for three movement speeds (fast, medium, and slow) up or down.

2) Additional very fine control using a rotary encoder for up and down. I never use the mechanical fine feed on the quill and it stays up and locked unless drilling. No manual crank.

3) I have set the stepper to provide a controllable increment of 0.0001 inches per step (2000 steps per revolution).
4) Two storable memory locations (separate buttons) to allow for quick movement of the head without having the hold the joystick or use the rotary encoder. I use these memory positions to set a high location so when I need to change a tool, just push a button to raise the head, change the tool, then push the second button to lower the head to the approximate location needed. I do not use the stored positions to precisely set the head position. The joystick and rotary encoder along with the DRO are used for final positioning prior to a cut. Each of the store buttons allows for the execution of the move, storing the position, or erasing the position).
5) All the movements use acceleration and deceleration on the stepper motor (necessary to prevent motor stall on startup). To provide for some limited adjustment, the acceleration parameter is adjustable via a parameter menu screen.
6) On initial startup, I make the head go to the top limit so that I can set a “home” position so that the controller has an understanding of where it is when moved. This is relevant to the memory settings.

7) Added an emergency stop button that will halt the head movement when moving to a memory position or homing the head on initial startup.

8) All information is indicated on a 2.8 inch TFT color display. I display whether positions are stored, the head is on a stored position, approximate stored positions and current position from home (indicated to a tenth of an inch).

9) Error messages for limit reached, emergency stop, stepper controller status, and monitoring the field voltage which is used for stepper output signals (step/direction), inductive limit switches, and stepper controller status signal

10) Boring function; this uses two additional storable positions (a.k.a. top of bore and bottom of bore). The head movement speed to the top position is fixed (for retract), however the head speed down (boring) is adjustable between 0.006”/min on the slow side to 12”/min on the fast rate. Boring speed is adjustable using the rotary encoder prior to starting the boring operation. The boring speed may also be adjusted “on the fly” once boring is initiated.

11) PCB mounted buzzer for some audible indication of errors, button pushes, etc. I set it up so it could use a chassis mount Sonalert instead for very noisy environments or when hearing protection is needed.

12) Transit speeds are approximately 31”/min for the memory movements in JOG mode. The joystick high speed moves the head approximately 24”/min.

13) All the pushbuttons are hardware debounced through shift registers so there are no missed or press noise errors.

14) Stepper input and outputs, limit switches, and buzzer are all optically coupled.

15) I use top and bottom limit switches (inductive sensors) to prevent over travel. The controller is jumper selectable to use either the inductor sensors or typical mechanical limit switches.


If you have any questions on any of the above, please ask and I will do my best to answer.



Thanks,

Drew

Drew, i must say that is an awesome job !! excellent work !
Joe
 
Back
Top