Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

[Moved] Implementation of PID controller in verilog.......

Status
Not open for further replies.

Vimalab

Banned
Joined
Oct 1, 2014
Messages
12
Helped
0
Reputation
0
Reaction score
0
Trophy points
1
Activity points
0
I want to implement PID controller in verilog?

How to calculate proportional, integral and differentiation gains and what will be the approach for this??
 

Regardless if you are using verilog or any other language, the gains are a function of your system dynamics.
 

The approach requires transfer function of system and analysis in frequency domain with BODE analysis or Root Locus. Then gains can be computed and entered. If system is dynamic changing load, then a smart sweep in startup and step function test can be used to optimize stability on startup. But temperature rise in magnetics or variation of magnet strength may alter gain of PID loop for example, so this requires compensation.
 

The approach requires transfer function of system and analysis in frequency domain with BODE analysis or Root Locus. Then gains can be computed and entered. If system is dynamic changing load, then a smart sweep in startup and step function test can be used to optimize stability on startup. But temperature rise in magnetics or variation of magnet strength may alter gain of PID loop for example, so this requires compensation.

Not necessarily.

By monitoring the response of the system, you can determine whether there is acceptable overshoot/response time, etc. Then you can tune the system using any number of methodologies, for example: Good Gain, Zeigler-Nichols, Cohen-Coon or, my favorite, experience. You don't HAVE to know the system transfer function, and in many cases it's impossible to know.
 

Not necessarily.

By monitoring the response of the system, you can determine whether there is acceptable overshoot/response time, etc. Then you can tune the system using any number of methodologies, for example: Good Gain, Zeigler-Nichols, Cohen-Coon or, my favorite, experience. You don't HAVE to know the system transfer function, and in many cases it's impossible to know.

Very good, not used all those.

I recall Maxtor and Toshiba used variations of this to measure different overshoot and setting times on fast servo seek calibration with varying step and directions, as the system was non-linear . Some problems arose with drifting gain parameters from magnetic variations with temp so the rotary voice coil would under certain conditions, write data off track from excess overshoot, if the target sector was in sync with servo seek complete.... But only in one direction and only in one zone and ony some of the time. It took me 1day to prove it and 6 mos for the Corporation to get them to fix it.
 

Status
Not open for further replies.

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top