Stepper motor help (very hot!)

Discussion in 'The Projects Forum' started by jmbillings, Dec 31, 2011.

  1. jmbillings

    Thread Starter New Member

    Dec 31, 2011
    2
    0
    I've done a bit of reading on this but I'm still stuck.

    I have a Sanyo-Denki stepper (103H548-0440) - see http://uk.farnell.com/sanyo-denki-sanmotion/103h548-0440-1/stepper-motor-1-8deg-3-6v/dp/9948260

    It's rated 1.2A / 3.6V. I am using the K179 stepper controller and it works fine. The schematic for the stepper controller said the motor supply could be anything in the 8-36V range, and I read that the voltage for a stepper motor isn't necessarily "you must run it at this", so I'm using a 12V rechargeable.

    My usage involves the motor being idle for, say, 30 secs, then just moving a few turns then being idle again for 30 secs. When testing, I noticed the motor casing got very hot very quickly (too hot too touch, when the supply was removed it took ages to cool down) so while I see that steppers can run warm, this seems unduly so.
    I'm guessing the cause is that it sits idle a lot, with the full power running through the coils?

    So, what are my options? I could get a voltage regulator (although 3.6v is a "funny" figure, so I'd need an adjustable one) or would this not help? Is it current I need to limit? If so, how? A resistor would presumably get hot instead... is there anything I can use alongside the K179 kit or do I need a completely different controller? I don't need a huge stopping torque, but ideally I don't want it to "freewheel" either.

    Any pointers appreciated (steppers still confuse me a bit!)
     
  2. tracecom

    AAC Fanatic!

    Apr 16, 2010
    3,869
    1,393
    Your assumption is correct. When the motor is stopped, it is probably locked, which means there is current running through some of the windings, hence the heat. If you use a microcontroller, you can stop the motor, then remove the power to the motor, unless of course, you need the motor locked for the full stop period.

    Here is some code that includes a cooling provision; see the notes.

    Code ( (Unknown Language)):
    1. 'Novatronics 20M34R1-A Stepper Motor Driver
    2. 'This is a variable reluctance unipolar motor with 15 degree steps. It runs well on 12vdc, and draws
    3. 'slightly over half an ampere. No datasheet was found for the motor, so all parameters were determined
    4. 'by testing and observation.
    5. output b.4, c.3, c.4, c.5
    6. symbol msecs = 4 'Must be at least 1 or motor will not turn; must be at least 4 in order to allow
    7.    'motor sufficient time to avoid motor missing pulses. At 3 msec, the motor would
    8.    'occasionally miss pulses which caused inaccurate stepping. Note that this problem
    9.    'surfaced after the addition of counter EMF diodes (1N4001) on the MOSFET outputs.
    10. cw: for b1 = 1 to 3 'Sets number of complete revolutions clockwise.
    11.   for b0 = 1 to 6 '6 loops = 24 steps = 360 degrees clockwise.
    12.    high b.4: low c.3: low c.4: high c.5
    13.    pause msecs
    14.    high b.4: high c.3: low c.4: low c.5
    15.    pause msecs
    16.    low b.4: high c.3: high c.4: low c.5
    17.    pause msecs
    18.    low b.4: low c.3: high c.4: high c.5
    19.    pause msecs
    20.   next b0
    21.  next b1
    22. low b.4: low c.3: low c.4: high c.5 'Leaving c.5 high briefly prevents motor from freewheeling.
    23. pause 500
    24. low b.4: low c.3: low c.4: low c.5 'Removing power from the motor allows cooling.
    25. pause 2500
    26. ccw: for b1 = 1 to 3 'Sets number of complete revolutions counter-clockwise.
    27.   for b0 = 1 to 6 '6 loops = 24 steps = 360 degrees counter-clockwise.
    28.    low b.4: low c.3: high c.4: high c.5
    29.    pause msecs
    30.    low b.4: high c.3: high c.4: low c.5
    31.    pause msecs
    32.    high b.4: high c.3: low c.4: low c.5
    33.    pause msecs
    34.    high b.4: low c.3: low c.4: high c.5
    35.    pause msecs
    36.   next b0
    37.  next b1
    38. low b.4: low c.3: low c.4: high c.5 'Leaving c.5 high briefly prevents motor from freewheeling.
    39. pause 500
    40. low b.4: low c.3: low c.4: low c.5 'Removing power from the motor allows cooling.
    41. pause 2500
    42. goto cw
     
    Last edited: Dec 31, 2011
  3. jimkeith

    Active Member

    Oct 26, 2011
    539
    99
    The stepper motor current is rated for a specific current at a specific DC voltage. Operating above this voltage will cause significantly higher current and temperature increase.

    Most high level stepper drivers pulse width modulate the output current in order to regulate the current to the specified current--in that case the supply voltage will be much higher than the DC stepper motor voltage rating--operating at a higher supply voltage has the advantage of being able to 'force' the current through its reactive winding so that its high speed performance is enhanced.

    The K179 driver does not provide PWM current regulation. To make it work in your case, you must reduce the voltage to the motor winding center-tap--this may be done by using a 3.6V battery (voltage not all that critical) or by adding a resistor to each phase winding center tap (2 resistors total).
    R = E /I (12V -3.6V)/1.2A = 7Ω
    P = I² R = 1.2² * 7Ω = 10W (use 20 to 25W resistor so the resistor runs at a reasonable temperature)

    If you do this, it will run just fine and may remain stationary indefinitely.

    High speed performance is enhanced due to the lower time constant of the current charging circuit where TC = L /R where L is the stepper motor winding inductance and R is the phase resistance including the limiting resistor.
     
  4. SgtWookie

    Expert

    Jul 17, 2007
    22,182
    1,728
    It is true that you can use higher voltages to drive the stepper motor to get it going - this is done all the time to overcome the inductance of the windings. The higher the voltage that you use, the faster that you can step the motor.

    HOWEVER!

    You must limit the current through the windings so that it does not exceed the current rating of the motor. If you do not limit the current, you will wind up with a smoking pile of rubble. This current limiting is typically performed by a "chopper driver" circuit. How this chopper circuit works is that the current flow through the winding is monitored; when it reaches the limit, the current is turned off for a fixed period of time, and then turned on again. This happens very rapidly.

    The K179 is not equipped with a chopper driver. http://kitsrus.com/pdf/k179.pdf

    An alternative is to use a resistor to limit the maximum current.
    Since your motor is rated for 1.2A @ 3.6v, you can calculate that the winding resistance is 3.6/1.2 = 3 Ohms. You want to operate it on 12v. So, (12v-3.6v)/1.2A = 7 Ohms. You also need to calculate the power dissipation; 1.2*7*1.6 = 13.44 Watts (the 1.6 is a safety factor; you never want to operate something at 100% of its' rating).

    7 Ohms is not a standard value of resistance. However, 3.6 Ohms is; you could use a couple of them rated at 10W each in series. A 6.8 Ohm 20W resistor would be close enough; that would be ~ 1.224A.

    You could also use (a) light bulb(s) if you could find one rated for 8.4v @ 13.4 Watts - pretty much an "odd duck".
     
  5. jimkeith

    Active Member

    Oct 26, 2011
    539
    99
    A cooler (lower power) way of using a 12V source would be to reduce the voltage to 3.6V via a switching regulator. I haven't used one of these for a while, so I'll let other forum members recommend one.
     
  6. SgtWookie

    Expert

    Jul 17, 2007
    22,182
    1,728
  7. jmbillings

    Thread Starter New Member

    Dec 31, 2011
    2
    0
    Many thanks for the replies - sounds like it'll be easily fixable with resistors (thanks for the example calculations!), although there's some useful looking links I'll be off to read as well.
    I'll post back if I have further trouble :)
     
Loading...