My Math Forum Nonlinear control loop

 Computer Science Computer Science Forum

 April 11th, 2016, 04:35 AM #1 Senior Member   Joined: Apr 2014 From: UK Posts: 921 Thanks: 331 Nonlinear control loop I've designed a nonlinear control strategy which I can only describe as a PID control, with only the I component, which is non-linear. I am struggling to define the function in a meaningful way and need some help The design is actually implemented in a FPGA, but a 'normal' software model would work as well. What I have is an error signal, simply the magnitude of 'Achieved' - 'Demand' (the magnitude part is important, the direction the control moves is handled separately). I clamp this to sensible limits (similar to limiting the excursion in op-amp electronic control). So far, so simple. Now I take this error and add an offset which I call Max_Rate (you will see why in a moment, hopefully). Now I subtract from it the maximum excursion value for the error. This gives me a variable whos' equation is: Max_Excursion - Min(Max_Excursion, Error) + Max_Rate As the error increases, the value of the variable tends towards Max_Rate, for small errors the the variable tends to Max_Excursion + Max_Rate Now here's the fun part: I use this variable as the timing value for a counter. Huh? Yeah, bare with me.... For large errors, the variable for the timer tends to Max_Rate, If this is the number of milliseconds between counts then we have a counter changing value at 1000/Max_Rate For small errors, the rate of change tends to 1000/(Max_Excursion + Max_Rate) So, for small error, the rate of change in control is small, big errors and we have a bigger rate of change. If we plot Error vs Rate of change in the control, we get a curve which I think is some form of 1/x (with a y limit), but I'm not sure how to prove it. If anyone can help untangle the mess I've made of this, I'd be grateful And yes, the control does work Thanks from Joppy
 April 12th, 2016, 01:42 AM #2 Senior Member   Joined: Apr 2014 From: UK Posts: 921 Thanks: 331 Here's a graph showing the rate of change, Max_Rate of 10, Max_Excursion of 200 and a Demand of 500. The X-axis is the Achieved (not labled), Y is the rate of change. As the achieved approaches the target demand, the rate of increase to the control decreases. I standard 'I' control would be a straight diagonal line through 500 on the X-axis. There could be oscillation around the crossover point, but this isn't a problem as it's a minute amount, and is down in the noise when it it hits the real world in the intended application.

 Tags control, loop, nonlinear

 Thread Tools Display Modes Linear Mode

 Similar Threads Thread Thread Starter Forum Replies Last Post HawkI Geometry 14 March 10th, 2016 05:51 AM How_Rude Number Theory 7 May 15th, 2012 02:23 AM daemonlies Computer Science 6 January 13th, 2012 07:28 PM daemonlies Applied Math 0 December 31st, 1969 04:00 PM daemonlies Applied Math 3 December 31st, 1969 04:00 PM

 Contact - Home - Forums - Cryptocurrency Forum - Top