Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

Stepper motor taking too much current

Status
Not open for further replies.

ismu

Full Member level 2
Joined
May 12, 2009
Messages
145
Helped
1
Reputation
2
Reaction score
1
Trophy points
1,298
Location
nil
Activity points
2,340
Hi am using unipolar stepper motor by using 4 NMOS chip each source connected to ground and each drain connected to corresponding coil and gate from Microcontroller .and common connected to 12v .
i dont know the rated current /voltage of this motor , but i measured the coil resistance [common to A pole 2E and A to -A is 4E like in B side also same ] . when i connected to 12v which heating more and not rotaing but vibrating with big sound , and wire got burn , please help me.
 

You haven't specified how you are driving this motor, it sounds like you aren't sending pulses in the correct sequence.

Look at **broken link removed** in this NXP document for an example.
 
  • Like
Reactions: CataM and ismu

    ismu

    Points: 2
    Helpful Answer Positive Rating

    CataM

    Points: 2
    Helpful Answer Positive Rating
You haven't specified how you are driving this motor, it sounds like you aren't sending pulses in the correct sequence.

Look at **broken link removed** in this NXP document for an example.

am sending full drive signal ,,, if the signal sequance is not correct then also how the motor taking high current and over heat [wire got burned] , powered from 100Ah 12v battery
 

It is not a DC motor. You can't drive it from constant current directly.
Current should be limited by using PWM with variable duty cycle. I can't understand why you don't want to try google this topic before posting.
 

Hi am using unipolar stepper motor by using 4 NMOS chip each source connected to ground and each drain connected to corresponding coil and gate from Microcontroller .and common connected to 12v .
i dont know the rated current /voltage of this motor , but i measured the coil resistance [common to A pole 2E and A to -A is 4E like in B side also same ] . when i connected to 12v which heating more and not rotaing but vibrating with big sound , and wire got burn , please help me.

Are you sure the motor is not a Brushless DC (BLDC) Motor and instead of a Stepper Motor?

Are there any markings on the motor, manufacture label, etc? How many leads does the motor have? Can you post a photo?

Posting a schematic of your design and your source code might also help us assist you?



BigDog
 
  • Like
Reactions: ismu

    ismu

    Points: 2
    Helpful Answer Positive Rating
Hi am using unipolar stepper motor by using 4 NMOS chip each source connected to ground and each drain connected to corresponding coil and gate from Microcontroller .and common connected to 12v .
i dont know the rated current /voltage of this motor , but i measured the coil resistance [common to A pole 2E and A to -A is 4E like in B side also same ] . when i connected to 12v which heating more and not rotaing but vibrating with big sound , and wire got burn , please help me.

If I get what you describe correctly then you have a five wire (or is it a six wite with separate common wires?) unipolar motor with 4 Ohm resistance in each coil (2 Ohm for each side of the coil) and you have it connected like the following image

Unipolar_BD[1].png

The problem is that the resistance of each half coil is 2 Ohm so with 12v supply it leads to 6A current which is way too much.
If you want to use them with a DC supply without current limiting circuit then you have to decrease the supply voltage to about 1.5v or even less but this in not the way they are intended to be used. Low resistance steppers are intended for constant current operation rather than constant voltage, the low resistance of the coil in conjunction with a current limited high voltage can achieve higher torque at higher speeds.
 
  • Like
Reactions: ismu

    ismu

    Points: 2
    Helpful Answer Positive Rating
If I get what you describe correctly then you have a five wire (or is it a six wite with separate common wires?) unipolar motor with 4 Ohm resistance in each coil (2 Ohm for each side of the coil) and you have it connected like the following image

View attachment 127790

The problem is that the resistance of each half coil is 2 Ohm so with 12v supply it leads to 6A current which is way too much.
If you want to use them with a DC supply without current limiting circuit then you have to decrease the supply voltage to about 1.5v or even less but this in not the way they are intended to be used. Low resistance steppers are intended for constant current operation rather than constant voltage, the low resistance of the coil in conjunction with a current limited high voltage can achieve higher torque at higher speeds.
yes you are correct , Can you provide any constent current source circuit for this application ? by using MOSFET and no need any inbuild driver chip .
 

The circuit is ok but you need to put short pulses to the four mosfets. The width of the pulses will determine the current and should not be too long (the mosfet should be off before the current reaches 6A DC limit). None of them should be on for long duration and that is the cause of the motor burning out in your earlier experiments.

The sequence of pulses applied to P0.0, P0.1, P0.2, P0.3 is critical. First try and convince yourself with the regular full stepping mode and get it running. You need to turn on and off each pin at the right time through your software.

In the preliminary experiment, use a low power 12V supply so that you do not burn out your motors by mistake. Once you have debugged the circuit, you can use a full power battery (as you have now done).
 
  • Like
Reactions: ismu

    ismu

    Points: 2
    Helpful Answer Positive Rating
The circuit is ok but you need to put short pulses to the four mosfets. The width of the pulses will determine the current and should not be too long (the mosfet should be off before the current reaches 6A DC limit). None of them should be on for long duration and that is the cause of the motor burning out in your earlier experiments.

The sequence of pulses applied to P0.0, P0.1, P0.2, P0.3 is critical. First try and convince yourself with the regular full stepping mode and get it running. You need to turn on and off each pin at the right time through your software.

In the preliminary experiment, use a low power 12V supply so that you do not burn out your motors by mistake. Once you have debugged the circuit, you can use a full power battery (as you have now done).

so i think i need keep on read current through shunt res ? and need to contrlo through PWM right?
 

so i think i need keep on read current through shunt res ? and need to control through PWM right?
That's the usual way to operate stepper motor with constant current. Unipolar motors like yours are more often operated with constant voltage, yours is obviously designed for a lower voltage than 12V.

In any case you should get an idea what your motor's current rating is. The motor size allows a rough estimation of power rating.

A poor man's constant current operation is possible with two power resistors between the winding center taps and supply voltage.
 
  • Like
Reactions: ismu

    ismu

    Points: 2
    Helpful Answer Positive Rating
so i think i need keep on read current through shunt res ? and need to contrlo through PWM right?

I suggest you follow the following steps:

1. Get your pulse sequence correct. Initially, you need not bother about half-stepping or quarter-stepping....

2. Using a small duty cycle, get the motor running first. You can also reduce the voltage just to try out. That means your program on the microcontroller must be correct.

3. Next you apply the recommended voltage and current to the motor. Consult the motor data sheet.

4. Implement stop, reverse and brake functions in the microcontroller.

5. Study pulse width modulation and implement microstepping.
 
  • Like
Reactions: ismu

    ismu

    Points: 2
    Helpful Answer Positive Rating
Hi all

Thanks for valuable feed back ,, the issue is solved , issue was wrong pulse sequence ,
now working well, but it is reach maximum seed as only 60RPM[5ms gap between each pulse] when i increase , then steps are missing and slowing down with highly vibration sound same time current is reduced from 2A to 1A .

what my observation is i plotted the wave form of coil through CRO ,please see the picture ,
the maximum time to discharge the coil energy is coming as 5ms , os i think this might be the maximum speed timing , when i increase then the coil is not going to energies completely ,that might be the reason for step missing and slowing down , am i correct ?

one motor question : once we gave a force on shaft to try to stop the motor then how can we detect the this activity? i tried through shut res current , but which is fixed 2A[RPM=60] in all case with external force , is there any way to find the external force presence applied on shaft ?
Untitled.png
 

Operating a step motor with constant voltage gives the lowest possible speed. Constant current achieves a considerable faster current settling and respective higher step rate.

Next point for faster step motor operation is using acceleration and deceleration ramps.
 
  • Like
Reactions: ismu

    ismu

    Points: 2
    Helpful Answer Positive Rating
Operating a step motor with constant voltage gives the lowest possible speed. Constant current achieves a considerable faster current settling and respective higher step rate.

Next point for faster step motor operation is using acceleration and deceleration ramps.



so how can we acheive this issue acceleration and deceleration ramps ? do i need to use constant current source?
So i can do send a PWM high frequancy modulated wave with different duty along the the seaquance signal , right?
 

If each pulse is lasting for 5 ms, then you will get have 200 pulses per sec. That makes about 100 steps (or, is that 50) per sec. Each step is 1.8deg (please verify!) and that makes 90deg per sec. That is about 15 rpm. Something is wrong (I do not know)- please check.

As per the diagram each pulse appears to be about 10 ms. In this time, the current in the coils have come to the steady value. You can certainly increase the pulse frequency and increase the pulse duration. It should rotate faster. If it does not, the voltage need to be increased to the full 12V as per the rating.

For steady acceleration without missing a step: start with a low pulse frequency and low pulse width. Increase the pulse frequency and the the width but make sure that the pulse sequence diagram is correct (no pulse cross over).
 
  • Like
Reactions: ismu

    ismu

    Points: 2
    Helpful Answer Positive Rating
If each pulse is lasting for 5 ms, then you will get have 200 pulses per sec. That makes about 100 steps (or, is that 50) per sec. Each step is 1.8deg (please verify!) and that makes 90deg per sec. That is about 15 rpm. Something is wrong (I do not know)- please check.

As per the diagram each pulse appears to be about 10 ms. In this time, the current in the coils have come to the steady value. You can certainly increase the pulse frequency and increase the pulse duration. It should rotate faster. If it does not, the voltage need to be increased to the full 12V as per the rating.

For steady acceleration without missing a step: start with a low pulse frequency and low pulse width. Increase the pulse frequency and the the width but make sure that the pulse sequence diagram is correct (no pulse cross over).


if 5ms per pulse [5ms per 1.8Deg] ie so totaly 200pulse /sec ie 200pulse means one complete revolution [380/1.8=200pulse]

So 200pulse /Sec means one revolution per sec that means 60 Revolution per Minute [RPM]] is coming when pulse rate is 5ms , it is not 15RPM please verify [for making 1.8degree change one pulse is enough no need 4 sequance pulse and with one complete sequance[4 pulse] it will reach 1.8x4 Degree].
 

Now you can also try half-stepping, this will not need PWM. With a different pulse sequence, you will get half stepping and please make sure that the program is working fine.

You stick a small pointer (like a clock hand) onto the shaft and you will be able to measure visually with a slow pulse rate the stepping size effect.
 
  • Like
Reactions: ismu

    ismu

    Points: 2
    Helpful Answer Positive Rating
Status
Not open for further replies.

Similar threads

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top