Description of Problem The system dynamics for system similar to the above (SISO) are embedded in the attached file. You will use the file to generate input/output data, construct a Bode plot from

1 ME 4473 Mechanical Control Systems Department of Mechanical Engineering Idaho State University Spring Semester 20 21 Semester Project Due Friday, April 23 , 20 21 Introduction The purpose of the semester project is to simulate a more realistic problem setting for you to practice the gained skills and knowledge. Such situations usually require the following tasks: i) modeling of the system dynamics, ii) characterizing the system dynamics, iii) analyzing stability and frequency response, iv) design of re gulator, v) impleme ntation of controller, and vi) testing of controller with fine tuning based on experimental tests. Since this semester project will be non -laboratory based due to COVID , the task list will be reduced and slightly different, nonetheless a ppropriate to simulate a real -world environm ent. Consider a system as shown in Figure 1. The system is a basic distillation column. The basic concept of a distillation column is that a mixture of two pure liquids with different boiling points are separate d by heating the mixture to a temperature be tween their respective boiling points – gasoline production. Figure 1: Distillation Column schemata and implementation. Usually there are a number of input variables (reflux flow rate, distillate flo w rate, bottom product flow rate, and steam flow) as well as output variables (reboiler level, condenser level, bottom product composition, and distillate composition). We will adhere to only one input and one output (SISO system) for our project, i.e., va lve position and flow rate. 2 Description o f Problem The system dynamics for system similar to the above (SISO) are embedded in the attached file. You will use the file to generate input/output data, construct a Bode plot from the simulated data, and ext ract a transfer function from it. This trans fer function will be tested of its accuracy using simulations, i.e., use a particular input to both the original system and the transfer function obtained from the constructed bode diagram and compare the respect ive responses. Based on the correlation of th e two responses, you will make modification to the transfer function or state argumentations for reasons to maintain the obtain transfer function. Next, you will analyze the system obtained (the transfer functi on) using Root Locus and Routh Hurwitz techni ques. With the analysis completed, you will formulate performance specification for the closed -loop system to be designed. Before implementing these by designing an appropriate controller, you must approve the d esign specification with the instructor ( a technical memorandum with all pertinent information to the instructor) . Note all semester project design specifications must be approved by no later than April 9th. For the approval, you will need to present all t he analysis work performed in the technical memor andum . Assignment According to the above desc ription, perform the following tasks: a) Identify the system model based on input/output data using the given Matlab © files ( see below for the Matlab code and Mo odle folder ). b) Verify the obtained transfer function using a n ew set of input/output data and make necessary correction and/or statement of why system is sufficiently accurate. (Hint, you c an utilize step, impulse, or random function generator as new inputs ). c) Use the identified and tested/modified transfer function and perform a Root Locus analysis and a Routh Hurwitz analysis. d) Develop performance specifications in the time and frequency domain and have them approved by the instructor by April 9th the latest (use a TM as outline d above) . e) Design a lead -lag controller using root locus or bode diagram and de sign a PID controller using Ziegler Nichols rules both such that the closed -loop system satisfies the performance specifications stated in section d). f) Write a memo with short explanations of the tasks, the design, and the outcome. Also attach all the analy sis, the Matlab © files, the plots, and verification simulations. 3 Grades and Evaluation Criteria: Grades are based on the accuracy and the details include d in your design. The more accurate, the fewer simplifications made during the derivation of your sy stem, the better the performance match of the system specification: the better the grade. You will turn in a technical memorandum with all your assumptions, simplifications, calculations, simulations, Matlab © code, and designs attached. Do not write a proj ect report, a short concise but complete description of your work and attached step -by step calculations is sufficient. The Memorandum, the design and compu tations should be done in a professional manner : use computer generated graphs, equation editor, wor d, and no hand written -scanned -in pages etc. The entire document (memorandum, simulation output figures, and code for simulation in the appendix = one docum ent!) is to be submitted via Moodle . Note: This is an individual pr oject . Team -work will result into an F for the project. % system07.m % Dr. Marco P. Schoen % ________________________________________________ _______ % % Generate input/o utput data for an "unknown" system % to be identified % _______________________________________________________ aa =[0.9957 -0.0095 -0.0037;0.0025 1.0 0;0 0.0025 1.0];B=[0.0025;0;0]; C=[0.1176 0.2941 1.4706];D=[0]; input( 'How many data points ' );L=ans; input( 'Input frequency: ' );ifr=ans; input( 'Input amplitude: ' );iamp=ans; disp( 'Sampling time for discrete computation is 0.0025 seconds' ); TS=0.0025 ;v=aa; [n2,ni]=size(B);[no,n2]=size(C); X=dlyap( aa ,B*B');M=sqrt(diag(C*X*C'+D*D' ));X=sqrt(diag(X)); nd=L; Noise=0; x=zeros(n2,1);u=zeros(ni,nd);y=zeros(no,nd); nd2=nd/2;zero=zeros(ni,1); pn=0.01*X; mn=0.01*M; for i=1:nd u(:,i)=iamp*sin(i*0.025*2*pi*ifr); y(:,i)=C*x+D*u(:,i)+randn(no,1).*mn; x= v*x+B*u(:,i)+randn(n2, 1).*pn; end ; mar=1:1:nd; fig ure(1) subplot(2,1,1);plot(mar,y);grid;xlabel( 'k' );ylabel( 'y magnitude' );title( 'Output' ); subplot(2,1,2);plot(mar,u);grid;xlabel( 'k' );ylabel( 'u magnitude' );title( 'Input' ) display( 'on x -axis, k=40 is equals one second !' )