Controlling torque of DC Brushed Motor

Posted on 2011-05-04
Last Modified: 2012-05-11

I have a trouble here and I'm almost sure that what I want to do is impossible.
But to be 100% sure I want to ask all you about your opinions.

I have a DC Brushed motor with permanent magnets.
A very common motor like Fig1.

(Just a pic. from internet, not the real one)

Note: I don't have motor datasheet because I don't know motor model or brand.
But it's like Mabuchi's motors.

I made a H Bridge circuit with PWM to control SPEED and DIRECTION of rotation.

Now I need to implement a torque correction.

When loading the motor, the PWM threshold must increase to keep torque constant.

I did this before using sensors like Hall sensors and optical encoders.
The feedback from Hall/Optic. Encoder tells me when the motor reachs the desired speed meaning that torque is enough for the load applied.

But now I need to do this correction without any sensor attached to the motor.

To do this, first I added a shunt resistor to measure the motor current.
But I need another parameter to determinate the correction behavior.

With the shunt, I can detect if the motor is loaded. The current will rise and based on this I need to increase PWM Threshold in order to increase motor torque, keeping torque constant with load variation. The problem is that when the voltage increases, to correct the torque loss due to the load, the current also increases. And as the current is my feedback about load, that condition cause an infinite grow of voltage because I'm unable to detect when I need to stop increasing motor voltage. Also I can't measure motor speed that is a perfect reference for this correction circuit.

Someone have any idea about how to do this torque control without sensors attached to motor ?

I think that is not possible due the math and physics rules as I described above.
But if some technique to catch motor commutation just by power supply wire is possible then I would be able to measure motor speed solving the problem.

The big question is:

How to measure DC Brushed Permanent Magnet Motor speed by power supply signal ?

Any ideas ?

Thank you all in advance.
Question by:giovaniluigi
    LVL 26

    Expert Comment

    There are several additional things to look at:

    You may be able to tell the motor speed by looking at the glitch frequency.
    Every time the brushes make or break, you get a glitch.

    And you can also look at power balance:

    Electrical Power into the motor is V*I

    This power goes into heating the windings:  I²*R

    and into friction and mechanical work.

    The rotary power of the motor is  proportional to   Torque * RPM

    Motor equations are here:

    You should also check out Back EMF.  I understood it once a long time ago.
    LVL 26

    Expert Comment

    This is seems very relevant:

         Back-EMF refers to using the voltage generated by a spinning motor (EMF)
         to conclude the speed of the motor's rotation.


    Author Comment


    I think the better way is going by BEMF.

    But, as I have PWM into motor windings, I need to read the BEMF just when the H BRIDGE is with both lowside transistors "ON" and both highside transistors "OFF".

    Now this is another problem.

    When the motor is running this condition will never happens.
    This is what I understood by some files and pages that I found on internet and by your links
    LVL 26

    Accepted Solution

    What are you trying to do with the motor and what tools do you have?
    And what is your budget.

    Are you trying to make an analog controller or do you have a µC available?

    You may be able to calibrate the motor:

        A constant PWM and current correspond to a fixed RPM and loading.
        Build that data table.

        At any time you know the applied PWM (voltage) and you can measure
        current I and dI/dt.  

    Can't you measure Back EMF when the H-bridge is off with something like
    an INA117?


    Author Comment

    All this, is because I have a friend with a lot of machines that have no control.
    Those machines have just a motor connected to a transformer. And... That's all.

    I want to implement a torque correction to all of those machines.

    I did a circuit with a uC PIC controlling the bridge.

    I did the table that you mentioned before, but it doesn't worked well.
    Mostly because of measuring problems with the opamp in the shunt.
    I used a LM258.
    I filtered the signal that comes out from opamp, due to the PWM influence.
    But the PIC A/D can have some accuracy problems due to this signal.

    I will try to measure back EMF or redo the table.
    I'm not expert on eletronics.
    In analog parts, I have no experience.
    My area is computer, but I trying...
    LVL 31

    Expert Comment

    by:James Murrell
    This question has been classified as abandoned and is closed as part of the Cleanup Program. See the recommendation for more details.

    Featured Post

    Live: Real-Time Solutions, Start Here

    Receive instant 1:1 support from technology experts, using our real-time conversation and whiteboard interface. Your first 5 minutes are always free.

    Join & Write a Comment

    Stuck in voice control mode on your Amazon Firestick?  Here is how to turn it off!!!
    Digital marketing agencies have encountered both the opportunities and difficulties that emerge from working with a wide-ranging organizations.
    Notifications on Experts Exchange help you keep track of your activity and updates in one place. Watch this video to learn how to use them on the site to quickly access the content that matters to you.
    Articles on a wide range of technology and professional topics are available on Experts Exchange. These resources are written by members, for members, and can be written about any topic you feel passionate about. Learn how to best write an article t…

    754 members asked questions and received personalized solutions in the past 7 days.

    Join the community of 500,000 technology professionals and ask your questions.

    Join & Ask a Question

    Need Help in Real-Time?

    Connect with top rated Experts

    22 Experts available now in Live!

    Get 1:1 Help Now