Register a SA Forums Account here!
JOINING THE SA FORUMS WILL REMOVE THIS BIG AD, THE ANNOYING UNDERLINED ADS, AND STUPID INTERSTITIAL ADS!!!

You can: log in, read the tech support FAQ, or request your lost password. This dumb message (and those ads) will appear on every screen until you register! Get rid of this crap by registering your own SA Forums Account and joining roughly 150,000 Goons, for the one-time price of $9.95! We charge money because it costs us money per month for bills, and since we don't believe in showing ads to our users, we try to make the money back through forum registrations.
 
  • Post
  • Reply
edmund745
Jun 5, 2010
I has a question maybe someone here knows,,,,,

I am pondering writing a CNC application for a custom purpose, that I don't think any lower-end software can do.

I have heard of the Windows timing issues with CNC, and most pages explain this is because the PC CNC software is transmitting individual pulses for every motor step. To me this seems to be a really inefficient way of doing things.

I had imagined sending a "straight-line segment" and a time base, to something like an arduino. The arduino would then do the interpolation math, move the motors in the proper time and then signal to the PC that it was ready for the next line segment.

The arduino wouldn't have any timing issues since it is a single-process environment. And even if the PC wasn't ready to immediately send another line segment, the arduino would just be holding all the axis still anyway. You could even have "pull-back" instructions, so the arduino would pull the cutter (say) .001" off the part, so it wouldn't leave a tool mark...


I cannot imagine why the companies involved with this sort of thing would think that sending every-single-motor-pulse would be a good idea. Do they still do this?

Adbot
ADBOT LOVES YOU

edmund745
Jun 5, 2010
There is the ARM version of the 'mega', I forget the name ATM.... it is 84 MHz? compared to 16... Dunno if the I/O pins are any faster. And that Edison thing that just came out.

Another question: is it typical to design these CNC mills so that the smallest step is a particular distance? Say, if you were using metric ball screws (as they all are, as far as I've seen...). The smallest realistic measurement you might expect your machine to cut might be 1/50th of a mm. So you would pick a drive ratio for the steppers turning the ball screws, so that 1 step of the motor moved the ball nut 1/50 of a mm.... If you wanted to have rotational axis, then you would just set 1 stepper step as equal to 1/50th of a degree or so.

....

The machine I want to build has to do something pretty odd in terms of measuring and then 3-D printing, and I don't know that existing LinuxCNC stuff can help with that. The usual grid-probing thing isn't going to work.

If the machine hardware is set up for maximum simplicity--such as, 1 motor step on X, Y or Z = 1/50th of a mm and 1 motor step on the rotational axis = 1/60th of a degree rotation, I know that I can write the code to get it to do what I want. I don't want to be bothered with G-code at all, as I don't think it would really help. And I don't know if any of these prebuilt controller boards would allow that kind of access, but a normal arduino mega run over USB would.

------

As far as speed goes,,,,, in the hobby world that is a relative measure.

If you make a CNC for $1K and it takes an hour to make a complex part, that's still okay.
There is industrial milling centers that could rip that part out in 3 minutes,,, but they cost a million dollars.

In particular with small DIY metal-cutting machines--running cutting fluid makes everything a lot messier, but you can't run fast cutter speeds in metal without cutting fluid. If you are cutting dry you are automatically cutting slow anyway.

edmund745
Jun 5, 2010

babyeatingpsychopath posted:

I just wanted to chime in on this a bit. I took a bare arduino and hooked up a A4988 stepper controller to it with three wires (step, dir, enable).

.... The best I've been able to get without missing steps is something on the order of 5000 steps/sec, which is 20RPM. ....
What kind of motor are you talking about here?
5000 steps/second would be 300,000 steps per minute, which would be 1,500 RPMs when using a common 1.8° / 200-step motor.
To have 300K steps per minute and only get 20 RPMs would take a 15,000-steps-per-turn motor... ? Or a 200-step motor geared 75:1 to the drive screw.


Using 12v (which is not much) the most I can get typical 1.8° motors to spin is around 240 RPMs, depending on if the shaft is weighted or not. I dunno if they're missing steps or not, but they start jittering at a code step speed of about that much. Aint no way they'd run at 1,500 RPMS.
......
240 RPMs with a 200-step motor would be making 800 steps per second.
If an arduino runs at 16 Mhz, then that means that (if 1 clock = 1 instruction) it has to step the motor once for every 20,000 instructions....??? So what was the problem again? As long as you're not pushing huge amounts of computation onto the arduino, spinning 3-4-5 steppers proportionately at the fastest speed a 1.8° motor will turn at anyway,,, doesn't seem like much of a challenge.

Also I had thought about going full-servo for this, but I don't like the relative encoders and the opticals cost too much. So I'd have to build them too. Also that would be 2X the signals, since every step would need to be signaled that it had completed before the next step. Maybe it wouldn't work at top speed--but again, it don't seem hard.

edmund745 fucked around with this message at 21:24 on Oct 19, 2014

edmund745
Jun 5, 2010

biracial bear for uncut posted:

Anybody have a good source for the conduit used in the MPCNC build (specifically something that matches the 1" OD build)?
Is there an option I'm not thinking of?
Don't use conduit at all. (--matter of fact, I've browsed a few of these videos on youtube, and NONE of them look like they used electrical conduit. they all appear to have used either steel or aluminum structural tubing--)

??? ,,,, I've never ever seen stainless-steel conduit, it's all just this soft crappy zinc-plated stuff...??? --Which works just fine for its intended purpose. But it isn't structural tubing at all.
I mean,,,,,,, it might exist somewhere, like a nuclear power plant or rockets or something. But you're not going to find it at Home Depot.

You may not know that "pipe" and "tube" are the same shapes, but they are not the same things in the metal supply world. Kinda the opposite, in use.

You can buy stainless-steel pipe, but you see--pipe is sized by the inside dimension, not the outside. You may not be able to get it with a specific OD at all, since the wall thicknesses are designed to handle a particular burst pressure, they aren't just set to a specific convenient thickness dimension.
And while the inside walls are smoothed, a lot of times the outside wall is not--particularly where the weld seam is. You need the outside surface to be finished here.
Also, stainless-steel pipe is going to cost a LOT of $$$$.

Metal conduit is for running electrical wires; it's not made to handle internal pressures or physical loads.
Pipe is for flow--either liquid or gas. The inside may be finished (smoothed) but the outside often isn't, and the ODs are frequently odd dimensions. Like--a 1" pipe is 1" inside, but may be 1.379" OD...
Metal tubing is for structural use. The outside surface is finished, and the OD usually hits a recognizable dimensional unit. So a 1" tube is going to be 1" OD (or probably like .998" or something VERY close to--but smaller than--one inch).

-----------

Use 4130 chrome-moly structural tubing instead. I would suggest 1" OD x .083" wall thickness. For comparison--the thickest frame tubes you will find on BMX bicycles are probably .065".

Stainless tubing will cost at least twice as much, it is way more difficult to cut and drill and it won't be as stiff as the 4130 will be.

You could also use aluminum too, if you could get proper 6061 T-6 tube. It would cost about the same as the 4130 steel, but it would not be quite as stiff.

ALL THREE of these will rust from sweat, the stainless or aluminum won't save you from that.
To keep the 4130 from rusting you just assemble it and then wipe the exposed steel down with a lightly-oiled rag, and then don't touch it.

Also I would warn you--you will pay a LOT more if you buy from an online metals place, than if you find somewhere local. The online places charge a lot for cutting it, and then they have to charge a lot more for shipping it.

Any big city probably has a metals dealer there. Ask if they have, or can get "4130 tube, one inch OD and .083 thick".
If the local place does not sell by the foot then you may have to pay for a ~20-foot piece--but then, it will only cost half or maybe a third of the prices you see online for the same amount of tubing.

edmund745 fucked around with this message at 01:34 on Jul 20, 2017

edmund745
Jun 5, 2010
I've built stuff using stepper motors up to bigger nema-34's, but so far haven't used any kind of stepper with a gear reduction.
Of the two common types of gear reductions (planetary and offset) which one is better?
......Which one is more durable under moderate loads?
......Which one has less backlash?
They both seem to be priced about the same at the lower gear ratios. At the higher end (like 100:1) the planetary ones seem to cost more.

The planetary ones seem to be a more elegant design, but they tend to hit odd values at the lower end of the spectrum--such as 5.18:1 instead of 5:1 or 6:1.
The offset-shaft gearboxes tend to hit even values of 10:1, 16:1 or 20:1, but IIRC they always have at least 6 gear interfaces, where the single-stage planetary drives only have 3 (so less backlash).

For the nema-23 size motors there is also places selling plain single-stage worm gear drives (motor + drive is $60) but these don't appear to have any means of taking up the backlash.
I've seen DIY robot arms online that used them, but I'd still wonder what the typical backlash and lifetime is like... Do they last longer than the planetary or offset drives?

I'm kinda itching to build something, for <$300 or so.
I priced out what a 3-axis CNC mill/router would cost, and decent slides would cost $500-$600 alone (they would already have motors, but still). That would probably be most useful but I don't really need it now. And it seems a bit tame.

I'm pondering a robotic arm (that could also be a router/mill) but I'd need high-torque motors for that, and there's no harmonic drives that are cheap & new.
There is some 50:1 strain wave drives from China-land but I dunno anywhere to get them separate from the products they build them into (the little $200 4th-axis CNC headstocks).

Adbot
ADBOT LOVES YOU

edmund745
Jun 5, 2010
The term "servo" only indicates that there is some kind of positional feedback, it does not imply what type of motor is used.
You can buy servos with brushed-DC, stepper and brushless (BLDC) motors, as well as linear actuators, and any of these can be electric, air-powered or hydraulic varieties.

Stepper motors have high torque at low speeds and have very good interval positioning (for as cheap and simple as they are) but they don't work well at high speeds due to the vibration they produce and the inductance they have.

The step interval isn't really an issue, since you can microstep them.
Cheap drivers may only do 32x microstepping, but better ones usually go to 256X microstepping which is 51,200 steps per turn for a normal 1.8° / 200-step nema motor.

There's not a lot of giant steppers since the speed ranges end up decreasing pretty drastically as they get physically bigger.

The main reason that industrial equipment doesn't use steppers is the poor speed range that steppers have compared to BLDC.
For a nema-23 sized motor, a stepper motor would struggle to spin at 500 RPMs (and have very little torque while doing so) while a nema-23-sized BLDC motor can easily spin from zero to 3000 RPMs.
As both motor sizes get larger the speed ranges of both decrease, but the BLDC still has a much bigger range at every size.
Higher-end motor controllers can do tricks like on-the-fly voltage/current control (not just current chopping) so the maximum torque can be adjusted up and down as needed.
Plus with CNC machines often these motors are sitting on a harmonic drive that is a gear reduction of 50x or more. 100x is common.

If you want--you can get servo-steppers from China. They're not what I would call hugely expensive, but they do cost more than normal steppers.
For a typical nema-34 motor+driver, the stepper costs $120 and the servo-stepper motor+driver costs ~$180 (both prices are without shipping cost included).
You would need a whole hardware + software setup that could use that info however. I've not casually read of anyone building such a setup, though I haven't really looked.

If you wanted a BLDC-servo roughly the same size as above, the prices jump up to ~$1000, even from China-land. Both the controller and the motor+encoder cost roughly $400+ each.

You can also get 3-phase stepper motors and drivers from China-land, that offer some improvement in acceleration and torque.
https://www.youtube.com/watch?v=vxYUh9fSDLM
They do work somewhat better, but it's not a huge difference.

There is 4- and 5-phase stepper motors too, but I've not run across any source of them that is friendly to non-industrial (individual hobbyist) buyers.

-------

Generally,,,, 2-phase open-loop steppers work pretty well, as long as you keep the current low, keep them relatively slow and you tune the whole machine so that no stepper is run at a speed where it resonates badly.

There's China places that sell better actuators, all they need is your credit card--but it costs a lot more money to move to anything drastically better.

  • 1
  • 2
  • 3
  • 4
  • 5
  • Post
  • Reply