Problem Overview
A Sanyo-Denki 103H548-0440 two-phase stepper motor (1.8° step, 1.2 A phase current, 3.6 V phase voltage, 3 Ω winding resistance) is being driven from a K179 bipolar stepper driver kit with a 12 V rechargeable supply. During intermittent duty (≈30 s idle, a few turns, 30 s idle) the motor casing rises above the touch-safe threshold and remains hot for several minutes after power-down.
Symptoms match a DC over-current condition on the energized holding phase, not a normal warm-running bipolar stepper. At a touch temperature above ~80 °C the winding insulation is approaching its Class B limit and the rotor magnets are approaching irreversible demagnetization temperatures (neodymium-iron-boron grades typically derate above 80–100 °C, ferrite above 150 °C; refer to the motor's actual magnet material datasheet).
| Parameter | Value | Source |
|---|---|---|
| Motor catalog number | 103H548-0440 | Farnell / Sanyo-Denki Sanmotion listing |
| Step angle | 1.8° (200 steps/rev) | Catalog page |
| Rated phase current | 1.2 A / phase | Catalog page |
| Rated phase voltage | 3.6 V DC | Catalog page |
| Phase winding resistance | R_w = 3.6 V / 1.2 A = 3.0 Ω | Calculated from nameplate |
| Phase inductance (L) | See catalog; affects high-speed torque | Sanyo-Denki 103H548-0440 datasheet |
| Driver | K179 bipolar L/R driver kit | K179 kit documentation (kitsrus.com) |
| Supply | 12 V DC rechargeable | Application note |
Root Cause Analysis
The K179 is a constant-voltage L/R-style driver: it applies the full DC supply rail across each energized phase through a Darlington pair with no current regulation loop. There is no chopping, no PWM current control, and no idle-current reduction feature.
When the motor is stopped with phase A or phase B energized for holding torque, the steady-state current through the 3 Ω winding on a 12 V rail is:
I_phase = V_supply / R_winding = 12 V / 3 Ω = 4.0 A
This is 3.33× the 1.2 A rating. The coil therefore dissipates:
P_coil = I² × R = 4.0² × 3 = 48 W per phase
Two phases are intermittently active during full-step commutation, so total instantaneous heating can approach ~96 W. No motor of this physical size can reject that power without exceeding safe winding temperature. The slow cool-down after power removal is simply the thermal time constant of the laminated stack plus the rotor mass — characteristic of continuous overcurrent, not of a duty-cycle spike.
Required Series Resistance Per Phase
To hold the steady-state current at the rated 1.2 A from the 12 V rail, the total series resistance per phase must equal the supply voltage divided by the rated current:
R_total = V_supply / I_rated = 12 V / 1.2 A = 10 Ω
Subtracting the motor's own 3 Ω winding resistance gives the additional external resistance required in each phase center-tap return:
R_ext = R_total − R_winding = 10 Ω − 3 Ω = 7 Ω per phase
The voltage dropped across the external resistor at rated current:
V_drop = I × R_ext = 1.2 A × 7 Ω = 8.4 V
Power dissipation in each external resistor at rated current:
P_R = I² × R_ext = 1.2² × 7 = 10.08 W
Resistor Selection & Sizing
A 7 Ω value is not a standard E12/E24 resistor value. Choose from these practical options for each phase:
| Option | R per phase | Steady-state I | P dissipation / resistor | Recommended resistor rating | Notes |
|---|---|---|---|---|---|
| Two 3.6 Ω / 10 W in series | 7.2 Ω | 1.20 A | 10.4 W | Use 25 W wirewound | Closest standard value to target |
| Single 6.8 Ω / 20 W | 6.8 Ω | 1.22 A | 10.2 W | Use 25 W wirewound | E12 standard; 1.7 % above rating |
| Single 6.8 Ω / 25 W | 6.8 Ω | 1.22 A | 10.2 W | Use ≥25 W | Best headroom |
| 10 Ω / 10 W | 10 Ω | 0.92 A | 8.5 W | Use 20 W | Under-runs motor; reduced torque |
Derate resistor power at 50–60 % of nameplate for continuous-duty mounting in still air. A 10 W continuous dissipation mandates a 20–25 W rated chassis-mount wirewound resistor (aluminium-housed, panel-mount or TO-220 style). Two resistors are required — one in series with each of the two phase windings, on the K179 motor-side terminal block before the phase-A and phase-B outputs.
Effect On High-Speed Performance
Adding series resistance increases the electrical time constant of the drive circuit:
τ = L / R_total
Lower R_total (large external resistor) gives a longer time constant — wait, that is backwards. Higher total series resistance means current rises faster relative to a low-resistance system because the ratio L/R shrinks. This improves the rate-of-rise of phase current and increases usable high-speed torque. For a low-inductance motor on 12 V, however, the practical effect at low step rates (≤500 steps/s) is negligible. For this duty profile (a few turns per 30 s), the static heating fix is far more important than any high-speed loss.
Alternative: Replace K179 With a Chopper Driver
If the application is expected to step rapidly, a current-regulating chopper driver is the proper long-term solution. A chopper driver regulates phase current by switching the supply at 20–60 kHz and pulse-skipping when the current-sense comparator threshold is reached. Phase current stays at the setpoint regardless of supply voltage; the supply can be raised (24–48 V) to overcome winding inductance and produce high step rates.
Common drop-in replacements for the K179 (same bipolar H-bridge topology, integrated current control):
| Module | Supply | Current setting | Microstep | Logic interface |
|---|---|---|---|---|
| DRV8825 carrier | 8.2–45 V | Up to 2.2 A (potentiometer) | Up to 1/32 | STEP / DIR |
| A4988 carrier | 8–35 V | Up to 2.0 A | Up to 1/16 | STEP / DIR |
| TB6600 driver board | 9–42 V | 0.5–4.0 A (DIP) | Up to 1/32 | STEP / DIR / EN |
| TMC2208 / TMC2209 | 4.75–29 V | Up to 2.0 A | 1/256 (StealthChop) | STEP / DIR, UART |
With any chopper driver, also configure idle-current reduction (typically 50 % of run current after a programmable timeout) — this is the built-in equivalent of the PICAXE code shown below.
Idle Power-Off Logic (Hold-Then-Release)
If holding torque is not required during the 30 s stationary periods (the original poster explicitly accepts freewheeling being undesirable but not catastrophic), de-energising the coils during idle eliminates static heating entirely. The following PICAXE-08M2 / 14M2 BASIC snippet energises one phase briefly at the end of each move to give the rotor a "parked" detent, then removes all phase drive. The final-state latch (c.5 high for 500 ms) prevents the rotor from drifting on residual momentum.
' Sanyo-Denki 103H548-0440 + K179 driver
' Two-phase full-step sequence, then idle power removal
output B.4, C.3, C.4, C.5
symbol msecs = 4 'Step period (≥ 4 ms for reliable commutation at 1.2 A)
cw:
for b1 = 1 to 3 'Number of revolutions CW
for b0 = 1 to 200 '1 rev = 200 × 1.8° steps
high B.4 : low C.3 : low C.4 : high C.5 : pause msecs
high B.4 : high C.3 : low C.4 : low C.5 : pause msecs
low B.4 : high C.3 : high C.4 : low C.5 : pause msecs
low B.4 : low C.3 : high C.4 : high C.5 : pause msecs
next b0
next b1
'Park phase: hold C.5 high briefly so rotor settles into a detent
low B.4 : low C.3 : low C.4 : high C.5 : pause 500
'Idle: remove all phase drive, motor freewheels (or holds on detent)
low B.4 : low C.3 : low C.4 : low C.5 : pause 2500
goto cw
Important caveats:
- The K179 has no ENABLE input that gates the output transistors. "Power removal" is achieved by stopping the STEP pulses — the K179 holds the last energised phase as long as the STEP input has been idle but power is present. Verify this against the K179 schematic: if the driver latches, an additional transistor on the motor-supply rail (P-channel MOSFET in the 12 V feed) is required to actually cut current to the coils.
- Adding freewheel diodes (1N4001) across each phase, as in the original poster's tested circuit, slows the current decay and was observed to cause missed steps below 4 ms step period. Use fast-recovery diodes (UF4007 or Schottky) if the back-EMF clamp must be added.
Verification & Commissioning Checks
- Sense check the resistor modification. With the motor disconnected and a 12 V supply applied, measure the DC voltage across each 6.8 Ω resistor. Expect ~8.16 V (corresponding to 1.2 A through 6.8 Ω).
- Measure phase current directly. Insert a 1 Ω / 5 W sense resistor in series with each phase return; measure V across it with a multimeter. Target 1.2 V DC (1.2 A) while the rotor is held stationary.
- Thermal soak test. Run the duty cycle (30 s idle, 30 s active, repeat for 30 minutes). Measure the motor case with a contact thermocouple or IR thermometer on the laminated stack end ring. Target < 80 °C steady-state for indefinite operation; < 90 °C is acceptable for intermittent industrial use; > 100 °C is unsafe.
- Resistor surface temperature. Touch-test (briefly) the 25 W wirewound bodies. They should be hot but stable at ≈100–140 °C. If they glow or smoke, the current has exceeded design — re-check series resistance and supply voltage.
- Torque verification. Apply a known breakaway torque to the shaft (e.g., lever arm with weights). Holding torque should match the catalog value scaled by the current setting (1.2 A nominal). If reduced, the supply voltage is being clamped by supply sag — increase supply capacity.
Thermal & Safety Notes
- Insulation class. Most Sanyo-Denki 103H548-series motors use Class B insulation (130 °C max). Continuous operation above 100 °C case temperature accelerates insulation ageing by a factor of 2 for every 10 °C (Arrhenius rule of thumb). At 4 A through a 3 Ω winding, the coil hot-spot can exceed 130 °C within minutes.
- Demagnetization. Sm-Co or Nd-Fe-B rotor magnets lose ≈ 0.1 % flux density per °C above 80 °C. Sustained 120 °C operation is permanently damaging to high-energy-density rotors.
- Mounting. Mount the motor to a metal bracket or aluminium plate; conductive mounting can drop steady-state temperature 15–25 °C compared to free-air mounting.
- Resistor mounting. 25 W wirewound resistors on a plastic chassis can deform the plastic at continuous 150 °C surface temperature. Use metal standoff brackets.
Decision Matrix — Which Fix To Apply
| Application requirement | Recommended fix | Cost | High-speed capability |
|---|---|---|---|
| Low step rate, hold torque required continuously | Two 6.8 Ω / 25 W resistors in phase returns | ≈ $5 | Reduced above 500 pps |
| Low step rate, freewheeling at rest acceptable | PICAXE / MCU idle power-off logic + series resistors for in-motion current | ≈ $5 + controller | Same as above |
| Mid step rate (1–5 kpps), any duty cycle | Replace K179 with DRV8825 or TB6600 chopper driver | ≈ $10–15 | Good |
| High step rate or microstepping | TMC2209 with StealthChop; configure 50 % idle current | ≈ $8–12 | Excellent |
FAQ
Why does my stepper motor only get hot while sitting still?
During motion the rotor's back-EMF opposes the supply and naturally limits phase current to roughly the rated value. When the rotor is locked, back-EMF is zero and the only thing limiting current is the winding resistance. With a constant-voltage driver such as the K179 and a 12 V supply on a 3 Ω winding, the locked current is 4 A — over three times the 1.2 A rating — which is the source of the heating.
What resistor value do I need between a 12 V supply and a 1.2 A / 3 Ω stepper?
Total series resistance per phase must equal 12 V / 1.2 A = 10 Ω. With the motor's own 3 Ω, an external 7 Ω is required in each phase return. The closest standard value is 6.8 Ω, which gives 1.22 A (1.7 % over rated) and 10.2 W dissipation — use a 25 W wirewound resistor.
Can I just lower the supply voltage to 3.6 V instead of adding resistors?
Yes, electrically this is equivalent — the motor will not overheat. The trade-off is that 3.6 V on a 3 Ω winding cannot force current through the inductance quickly, so step rate is limited to a few hundred pulses per second. Acceptable for slow positioning, not for anything dynamic.
Why does the K179 not need current limiting at 3.6 V but does at 12 V?
The K179 is a constant-voltage bipolar driver with no chopping or PWM current regulation. At exactly the rated voltage, the winding's own DC resistance sets the current to the rated value. Any voltage above this raises current proportionally because there is no active regulation — hence the requirement for external current limiting or a replacement chopper driver at higher supplies.
Is there any risk of damaging the motor while it is still hot from the fault condition?
Possibly. Rotor magnets (especially Nd-Fe-B grades) lose field strength above ~80–100 °C, and Class B winding insulation ages rapidly above 130 °C. If the motor reached those temperatures during the fault period, derate expectations for future torque and insulation life. Replace the motor if holding torque has noticeably dropped after the cooling period.