Maker Pro
Maker Pro

misc idea: small (3-phase BLDC) motors with built-in drivers.

Minder

Apr 24, 2015
3,478
Joined
Apr 24, 2015
Messages
3,478
Without precise PID feedback down to the least input increment, which is the least possible command from the controller, then a BLDC servo motor which have a typical maximum pole count of 8 poles would be virtually useless without the PID loop.
I try to use high quality motors such as Tamagawa, Aerotech etc.
Servo's now use a transconductance style (current mode) amplifier as opposed to older style velocity (voltage) controlled versions, one reason you do not see tach's on servo's any more.
One excellent source for servo's is the Instructional videos by Dr J. Tal on the Galil Motion site.
One of these shows when dual encoders are used for a system with high backlash, where the PID loop is spread between each feedback item to avoid oscillations, one on the motor, one on the final motion.
Modern CNC machines such as Fanuc and Mitsubishi typically now use 100K pulse/rev feedback resolution.
I have never been a fan of stepper motors in CNC applications, and when feedback is attempted, IMO you may as well use superior servo system.
Quality control can be obtained from Motion Control card such as galil or with system such as Kflop.
With Kflop + Kanalog add on, many of the ±10vdc analogue controls available on ebay can be used.
M.

BTW, often seen misused, the correct term is Quadrature times four (or x1 or x2). Quadrature pulses are the basic pulse/rev count.
 

BGB

Nov 30, 2014
154
Joined
Nov 30, 2014
Messages
154
Hey BGB!

Hrmmm, I think we are still on different pages.... IF your goal is to drive NEMA17 motors inexpensively then DIY drivers are NOT the right way to go...have a look-see @ these:

http://www.ebay.com/itm/StepStick-A...982?pt=LH_DefaultDomain_0&hash=item3383fcade6

http://www.ebay.com/itm/Geeetech-St...566?pt=LH_DefaultDomain_0&hash=item4ad81535b6

first one apparently can't drive the full per-phase current for the motors I have.
the latter could work though.

I can debate the cost, since I am still using reasonably cheap transistors for driving it (probably not using $2 worth of parts). not like I am throwing MOSFETs at the problem or something... (rather, using Darlingtons).


The second link being a "pin-compatible upgrade" over the popular A4998....I have a fair number of both, the DRV8825 is definitely a better chip than the A4998, but both are much better than anything you could DIY for the same $$. Using the DRV8825 @ 24V I can get ~2400rpm from most NEMA17's I have played with....@ 12V about the best I can do is ~1600rpm.....Using a Gecko driver I can typically get >3000rpm, but I don't know that I would ever spend the $$ for a Gecko to drive Nema17's.....

All modern, Commercially available stepper drivers are "constant current" drivers.....Because the change in current in the coil is by definition limited by the inductance of the stepper coils (L = di/dt), at any given RPM a much higher voltage is required to drive a stepper than its "nominal Voltage"......The drive voltage for a stepper is typically determined by the following formula:

Code:
32 * (Inductance ^1/2) = Optimal Drive Voltage

Example:

32 * (5mH ^1/2) = 71.55V

32 * (2mH ^ 1/2) = 45.25V

32 * (0.8mH ^ 1/2) = 28.62V

I have never seen a "proof" of this formula, but it is widely accepted industry wide as a "good compromise or starting place" between stepper performance/driver complexity/cost/efficiency.....Millions of examples of systems that function very well with both higher and lower voltages than suggested by the formula....the primary mitigating factor is higher-rpm Torque requirements.....(side note: many DIY 3D printers use timing belts for linear motion....these require relatively low RPM so typical belt driven 3D printers function just fine with almost any NEMA17 operated @ 12Vdc....but when lead screws are used the loss of torque at high RPM can become a real issue...causing "missed steps", "Locked Steppers" etc, etc .....Just FYI).

for driving the tool head-assembly in my CNC, I have ended up in initial tests using a fairly low RPM, as the stepper was having a hard time moving it all that fast/well.

I lowered it onto a scale (using an empty coffee can as an intermediate), tool head assembly is approx 17 lbs (8.5kg). was not able to accurately measure the torque needed to drive the gear (values too small to measure), but it is in the "rather stiff to drive with fingers" territory. also seem to be dealing with a fair bit of friction in a lot of this (was fine-tuning this).

current total reduction Z is about 32:1 (2:1 from motor to the nut, and 16:1 due to the all-thread).
tool head movement is slow but probably useable. in the code, it was running at approx 50% duty cycle.

my dad had the random suggestion of using two parallel steppers to drive the tool head assembly (from opposite sides). may also consider this.

XY should be faster as the table assembly is lighter, but may need to be kept slow enough to handle whatever I put on the table (say, a chunk of steel or similar).


Most "Stepper Drivers" are a mixture of analog and digital circuits that take two (or three) inputs from the controller...."Step" and "Direction" (The third input that many have is an "Enable" input). Typical Stepper Drivers operate in "Micro-Steps"....some (like the Gecko Drivers) are "fixed" (and this is a real misnomer) while others (like both the A4998 and DRV8825) are "user Selectable"....I won't go into the theory of uStepping (there is plenty of information available...) but suffice it to say that there are advantages to it. The Gecko Drivers are fairly unique in that they have built-in logic that "varies" the uStepping based on the input step rate.....again, w/o going into the "how", the reason this is advantageous is that at low RPM the "smoothest" operation might occur @ say 64 uSteps per Step but at higher RPM the motor might perform much better at 8 uSteps/Step and at even higher RPM it might perform best in half or full step mode.....but a "standard controller" can't "switch uStep rates" on the fly.....The way the Gecko works from the controller's perspective: it always requires 10uSteps per Step.....internally it uses logic to determine which "step mode" it should be in...as the time between step pulses decreases, it "combines steps"...as the time between steps increases, it "expands steps" into multiple uSteps......Of course the position of the rotor always represents the number of steps "it should have moved @ 10 uSteps per Step".....

ok.


Building a DIY servo and driver is fairly straight forward....But controlling it requires a highly sophisticated and fairly specialized type of closed loop controller.....The a fore mentioned K-Flop is exactly such a controller....it combines an FPGA and a DSP that allows mixed signal control of both steppers and servos in a user-defined combination of Open or Closed Loop....It also comes with an open-source PC application interface that I prefer to the more common Mach3/4.....But, from what I am reading in your posts, I don't think you are quite there yet, though I will tell you I wouldn't generally consider using anything else for the machines I build/built (with the exception being a 3D printer where I am going to at least start with the ever-popular Reprap firmware for the Arduino based controller.....too much work has gone into making this the "easy" route for me to ignore it, lol) Anyway, if you are building a NEMA-17 based system I would strongly urge you to stick with steppers.....use readily available (and CHEAP!) 3D printer drivers like the A4998 or DRV8825 and perhaps even think about using one of the Arduino controllers if you are on a limited budget.....might take a bit of fiddling to get it to do exactly what you want, but that is true of any controller.....I wouldn't feel comfortable connecting an Arduino to my Medium Format Router....The gantry weighs in @ ~150lbs and the drive system will throw it around at 1500ipm if the controller "lets loose".....I am not saying an Arduino Controller can't be functionally equivalent to a K-Flop....but I have a LOT of experience AND confidence in the K-Flop....a 3kW spindle spun up to 24krpm even moving at a modest 600ipm can do more damage in a second than I care to fix, so the $320 price of the K-Flop is a small price to me for the confidence I get with it, LOL. For a first-build NEMA-17 based machine I think you would be very happy "borrowing" from the 3D printer revolution....

well, with the stuff I am using, I am making stuff work at least...

in retrospect, maybe should have got some NEMA-23's, but meh, it works...

FWIW, my tool-head only spins at about 700 RPM max, so shouldn't be too insane. may need to run it a bit slower depending on what it is cutting (and the size of the endmill, ...).
 
Last edited:

BGB

Nov 30, 2014
154
Joined
Nov 30, 2014
Messages
154
between BLDC motors and bipolar steppers, if used open-loop, the main difference seems to be:
BLDC motors go fast, but don't have as much torque;
steppers have a much lower top speed, but a fair bit of torque.

*: for larger motors, things change around some, so it is mostly series vs shunt wound motors, vs induction motors, with a few AC synchronous motors (a 3-phase AC synchronous motor basically being a higher-voltage BLDC motor, albeit typically with a DC field coil in place of the magnets).

BLDC have a higher RPM range and a much flatter torque curve, with maximum torque at zero rpm for both, with steppers the Torque drops off rapidly and steps have to be taken to attempt a flatter curve such as PWM - constant current.
I have never come across a series motor for anything resembling servo application, they operate essentially in a run away condition.
RPM limited by load.
Steppers are generally higher torque than BLDC or brushed motor but only for the equivalent frame size.
Both BLDC and DC motors require a PID loop to operate as a servo.
M.

I have seen people use series motors, but yeah, not for servo. they seem to be fairly popular for things like DIY EVs though (although commercially-made EVs more often go for synchronous AC motors).

the stepper motors I have seem to have around 3x the torque of the drill motors, but are roughly similar size/weight, so dunno... drill motors due easily spin up to 20kRPM though, whereas the steppers are a fair bit slower.


for a lot of cases I can think of using BLDC motors, it seems like stepper-like open-loop driving or commutation-step counting should be sufficient.

but, yeah, this isn't really for XYZ in a mill, and with earlier ideas where I had considered HDD spindle motors, they were being considered to be used full-step (with the amount of reduction considered, this would have still given reasonably good precision).

the issue was, it didn't really seem like they had a lot of torque in my early tests, and I wasn't really getting them up to HDD-like speeds (the HDDs seemed to be using voltage-boosting drivers to get 7200 RPM out of them), vs just running them on 12v.
 

Minder

Apr 24, 2015
3,478
Joined
Apr 24, 2015
Messages
3,478
I have seen people use series motors, but yeah, not for servo. they seem to be fairly popular for things like DIY EVs though (although commercially-made EVs more often go for synchronous AC motors).

.

Series motors: Automotive starters, lift motors (must always be under load or controlled),AC Hand tools, Routers, Vacuum motor.
Series motors have very high torque and high rpm (the field current is the same as the armature) but rpm is controlled by load due to the runaway condition.
If you can live with the limitations, steppers seem to do a fairly good job for low end CNC machines.
There are a few Industrial versions that use steppers.
M.
 

BGB

Nov 30, 2014
154
Joined
Nov 30, 2014
Messages
154
Series motors: Automotive starters, lift motors (must always be under load or controlled),AC Hand tools, Routers, Vacuum motor.
Series motors have very high torque and high rpm (the field current is the same as the armature) but rpm is controlled by load due to the runaway condition.

yep. they are more readily available for higher power ratings at lower costs than large PMDC motors.
likewise, haven't seen a whole lot of PMDC motors much into the kW range.


If you can live with the limitations, steppers seem to do a fairly good job for low end CNC machines.
There are a few Industrial versions that use steppers.
M.

yeah. mine is made mostly of OSB, steel pipe, and hot-glue, not exactly high-end.
I am not even really sure it will work all that well, it is mostly just hope at this point.
also, it has an arguably fairly small table (around 12 inches), though the box is a bit bigger (24x24x24 inches inches). despite its fairly small size, it is still fairly heavy (around 150 lbs).

likewise, probably going to need to feed the coordinates through a skew matrix to correct for the axes not being all that orthogonal (as-is, my X and Y axes seem to be several degrees off-square, ...). but, if I can get it basically working and "about right", probably good enough.

it isn't a great sign when one is "tightening up the tolerances" using cut-up toilet paper tubes and hot-glue.

though, in a past occurrence where something partially pulled apart, it appears as if the hot glue is actually stronger than the OSB (despite being more soft and rubbery). this was due to a situation where something broke loose, but it was the wood that failed rather than the glue...

though, also noted that hot-glue doesn't stick to wood if there is any grease on it (mostly lubricating things with petroleum jelly...).

so, yeah, high precision engineering...
 

Minder

Apr 24, 2015
3,478
Joined
Apr 24, 2015
Messages
3,478
Early days of CNC, DC brushed servo's were often Getty's or Emerson, and were used by Fanuc and a knock-off by Mitsubishi, Fanuc then made their yellow cap DC brushed on license from Gettys.
These were high wattage motors, capable of driving ball screws direct.
Later there were also US man such as Reliance and Baldor that made high wattage motors.
I have tested some of the high end T.Mill motors available on ebay and they have the quality to be implemented as servo's.
M.
 

BGB

Nov 30, 2014
154
Joined
Nov 30, 2014
Messages
154
Early days of CNC, DC brushed servo's were often Getty's or Emerson, and were used by Fanuc and a knock-off by Mitsubishi, Fanuc then made their yellow cap DC brushed on license from Gettys.
These were high wattage motors, capable of driving ball screws direct.
Later there were also US man such as Reliance and Baldor that made high wattage motors.
I have tested some of the high end T.Mill motors available on ebay and they have the quality to be implemented as servo's.
M.

ok, cool.

had to look it up, but pretty much all the motors I have seem to come from various companies located in China.
some are pretty nice. others came filled with metal debris (metal chips, ...), where apparently metal chips had gotten stuck to the magnets at some point.

better still would be if there were cheaper options.
though, Chinese motors are still a lot cheaper than US motors (a lot of US companies seem to want very high prices for motors). quality or not, dunno.


actually, a lot of electronic components bought also came in plastic bags or paper envelops marked 'China Post'.

had once bought some components from Fairchild, and they sent them in a anti-static bag inside a small cardboard box with some foam. was kind of like "WTF?", but I guess they place a bit more value on their components, vs just sticking them in a paper envelope or similar like a lot of the Chinese sellers...

sometimes, things also show up in a wad of box-tape, though this is more common with larger items (like webcams or motors), like maybe put them in a plastic bag, wrap the thing in box-tape, and stick an address-sticker on it.

had recently ordered some motors though, from a US company (still technically Chinese motors though, but they were reselling them), and they came in cardboard boxes inside a bigger box with some crumpled paper. amazing...

or such...
 
Top