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.

PID Control - feedforward

Status
Not open for further replies.

haku87

New Member
Hi, I am a newbie doing a robotics project for my final year project.. Some queries regarding PID control. Have any heard of feedforward control in PID Motor Control Software Loop using microcontroller. How to implement it and how does it improve our PID loop?

How do you determine a Motor Settling Time and Gain with a motor? From datasheet? Eg. 2224 6V Motor.
 
You say you are a newbie, but you are in your final year? Maybe you should have chosen a final project that you weren't a newbie at. Don't ask us to do your homework for you. If you were paying attention in class and reading your text books you should be able to figure out all this stuff. It's called applying what you know.
 
Last edited:
I think that is some misunderstanding..

Er.. Ya.. I am a newbie in robotics as in I only started research for six months. I have already done some research on it and program out the PID software loop. However, when I search on the net and library, I found out that there is something know as feed foward loop. I don't understand how it work and yet I cannot find much information on it. It is an enhancement to PID Motor Control.

As for the settling time and gain, I was wondering how to determine them as I have a motor but I did not know how to determine settling time as in how to plot the response graph.

By the way, my final year project is on robotics and there was only one lecture to brief us what PID is all about. Most of the research is done by us. I was not asking you all to help me do my homework. It is just that if you could provide some helps or reference on feed forward loop work and how implementation can be done.

To add on to what you say, I was trying to apply what I have learnt in my module. That why I am asking for help as in how to determine settling time and gain as it is needed for analysis. What I have learnt is those theortical things. I did not know how they get the response and how the graph are plot. In my module, all those graph are given.

Thanks.
 
Last edited:
I've never heard of feedforward loops being used anywhere yet (but I am just entering final year). For PID, I have only heard of feedback loops. I have not seen feedforward loops used because they make the system unstable easily.

Maybe this will help you get some more idea. You will probably only find the math in a textbook though. It is Wikipedia so don't trust it blindly.

https://en.wikipedia.org/wiki/Feed-forward

I found this though which should help you a lot. But I don't understand it all myself.
**broken link removed**
 
Last edited:
Ok.. Thanks.

I also don't get what it mean there.. I have found also find some links on feed forward but I don't really get the idea how it works but it showed how to implement. If you don't mind, could you take a look and explain to me briefly what it meant? http://abrobotics.com.. go to PID Single Motor Control.

From what I know, feed forward loop would not affect the stability of feedback loop.

Thanks in advance.
 
You are going to have to point to a specific article in the website. (Remember that you probably know more than I do).

THat is a really good website though, and is really helpful for me. I must thank you for that.
 
Ok..

In specific, refer to **broken link removed**
On the bottom, they mention about feed forward loop. Er.. How did u determine a motor settling time and gain?
 
In the article it's done by trial and error and experimentally measuring the values.
 
Google for generic questions

Sory I can't believe what you say. Do search the web.

Even if you don't understand Spanish, read below:

Resultados 1 - 10 de aproximadamente 106.000 de feedforward loop PID. (0,29 segundos)

Got it just one minute ago!
 
haku87 said:
Hi, I am a newbie doing a robotics project for my final year project.. Some queries regarding PID control. Have any heard of feedforward control in PID Motor Control Software Loop using microcontroller. How to implement it and how does it improve our PID loop?

How do you determine a Motor Settling Time and Gain with a motor? From datasheet? Eg. 2224 6V Motor.

Feed Forward loop is implemented in any system to compensate for the known variations
For Example - (which I have used) - In case when we control current of solenoid by PWM, the current will vary for particular duty depending on the supply voltage, so we measure and compensate for supply voltage variations through feedforwad control in the feedback loop of the solenoid current control) I guess same can be applied for motors

To determine settling time or gain,
Calculations - find the transfer function of motor and solve it for step response
Experimentally - Apply a step input to the motor and observe it response to the same
 
In DC-DC converters, the term feedforward refers to monitoring the input rail and adjusting the peak-to-peak amplitude of the oscillator so that the gain of the modulator remains constant. Perhaps the same could be used for the motor control. Under heavy loading, the input rail is likely to dip. It would be guaranteed to get lower and lower if the system was run on a battery.
 
Yes..

atferrari : I knew there are alot of result on feed forward loop. But now, I am trying to implement in software loop. There isn't much help on it. As I am only a newbie, there is a certain limit to what I can understand. I am final year in polytechnic not in University. Please understand.

instruite : I knew experimentally. But how? I using a PWM to send in signal to turn the motor. But where should I get the waveform output from?

instruite : So you meant that feedforward loop is used to compensate the difference in voltage supply due to battery. However, how am I going to implement it? In the article, **broken link removed**, they say that feed forward loop give a faster response to the command.
So which is which

Thanks in advance
 
a feed-forward loop gives you a "faster" responce to the demand because the P-gain has just shot through the roof!!!!

For high bandwidth you want high P-gain, BUT this comes at the price of instability AND steady-state errors



Feed-forward gain use to always be used, but that was EARLY electronics for radio transmitters when the amplification & bandwidth was very low, thus feeding some of the input to the output was required to get and reasonable gain.
With increase gain and bandwidth with increase in tech problems started to occur, until some control person proposed the idea of feedback rather then feed-foward (he got shunned for it)

the point being he was right, feed-back gain allows for a constant gain over a wider freq-range (as opose to open-loop with declines with freq and feed-foward that is !!!)


you really do NOT want to use feed-forard! you want an example of feed-foward? OPAMP with +ve feedback... also known as a comparator with hysteresis, its ONLY usable for the two extremes of the output range NOTHING inbetween.


you want faster responce? look around yr cct, faster OPAMPS (lm7171 has silly speed) reduce RC around the place


Also do you really want "D" gain, they are good in theory and when at Uni they sounded perfect (slow the loop down as it closes to the target) BUT in practice where there is this thing called noise "D" gain gets used in ONLY one or two places, and even then it is a small percentage of the overall gain
 
haku87 said:
instruite : I knew experimentally. But how? I using a PWM to send in signal to turn the motor. But where should I get the waveform output from?

instruite : So you meant that feedforward loop is used to compensate the difference in voltage supply due to battery. However, how am I going to implement it? In the article, **broken link removed**, they say that feed forward loop give a faster response to the command.
So which is which

Thanks in advance

the output waveform for step response is the paramater you are trying to control. you have not given enough details exactly what you are trying to do so I assume you are trying to control motor current through PWM then you should apply various step inputs of duty (changing duty from one value say 0% to another 50%) try various steps and observe the response of motor current from which you will be able to determine the response time

the link you have given in this post I cannot access it please post the full link again
 
haku87

That the link.. **broken link removed**
However, they are using speed control while I am using distance control.
 
Status
Not open for further replies.

Latest threads

New Articles From Microcontroller Tips

Back
Top