Continue to Site

Welcome to our site!

Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

  • Welcome to our site! Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

Torque of stepper motor- different user

Status
Not open for further replies.

Kappa707

New Member
Hi-
After reading the thread here:
https://www.electro-tech-online.com/threads/function-modules.21839/

and checking holding torque...(by feeling with my hand)
There is not enough.
I am using stepper model #155432
Detent (holding) torque: 220 g-cm how does this translate to how much weight I need to move- application is to move 2 pounds on the shaft.
https://www.jameco.com/webapp/wcs/s...toreId=10001&catalogId=10001&productId=155432

And driver ULN2003A
https://www.chipcatalog.com/Datasheet/BF9F0B98CCAD47B5A194F50D062D8A3F.htm

It is using 12V (supply) and controlled by PIC16C711.
I'm pretty sure I have the correct sequence in the code but the torque feels really low for 12V.
It also chatters.

I'm totally new at this - any advice is appreciated.
Thanks-
Kappa
 

Attachments

  • stepper_circuit2.sch
    135.7 KB · Views: 148
If memory serves correctly 220 grams is about a half a pound. The holding torque will hold that half pound at a distance of 1 cm from the center of the shaft. To hold 2 lbs you'd need a shaft that measures 0.5cm in diameter(.025 cm radius).

I think this motor is vastly undersized.

I see that the coil current is 400 mA. You're going to need a beefier motor for your application.
 
Detent torque is different from holding torque. Detent torque is caused by the permanent magnets holding the rotor in place because of the protrusions in the poles. Holding torque is produced by the current through the coils while the motor is stationary. It is measured while applying power to the motor and while it is stationary.

If you download the motor's datasheet, the detent torque is less than 220 g-cm while the holding torque is 2000 g-cm.

If you use a 1-cm radius pulley, you can generate a maximum of 2kg force. If you need more force, you may have to use a leadscrew to get a better mechanical advantage.

Here are a few excel spreadsheets, I googled to calculate the force from a lead screw:

**broken link removed**
 
I don't think he could turn a shaft with that much torque. Are you sure you did this experiment with the power on?
 
Hi-
Yeah I tried moving the motor with the power on in the opposite direction it was originally moving and I could easily move it. I've connected to the motor to a lazy using a belt. Once everything is connected the motor starts to chatter. Maybe the belt is too tight?? Not really sure. If you guys to could look at my code and let me know if there's any problem with the sequence i'm giving that would be appreciated!

-Thanks
Kappa707
Code:
if (!input (pin_A4)) // look at motion sensor1
     { cw = 1; // set flag
  // Code to move 45 degrees
        for(i=0; i<15; i++){ //Counter for loop
        output_high (PIN_B3); // 0000  1000 LED cw on
        output_high (PIN_B4); // 0001  1000
        delay_ms(25);         // DELAY
        output_low (PIN_B4);  // 0000  1000
        output_high (PIN_B5); // 0010  1000   
        delay_ms(25);         // DELAY
        output_low (PIN_B5);  // 0000  1000
        output_high (PIN_B6); // 0100  1000
        delay_ms(25);         // DELAY
        output_low (PIN_B6);  // 0000  1000
        output_high (PIN_B7); // 1000  1000
        delay_ms(25);         // DELAY
        output_low (PIN_B7);  // 0000  1000
        output_low (PIN_B3);  // 0000  0000 LED cw off
        }
        do{
           delay_ms(3000); //Stay
        }
        while (!input(pin_A4)); //Look at sensor1
        for(i=0; i<15; i++){ // go home
        output_high (PIN_B3); // 0000 1000 LED cw on
        output_high (PIN_B7); // 1000 1000
        delay_ms(25);         // DELAY
        output_low (PIN_B7);  // 0000 1000
        output_high(PIN_B6);  // 0100 1000
        delay_ms(25);         // DELAY 
        output_low (PIN_B6);  // 0000 1000
        output_high (PIN_B5); // 0010 1000
        delay_ms(25);         // DELAY
        output_low (PIN_B5);  // 0000 1000
        output_high (PIN_B4); // 0001 0000
        delay_ms(25);
        output_low (PIN_B4);  // 0000 1000
        output_low (PIN_B3); //  0000 0000 LED cw off
        } // End for
    } // End if for cw
 
There are corrections in the code. Current must be continuously flowing to the motor even if it is stopped. The motor could get hot but that is normal.

Code:
if (!input (pin_A4)) // look at motion sensor1 
     { cw = 1; // set flag 
  // Code to move 45 degrees 
        output_high (PIN_B3); // 0000  1000 LED cw on 
        for(i=0; i<15; i++){ //Counter for loop 
        output_low (PIN_B7);  // 0000  1000
        output_high (PIN_B4); // 0001  1000 
        delay_ms(25);         // DELAY 
        output_low (PIN_B4);  // 0000  1000 
        output_high (PIN_B5); // 0010  1000    
        delay_ms(25);         // DELAY 
        output_low (PIN_B5);  // 0000  1000 
        output_high (PIN_B6); // 0100  1000 
        delay_ms(25);         // DELAY 
        output_low (PIN_B6);  // 0000  1000 
        output_high (PIN_B7); // 1000  1000 
        delay_ms(25);         // DELAY 
        } 
        output_low (PIN_B3);  // 0000  0000 LED cw off 
        do{ 
           delay_ms(3000); //Stay 
        } 
        while (!input(pin_A4)); //Look at sensor1 

        output_high (PIN_B3); // 0000 1000 LED cw on 
        for(i=0; i<15; i++){ // go home 
        output_low (PIN_B4);  // 0000 1000  
        output_high (PIN_B7); // 1000 1000 
        delay_ms(25);         // DELAY 
        output_low (PIN_B7);  // 0000 1000 
        output_high(PIN_B6);  // 0100 1000 
        delay_ms(25);         // DELAY 
        output_low (PIN_B6);  // 0000 1000 
        output_high (PIN_B5); // 0010 1000 
        delay_ms(25);         // DELAY 
        output_low (PIN_B5);  // 0000 1000 
        output_high (PIN_B4); // 0001 0000 
        delay_ms(25); 
        } // End for 
        output_low (PIN_B3); //  0000 0000 LED cw off 
    } // End if for cw

Secondly, make sure the wiring connections are as follows:

PIN_B4 => driver => BROWN
PIN_B5 => driver => RED
PIN_B6 => driver => YELLOW
PIN_B7 => driver => BLUE

Yeah I tried moving the motor with the power on in the opposite direction it was originally moving

You should test the holding torque while 0.4Amps is flowing through both coils (i.e. through 1/2 of each coil) and while the motor is stationary.

You should also try disconnecting the 12V supply from the common pin (pin#9) of the ULN2003A.
 
Chattering sure sounds like you have found a resonance. Resonance can be either electrical or mechanical. At these points with current being switched on and off at some rate the torque drops abruptly to zero. You need to ramp the velocity(switching of the coils) up and down to get through the resonance points.

A typical mechanical resonance might occur at 200-300Hz. The electrical resonance will be higher at maybe 1000-1500Hz. The mechanical resonance will change with the addition of inertia(load), or frictional damping. The electrical resonance is pretty much fixed. There is also a top speed where the the torque just goes close to zero without there being a resonance at that point. This typically occurs at 4000-6000 Hz.

These numbers are just rules of thumb. Each electromechanical system will have different properties.

Hope this helps
 
stepper help

We have experimented with everything. The stepper works smoothly with no load but once the load is put on the stepper starts to chatter. The load we put on was about 50 grams or more. Can u guys recommend a unipolar stepper that would have enough torque to handle two pounds and a driver that handle the stepper. That would be greatly appreciated!
-Thanks :D
 
Listen to me very carefully, and answer the following questions.

1. What speed are you trying to run the motor at in steps per second please.
2. Did you ramp the velocity up to that speed and back down to zero?

If not, then it really doesnt matter what kind of a motor you get, you will keep running into the same problem. The more inertia you put on the shaft the lower the mechanical resonance will be.
 
Status
Not open for further replies.

Latest threads

Back
Top