Continue to Site

Welcome to

Welcome to our site! 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.

Digital PID Controller

Not open for further replies.


Advanced Member level 4
May 17, 2002
Reaction score
Trophy points
Activity points
digital pid controller


I need help on digital PID controller design .

any help welcome.

sch,c source code,theory,ebook,test methods,...

best regards

fuzzy pid controller 8051

lpease send more specifications about the use of PID, (ex temperature control, system posistion ). I can help you, with several codes for pics microcontrollers

lots of information about general PID here:

**broken link removed**

In the subject of digital control you need know practical algorithms nad the antiwindup methods.

digital pid controller code


I hope this file can help you.


source code pid digital

I want to design a single loop digital PID controller.
input: universal analog input(mV/V/mA/RTD/THC)
output: 0-20mA,4-20mA,0-5V,1-5V,0-10V,2-10V
comm: rs485 modbus protocol
alarm: two relay
display: LED ,and bar
keypad: membrane
I do not the problems and tips of PID design,I do not need auto tuning?!!

I do not know how to solve Integral windup!
please guide me.


digital pid

designing digital pid...
well,are u familaiar with Digital Signal Processing?
if no,u can learn it very fast specially i recommend u to read the well known book writen by Alan V.oppenheim:Discrete-Time Signal Processing
designing a digital copy of an analog system like filters and controllers with feed back is described in this book chapter seven.
for start i can say followings:
1.use a sampling frequency of at least 10 times of loop B.W.,this eases the anti aliasing filter design and removes instability problem,also removes the need of inverse-sinc filter at output. is possible to use low cost 8bit UC such as 8051 and 8bit ADC and DAC but it is strictly recommende to write your program in 16bit(it is not necessary to write floating point software)to limit quantization error and instability problem.

with above guide lines it is possible to design a digital pid controller with 1khz BW and over 20khz sampling rate by a 8051 run by 12mhz xtal(~1mips)[it is assumed that code was written efficiently!]

about integrator wind up:it is abig problem in open loop integrators but when the loop is closed, it has a self limiting property and there is no overfolw danger,if it is not clear scetch theblock diagram of your pid and write tranfer function of input noise of controller to output then find steady state of output for step input to pid as a noise.


digital pid code

you can still use fuzzy logic that is more intuitive to tune...


digital pid controller design

This file talks about TuningOfFuzzyPIDControllers.

digital pid regulator

Hi all,
thanks for all the information provided here.Actually I am intrested in implimentation of fuzzy-PID using good microc. that can support this, also is it possible to implement neuro-fuzzy PID using microc. ? . any body out there can help me for this ....any ebook,good links or any good suggestion is appreciated
thanks. :)

universal fuzzy+pid controller

with f*u*z*z*y*T*e*c*h (can download the demo) you can design a fuzzy control system, simulate it, and generate the code (C code and still asm specific). It can still generate rules by samples data (this is what they call neuro fuzzy). Implementing a realtime neurofuzzy maybe is an harder game. I think there are other tools, I'm looking for them too. Anyway should be not too difficult to implement a fuzzy engine.
I have "fuz*zy lo*ic and neur*ofuzzy" by V*on Alt*rock and this is not a good stuff... very basic and without detailed examples.

Re: digital pid controller

i have the code of digital, if u want that pls reply quick.

Re: digital pid controller


I read your post. I am using a Cypress Psoc 5 MCU with SOC. I am trying to set upa three mode controller. A long long time ago I designed athree mode controller based on analog logic. But I am having a mental block for digital. Do you have the code for a Digital PID controler. I am trying to control air flow.

Re: digital pid controller

A simple attack on PID can be used with this formula.
49*E1 + 70*E2 - 25*E3
You will need to tweak the gain to suit the application.

I have used this numerous times from motor speed control to temperature control and it works a treat.

Thank you for sending the equation. Can you explaine how the the voltage inputs are used. I use a PID with a differential amp as the input. Then I perform my integration and differentiation.



Thank you for sending the equation. Can you explaine how the the voltage inputs are used. I use a PID with a differential amp as the input. Then I perform my integration and differentiation.



Just calculate the errors from the input voltage and the required voltage.
Shift the errors down each loop of your software.
  • Like
Reactions: m.tork


    Points: 2
    Helpful Answer Positive Rating
Thank you very much. In my analog circuit I took a differential amp. Set a setpoit. Took the feedback signal from the device under control. Fed this signal to the other side of the differential. When both signals were equal. Then the PID was at optimal. I used an integrater to remove the error. I forgot:-D:-D what my third amp was used for? Thanks for the feedback.

Thank You,


Not open for further replies.

Part and Inventory Search

Welcome to