PDA

View Full Version : Discussion CNC foam cutter without the standard expense


mattuk
Sep 01, 2006, 09:00 AM
I am looking to build a budget CNC machine with out stepper motors or a complicated and expensive external control board.

The principle is that any cheap standard brushed motor (e.g. electric screwdriver) can turn a piece of threaded rod, just like a stepper motor would usually do, to move the hotwire.

I appreciate that normally a stepper motor is used because as they require a sequence of outputs, to turn the stepper motor, the computer can keep track of how many rotations the stepper motor has done and hence how far the trolley supporting the hotwire will have moved.

However the same can be achieved by having a counter on the threaded rod to log the number of rotations using a parallel port input on the computer. This can be done several times per rotation to get a precise reading of where the hotwire is at any time during the cut.

I have breadboarded the electronics side of the design and this can be achieved very simply and cheaply. All that is needed is a circuit to turn on the brushed motor and a circuit to count the rotations. I will of course have to build additional circuits for the other 3 motors.

Ignoring the programming aspect of the design, any comments??? :confused: :confused:

Using this principle a CNC machine could be made at a fraction of the standard cost. :D

Peter Seddon
Sep 01, 2006, 12:19 PM
What sort of accuracy (and repeatability) do you want. My feeling is that counting revolutions will give very poor accuracy. The standard method when using dc motors is to use encoders to determine position with may be a few hundred or more divisions per rev.

When cutting wing sections I would have thought you will need good control over speed and position on the vertical axis to get the smooth airfoil shape.

I would accept the 'complexity' and use a stepper motor which will have wide speed range and good poisitioning accuracy.

Regards Peter

jeffs555
Sep 01, 2006, 12:44 PM
Not to discourage you, because your idea does have merit, but the steppers and stepper drives are usually not the most expensive part of a CNC machine. For a foam cutter, you can usually use small steppers which are available surplus for less than the price of an electric screwdriver. If you build your own stepper drives, the price of the components would be about the same as the parts to build your motor driver and encoder.

As for the technical details of your idea, you would probably need an encoder on the threaded rod so you could resolve down to a fraction of a revolution. Most stepper motors used for CNC have 200 steps per revolution. Also, design of a servo driver, which is what you are suggesting, is not trivial. Since DC motors do not start and stop instantaneously, you have to account for motor acceleration and deceleration or you will be constantly overshooting your desired position.

billyzelsnack
Sep 01, 2006, 09:54 PM
Just throwing something out there..

How do those digital calipers work?

I got a 6" one from HarborFreight for $6 and it has .2mm accuracy. Not so precise for CNC, but I wonder if you could increase the precision by mechanically giving the caliper a larger throw?

I'm not saying to use the HarborFreight one, but maybe it would be possible to build a very cheap and precise tool specifically for the task.

darkith
Sep 01, 2006, 10:15 PM
You're not that far off base, there are CNC machines which use encoders to determine position as a means to determine if a stepper motor has stalled when cutting. Some of the more expensive CNC machines use servo motors instead of steppers, again for positional accuracy and precision. Theoretically, it might be possible to configure an adaptable peice of software (like EMC) to run DC motors and read relative position via the encoders. I think you'd want to gear *up* the encoders (maybe on one of the gears in the gearbox to the drive motor) to increase the number of pulses per revolution, and thereby increase accuracy.

But, I think that Peter and Jeff have a point...surplus steppers for a hobby mill aren't that expensive, and DIY control boards probably won't be that much more expensive that designing and building your own decent DIY 3-axis brushed motor controller, and probably involve less hair-pulling. The fancier high-current chopping controllers come at a premium price of course...

Another advantage is that steppers can be directly coupled to your screws, whereas brushed motors would need to be significantly geared down to gain more torque and precision.

Cheers,
D.

Levent Suberk
Sep 02, 2006, 06:32 AM
...

mattuk
Sep 02, 2006, 09:43 AM
As you have said, counting revolutions of the threaded rod will be inaccurate. 1 revolution of a standard M8 piece of threaded rod, which is commonly available in any hardware store, will move 1.25mm forward for every rotation. This is obviously far to higher error for cutting an aerofoil. To stand any chance of reasonable accuracy I would guess 10 counts per revolution would be a good start, giving an accuracy of 0.125mm.

Darkith; Great idea about mounting a counter in the gearbox. I have just had a look at the possibility of that but can’t find a way of connecting a counting system up to it. I have found however that if I connect a large wheel (NOT A FLY WHEEL!!!) to the stud I can connect lots of notches to the large wheel which will turn at the same rate as the stud and touch a micro switch many times per rotation of the stud. The image below will probably explain it a bit better.
I haven’t put anything on the wheel but I hope you see what I mean?

The main problem I can see that you have already pointed out, is the fact that DC motors do not stop instantly. I will have to see how quickly the motor will stop with the friction of the stud turning the trolley. Otherwise this may have to be taken into account when programming .

Thanks

Matt

Chippie
Sep 02, 2006, 09:58 AM
The use of a switch(micro ) for counting isnt a particularly good one....IMHO ;)

Debouncing would be needed....how about a hall sensor and magnets or IR sensors?

rcgroupie
Sep 02, 2006, 10:18 AM
Her's how to eliminate the power supply for the hot wire:http://www.rcgroups.com/forums/showthread.php?t=563080

darkith
Sep 02, 2006, 10:30 AM
Yeah, either optical sensors (e.g. from dead computer mice) or hall effect sensors would be a good idea. Magnets might get pricey if you need a lot to cover a large wheel and might be prone to picking up metal crap. Optical might be prone to blockage from milling debris.
For the counter in the gearbox, I was thinking that you could drill evenly spaced holes in one of the large spurs (or a wheel driven off the same axle), and use an optical counter shining through the holes.

Consider adding braking capability to your motor driver in order to stop the motors rapidly.
Also, I'd suspect that limit switches will be a must in case the machine runs away from a sensor getting blocked.

D.

mattuk
Sep 02, 2006, 10:34 AM
darkith: By a limit switch do you mean a switch acting as a buffer at the end of the axis to stop the machine ripping itself apart?

Chippie
Sep 02, 2006, 12:56 PM
darkith: By a limit switch do you mean a switch acting as a buffer at the end of the axis to stop the machine ripping itself apart?


Yes, that what he means....

pmackenzie
Sep 02, 2006, 01:13 PM
For determining position a single counter won't do since it doesn't tell you direction of motion. You need a quadrature encoder (http://www.sxlist.com/techref/io/sensor/pos/enc/quadrature.htm)
Any ball type mouse contains two axis of these and would be the cheapest source.

The motor speed will have to be variable to permit control of the wire speed, so you will need linear amplifiers driven by a digital to analog converter.
To do it all correctly you need to implement a servo feedback loop.

There are boards available (http://www.galilmc.com/products/index.html) that can ease the software burden and contain both the quadrature counters and D/A circuits, but they are quite expensive.

Stepper motor are the cheapest route.

Pat MacKenzie

Accu157
Sep 02, 2006, 03:17 PM
I don't know squat about this stuff, but I did see a robotics site that had a mod for servos using some kind of optical step counter. It was a wheel with white and black lines, and I don't know how the wheel counted the steps, but it was able to determine the position of the servo without a pot.


Update: Gee, it was a quadrature encoder, sure looks like it anyway. http://www.cloudynights.com/ubbthreads/images/graemlins/foreheadslap.gif
http://www.seattlerobotics.org/encoder/200304/servo_speed_control.htm

mattuk
Sep 02, 2006, 03:48 PM
I had planned that when the motors are programmed to run forwards the input from the parallel port can be taken as a + count. When the motors are going backwards, which is known due to the output from the parallel port, the counts are taken as – counts. Maybe I have missed something obvious?

Sorry, should have mentioned this at the beginning!!!!

darkith
Sep 02, 2006, 08:59 PM
No you're right, you "know" the direction based on the output to the motors, and just need to count the number of revolutions (assuming that the motors are stopped before reversing).

I'd suggest hitting some CNC sites and doing a little more research on the options and technology...

D.

jeffs555
Sep 03, 2006, 01:09 AM
I really think you are underestimating the complexity of a good servo control. Servos for RC or robotics can tolerate a little overshoot and oscillation, but on a multi-axis CNC machine, any overshoot or oscillation will show up as a jagged cut. Also, you can't just turn the motors on or off like you imply in your first post. You need to have bidirectional PWM speed controls. You also really would want the quadrature encoders.

Steppers are used on CNC machines because they are cheap and easy to set up. Servos are used on higher end machines because they can provide more torque at higher speeds than steppers. Servos are much harder to get tuned to run the machine properly, even with a commercial servo drive.

If you are doing this for the challenge or enjoyment then it is one thing, and it is an interesting project. But, the title of this thread implies you expect to save expense by doing this instead of a stepper system. If you value your time at all, you most likely will not save any money.

PS You should visit the forums at www.cnczone.com

ZAGNUT
Sep 03, 2006, 09:24 AM
Magnets might get pricey if you need a lot to cover a large wheel and might be prone to picking up metal crap.

with the correct hall sensor you can use just one magnet mounted to the sensor itself and then a bunch of steel studs in the circumference of the wheel.



dave

jeffs555
Sep 03, 2006, 04:01 PM
For a really cheap and readily available quadrature encoder, get one of the old style mice with the rolling ball. They all have two optical quadrature encoders built in to them. For low speed operation you could even use the mouse electronics and interface to it thru the serial or usb ports.