Are you using EMC as your machine control software? It's not apparent from your post.
Mark
I built my CNC router from a lenght of 10" wide steel C-channel, some roller skate wheel, some threaded rod, and a 2x10. I got the stepper motors and controllers from mpja.com, and I'm using an old cast away desktop. I didn't spend a lot of money, but I only want to use this for an occasional home project.
For the small jobs, this machine is working just fine. I've done several small projects. The limit/home switches work great on the X and Y axis. I have to go really slow, but the system still looses a step here and there, but the error doesn't amount to enough to make a difference. When I try to do something larger, the error stacks up and makes some firewood for me.
What I'd like to do, is re-home in the middle of a program. Just an occasional sanity check. G28 and G30, as I understand them, tell the machine to go back to where it thinks the parts zero coordinates are, so this doesn't appear to be the solution I'm looking for. Is it possible to tell the machine to check its machine zero coordinates by hitting the home switches?
Yes, I know this is a band-aid that would properly be fixed by spending money on better hardware and feedback systems, which is exactly what I'd do if I were going to use this professionally. As it stands, I just want to make this work "good enough" for home projects until I score big in the lottery (reminder to self: you have to buy a ticket at some point).
Are you using EMC as your machine control software? It's not apparent from your post.
Mark
Yes.
Before you do anything drastic, check your machine on all axes for slop and backlash, and remove as much of that as you possibly can.
Another thing to look for is making sure there are no points in the axis travel where drag on that axis overcomes the power of your steppers.
Also, ensure that your speeds and acceleration are appropriate for your driver/power supply/stepper set up.
It could be any number of things that can cause these kinds of problems. You need to go through the machine one step at a time, tighten up, remove causes of high friction during movement, and so on.
Don't do a whole bunch of changes at once. Fix one thing, try the machine. If that doesn't fix it, go on to the next step and work that problem out. Troubleshooting of any kind, mechanical, electrical, or whatever is a lot more successful if you eliminate probably causes one at a time, rather than doing a flurry of things, and not knowing what actually may or may not have fixed your problem. You may end up hiding a problem that can crop up later by not doing one thing at time and testing that change.
So, being the computer scientist that I am, I generally look first to hardware issues, before I look at software or electrical issues. Next would be electrical issues, then finally software issues.
Mark
That's good info, wendtmk, it's just not helpful in this case.
Problem: The combination of travel friction and cut resistance occasionaly overwhelms the torque capacity of the stepper motors I have. Slop and backlash have been reduced to a minimum, and the machine works well except for these borderline cases when the machine is overwhelmed.
Solution1: Spend enough money such that the machine won't be overwhelmed.
Solution2: For long jobs, periodically reset the zero point of the machine to isolate errors.
Solution 2 is a band-aid for cheap equipment, I agree, but sometimes Solution 1 is not an option. Given that EMC2 is really aimed at people not using high-end equipment, I'm really surprised that this band-aid isn't already part of the package.
I'm am using motors, controllers and a power supply that I got from mpja.org. Is there some guide for setting them up to get the most speed from them? I'm currently only able to get about 5"/min reliably
The stepper motors I used for the X and Y axis are here:
7.8V/2A/1.8 Deg. NEMA 34 STEPMOTOR-MPJA, Inc.
The controllers I used are:
WIDE RANGE STEPMOTOR DRIVER CW250-MPJA, Inc.
The power supply is:
48V, 3.2A Meanwell Power Supply-MPJA, Inc.
Would eliminating microstepping make the system more reliable?
Well, I'm not sure Stuart Stevenson's 5-axis Cincinnatti mill, or his 30 foot tall Giddings and Lewis horizontal mill are quite "hobby" machines. Sam Sokolik's mill takes up a whole garage, too.
So, there are a number of people using EMC on large, expensive machines, and also
using it in commercial shops.
There might be something wrong with MP Jones's specs on this motor, he lists it
as 63 Kgf-cm, which works out to 875 Oz-In. That sounds awfully high for such a
motor. But, maybe if it is 11 pounds, it really IS that strong. It also lists
7.8 V 3.9 Ohms, 2 Amps per phase. That sounds like a terrible motor for
CNC motion control. This has very high inductance, and therefore will have
poor speed performance. If you can increase the power supply voltage that
may help. With this much inductance, higher voltage will help.
Just doing a rough calculation, 48 V / 24 mH = 2000 A/second. Since
the rated current is 2 A, and you have to go from +2 A to -2 A to perform
a half step, that can only be done 500 times a second. So, this motor
can only do 250 full steps/second, or just over one rev/second or
about 75 RPM on 48 Volts, and that is the point where the motor has
absolutely ZERO torque. So, your results may be quite as expected.
Since you do need to deliver torque from the motor, you are probably lmited
to 30 RPM or less to not lose steps.
This is the horrible downside to stepper motors that a lot of people
don't want you to know! This particular motor is a really awful example
of it, though.
And, certainly, this one doesn't look like it is EMC's fault. If the motor/driver/power supply
combination cannot perform, no software can fix it with magic.
One thing that might help is to wire the motor in parallel rather than series.
Depending on the driver, this may about double the performance.
Jon
"Just doing a rough calculation, 48 V / 24 mH = 2000 A/second. Since
the rated current is 2 A, and you have to go from +2 A to -2 A to perform
a half step, that can only be done 500 times a second. So, this motor
can only do 250 full steps/second, or just over one rev/second or
about 75 RPM on 48 Volts, and that is the point where the motor has
absolutely ZERO torque."
1) 900 in-oz is not an unusual holding torque rating for a square cross-section NEMA-34 motor. Some can exceed 2,000 in-oz in that frame size.
2) Not true; you are bit fast and loose with the math there. As you said, your calculations are a little "rough".:-)
A 24mH motor run with 48VDC will be miserable but it won't have "absolutely ZERO torque" at 75 RPM. A V/L of 2000 A per second results requires 1ms to reach 2A and 1 ms to return to zero amps. The average current is 1A for 437 in-oz of torque. A step motor has 2 windings driven in quadrature so your 75 RPM turns into 150 RPM.
How about if you go twice as fast? 0.5 milliseconds gets 1A peak for an average current of 0.5A and 219 in-oz of torque at 300 RPM. Twice as fast again and you get 110 in-oz at 600 RPM, 55 in-oz at 1,200 RPM and so on.
Not quite "absolutely ZERO torque" at 75 RPM, is it?
That motor will deliver 50W mechanical at 48VDC. It could deliver 200W but that would require a 200VDC power supply.
Mariss
P.S. I noticed the motor is an 8-wire motor. Is the 2A rating for series or parallel connection? If it's for series then the motor is 4A and 6mH in parallel. Double the power output to 100W then.
You could simply break large jobs up into smaller ones and re-home before each.
sort out the mechanical first , lower the weight of the gantery, and lower the mass .
try cutting lightening holes to get the weight down .
those steppers should be able to do what you need . but i'd bet your fighting moving such a heavy weight and mass , threaded rod wont help here due to the cross sectional area , so lightening the travel weight as mentioned will help . microsteping will only make matters worse as Mariss has noted .
and also note the stepper drives you have are only capable of a top voltage input of 60v
Yes, I had this FEELING I was off by a factor of two in that calculation...
Well, I don't know the torque requirements of his machine, but 100 Oz-In may alreadyHow about if you go twice as fast? 0.5 milliseconds gets 1A peak for an average current of 0.5A and 219 in-oz of torque at 300 RPM. Twice as fast again and you get 110 in-oz at 600 RPM, 55 in-oz at 1,200 RPM and so on.
be in big trouble. I also don't know the gearing (if any) or the leadscrew pitch, so I
don't know what feedrates 600 RPM would get him. But, as it is now, he is only
getting 5 IPM, which is really bad for a mill and totally unusable for a wood router.
50 W is pretty pitiful for such a big motor.That motor will deliver 50W mechanical at 48VDC. It could deliver 200W but that would require a 200VDC power supply.
Yes, I suggested the same to him. Just from the horrible results,P.S. I noticed the motor is an 8-wire motor. Is the 2A rating for series or parallel connection? If it's for series then the motor is 4A and 6mH in parallel. Double the power output to 100W then.
I am guessing he does have the windings in series.
Jon
Things are moving along much faster now, thanks you advice from you guys.
I rewired the windings to be in parallel, and then I remove the 2.0 software microstepping. I disabled several of the onboard peripherals through the system bios, and that tightened up the latency. All combined, I've doubled the speed of the machine.
The original issue isn't solved. How can I verify that steps haven't been lost in the middle of a program? How can I reset back to zero from a known hardware trip point? I understand that I can break a program down into multiple pieces, but that gets really tedious on a large job.
Looks like if I wan't it, I'm going to have to program it. Anybody know where would be the best place to start adding such a routine?