Weak stepper motor performance with makerbot motor driver 3.3 after motor switch

892 views
Skip to first unread message

NanoWar

unread,
Nov 25, 2013, 6:18:01 AM11/25/13
to make...@googlegroups.com
Hello,

we're experimenting with the makerbot mother board 2.4 and the stepper motor drivers 3.3 to use them with other stepper motors, namely these: http://www.pollin.de/shop/downloads/D310453D.PDF

The setup is as follows: Arduino Mega 2560 connected to the mother board shield, then motor drivers and then the (hopefully correctly wired) motors. For software on the arduino we use this one: https://github.com/msproul/MakerbotArduino which handles the stepping with timer interrupts and transition of pins from low to high etc. With the old motors (that came with the makerbot thingomatic 2) everything seems to work properly and we get good motor speeds and torque.

But with the new ones (see above) the speed is bad and I can stop the motor with my fingers easily (we tried other wiring possibilities). Setting the stepper interrupt to lower speed or using the 1/2, 1/4 switches on the motor driver, it becomes very strong, but slow.

WHY? :D

Is it a problem with the configuration or with the hardware?

Jetguy

unread,
Nov 25, 2013, 9:39:07 AM11/25/13
to make...@googlegroups.com
Epic fail, those motors are horrible for the task.
You need low inductance motors.
You purchased motors where the coil inductance and resistance is so high, the motor self limits current to 0.4A @12 volts.
Basically, the same junk motors that cupcakes and early T-O-Ms came with.
You need motors rated for aroudn 4 volts, no more than 1.5A and higher torque rating.
  • Model number: 1124090
  • Holding Torque: 5.5Kg.cm
  • Rated Voltage: 4.2V
  • NO.of Phase: 2
  • Step Angle: 1.8° ± 5%
  • Resistance Per Phase: 2.8Ω± 10%
  • Inductance Per Phase: 4.8mH± 20%
  • Current Per Phase: 1.5A
Again, just one look at your data sheet says it all
12V
0.4A
That alone tells me it is high inductance and self limiting.
The new motors that MakerBot uses are
~4 V
0.84A
This means they are not as strong as the Ultimachine Kysan but are at least low inductance rated for higher speeds without torque loss.
 
 
Whosawhatsis
"It's worse than I thought, these motors were a terrible choice. No wonder I have to crank the current so high to get any torque out of them! New motors it is!"

Jetguy

unread,
Nov 25, 2013, 9:59:01 AM11/25/13
to make...@googlegroups.com
More info on the "why" behind the problem
 
Again, basically the motors you purchased are junk. You can never push enough voltage to them to compensate for the inductance.
Say for example, even if you feed them 36V which may be too high for the driver chips to take, all you do is heat the coils of the motor red hot because you are still fighting the complex impedance of the motor.
The extra voltage just converts to heat. Yes, I know a driver will attempt to limit the current, but from an average power condition, you are simply maxing the power disipation of the motor. In the end, the more power you push through the resistance on the motor, the higher the temperature rise and wasted power will be.
 
So, there is no good scenario to ever get more torque out of a high inductance motor. It simply is the wrong winding for the job at hand.
Switching to good motors will run cooler and just convert more of the same energy into useful motion.

NanoWar

unread,
Nov 25, 2013, 10:47:00 AM11/25/13
to make...@googlegroups.com
Okay then, thanks a lot.

What about these then:

Frame Size:                               NEMA17
Step Angle:                               1.8 degree
Voltage:                                     3.84V
Current:                                     1.2 A/phase
Resistance:                               3.2 Ohm/phase
Inductance:                               5.0 mH/phase
Holding torque:                         4800g-cm      78OZ-IN
Detent torque:                           0.26 kg-cm
Number of wire leads:             4
Weight:                                      0.38 kgs
Length:                                      48mm
Motor Shaft:                              5mm
Front Shaft length:                   24mm

Is that alright?

Pew, one day left to send them back... thanks again. BTW: What are these weak motors used for?

Hope to hear from you soon!

Jetguy

unread,
Nov 25, 2013, 10:54:05 AM11/25/13
to make...@googlegroups.com
Sure, those are right in the ideal range.
 
Now, on gen4 stepper drivers you adjust the Vref voltage as follows (Note measure when powered but in disable mode!!!!!)
2Volts on the Vref=1A current.
So you need 1.2A current adjust to 2.4 volts Vref.
I normally undershoot 10% for lower temps at the motors and it's a lot quieter as well.
So say 2.2 to 2.3 volts is my ideal Vref for those motors based on the datasheet.
Yes, you are trading off some torque but in general it should be fine.

Jetguy

unread,
Nov 25, 2013, 11:09:26 AM11/25/13
to make...@googlegroups.com
By disable mode, I mean you have the power connector and motor plugged into the driver but NOT the signal input cable from the mainboard is the easiest way to ensure the driver is powered but in disable mode.
Then use a multimeter set to DC volts, connect the meter black wire to one of the black wires from the PSU and use the red meter wire to touch the Vref pad on the stepper driver. http://downloads.makerbot.com/support/pdf/Thing-O-Matic/Docs/Thing-O-Matic%20Usage%20Guide.pdf
Start at page 28 of that PDF. Remember, you will treat all other adjustment voltages just like the moons motor, but the Vref is the one we are changing to match your new listed above.
 
Also, while poking around, I found some oldschool pics from Nick Starno at MakerBot http://www.flickr.com/photos/nickstarno/sets/72157626766302046/with/5492144868/
 

Dan Newman

unread,
Nov 25, 2013, 11:15:57 AM11/25/13
to make...@googlegroups.com
The winding resistance is much TOO HIGH on those stepper motors. You
want something no more than 6 Ohms and those are 30 Ohms. Be careful
about going below 2 Ohms though: I've heard reports from people who used
some 1.5 - 2.0 Ohm motors and had the v3.3 stepper drivers die: they had
to switch to some type of pololus.

Also, some of the other specs may be off on those motors as well. I'm
just observing that the winding resistance is 5 - 6x too high.

Dan

Jetguy

unread,
Nov 25, 2013, 11:52:23 AM11/25/13
to make...@googlegroups.com
Right, but the new motor he linked is much better and within the specs you just described.
Frame Size: NEMA17
Step Angle: 1.8 degree
Voltage: 3.84V
Current: 1.2 A/phase
Resistance: 3.2 Ohm/phase
Inductance: 5.0 mH/phase
Holding torque: 4800g-cm 78OZ-IN
 

Dan Newman

unread,
Nov 25, 2013, 12:53:58 PM11/25/13
to make...@googlegroups.com
On 25/11/2013, 8:52 AM, Jetguy wrote:
> Right, but the new motor he linked is much better and within the specs you
> just described.

You can thank time warped mail for that: I hadn't yet received his post with
the new motor specs when I posted. That 3.2 Ohms may work with the v3.3 stepper
drivers. There's been a couple of folks with ~2 Ohm motors that did theirs in.
MBIs are around 6 Ohms IIRC but certainly would benefit from dropping down to
4 Ohms.

(When they tell me ~2 Ohms it's hard to know what that means: the spec sheet said
2.x or they measured 'em with a meter. And if the latter, then just how good
of a meter since your garden variety meter cannot accurately measure in that
ballpark: the resistance of the leads alone are around 2 Ohms and if you zero
things out, then there goes what little accuracy you had out the door.)

Dan

NanoWar

unread,
Nov 25, 2013, 5:58:34 PM11/25/13
to make...@googlegroups.com
Oh right, I can change these potys on the motor driver, _totally_ forgot about them... Anyways, the manual you provided is interesting, but it doesn't explain the VREF thing. I see the data tables etc. but I'd like to understand. Why do the ref volts go from 0-2 and not from I dont know 4V to 12V? Maybe you could elaborate on "2Volts on the Vref=1A current" ?

I think I will actually buy another different model: 42BYGHW804, specs are here: http://store.kysanelectronics.com/servlet/-strse-70036/42BYGHW804/Detail
which is similar to the one I posted before, only for this I actually found a good offer :) It's a students' project after all, so you are giving educational help right now, haha.

Jetguy

unread,
Nov 25, 2013, 7:35:15 PM11/25/13
to make...@googlegroups.com
The REF or Vref sets the current LIMIT for the driver. This is important to understand BASIC electricity, AKA Ohm's law, Voltage divided by Resistance = Current.
If your source voltage from the power supply is 12 volts and we are using a 3 Ohm stepper motor coil, 12 Volts divided by 3Ohms is 4 Amps.
But wait, the motor isn't rated for 4A and would burn up right? It's ONLY rated for 1.2 Amps.
So we use a current limiting stepper driver and set a current limit so that the driver maxes the torque from the motor but limits the current and resulting power so the motor doesn't overheat.
 
Vref or REF depending on what text you are looking at on the stepper driver is what sets the current limit. I gave you the formula to understand WHY the voltage I provided that you should set the REF or VREF potentiometer to on the stepper driver correlates to a KNOWN current limit value.
I then also provided you a table of STANDARD settings for known motors used with gen4. I also said that since this motor requires MORE current (1.2A VS 0.84A  for the other moons motors you had) you then keep all the other voltages (PFD, RC1,RC2) the same as in the table for the moons motor (because it's ALSO a low inductance motor) but again have to adjust REF to match the proper setting for the new motor.
 
So back to the match I gave you if you want to set for 1.2A and we know that 2volts ref= 1A of current, solve for reef voltage @ 1.2A.
I already said it, 2.4 volts. However, we sometimes find the MAX current setting may overheat the motor if not provided enough airflow so setting the REF voltage 10% lower is common practice and quiets down the bot. So, just off the cuff, I would generally start at say 2.3 Volts ref and work my way down to 1.2 volts if a particular motor was getting too hot.
Stepper motors can get uncomfortably hot to touch and still be fine, but on printed plastic motor mounts, the problem isn't the motor, but the mount giving out.
 
Also, yes, the W804 motor you listed is perfect specs for this.

Jetguy

unread,
Nov 25, 2013, 7:48:17 PM11/25/13
to make...@googlegroups.com
So, the same answer above explains why the other motor you are having problems with doesn't work.
The same source  voltage 12 volts across the motor coil of 30Ohms is the magical 0.4 Amps, the same as the rated motor limit.
So it's basically impossible for the driver ever meet or control the current limit in that stepper. The motor is self limiting.
The driver itself is going to slightly reduce the 12 volts to a few volts less on the output . That's just how semiconductor junctions work.
So we never even reach 0.4 amps on that other motor. But even more important is that we are burning (converting to heat) the 12 volt power across the 30Ohm resistance of the motor.
So most of the energy is going to heat, not moving the motor.
 
Also, a concept covered in the documentation links provided explains that in a nutshell, Current = motor strength. This also explains why a 1.2A motor is MUCH stronger than a 0.4A rated motor given a fixed source voltage of 12 volts. The 0.4A motor doesn't have a chance.

Jetguy

unread,
Nov 25, 2013, 7:56:29 PM11/25/13
to make...@googlegroups.com
Another concept that may be losing you is the motor spec sheet rated voltage of the motor.
They are simply following Ohm's law assuming you are NOT using a chopping or current limiting driver.
The listed voltage is simply the voltage that self limits the motor to the rated current.
For speed and performance, we feed the motor higher voltage (nearly 3X) so that with a current limiting driver, it reduces the speed at which torque loss occurs.
Remember, inductors (AKA the motor coils) follow the time constants rules. So every inductor takes some time to reach the rated current level.
It's like you turning on the light switch and waiting for the light to come on full brightness.
It's like feeding a 120v rated lightbulb 380 volts but before the bulb burns out or gets insanely bright, the smart driver between the source voltage and the load limits the current to the same level as if the bulb was ONLY being fed 120Vs. We get nearly instant on but don't burn it out.
Reply all
Reply to author
Forward
0 new messages