Jump to content

PID control VI


alexb

Recommended Posts

hey guys,

I need your help. I'm working on a project - level control in a tank with water.

I suppose to control the level of the water , for example - the user can choose the height he wants the water to fill the tank , and a pump starts to pour water into the tank.

I work with the PID VI. The user can choose how to control the water with the controllers - P , Pi , Pd or the combined PID.

For example , the P control works like the equation m=P*e

m - stands for the strengh of the water pumping

e - stands for the error - difference between the height I want , and the height found in the tank.

p - is a constant

As bigger the difference between the wanted height and the found height , as stronger the strengh of the pumping.

While the tank is being filled , the pumping suppose to get wicker until it stops.

This algorithm that I wrote shows :

The user chooses the set point - the height he wants.

The DAQ measures the height - (height * 100) / wanted height --> gives us the error.

But , while the tank is being filled , and the error is getting smaller , the pumping strengh stays the same.

P.S

I didn't use the entrance that called Process Variable in the PID VI. That's where I suppose to attach the "error". But when I do that the pump stops working.

Please help I don't know what to do... : (

It's my final project and I'm desperate.

post-16441-125370688805_thumb.jpg

post-16441-12537069038_thumb.jpg

post-16441-12537069226_thumb.jpg

Link to comment

I didn't use the entrance that called Process Variable in the PID VI. That's where I suppose to attach the "error". But when I do that the pump stops working.

You haven't understood how PID works at all. You MUST use the Process Variable input; in your case it's the measured height of liquid in the tank. The PID VI calculates the error internally by finding the difference between the Process Variable and the Setpoint.

Link to comment

You haven't understood how PID works at all. You MUST use the Process Variable input; in your case it's the measured height of liquid in the tank. The PID VI calculates the error internally by finding the difference between the Process Variable and the Setpoint.

I understand that , but when I use this input. The Pump stops working.

I shows that the pump works on -2 volts. Very weird.

Is there something that I'm missing ? maybe I suppose to inverse the input in the Pump when I work with the PID VI ?

Link to comment

Try converting all inputs (level) and outputs pump speed to %, there are egu to % and % to egu vi's for this purpose.

also make sure you understand if you are forward or reverse acting. In other words, what is ther relationshiop between input and output. If it is reverse acting then make you PID k gain negative.

Link to comment

Try converting all inputs (level) and outputs pump speed to %, there are egu to % and % to egu vi's for this purpose.

also make sure you understand if you are forward or reverse acting. In other words, what is ther relationshiop between input and output. If it is reverse acting then make you PID k gain negative.

where can I download vi's such the one u've mentioned ?

Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.