Difference between revisions of "Single-Board-Heater-System/C2/Implementing-Proportional-Controller-on-SBHS-remotely/English-timed"

From Script | Spoken-Tutorial
Jump to: navigation, search
Line 85: Line 85:
 
|-
 
|-
 
|  02:09
 
|  02:09
| Here it is! The file downloaded will be in '''zip''' format.
+
| Here it is! The file downloaded will be in a '''zip''' format.
  
 
|-
 
|-
Line 109: Line 109:
 
|-
 
|-
 
|  02:36
 
|  02:36
|'''Copy-paste''' the data file generated earlier inside '''Kp tau order1 '''folder.
+
|'''Copy-paste''' the data file generated earlier inside the '''Kp tau order1 '''folder.
  
 
|-
 
|-
Line 121: Line 121:
 
|-
 
|-
 
|  03:02
 
|  03:02
|If it doesn't open the file, click on the '''File''' menu, then on '''Open a file.'''
+
|If it doesn't open the file, click on the '''File''' menu and then on '''Open a file.'''
  
 
|-
 
|-
Line 141: Line 141:
 
|-
 
|-
 
| 03:37
 
| 03:37
|  '''Save''' and '''execute''' this '''Scilab code'''.
+
|  '''Save''' and '''execute''' this Scilab code.
  
 
|-
 
|-
Line 149: Line 149:
 
|-
 
|-
 
|  03:48
 
|  03:48
|This plot window will show two graphs,  the '''SBHS temperature plot''' which has '''noise'''  and output of '''SBHS first order model''' which is a smooth curve.
+
|This plot window will show two graphs,  the '''SBHS temperature plot''' which has '''noise'''  and output of the '''SBHS first order model''' which is a smooth curve.
  
 
|-
 
|-
Line 157: Line 157:
 
|-
 
|-
 
|  04:12
 
|  04:12
|The value of '''time constant tau''' and '''gain Kp''' is displayed on the top.
+
|The values of '''time constant tau''' and '''gain Kp''' are displayed on the top.
  
 
|-
 
|-
Line 213: Line 213:
 
|-
 
|-
 
|  05:22
 
|  05:22
|Choose a directory where you want to '''save''' the file.
+
|Choose the directory where you want to '''save''' this file.
  
 
|-
 
|-
Line 257: Line 257:
 
|-
 
|-
 
|  06:18
 
|  06:18
|A '''tangent''' is drawn at the point of '''inflection'''.
+
|A '''tangent''' is drawn at the point of '''inflection'''
  
 
|-
 
|-
 
|  06:22
 
|  06:22
|That is, when the curve changes from '''convex''' to '''concave'''.
+
|that is, when the curve changes from '''convex''' to '''concave'''.
  
 
|-
 
|-
Line 357: Line 357:
 
|-
 
|-
 
| 08:29
 
| 08:29
|  Close '''Scilab''', if already running.
+
|  Close Scilab, if already running.
  
 
|-
 
|-
Line 377: Line 377:
 
|-
 
|-
 
|  08:56
 
|  08:56
|Change the '''exec''' command to execute '''proportional.sci''' file instead of '''steptest.sci''' file.
+
|Change the '''exec''' command to execute '''proportional.sci''' file, instead of '''steptest.sci''' file.
  
 
|-
 
|-
 
| 09:06
 
| 09:06
|Change the '''xcos''' command to execute the '''proportional.xcos''' file instead of '''steptest.xcos''' file.
+
|Change the '''xcos''' command to execute the '''proportional.xcos''' file, instead of '''steptest.xcos''' file.
  
 
|-
 
|-
Line 429: Line 429:
 
|-
 
|-
 
| 10:28
 
| 10:28
| Add '''setpoint''' in the input variable of the '''plotting function ''', inside its '''function call.'''
+
| Add '''setpoint''' in the input variable of the '''plotting''' function , inside its '''function call.'''
  
 
|-
 
|-
Line 501: Line 501:
 
|-
 
|-
 
|  11:55
 
|  11:55
|Here, there is an option to enter the '''function''' name to be called by this '''xcos''' block.
+
|Here, there is an option to enter the '''function''' name to be '''call'''ed by this '''xcos''' block.
  
 
|-
 
|-
Line 517: Line 517:
 
|-
 
|-
 
|  12:18
 
|  12:18
|'''Save''' the '''xcos''' diagram and close it.
+
|'''Save''' the ''''xcos' diagram''' and close it.
  
 
|-
 
|-
Line 533: Line 533:
 
|-
 
|-
 
| 12:32
 
| 12:32
| Login with your registered '''username''' and '''password'''. Book a '''slot'''.
+
| Login with your registered '''username''' and '''password'''. '''Book''' a '''slot'''.
  
 
|-
 
|-
Line 541: Line 541:
 
|-
 
|-
 
| 12:48
 
| 12:48
| This will open the '''SBHS''' client application.
+
| This will open the '''SBHS client application'''.
  
 
|-
 
|-
Line 565: Line 565:
 
|-
 
|-
 
|  13:25
 
|  13:25
|If the network is fine, then it will automatically open the '''xcos''' window with '''proportional controller xcos''' diagram.
+
|If the network is fine, then it will automatically open the '''xcos''' window with a '''proportional controller xcos''' diagram.
  
 
|-
 
|-
Line 593: Line 593:
 
|-
 
|-
 
|  14:16
 
|  14:16
|You can see that the '''proportional controller''' has responded to the change in '''setpoint'''.
+
|You can see that the '''proportional controller''' has responded to the change in the '''setpoint'''.
  
 
|-
 
|-
Line 617: Line 617:
 
|-
 
|-
 
| 14:56
 
| 14:56
|  Watch the video available at the following link. It summarises the Spoken Tutorial project.  
+
|  Watch the video available at the following link. It summarises the '''Spoken Tutorial''' project.  
  
 
|-
 
|-
Line 646: Line 646:
 
|  15:31
 
|  15:31
 
|More information on this mission is available at:
 
|More information on this mission is available at:
[http://spoken-tutorial.org/NMEICT-Intro ]
+
[http://spoken-tutorial.org/NMEICT-Intro]
  
 
|-
 
|-

Revision as of 17:34, 17 December 2016

Time
Narration
00:01 Welcome to the spoken tutorial on Implementing proportional controller on SBHS remotely.
00:09 In this tutorial, we will learn to: * Use Ziegler-Nichols tuning method to calculate proportional controller gain
00:18 * Modify step test code to design a proportional controller
00:22 * Implement this proportional controller on SBHS.
00:26 Ensure that Scilab is installed on your computer.
00:30 Also, ensure that you have internet connectivity before you begin with this tutorial.
00:36 I am recording this tutorial on a Windows 7, 32-bit Operating System.
00:41 As a pre-requisite, watch the tutorial on Using SBHS Virtual labs on Windows OS.
00:48 This tutorial is available on the Spoken Tutorial website.
00:53 It will teach you how to do a basic step test experiment on SBHS, remotely.
01:00 You also need to have basic knowledge of PID tuning.
01:05 You should have the step test experiment code folder available with you.
01:10 You should also have the step test experiment data file with you.
01:15 If not, then it is recommended that you re-do the step test experiment and generate a new data file.
01:23 In my machine, the data file is within the Scilab_codes_windows folder >> step test folder >> logs folder.
01:35 Here is a folder with my username and here is my data file.
01:41 Let us now download the Analysis code from the website.
01:46 Open a web browser and go to the web site: sbhs dot os hyphen hardware dot in.
01:55 On the left hand side, click on Downloads.
02:00 Download the file SBHS Analysis Code and save it on the Desktop.
02:09 Here it is! The file downloaded will be in a zip format.
02:14 Right-click and extract the contents of the zip file.
02:19 A folder named Scilab codes analysis will be created.
02:25 Open this folder.
02:27 Locate and open the folder Step Analysis.
02:32 The Step Analysis folder will have few more folders.
02:36 Copy-paste the data file generated earlier inside the Kp tau order1 folder.
02:50 Double-click on the Scilab file firstorder.
02:55 This will launch Scilab automatically and will also open the file in Scilab editor.
03:02 If it doesn't open the file, click on the File menu and then on Open a file.
03:09 Choose the file firstorder and click on Open.
03:18 Locate the variable filename and change its value to the filename of your data file.
03:27 I will copy-paste the filename to avoid spelling mistakes.
03:34 Keep the ".txt" extension.
03:37 Save and execute this Scilab code.
03:42 If the data file is not corrupted and there are no errors, a plot window will open.
03:48 This plot window will show two graphs, the SBHS temperature plot which has noise and output of the SBHS first order model which is a smooth curve.
04:05 This code basically does the job of fitting a first order transfer function using the data file.
04:12 The values of time constant tau and gain Kp are displayed on the top.
04:19 In this tutorial, we will not use the first order transfer function.
04:23 We will only use the plot of the SBHS output.
04:26 Switch to the Scilab editor.
04:29 Locate the line plot2d of t comma y underscore prediction.
04:37 We don't want the prediction output to appear on the plot.
04:41 Comment out this line by putting two forward slashes at the beginning of the line.
04:48 Save and execute the Scilab code.
04:52 Switch to the plot window.
04:54 Notice that the plot window now has only the SBHS temperature plot.
05:00 To save this image, click on the File menu.
05:04 Then choose Export to option.
05:07 Give a name to the image file. I will type sbhsplot.
05:14 Click on the drop-down menu for Files of type and choose PNG.
05:22 Choose the directory where you want to save this file.
05:27 I will choose Desktop and click on Save.
05:31 Let us open and see if the image file is created on the Desktop.
05:36 Here it is!
05:39 Close this image window.
05:42 Let me now switch to the slides.
05:45 Let us calculate the value of proportional gain using Ziegler-Nichols tuning method.
05:52 There are two tuning rules given by Ziegler-Nichols to calculate the PID parameters. These are Reaction curve method and Instability method.
06:03 We will see the Reaction curve method.
06:06 In this method, a step input is given to the system and its output is observed over a period of time.
06:13 Any practical system would respond exponentially to a step input.
06:18 A tangent is drawn at the point of inflection
06:22 that is, when the curve changes from convex to concave.
06:27 The dead time and time constant are calculated from the time axis.
06:33 This is illustrated in this figure. This is the tangent line drawn at the point of inflection .
06:41 'K' is the gain of the system,
06:45 'L' is the dead time and
06:48 'T' is the time constant.
06:50 Replicate this on the SBHS output figure which is saved on the Desktop.
06:56 I have already done this.
06:58 Let me open this file.
07:01 I have used paint brush which is a default image editing tool on Windows.
07:08 I have got the values of gain equal to 2.7, dead time equal to 1 second and time constant equal to 50 seconds.
07:18 Note that these are all approximate values.
07:22 The values depend on the accuracy with which you draw the tangent line at the inflection point.
07:30 After you get the required values, refer to the table given by Ziegler-Nichols to calculate the value of proportional gain.
07:39 For a proportional controller, we need to calculate only the value of proportional gain.
07:44 In my case, the value of proportional gain comes out to be 18.
07:50 Now, let us see how to implement the proportional controller on SBHS.
07:56 We would modify the step test code for this.
07:59 Switch to the folder where you have the step test code.
08:03 Here it is. Make a copy of this folder.
08:08 Rename this folder as proportional and open it.
08:14 Rename the stepc file to proportional.
08:19 Rename the steptest dot sci file to proportional.
08:24 Rename the steptest dot xcos file to proportional.
08:29 Close Scilab, if already running.
08:33 Double-click on the proportional dot sce file.
08:38 This should launch Scilab automatically and also open the file in Scilab editor.
08:43 If it doesn't open the file, click on the File menu, and then on Open a file.
08:50 Choose the file proportional and click on Open.
08:56 Change the exec command to execute proportional.sci file, instead of steptest.sci file.
09:06 Change the xcos command to execute the proportional.xcos file, instead of steptest.xcos file.
09:16 Save this file.
09:18 Click on the File menu and choose Open.
09:22 Select the file proportional.sci and click on Open.
09:28 Change the function name from steptest to proportional.
09:33 Delete the input variable heat from the proportional function input and type setpoint.
09:42 In the next line, type global, leave a space and then type temp and press Enter.
09:51 In the next line, type: err equal to setpoint minus temp.
10:00 Add semicolon at the end and press Enter.
10:05 In the next line, type: heat equal to 18 multiplied by err. Add a semicolon at the end.
10:17 Here, 18 is the value of the proportional gain for my SBHS.
10:22 You may change it according to what you would have calculated for your SBHS.
10:28 Add setpoint in the input variable of the plotting function , inside its function call.
10:36 To do so, add a space after temp and type setpoint.
10:43 Save this file.
10:45 Switch to the Scilab console. Type xcos and press Enter.
10:52 xcos window will open.
10:55 Close the palette window.
10:58 On the xcos untitled window, click on File menu and choose Open.
11:05 Browse to the proportional directory.
11:08 Select proportional.xcos and click on Open.
11:13 Xcos file will open.
11:15 Double-click on the label Heat input in percentage.
11:20 Delete it and type setpoint.
11:24 Click once anywhere on the xcos window to save the label.
11:29 Double-click on the step input block to open its Properties window.
11:34 Change the Initial Value to 30 and Final Value to 40.
11:40 Keep Step time as 300. Click on Ok.
11:45 Double-click on the function block. A window will appear. Click on OK.
11:53 Another window will appear.
11:55 Here, there is an option to enter the function name to be called by this xcos block.
12:02 Change the function name from step test to proportional. Click on Ok.
12:09 Another window will open.
12:11 Keep clicking on Ok three times to finish the configuration of function block.
12:18 Save the 'xcos' diagram and close it.
12:22 Close the xcos untitled window as well.
12:25 Switch to the web browser.
12:27 On the left hand side, click on Virtual labs.
12:32 Login with your registered username and password. Book a slot.
12:42 Switch to the proportional folder. Double-click on the file run.
12:48 This will open the SBHS client application.
12:53 Login with your username and password. Make sure you are logging in at the booked slot time.
13:02 Expect the message "Ready to execute Scilab code".
13:06 Switch to the Scilab console.
13:08 Type: get d space dot dot slash common files. Press Enter.
13:17 Switch to the Scilab editor. Execute the file proportional.sce.
13:25 If the network is fine, then it will automatically open the xcos window with a proportional controller xcos diagram.
13:34 Execute this xcos diagram and expect a plot window.
13:41 The plot window will have three plots heat, fan, temperature.
13:47 Setpoint will also be plotted in the temperature graph.
13:52 Observe that the proportional controller computes the value of heat in order to achieve the setpoint value of temperature.
14:02 Run this experiment long enough to observe what happens after a step change in setpoint occurs.
14:10 I will now pause this recording until the experiment is executed for sufficient time.
14:16 You can see that the proportional controller has responded to the change in the setpoint.
14:23 You can observe that the proportional controller inherently has the property of offset.
14:29 A proportional controller will always have an offset between the setpoint value and the actual value.
14:36 Now, let us summarize. In this tutorial, we learnt to- * Use Ziegler-Nichols tuning method to calculate proportional controller gain for SBHS
14:47 * Modify step test code to design a proportional controller
14:51 * Implement the designed proportional controller on SBHS.
14:56 Watch the video available at the following link. It summarises the Spoken Tutorial project.
15:02 If you do not have good bandwidth, you can download and watch it.
15:06 The Spoken Tutorial project team: * Conducts workshops using spoken tutorials.
15:10 * Gives certificates to those who pass an online test.
15:14 For more details, please write to: contact at spoken-tutorial.org
15:21 Spoken Tutorial project is a part of the Talk to a Teacher project.
15:25 It is supported by the National Mission on Education through ICT, MHRD, Government of India.
15:31 More information on this mission is available at:

[1]

15:42 Thanks for joining. This is Rupak Rokade from IIT Bombay, signing off. Thank You.

Contributors and Content Editors

Nancyvarkey, PoojaMoolya, Sandhya.np14