Exercise 6: Control and Simulation in LabVIEW

advertisement
EE4107 -­β€ Cybernetics Advanced Exercise 6: Control and Simulation in LabVIEW In this task you will learn how to use the Simulation palette in LabVIEW. You need the “LabVIEW Control Design and Simulation Module” for this Task. Below we see the Simulation palette in LabVIEW: The foundation for the simulations is the “Control & Simulation Loop”, which is located in the upper left corner in the “Simulation” palette. The Control & Simulation Loop is very similar to an ordinary “While loop”, but it has built-­β€in features and is optimized for simulation purposes. It is recommended that you watch the video “Simulation Palette Overview” (about 15 minutes) by Finn Haugen before you start with the exercises. Example: Given the following dynamic system (differential equation): π‘₯ = −π‘Žπ‘₯ + 𝑏𝑒 The block diagram for this equation is as follows: Faculty of Technology, Postboks 203, Kjølnes ring 56, N-3901 Porsgrunn, Norway. Tel: +47 35 57 50 00 Fax: +47 35 57 54 01
2 LabVIEW Implementation: We can easily implement this block diagram and plot the results in LabVIEW: Let’s set π‘Ž = 0.25 and 𝑏 = 2. When we run the simulation, we get the following results: EE4107 -­β€ Cybernetics Advanced 3 Simulation Parameters: In the example the following simulation parameters are used (right-­β€click on the Simulation Loop border and select “Configure Simulation parameters…”): Transfer Function: We can also find the transfer function for the system using Laplace: 𝑠π‘₯ 𝑠 = −π‘Žπ‘₯ 𝑠 + 𝑏𝑒(𝑠) This gives the following transfer function: 𝐻 𝑠 =
π‘₯(𝑠)
𝑏
𝑏/π‘Ž
𝐾
=
=
=
𝑒(𝑠) 𝑠 + π‘Ž 1 𝑠 + 1 𝑇𝑠 + 1
π‘Ž
This means 𝐾 = 𝑏/π‘Ž and 𝑇 = 1/π‘Ž With π‘Ž = 0.25 and 𝑏 = 2 we get: 𝐻 𝑠 =
π‘₯(𝑠)
8
=
𝑒(𝑠) 4𝑠 + 1
From the plot above we see that this is correct (𝐾 = 8 and 𝑇 = 𝑇!" = 4𝑠). In the “Continuous Linear Systems” palette in LabVIEW we have a block for defining a transfer function: EE4107 -­β€ Cybernetics Advanced 4 Then we can easily use the transfer function block instead: This gives the same results: Note! The order of the coefficients are different in LabVIEW and MathScript. We define a transfer function in LabVIEW like this: EE4107 -­β€ Cybernetics Advanced 5 Try with different values for π‘Ž and 𝑏 and see what’s happen – are the results according to the theory for 1.order transfer functions? Task 1: Bacteria Simulation In this task we will use LabVIEW and the LabVIEW Control Design and Simulation Module to simulate a simple model of a bacteria population in a jar. The mathematical model for the bacteria population is as follows: birth rate=bx death rate = px2 Then the total rate of change of bacteria population is: 𝒙 = 𝒃𝒙 − π’‘π’™πŸ Set b=1/hour and p=0.5 bacteria-­β€hour We will simulate the number of bacteria in the jar after 1 hour, assuming that initially there are 100 bacteria present. Task 1.1 Draw Block Diagram for the system using “pen and paper”. Task 1.2 Simulate the system in LabVIEW, where you follow these steps: 1. Start LabVIEW and use the Control and Simulation Loop from Control Design and Simulation Palette in LabVIEW 2. Drag in the necessary Blocks from the palette (including the plot). 3. Use the “Connection Wire” from the Tools palette and draw the necessary wires. 4. Configure Simulation Parameters (right-­β€click on the Control and Simulation Loop border) EE4107 -­β€ Cybernetics Advanced 6 5. Start the Simulation. The Simulation result should be present in a plot. Task 2: Spring-­β€mass damper system Use “LabVIEW Control Design and Simulation Module” and the “Control and Simulation Loop” in order to create a simulation of a spring-­β€mass damper system. The differential equation for the system is as follows: π‘₯=
1
(𝐹 − 𝑐π‘₯ − π‘˜π‘₯) π‘š
Where. 𝐹 is an external force applied to the system 𝑐 is the damping constant of the spring π‘˜ is the stiffness of the spring π‘š is a mass π‘₯ is the position of the mass π‘₯ is the first derivative of the position, which equals the velocity of the mass π‘₯ is the second derivative of the position, which equals the acceleration of the mass Task 2.1 Draw Block Diagram for the system using “pen and paper”. Task 2.2 Implement and simulate the system in LabVIEW. Simulate and plot the position (π‘₯), the velocity (π‘₯), and the acceleration (π‘₯) in 3 different plots. EE4107 -­β€ Cybernetics Advanced 7 In the simulations you may set 𝐹 = −9.8, π‘š = 1, 𝑐 = 1 π‘Žπ‘›π‘‘ π‘˜ = 100 Then try to set π‘š = 10 and see the difference. Try also different values for 𝑐 and π‘˜ and see what happens. Try to explain the results. Task 3: PID Control In this task you will use the example “General PID Simulator.vi” as a base for your simulation. Use the “NI Example Finder” (Help → Find Examples… in the LabVIEW menu) in order to find the VI in LabVIEW. Task 3.1 Run the example and see how it is implemented and how it works. Task 3.2 Replace the function “PID.vi” with the more advanced function “PID Advance.vi” instead. Note! Make sure to save it with another name! You find all the PID functions in the PID palette: EE4107 -­β€ Cybernetics Advanced 8 Task 3.3 Change 𝑇! and 𝑇! so the unit is seconds instead of minutes on your Front Panel (User Interface). The functions “PID.vi” and “PID Advanced.vi” requires that 𝑇! and 𝑇! is in minutes, while it’s normal to use seconds as the unit for these parameters. You can use the following piece of code in order to transform them: Run simulations and find proper values for 𝐾! 𝑇! and 𝑇! . Additional Resources Basic LabVIEW programming: •
•
Tutorial: Introduction to LabVIEW: http://home.hit.no/~hansha/?tutorial=labview LabVIEW Starter: http://home.hit.no/~hansha/training/labview/starter Control and Simulation: •
http://home.hit.no/~hansha/?lab=control_simulation Here you will find additional tasks, tutorials and other resources. Videos: •
Simulation Palette Overview (about 15 minutes) by Finn Haugen. EE4107 -­β€ Cybernetics Advanced 
Download