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.

How to demonstrate PID control with a microcontroller?

Status
Not open for further replies.

nuwands

Newbie level 6
Newbie level 6
Joined
Jul 7, 2013
Messages
12
Helped
1
Reputation
2
Reaction score
1
Trophy points
3
Location
Matara, Sri Lanka
Visit site
Activity points
87
Hi I'm a second year electrical engineering undergraduate and I am hoping to demonstrate PID controlling (motor or temperature control)using a micro controller. Still im not quite familiar with close loop controlling. I am hoping to use a 8051 uC for this. Would I be able to do this? Is the project within my limits? Thank you for your answers.
 

Hi Nuwands

I am hoping to demonstrate PID controlling (motor or temperature control)using a micro controller.

My thoughts:

8051 is good but quite old, any chance of anything more modern?

If you need to demonstrate the assembler route, then fine, but if you could use "C" it would make the maths of the PID control more visible.

"motor or temperature", if by demonstrate you are in front or a panel or class, then you need an overall system that is fast, i.e. doesn't take hours to demonstrate, so I would tend to rule out temperature. Motor speed control could be good with a small motor and you could show the effects of a varying load with different PID settings.

Regarding not being fully familiar with closed loop control. Always stand back from the maths and the equations and think what is actually happening.

Proportional control is just that. The drive to the motor is proportional to error between desired speed and actual speed.
So there will always be an error to generate the drive voltage, hence the desired speed can never reach the actual speed.

This can be corrected by adding a correction for this offset error. The method is to integrate the error signal which progressively reduces the error to zero.

The differential term is trying to correct for step (or rate of) change in load or speed change to get to the target speed as soon as possible.

As you are aware you then need to tune the loop for the best performance in your application, which is where your project will demonstrate this.

Does that help?
 
yah it gave me tons of courage to start working...! Thank you very much pinout! Yah you are right. 8051 is too old and I decided to use Arduino and they have a PID library. So then i will use C. do u thnk its a good idea ?
 

Yes, I think the Arduino is a better choice. It also has its own very active forum for specific help on the whole package.
 
Status
Not open for further replies.

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top