Keep constant velocity while the motor load changes over time

Discussion in 'General Electronics Chat' started by Paul24, Dec 20, 2012.

  1. Paul24

    Thread Starter New Member

    Nov 1, 2012
    7
    0
    Hello!

    For my project I have to control a dcmotor with constant velocity (although the resistance it gets from the device attached to the motor changes over time).

    In the program that I use to control the motorcontroller I can input the steadystate frequency. I dont really get what this means.
    http://www.interface.co.jp/catalog/prdchelp/linux/gph7400/help.pdf
    page 169 of manual (fSpeed)

    Does this mean pulse frequency? And has this anything to do with the speed at which the motor will rotate? And has this anything to do with Pulse-Width Modulation (PWM)?
    And one more question; I understand the principle of PWM, but can this still give a constant output when the load of the motor changes?

    Thanks a lot in advance!
     
  2. WBahn

    Moderator

    Mar 31, 2012
    17,788
    4,808
    Do you have any kind of a motor speed feedback signal coming into your microcontroller? If so, then you should look at implementing a PID (or an acceptable subset) controller.

    Also, don't make people download 200 page documents in order to see a quarter of a page. And saying that you 'don't really get what this means" tells us nothing. WHAT don't you get?
     
  3. Paul24

    Thread Starter New Member

    Nov 1, 2012
    7
    0
    I see your point, in order not to download 200 pages, the definition:
    "fSpeed Specifies or retrieves a steady-state fequency in the range of 0.073 Hz to 6553500
    Hz."
    I do have an encoder signal which comes back into the motor driver.
    What I dont get/what I want to know (besides my other questions):
    How will the motoroutput change if I change this steady-state frequency?
     
  4. WBahn

    Moderator

    Mar 31, 2012
    17,788
    4,808
    You need to provide a bit more info. For instance, the "steady-state frequency" refers to what? Two obvious possibilities are the fundamental frequency of the PWM output or the target frequency of the encoder feedback. You need to describe those things to us, don't expect us to dig through a bunch of documentation in order to figure out stuff like that. It's very possible that just trying to figure out how to describe that stuff to us you will figure out the answer to your own question -- similar things happen to me all the time.
     
  5. Paul24

    Thread Starter New Member

    Nov 1, 2012
    7
    0
    That is exactly what I dont know, where the steady-state frequency refers to. I just know that it is a parameter I can put in the program.
    I dont know what kind of signal is given from the motioncontroller to the motordriver. If it is a PWM signal than the parameter could refer to the frequency for PWM. But than I would think that even PW can be determined in a parameter somewhere, and that is not the case. So what I think now:
    the motioncontroller sends not a PWM signal but another kind of control signal to the motor driver, than the motordriver changes this to a PWM signal. A higher frequency output of the motioncontroller will cause a larger pulse width output of the motorcontroller.
    Could it work in this way?
     
  6. tshuck

    Well-Known Member

    Oct 18, 2012
    3,531
    675
    PWM works because it is a constant frequency. You don't change the PWM frequency when trying to control the speed of a motor. The advantage of PWM is that you change the pulse width that is sent to the motor driver.

    But, to know if your controller is, or should, output a PWM signal, we'd need to know how you are driving the motor. Are you using a H-bridge or a transistor driver? Also, is it safe to assume you are using a brushed DC motor?

    Which board are you using? Look at page 186 for the frequency information. It would appear that the steady-state frequency is referring to the rotational speed of the motor shaft.
     
  7. Paul24

    Thread Starter New Member

    Nov 1, 2012
    7
    0
    Yes it is a brushed DC motor (no idea about H-bridge/transistordriver) and actually I found the answers on the questions I had.
    Steadystate frequency will control the speed of the motor. Higher frequency -> more pulses/second -> faster. The motordriver will do PWM with this signal. A higher frequency pulse input of the motioncontroller will cause a larger pulse width output of the motordriver. Than the motordriver has an internal feedback system with encoder, to adjust the Pulsewidth in order to follow the set steadystatefrequency.
    Thanks for helping.
     
Loading...